diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js index 7a358b1e5421997f688996adfed4f47e9fd87e82..28c04e0afbb283295a102ffd31e3ecf8e4141c0c 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/controllers/MainController.js @@ -483,11 +483,23 @@ function MainController(profile) { if(!dataSetData.result || !dataSetData.result[0]) { window.alert("The item is no longer available, refresh the page, if the problem persists tell your admin that the Lucene index is probably corrupted."); } else { - _this.serverFacade.searchWithIdentifiers([dataSetData.result[0].sampleIdentifierOrNull], function(sampleData) { - document.title = "Data Set " + dataSetData.result[0].code; - _this._showEditDataSetPage(sampleData[0], dataSetData.result[0]); - //window.scrollTo(0,0); - }); + if(dataSetData.result[0].sampleIdentifierOrNull) { + _this.serverFacade.searchWithIdentifiers([dataSetData.result[0].sampleIdentifierOrNull], function(sampleData) { + document.title = "Data Set " + dataSetData.result[0].code; + _this._showEditDataSetPage(sampleData[0], dataSetData.result[0]); + //window.scrollTo(0,0); + }); + } else if(dataSetData.result[0].experimentIdentifier) { + _this.serverFacade.listExperimentsForIdentifiers([dataSetData.result[0].experimentIdentifier], function(experimentResults) { + var experimentRules = { "UUIDv4" : { type : "Attribute", name : "PERM_ID", value : experimentResults.result[0].permId } }; + var experimentCriteria = { entityKind : "EXPERIMENT", logicalOperator : "AND", rules : experimentRules }; + _this.serverFacade.searchForExperimentsAdvanced(experimentCriteria, null, function(experimentData) { + document.title = "Data Set " + dataSetData.result[0].code; + _this._showEditDataSetPage(experimentData.objects[0], dataSetData.result[0]); + //window.scrollTo(0,0); + }); + }); + } } }); break; @@ -795,24 +807,24 @@ function MainController(profile) { this._showCreateDataSetPage = function(entity) { //Show Form var newView = new DataSetFormController(this, FormMode.CREATE, entity, null); - var content = this._getBackwardsCompatibleMainContainer(); - newView.init(content); + var views = this._getNewViewModel(true, true, false); + newView.init(views); this.currentView = newView; } this._showViewDataSetPage = function(sample, dataset) { //Show Form var newView = new DataSetFormController(this, FormMode.VIEW, sample, dataset); - var content = this._getBackwardsCompatibleMainContainer(); - newView.init(content); + var views = this._getNewViewModel(true, true, false); + newView.init(views); this.currentView = newView; } this._showEditDataSetPage = function(sample, dataset) { //Show Form var newView = new DataSetFormController(this, FormMode.EDIT, sample, dataset); - var content = this._getBackwardsCompatibleMainContainer(); - newView.init(content); + var views = this._getNewViewModel(true, true, false); + newView.init(views); this.currentView = newView; } diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js index af79dff9a9a76fc79b11fbb06d25762d7984f38f..f26288cdb381460da7d8129862e7b2324b617ea3 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/DataSetForm/DataSetFormController.js @@ -19,14 +19,14 @@ function DataSetFormController(parentController, mode, entity, dataSet, isMini) this._dataSetFormModel = new DataSetFormModel(mode, entity, dataSet, isMini); this._dataSetFormView = new DataSetFormView(this, this._dataSetFormModel); - this.init = function($container) { + this.init = function(views) { var _this = this; mainController.serverFacade.listDataSetTypes( function(data) { _this._dataSetFormModel.dataSetTypes = data.result; mainController.serverFacade.getSetting("DataSetFormModel.isAutoUpload", function(value) { _this._dataSetFormModel.isAutoUpload = (value === "true"); - _this._dataSetFormView.repaint($container); + _this._dataSetFormView.repaint(views); }); } ); @@ -206,7 +206,6 @@ function DataSetFormController(parentController, mode, entity, dataSet, isMini) if(!isInventory) { mainController.sideMenu.refreshCurrentNode(); } - } else if(_this._dataSetFormModel.mode === FormMode.EDIT) { Util.showSuccess("DataSet Updated.", callbackOk); if(!isInventory) { 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 3fcd2caeec8ef01bfdfa90a6aff3fd0e540cb17f..ef5522f6a87b5ba3dd201fb608b59415f39dff30 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 @@ -18,9 +18,9 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { this._dataSetFormController = dataSetFormController; this._dataSetFormModel = dataSetFormModel; - this.repaint = function($container) { + this.repaint = function(views) { + var $container = views.content; var _this = this; - $container.empty(); //Clean and prepare container var $wrapper = $('<form>', { class : 'form-horizontal', 'id' : 'mainDataSetForm', 'role' : 'form'}); @@ -61,22 +61,16 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { .append($("<h2>").append(titleText)) .append($("<h4>", { "style" : "font-weight:normal;" } ).append(entityPath)); - if(!this._dataSetFormModel.isMini) { - $wrapper.append($title); - } - // // Toolbar // var toolbarModel = []; - if(this._dataSetFormModel.mode !== FormMode.CREATE) { + if(this._dataSetFormModel.mode === FormMode.VIEW && !this._dataSetFormModel.isMini) { //Edit Button - if(this._dataSetFormModel.mode === FormMode.VIEW) { - var $editBtn = FormUtil.getButtonWithIcon("glyphicon-edit", function () { - mainController.changeView('showEditDataSetPageFromPermId', _this._dataSetFormModel.dataSet.code); - }); - toolbarModel.push({ component : $editBtn, tooltip: "Edit" }); - } + var $editBtn = FormUtil.getButtonWithIcon("glyphicon-edit", function () { + mainController.changeView('showEditDataSetPageFromPermId', _this._dataSetFormModel.dataSet.code); + }); + toolbarModel.push({ component : $editBtn, tooltip: "Edit" }); //Delete Button var $deleteBtn = FormUtil.getDeleteButton(function(reason) { @@ -97,10 +91,19 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { }); }); toolbarModel.push({ component : $export, tooltip: "Export" }); + } else if(!this._dataSetFormModel.isMini) { + var $saveBtn = FormUtil.getButtonWithIcon("glyphicon-floppy-disk", function() { + _this._dataSetFormController.submitDataSet(); + }, "Save"); + $saveBtn.removeClass("btn-default"); + $saveBtn.addClass("btn-primary"); + toolbarModel.push({ component : $saveBtn, tooltip: "Save" }); } if(!this._dataSetFormModel.isMini) { - $wrapper.append(FormUtil.getToolbar(toolbarModel)); + var $header = views.header; + $header.append($title); + $header.append(FormUtil.getToolbar(toolbarModel)); } //Drop Down DataSetType Field Set @@ -193,21 +196,21 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { //Submit Button if(this._dataSetFormModel.mode !== FormMode.VIEW) { - var btnText = ""; - if(this._dataSetFormModel.mode === FormMode.CREATE) { - btnText = 'Create'; - } else if(this._dataSetFormModel.mode === FormMode.EDIT) { - btnText = 'Update'; - } - - var $submitButton = $('<fieldset>') - .append($('<div>', { class : "form-group"})) - .append($('<div>', {class: FormUtil.controlColumnClass}) - .append($('<input>', { class : 'btn btn-primary', 'type' : 'submit', 'value' : btnText}))); - - - $wrapper.append($submitButton); - if(_this._dataSetFormModel.isMini){ + if(_this._dataSetFormModel.isMini) { + var btnText = ""; + if(this._dataSetFormModel.mode === FormMode.CREATE) { + btnText = 'Create'; + } else if(this._dataSetFormModel.mode === FormMode.EDIT) { + btnText = 'Update'; + } + + var $submitButton = $('<fieldset>') + .append($('<div>', { class : "form-group"})) + .append($('<div>', {class: FormUtil.controlColumnClass}) + .append($('<input>', { class : 'btn btn-primary', 'type' : 'submit', 'value' : btnText}))); + + $wrapper.append($submitButton); + var $autoUploadCheck = FormUtil._getBooleanField(null, 'Auto upload on drop'); $($autoUploadCheck.children()[0]).children()[0].checked = _this._dataSetFormModel.isAutoUpload; @@ -226,8 +229,6 @@ function DataSetFormView(dataSetFormController, dataSetFormModel) { $wrapper.append($('<fieldset>').append($autoUploadGroup)); } - - } //Attach to main form 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 1ebad6adcf85992551690cef70e32c8ecb6aebfc..33df8475291a3b61f8f97006ff8ef42c2565c0e7 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 @@ -221,7 +221,10 @@ function ExperimentFormView(experimentFormController, experimentFormModel) { if(_this._experimentFormModel.mode === FormMode.VIEW) { // Uploader var $dataSetFormController = new DataSetFormController(_this, FormMode.CREATE, data.objects[0], null, true); - $dataSetFormController.init($dataSetUploaderContainer); + var viewsForDS = { + content : $dataSetUploaderContainer + } + $dataSetFormController.init(viewsForDS); } }); } 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 e14d485a7fbaed796ed2cb8c41f273655c93e041..d84160f04790f158bb49921a423879f72cb473f0 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 @@ -435,7 +435,10 @@ function SampleFormView(sampleFormController, sampleFormModel) { $formColumn.append($inlineDataSetForm); } var $dataSetFormController = new DataSetFormController(this, FormMode.CREATE, this._sampleFormModel.sample, null, true); - $dataSetFormController.init($inlineDataSetForm); + var viewsForDS = { + content : $inlineDataSetForm + } + $dataSetFormController.init(viewsForDS); } //