From 5383348fbba7a968ba5d70499f40079f18c5dda6 Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Mon, 29 Sep 2014 12:13:50 +0000 Subject: [PATCH] SSDM-948 : ELN UI - PAPER - Inventory Structure and more SVN: 32519 --- .../as/webapps/newbrowser/html/js/config/Profile.js | 5 +++++ .../views/ExperimentForm/ExperimentFormController.js | 3 ++- .../webapps/newbrowser/html/js/views/SampleTable.js | 4 ++++ .../newbrowser/html/js/widgets/SideMenuWidget.js | 12 +++++++++--- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js index 708aae24e26..dd9a8ee4701 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/config/Profile.js @@ -34,6 +34,11 @@ $.extend(DefaultProfile.prototype, { this.ELNExperiments = ["SYSTEM_EXPERIMENT"]; this.notShowTypes = ["SYSTEM_EXPERIMENT"]; this.inventorySpaces = []; + + this.isInventorySpace = function(spaceCode) { + return ($.inArray(spaceCode, this.inventorySpaces) !== -1); + } + this.hideCodes = false; this.propertyReplacingCode = "NAME"; diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormController.js index 41df73fd77f..dfd45f1a719 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormController.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm/ExperimentFormController.js @@ -82,7 +82,8 @@ function ExperimentFormController(mainController, mode, experiment) { var callbackOk = function() { var projectIdentifier = "/" + experimentSpace + "/" + experimentProject; if(_this._experimentFormModel.mode === FormMode.CREATE) { - _this._mainController.sideMenu.refreshExperiment(experiment); + var isInventory = profile.isInventorySpace(experimentSpace); + _this._mainController.sideMenu.refreshExperiment(experiment, isInventory); } _this._experimentFormModel.isFormDirty = false; _this._mainController.changeView("showExperimentPageFromIdentifier", experimentIdentifier); diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable.js index cb1b1fc9c7d..05bff72387b 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/SampleTable.js @@ -189,6 +189,10 @@ function SampleTable(serverFacade, sampleTableId, profile, sampleTypeCode, inspe component += "<h1>Search Results</h1>"; } else { var sampleType = this.profile.getSampleTypeForSampleTypeCode(this.sampleTypeCode); + if(!sampleType) { + $("#"+this.sampleTableId).append("<h1>No Samples Found</h1>"); + return; + } var sampleTypeDisplayName = Util.getEmptyIfNull(sampleType.description); if(sampleTypeDisplayName === "") { sampleTypeDisplayName = sampleType.code; diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SideMenuWidget.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SideMenuWidget.js index 0ec85de4a03..07a302f31d1 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SideMenuWidget.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/SideMenuWidget.js @@ -45,7 +45,7 @@ function SideMenuWidget(mainController, containerId, serverFacade) { this.repaint(); } - this.refreshExperiment = function(experiment) { + this.refreshExperiment = function(experiment, isInventory) { var projectNode = this._getProjectNodeForCode(experiment.identifier.split("/")[2]); var newMenuIfSelectedExperiment = { children : [] @@ -59,7 +59,13 @@ function SideMenuWidget(mainController, containerId, serverFacade) { displayName = experiment.code; } - var menuItemExperiment = new SideMenuWidgetComponent(true, false, displayName, experiment.code, projectNode, newMenuIfSelectedExperiment, "showExperimentPageFromIdentifier", experiment.identifier, "(Experiment)"); + var menuItemExperiment = null; + if(isInventory) { + menuItemExperiment = new SideMenuWidgetComponent(true, false, displayName, experiment.code, projectNode, null, "showSamplesPage", experiment.identifier + ":None"); + } else { + menuItemExperiment = new SideMenuWidgetComponent(true, false, displayName, experiment.code, projectNode, newMenuIfSelectedExperiment, "showExperimentPageFromIdentifier", experiment.identifier, "(Experiment)"); + } + projectNode.newMenuIfSelected.children.push(menuItemExperiment); this.repaint(); @@ -287,7 +293,7 @@ function SideMenuWidget(mainController, containerId, serverFacade) { displayName = experiment.code; } - var menuItemExperiment = new SideMenuWidgetComponent(true, false, displayName, experiment.code, projectNode, null, "showSamplesPage", experiment.identifier + ":" + experiment.permId /* "PROTEIN" */, ""); + var menuItemExperiment = new SideMenuWidgetComponent(true, false, displayName, experiment.code, projectNode, null, "showSamplesPage", experiment.identifier + ":" + experiment.permId /* "PROTEIN" */, ""); projectNode.newMenuIfSelected.children.push(menuItemExperiment); } } -- GitLab