From dcdd2a0c12112fb3bb09d773aadbca4951a566cb Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Mon, 27 Nov 2017 14:20:25 +0000 Subject: [PATCH] SSDM-3467 : Making imports context sensitive - eln ui changes - allow any registration or updates in object browser SVN: 38959 --- .../js/views/SampleTable/SampleTableView.js | 65 ++++++++++--------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js index 0e6be6107da..67c51126e83 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleTable/SampleTableView.js @@ -99,6 +99,8 @@ function SampleTableView(sampleTableController, sampleTableModel) { } else { var $allSampleTypes = this._getAllSampleTypesDropdown(); + var $options = this._getOptionsMenu(); + tableToolbarModel.push({ component : $options, tooltip: null }); tableToolbarModel.push({ component : $allSampleTypes, tooltip: null }); } @@ -130,11 +132,14 @@ function SampleTableView(sampleTableController, sampleTableModel) { $dropDownMenu.append($caret); $dropDownMenu.append($list); - var $createSampleOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Create ' + ELNDictionary.Sample + ''}).append('Create ' + ELNDictionary.Sample + '')); - $createSampleOption.click(function() { - _this.createNewSample(_this._sampleTableModel.experimentIdentifier); - }); - $list.append($createSampleOption); + if(_this._sampleTableModel.experimentIdentifier) { + var $createSampleOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Create ' + ELNDictionary.Sample + ''}).append('Create ' + ELNDictionary.Sample + '')); + $createSampleOption.click(function() { + _this.createNewSample(_this._sampleTableModel.experimentIdentifier); + }); + $list.append($createSampleOption); + } + var $batchRegisterOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Batch Register ' + ELNDictionary.Sample + 's'}).append("Batch Register " + ELNDictionary.Sample + "s")); $batchRegisterOption.click(function() { @@ -148,16 +153,18 @@ function SampleTableView(sampleTableController, sampleTableModel) { }); $list.append($batchUpdateOption); - var expKindName = ELNDictionary.getExperimentKindName(_this._sampleTableModel.experimentIdentifier, false); - var $searchCollectionOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Search in ' + expKindName }).append('Search in ' + expKindName)); - $searchCollectionOption.click(function() { - - var sampleRules = { "UUIDv4" : { type : "Experiment", name : "ATTR.PERM_ID", value : _this._sampleTableModel.experiment.permId } }; - var rules = { entityKind : "SAMPLE", logicalOperator : "AND", rules : sampleRules }; - - mainController.changeView("showAdvancedSearchPage", JSON.stringify(rules)); - }); - $list.append($searchCollectionOption); + if(_this._sampleTableModel.experimentIdentifier) { + var expKindName = ELNDictionary.getExperimentKindName(_this._sampleTableModel.experimentIdentifier, false); + var $searchCollectionOption = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : 'Search in ' + expKindName }).append('Search in ' + expKindName)); + $searchCollectionOption.click(function() { + + var sampleRules = { "UUIDv4" : { type : "Experiment", name : "ATTR.PERM_ID", value : _this._sampleTableModel.experiment.permId } }; + var rules = { entityKind : "SAMPLE", logicalOperator : "AND", rules : sampleRules }; + + mainController.changeView("showAdvancedSearchPage", JSON.stringify(rules)); + }); + $list.append($searchCollectionOption); + } return $dropDownMenu; } @@ -210,10 +217,11 @@ function SampleTableView(sampleTableController, sampleTableModel) { var forcedSpace = null; if(this._sampleTableModel.sampleTypeCodeToUse) { allowedSampleTypes = [this._sampleTableModel.sampleTypeCodeToUse, "STORAGE_POSITION"]; - if(experimentIdentifier) { - forcedSpace = experimentIdentifier.split("/")[1]; - } } + if(experimentIdentifier) { + forcedSpace = "/" + experimentIdentifier.split("/")[1]; + } + var typeAndFileController = new TypeAndFileController('Register ' + ELNDictionary.Samples + '', "REGISTRATION", function(type, file) { Util.blockUI(); mainController.serverFacade.fileUpload(typeAndFileController.getFile(), function(result) { @@ -235,15 +243,14 @@ function SampleTableView(sampleTableController, sampleTableModel) { }; var experimentIdentifierOrDelete = experimentIdentifier; - if(typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { + if(experimentIdentifierOrDelete && typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { experimentIdentifierOrDelete = "__DELETE__"; - forcedSpace = "STORAGE"; + forcedSpace = "/STORAGE"; } - if(infoData.result.identifiersPressent) { //If identifiers are present they should match the space of the experiment - mainController.serverFacade.registerSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), '/' + forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", null, finalCallback); + mainController.serverFacade.registerSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", null, finalCallback); } else { // If identifiers are not present the defaultGroup/forcedSpace should be set for auto generation - mainController.serverFacade.registerSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), '/' + forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", '/' + forcedSpace, finalCallback); + mainController.serverFacade.registerSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", forcedSpace, finalCallback); } } ); @@ -257,9 +264,9 @@ function SampleTableView(sampleTableController, sampleTableModel) { var forcedSpace = null; if(this._sampleTableModel.sampleTypeCodeToUse) { allowedSampleTypes = [this._sampleTableModel.sampleTypeCodeToUse, "STORAGE_POSITION"]; - if(experimentIdentifier) { - forcedSpace = experimentIdentifier.split("/")[1]; - } + } + if(experimentIdentifier) { + forcedSpace = "/" + experimentIdentifier.split("/")[1]; } var typeAndFileController = new TypeAndFileController('Update ' + ELNDictionary.Samples + '', "UPDATE", function(type, file) { Util.blockUI(); @@ -277,14 +284,14 @@ function SampleTableView(sampleTableController, sampleTableModel) { }; var experimentIdentifierOrDelete = experimentIdentifier; - if(typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { + if(experimentIdentifierOrDelete && typeAndFileController.getSampleTypeCode() === "STORAGE_POSITION") { experimentIdentifierOrDelete = "__DELETE__"; - forcedSpace = "STORAGE"; + forcedSpace = "/STORAGE"; } mainController.serverFacade.fileUpload(typeAndFileController.getFile(), function(result) { //Code After the upload - mainController.serverFacade.updateSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), '/' + forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", null,finalCallback); + mainController.serverFacade.updateSamplesWithSilentOverrides(typeAndFileController.getSampleTypeCode(), forcedSpace, experimentIdentifierOrDelete, "sample-file-upload", null,finalCallback); }); }, allowedSampleTypes); typeAndFileController.init(); -- GitLab