From c27390369d2d1eb5685f68e0466d0380de57fdcf Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Wed, 20 Sep 2017 12:02:13 +0000 Subject: [PATCH] SSDM-4223 : Jupyter integration - ongoing work SVN: 38737 --- .../widgets/AdvancedEntitySearchDropdown.js | 8 +++++++ .../widgets/JupyterNotebookView.js | 21 +++++++------------ 2 files changed, 15 insertions(+), 14 deletions(-) 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 95df16dea5b..745f296a43c 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 @@ -15,11 +15,13 @@ */ function AdvancedEntitySearchDropdown( isMultiple, + isRequired, placeholder, selectsExperiments, selectsSamples, selectsDatasets) { var isMultiple = isMultiple; + var isRequired = isRequired; var placeholder = placeholder; var selectsExperiments = selectsExperiments; var selectsSamples = selectsSamples; @@ -37,6 +39,7 @@ function AdvancedEntitySearchDropdown( isMultiple, function(ExperimentIdentifier, ExperimentFetchOptions) { var id1 = new ExperimentIdentifier(experimentIdentifier); var fetchOptions = new ExperimentFetchOptions(); + fetchOptions.withProperties(); mainController.openbisV3.getExperiments([ id1 ], fetchOptions).done(function(map) { _this.addSelected(map[experimentIdentifier]); }); @@ -49,6 +52,7 @@ function AdvancedEntitySearchDropdown( isMultiple, function(SampleIdentifier, SampleFetchOptions) { var id1 = new SampleIdentifier(sampleIdentifier); var fetchOptions = new SampleFetchOptions(); + fetchOptions.withProperties(); mainController.openbisV3.getSamples([ id1 ], fetchOptions).done(function(map) { _this.addSelected(map[sampleIdentifier]); }); @@ -61,6 +65,7 @@ function AdvancedEntitySearchDropdown( isMultiple, function(DataSetPermId, DataSetFetchOptions) { var id1 = new DataSetPermId(datasetPermId); var fetchOptions = new DataSetFetchOptions(); + fetchOptions.withProperties(); mainController.openbisV3.getDataSets([ id1 ], fetchOptions).done(function(map) { _this.addSelected(map[datasetPermId]); }); @@ -154,6 +159,9 @@ function AdvancedEntitySearchDropdown( isMultiple, this.init = function($container) { $select.attr("multiple", "multiple"); + if(isRequired) { + $select.attr("required", "required"); + } if(isMultiple) { maximumSelectionLength = 9999; } else { 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 4e41cc0bbca..f23425471e0 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 @@ -27,8 +27,8 @@ function JupyterNotebookView(jupyterNotebookController, jupyterNotebookModel) { $window.append($('<legend>').append("Create Jupyter Notebook")); var $datasetsContainer = $("<div>", { style : "width: 100%;" }); - $window.append(FormUtil.getFieldForComponentWithLabel($datasetsContainer, "Datasets")); - var datasetsSearchDropdown = new AdvancedEntitySearchDropdown(true, "Select as many datasets as you need", false, false, true); + $window.append(FormUtil.getFieldForComponentWithLabel($datasetsContainer, "Datasets (*)")); + var datasetsSearchDropdown = new AdvancedEntitySearchDropdown(true, true, "Select as many datasets as you need", false, false, true); datasetsSearchDropdown.init($datasetsContainer); switch(entity["@type"]) { @@ -38,8 +38,8 @@ function JupyterNotebookView(jupyterNotebookController, jupyterNotebookModel) { } var $ownerContainer = $("<div>", { style : "width: 100%;" }); - $window.append(FormUtil.getFieldForComponentWithLabel($ownerContainer, "Owner")); - var ownerSearchDropdown = new AdvancedEntitySearchDropdown(false, "Select one owner " + ELNDictionary.sample, true, true, false); + $window.append(FormUtil.getFieldForComponentWithLabel($ownerContainer, "Owner (*)")); + var ownerSearchDropdown = new AdvancedEntitySearchDropdown(false, true, "Select one owner " + ELNDictionary.sample, true, true, false); ownerSearchDropdown.init($ownerContainer); switch(entity["@type"]) { @@ -65,22 +65,15 @@ function JupyterNotebookView(jupyterNotebookController, jupyterNotebookModel) { var $btnAccept = $('<input>', { 'type': 'submit', 'class' : 'btn btn-primary', 'value' : 'Accept' }); $window.submit(function() { - var selectedDatasets = datasetsSearchDropdown.getSelected(); var notebookDatasets = []; for(var dIdx = 0; dIdx < selectedDatasets.length; dIdx++) { - notebookDatasets.push(selectedDatasets.code); + notebookDatasets.push(selectedDatasets[dIdx].permId.permId); } var selectedOwner = ownerSearchDropdown.getSelected(); - var notebookOwner = []; - - if(notebookDatasets.length > 0) { - _this._jupyterNotebookController.create($workspace.val(), $notebookName.val(), notebookDatasets); - } else { - Util.showError("Select at least one dataset.", function() {}, true); - } - + var notebookOwner = selectedOwner[0]; + _this._jupyterNotebookController.create($workspace.val(), $notebookName.val(), notebookDatasets); }); var $btnCancel = $('<a>', { 'class' : 'btn btn-default' }).append('Cancel'); $btnCancel.click(function() { -- GitLab