From 12382651c282140977cb4045ed1c9b6223abfdbc Mon Sep 17 00:00:00 2001 From: juanf <juanf@bsse-bs-dock-dhcp-447.ethz.ch> Date: Wed, 22 Aug 2018 14:30:52 +0200 Subject: [PATCH] SSDM-6971 : Moving datasets + tweaks --- .../js/views/DataSetForm/DataSetFormView.js | 7 +++++ .../widgets/AdvancedEntitySearchDropdown.js | 14 +++++----- .../ExperimentForm/ExperimentFormView.js | 4 +-- .../js/views/SampleForm/SampleFormView.js | 4 +-- .../Shared/widgets/MoveEntityController.js | 27 +++++++++++++++---- .../js/views/Shared/widgets/MoveEntityView.js | 14 +++++++++- 6 files changed, 52 insertions(+), 18 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js index 4c4dd312848..7f2287c763a 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormView.js @@ -92,6 +92,13 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { }); toolbarModel.push({ component : $editBtn, tooltip: "Edit" }); + //Move + var $moveBtn = FormUtil.getButtonWithIcon("glyphicon-move", function () { + var moveEntityController = new MoveEntityController("DATASET", _this._dataSetFormModel.dataSet.code); + moveEntityController.init(); + }); + toolbarModel.push({ component : $moveBtn, tooltip: "Move" }); + //Archiving Requested Button var physicalData = this._dataSetFormModel.dataSetV3.physicalData; diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/AdvancedEntitySearchDropdown.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/AdvancedEntitySearchDropdown.js index 8d17d93c78f..4dce260bc81 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/AdvancedEntitySearchDropdown.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/AdvancedEntitySearchDropdown.js @@ -146,13 +146,15 @@ function AdvancedEntitySearchDropdown( isMultiple, // var getDisplayName = function(entity) { var text = null; - if(profile.propertyReplacingCode && entity.properties && entity.properties[profile.propertyReplacingCode]) { - text = entity.identifier.identifier + " (" + entity.properties[profile.propertyReplacingCode] + ")"; - } else { + if(entity.identifier && entity.identifier.identifier) { text = entity.identifier.identifier; } + if(profile.propertyReplacingCode && entity.properties && entity.properties[profile.propertyReplacingCode]) { + text += " (" + entity.properties[profile.propertyReplacingCode] + ")"; + } if(entity["@type"] === "as.dto.dataset.DataSet") { + text = entity.permId.permId; if(entity.sample) { text += " " + ELNDictionary.Sample + " [" + getDisplayName(entity.sample) + "]"; } @@ -298,10 +300,10 @@ function AdvancedEntitySearchDropdown( isMultiple, action = function(result) { searchesResults.push(result); if(searches.length > 0) { - var search = searches.shift(); - search(action); + var search = searches.shift(); + search(action); } else { - success(searchesResults); + success(searchesResults); } }; diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js index c1c995626d9..8faeccaa1b1 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js @@ -100,9 +100,7 @@ function ExperimentFormView(experimentFormController, experimentFormModel) { //Move var $moveBtn = FormUtil.getButtonWithIcon("glyphicon-move", function () { - var moveEntityController = new MoveEntityController("EXPERIMENT", experimentFormModel.experiment.permId, function() { - Util.showSuccess("Entity successfully moved.", function() { Util.unblockUI(); }); - }); + var moveEntityController = new MoveEntityController("EXPERIMENT", experimentFormModel.experiment.permId); moveEntityController.init(); }); toolbarModel.push({ component : $moveBtn, tooltip: "Move" }); diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js index df3c3666056..8766549f50f 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js @@ -157,9 +157,7 @@ function SampleFormView(sampleFormController, sampleFormModel) { //Move var $moveBtn = FormUtil.getButtonWithIcon("glyphicon-move", function () { - var moveEntityController = new MoveEntityController("SAMPLE", _this._sampleFormModel.sample.permId, function() { - Util.showSuccess("Entity successfully moved.", function() { Util.unblockUI(); }); - }); + var moveEntityController = new MoveEntityController("SAMPLE", _this._sampleFormModel.sample.permId); moveEntityController.init(); }); toolbarModel.push({ component : $moveBtn, tooltip: "Move" }); diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityController.js index 458312cfc31..4640e379346 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityController.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityController.js @@ -1,5 +1,5 @@ -function MoveEntityController(entityType, entityPermId, callbackOnSuccess) { - var moveEntityModel = new MoveEntityModel(callbackOnSuccess); +function MoveEntityController(entityType, entityPermId) { + var moveEntityModel = new MoveEntityModel(); var moveEntityView = new MoveEntityView(this, moveEntityModel); this.init = function() { @@ -32,7 +32,7 @@ function MoveEntityController(entityType, entityPermId, callbackOnSuccess) { experimentUpdate.setExperimentId(moveEntityModel.entity.getIdentifier()); experimentUpdate.setProjectId(moveEntityModel.selected.getIdentifier()); mainController.openbisV3.updateExperiments([ experimentUpdate ]).done(function() { - callbackOnSuccess(); + Util.showSuccess("Entity successfully moved.", function() { Util.unblockUI(); }); }); }); break; @@ -43,12 +43,29 @@ function MoveEntityController(entityType, entityPermId, callbackOnSuccess) { sampleUpdate.setSampleId(moveEntityModel.entity.getIdentifier()); sampleUpdate.setExperimentId(moveEntityModel.selected.getIdentifier()); mainController.openbisV3.updateSamples([ sampleUpdate ]).done(function() { - callbackOnSuccess(); + Util.showSuccess("Entity successfully moved.", function() { Util.unblockUI(); }); }); }); break; case "DATASET": - + require([ "as/dto/dataset/update/DataSetUpdate"], + function(DataSetUpdate) { + var datasetUpdate = new DataSetUpdate(); + datasetUpdate.setDataSetId(moveEntityModel.entity.getPermId()); + + switch(moveEntityModel.selected["@type"]) { + case "as.dto.experiment.Experiment": + datasetUpdate.setExperimentId(moveEntityModel.selected.getIdentifier()); + break; + case "as.dto.sample.Sample": + datasetUpdate.setSampleId(moveEntityModel.selected.getIdentifier()); + break; + } + + mainController.openbisV3.updateDataSets([ datasetUpdate ]).done(function() { + Util.showSuccess("Entity successfully moved.", function() { Util.unblockUI(); }); + }); + }); break; } diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityView.js index bf4ebf11ba7..bc3039732bf 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/Shared/widgets/MoveEntityView.js @@ -5,7 +5,16 @@ function MoveEntityView(moveEntityController, moveEntityModel) { Util.unblockUI(); moveEntityController.move(); }); - $window.append($('<legend>').append("Moving " + moveEntityModel.entity.identifier + " To:")); + + switch(moveEntityModel.entity["@type"]) { + case "as.dto.experiment.Experiment": + case "as.dto.sample.Sample": + $window.append($('<legend>').append("Moving " + moveEntityModel.entity.getIdentifier() + " To:")); + break; + case "as.dto.dataset.DataSet": + $window.append($('<legend>').append("Moving " + moveEntityModel.entity.getPermId() + " To:")); + break; + } var $searchBox = $('<div>'); $window.append($searchBox); @@ -18,6 +27,9 @@ function MoveEntityView(moveEntityController, moveEntityModel) { case "as.dto.sample.Sample": advancedEntitySearchDropdown = new AdvancedEntitySearchDropdown(false, true, "search entity to move to", true, false, false, false); break; + case "as.dto.dataset.DataSet": + advancedEntitySearchDropdown = new AdvancedEntitySearchDropdown(false, true, "search entity to move to", true, true, false, false); + break; } var $btnAccept = $('<input>', { 'type': 'submit', 'class' : 'btn btn-primary', 'value' : 'Accept' }); -- GitLab