in ui/src/app/experiment/experiment-detail/experiment-detail.directive.js [404:464]
function initEventListeners() {
var entityUpdate = $scope.$on('entity-updated', function(event, data) {
if (isSaving) {
return;
}
vm.loading.then(function() {
var currentEntity = {
projectId: params.projectId,
notebookId: params.notebookId,
experimentId: params.experimentId,
version: vm.experiment.version,
type: 'Experiment',
title: entityTitle
};
var updatedEntity = data.entity;
updatedEntity.version = data.version;
entityHelper.onEntityUpdate(
currentEntity, updatedEntity, vm.isEntityChanged, refresh, restoreVersion
);
});
});
var entitySave = $scope.$on('ON_ENTITY_SAVE', function(event, data) {
if (_.isEqual(data.tab.params, $stateParams)) {
save().then(data.defer.resolve);
}
});
var experimentWatch = $scope.$watch('vm.experiment', function(newEntity) {
if (vm.isStatusOpen && vm.isEditAllowed) {
var isDirty = autorecoveryHelper.isEntityDirty(originalExperiment, newEntity);
toggleDirty(isDirty);
updateRecovery(newEntity, isDirty);
}
}, true);
var accessList = $scope.$on('access-list-changed', function() {
vm.experiment.accessList = permissionService.getAccessList();
});
var batchRegistrationStatus = $scope.$on('batch-registration-status-changed', function(event, statuses) {
var message = getRegistrationStatusMessage(statuses);
if (message) {
notifyService.info(message);
vm.loading = getExperiment().then(function(experiment) {
return initExperiment(experiment, true).then(updateOriginal);
});
}
});
$scope.$on('$destroy', function() {
entityUpdate();
entitySave();
experimentWatch();
accessList();
batchRegistrationStatus();
experimentUtil.closeDialog();
});
}