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 4b664c5505ea952a2b205850267aa131c2c95c0a..95df16dea5bd7c328e4ed039347ae8767562811c 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 @@ -31,22 +31,62 @@ function AdvancedEntitySearchDropdown( isMultiple, // External API // - this.addSelected = function(entity) { - var text = getDisplayName(entity); + this.addSelectedExperiment = function(experimentIdentifier) { + var _this = this; + require([ 'as/dto/experiment/id/ExperimentIdentifier', "as/dto/experiment/fetchoptions/ExperimentFetchOptions" ], + function(ExperimentIdentifier, ExperimentFetchOptions) { + var id1 = new ExperimentIdentifier(experimentIdentifier); + var fetchOptions = new ExperimentFetchOptions(); + mainController.openbisV3.getExperiments([ id1 ], fetchOptions).done(function(map) { + _this.addSelected(map[experimentIdentifier]); + }); + }); + } + + this.addSelectedSample = function(sampleIdentifier) { + var _this = this; + require([ "as/dto/sample/id/SampleIdentifier", "as/dto/sample/fetchoptions/SampleFetchOptions" ], + function(SampleIdentifier, SampleFetchOptions) { + var id1 = new SampleIdentifier(sampleIdentifier); + var fetchOptions = new SampleFetchOptions(); + mainController.openbisV3.getSamples([ id1 ], fetchOptions).done(function(map) { + _this.addSelected(map[sampleIdentifier]); + }); + }); + } + + this.addSelectedDataSet = function(datasetPermId) { + var _this = this; + require([ "as/dto/dataset/id/DataSetPermId", "as/dto/dataset/fetchoptions/DataSetFetchOptions" ], + function(DataSetPermId, DataSetFetchOptions) { + var id1 = new DataSetPermId(datasetPermId); + var fetchOptions = new DataSetFetchOptions(); + mainController.openbisV3.getDataSets([ id1 ], fetchOptions).done(function(map) { + _this.addSelected(map[datasetPermId]); + }); + }); + } + + this.addSelected = function(v3entity) { + var text = getDisplayName(v3entity); var id = null; - if(entity.permId && entity.permId.permId) { //If is a v3 object - id = entity.permId.permId; - } else if(entity.permId) { //If is a v1 object - id = entity.permId; + if(v3entity.permId && v3entity.permId.permId) { //Only v3 objects supported + id = v3entity.permId.permId; } else { - id = entity.code; // If is a v1 dataset + throw { + name: "NonV3ObjectException", + message: "Object without v3 permId", + toString: function() { + return this.name + ": " + this.message; + } + } } var data = { id : id, text : text, - data : entity + data : v3entity }; var newOption = new Option(text, id, true, true); diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js index d40db3b232dbae31ac0d148c1d83023acfd70a3d..4e41cc0bbca2637d7a6d8cab2c7d1f4c26d31539 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/widgets/JupyterNotebookView.js @@ -33,7 +33,7 @@ function JupyterNotebookView(jupyterNotebookController, jupyterNotebookModel) { switch(entity["@type"]) { case "DataSet": - datasetsSearchDropdown.addSelected(entity); + datasetsSearchDropdown.addSelectedDataSet(entity.code); break; } @@ -45,16 +45,16 @@ function JupyterNotebookView(jupyterNotebookController, jupyterNotebookModel) { switch(entity["@type"]) { case "DataSet": if(entity.sampleIdentifierOrNull) { - + ownerSearchDropdown.addSelectedSample(entity.sampleIdentifierOrNull); } else if(entity.experimentIdentifier) { - + ownerSearchDropdown.addSelectedExperiment(entity.experimentIdentifier); } break; case "Sample": - //ownerSearchDropdown.addSelected(entity); + ownerSearchDropdown.addSelectedSample(entity.identifier); break; case "Experiment": - //ownerSearchDropdown.addSelected(entity); + ownerSearchDropdown.addSelectedExperiment(entity.identifier); break; }