From 3e7ea1826544728606bd5c57dc4cdfa1270adeb1 Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Fri, 22 May 2015 09:14:13 +0000 Subject: [PATCH] SSDM-1945: Hide Codes uses now names on forms headers, buttons and update left menu correctly, it's also the default. SVN: 34023 --- .../ExperimentFormController.js | 2 + .../ExperimentForm/ExperimentFormView.js | 40 ++++++++++--------- .../views/SampleForm/SampleFormController.js | 2 +- .../js/views/SampleForm/SampleFormView.js | 15 ++++--- .../SideMenu/SideMenuWidgetController.js | 31 ++++++++++++++ 5 files changed, 65 insertions(+), 25 deletions(-) diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormController.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormController.js index e9a710a36a7..edd65fe9fc4 100644 --- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormController.js +++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormController.js @@ -106,6 +106,8 @@ function ExperimentFormController(mainController, mode, experiment) { if(_this._experimentFormModel.mode === FormMode.CREATE) { var isInventory = profile.isInventorySpace(experimentSpace); _this._mainController.sideMenu.refreshExperiment(experiment, isInventory); + } else if(_this._experimentFormModel.mode === FormMode.EDIT) { + _this._mainController.sideMenu.updateExperimentName(experiment); } _this._experimentFormModel.isFormDirty = false; _this._mainController.changeView("showExperimentPageFromIdentifier", experimentIdentifier); diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js index 0eddbbb636e..df7ae45329d 100644 --- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js +++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ExperimentForm/ExperimentFormView.js @@ -36,12 +36,24 @@ function ExperimentFormView(experimentFormController, experimentFormModel) { // // Title // - var $formTitle = null; - if(this._experimentFormModel.mode === FormMode.VIEW || this._experimentFormModel.mode === FormMode.EDIT) { - $formTitle = $("<h2>").append("Experiment " + this._experimentFormModel.experiment.identifier); - } else { - $formTitle = $("<h2>").append("Create " + this._experimentFormModel.experiment.experimentTypeCode); + var nameLabel = this._experimentFormModel.experiment.properties[profile.propertyReplacingCode]; + if(!nameLabel) { + nameLabel = this._experimentFormModel.experiment.code; + } + var title = ''; + switch(this._experimentFormModel.mode) { + case FormMode.CREATE: + title = "Create " + this._experimentFormModel.experiment.experimentTypeCode; + break; + case FormMode.EDIT: + title = "Update " + nameLabel; + break; + case FormMode.VIEW: + title = "View " + nameLabel; + break; } + + var $formTitle = $("<h2>").append(title); $formColumn.append($formTitle); if(this._experimentFormModel.mode !== FormMode.CREATE) { @@ -104,7 +116,7 @@ function ExperimentFormView(experimentFormController, experimentFormModel) { delete project["@id"]; delete project["@type"]; mainController.serverFacade.listExperiments([project], function(data) { - var autoGeneratedCode = identifierParts[1] + "_EXP_" + (data.result.length + 1); + var autoGeneratedCode = identifierParts[2] + "_EXP_" + (data.result.length + 1); $codeField.val(autoGeneratedCode); _this._experimentFormModel.experiment.code = autoGeneratedCode; @@ -115,9 +127,9 @@ function ExperimentFormView(experimentFormController, experimentFormModel) { }); }); - if(profile.hideCodes) { - $codeFieldRow.hide(); - } +// if(profile.hideCodes) { +// $codeFieldRow.hide(); +// } } // @@ -244,15 +256,7 @@ function ExperimentFormView(experimentFormController, experimentFormModel) { //Create/Update Buttons if(this._experimentFormModel.mode === FormMode.EDIT || this._experimentFormModel.mode === FormMode.CREATE) { - var label = ""; - - if(this._experimentFormModel.mode === FormMode.EDIT) { - label = "Update Experiment " + this._experimentFormModel.experiment.code; - } else if(this._experimentFormModel.mode === FormMode.CREATE) { - label = "Create Experiment"; - } - - var $updateBtn = $("<input>", { "type": "submit", "class" : "btn btn-primary", 'value' : label }); + var $updateBtn = $("<input>", { "type": "submit", "class" : "btn btn-primary", 'value' : title }); $formColumn.append($updateBtn); } diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormController.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormController.js index 0d3be8b5a50..e8e3b8c26c8 100644 --- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormController.js +++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormController.js @@ -345,7 +345,7 @@ function SampleFormController(mainController, mode, sample) { var callbackOk = function() { Util.unblockUI(); - if((isCopyWithNewCode || _this._sampleFormModel.mode === FormMode.CREATE) && _this._sampleFormModel.isELNSubExperiment) { + if((isCopyWithNewCode || _this._sampleFormModel.mode === FormMode.CREATE || _this._sampleFormModel.mode === FormMode.EDIT) && _this._sampleFormModel.isELNSubExperiment) { mainController.sideMenu.refreshSubExperiment(_this._sampleFormModel.sample.experimentIdentifierOrNull); } diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js index 963ae4dc116..c351f094343 100644 --- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js +++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SampleForm/SampleFormView.js @@ -46,17 +46,20 @@ function SampleFormView(sampleFormController, sampleFormModel) { // TITLE // var $formTitle = null; - + var nameLabel = this._sampleFormModel.sample.properties[profile.propertyReplacingCode]; + if(!nameLabel) { + nameLabel = this._sampleFormModel.sample.code; + } var title = null; switch(this._sampleFormModel.mode) { case FormMode.CREATE: title = "Create " + this._sampleFormModel.sample.sampleTypeCode; break; case FormMode.EDIT: - title = "Update " + this._sampleFormModel.sample.code; + title = "Update " + nameLabel; break; case FormMode.VIEW: - title = "View " + this._sampleFormModel.sample.code; + title = "View " + nameLabel; break; } @@ -192,9 +195,9 @@ function SampleFormView(sampleFormController, sampleFormModel) { $formColumn.append($codeField); - if(profile.hideCodes) { - $codeField.hide(); - } +// if(profile.hideCodes) { +// $codeField.hide(); +// } // // Registration and modification info diff --git a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js index 6caeb61850d..d2bb19a9ea1 100644 --- a/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js +++ b/plasmid/source/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetController.js @@ -95,6 +95,37 @@ function SideMenuWidgetController(mainController) { this._sideMenuWidgetView.repaint(); }; + this._getUniqueId = function(uniqueId) { + var itemsToCheck = [this._sideMenuWidgetModel.menuStructure]; + var currentItem = null; + while(currentItem = itemsToCheck.shift()) { + if(currentItem.newMenuIfSelected) { + for (var i = 0; i < currentItem.newMenuIfSelected.children.length; i++) { + var currentItemChild = currentItem.newMenuIfSelected.children[i]; + if(currentItemChild.uniqueId === uniqueId) { + return currentItemChild; + } + itemsToCheck.push(currentItemChild); + } + } + } + }; + + this.updateExperimentName = function(experiment) { + var node = this._getUniqueId(experiment.identifier); + + var displayName = null; + if (profile.hideCodes) { + displayName = experiment.properties[profile.propertyReplacingCode]; + } + if (!displayName) { + displayName = experiment.code; + } + + node.displayName = displayName; + this._sideMenuWidgetView.repaint(); + } + this.refreshExperiment = function(experiment, isInventory) { var projectIdentifierEnd = experiment.identifier.lastIndexOf("/"); var projectIdentifier = experiment.identifier.substring(0, projectIdentifierEnd); -- GitLab