From bd657ee2ee98c5402acb2dc32b69173dfae6e2fe Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Fri, 20 Jun 2014 07:20:59 +0000 Subject: [PATCH] SSDM-504: Adding experiment types. SVN: 31742 --- .../newbrowser/html/js/config/Profile.js | 10 +++ .../html/js/controllers/MainController.js | 79 ++++++++++--------- .../newbrowser/html/js/server/ServerFacade.js | 4 + .../html/js/views/ExperimentForm.js | 8 +- 4 files changed, 61 insertions(+), 40 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 65e8bb2af27..1e6293d9030 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 @@ -45,6 +45,7 @@ $.extend(DefaultProfile.prototype, { }; this.allSampleTypes = []; + this.allExperimentTypes = []; this.allVocabularies = []; this.allDataStores = []; this.allPropertyTypes = []; @@ -202,6 +203,15 @@ $.extend(DefaultProfile.prototype, { return null; } + this.getExperimentTypeForExperimentTypeCode = function(typeCode) { + for(var i = 0; i < this.allExperimentTypes.length; i++) { + if(this.allExperimentTypes[i].code === typeCode) { + return this.allExperimentTypes[i]; + } + } + return null; + } + this.getTypeForTypeCode = function(typeCode) { for(var i = 0; i < this.allSampleTypes.length; i++) { if(this.allSampleTypes[i].code === typeCode) { diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js index 1f39c1dc1f2..55fda151d6c 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/controllers/MainController.js @@ -94,47 +94,50 @@ function MainController(profile) { this.serverFacade.listSampleTypes ( function(result) { - //Load Sample Types localReference.profile.allSampleTypes = result.result; - - //Init profile - localReference.profile.init(function() { - //Start App - localReference.inspector = new Inspector(localReference.serverFacade, "mainContainer", localReference.profile); - localReference.sideMenu = new SideMenuWidget(localReference, "sideMenu", localReference.serverFacade); - localReference.sideMenu.init(); - - //Page reload using the URL info - var queryString = Util.queryString(); - var viewName = queryString.viewName; - var viewData = queryString.viewData; - var hideMenu = queryString.hideMenu; - if(viewName && viewData) { - localReference.changeView(viewName, viewData); - if(hideMenu === "true") { - localReference.sideMenu.hideSideMenu(); - } - } else { - localReference.changeView("showBlancPage", null); - } - Util.unblockUI(); - - - //Get datastores for automatic DSS configuration, the first one will be used - localReference.serverFacade.listDataStores( - function(dataStores) { - localReference.profile.allDataStores = dataStores.result; - } - ); - - //Get display settings - localReference.serverFacade.getUserDisplaySettings( function(response) { - if(response.result) { - localReference.profile.displaySettings = response.result; - } - }); + //Load datastores for automatic DSS configuration, the first one will be used + localReference.serverFacade.listDataStores(function(dataStores) { + localReference.profile.allDataStores = dataStores.result; + + //Load display settings + localReference.serverFacade.getUserDisplaySettings( function(response) { + if(response.result) { + localReference.profile.displaySettings = response.result; + } + + //Load Experiment Types + localReference.serverFacade.listExperimentTypes(function(experiments) { + localReference.profile.allExperimentTypes = experiments.result; + + + //Init profile + localReference.profile.init(function() { + //Start App + localReference.inspector = new Inspector(localReference.serverFacade, "mainContainer", localReference.profile); + + localReference.sideMenu = new SideMenuWidget(localReference, "sideMenu", localReference.serverFacade); + localReference.sideMenu.init(); + + //Page reload using the URL info + var queryString = Util.queryString(); + var viewName = queryString.viewName; + var viewData = queryString.viewData; + var hideMenu = queryString.hideMenu; + if(viewName && viewData) { + localReference.changeView(viewName, viewData); + if(hideMenu === "true") { + localReference.sideMenu.hideSideMenu(); + } + } else { + localReference.changeView("showBlancPage", null); + } + Util.unblockUI(); + }); + + }); + }); }); } ); diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/server/ServerFacade.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/server/ServerFacade.js index cf14dd7f191..eaa0679bd0f 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/server/ServerFacade.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/server/ServerFacade.js @@ -49,6 +49,10 @@ function ServerFacade(openbisServer) { this.openbisServer.listSampleTypes(callbackFunction); } + this.listExperimentTypes = function(callbackFunction) { + this.openbisServer.listExperimentTypes(callbackFunction); + } + this.listVocabularies = function(callbackFunction) { this.openbisServer.listVocabularies(callbackFunction); } diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm.js index f9114eb8531..b41ae00eba7 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/views/ExperimentForm.js @@ -42,14 +42,18 @@ function ExperimentForm(containerId, mainController, experiment, mode) { // // Title // + var $formTitle = null; if(this._mode === ExperimentFormMode.VIEW || this._mode === ExperimentFormMode.EDIT) { - $formColumn.append($("<h1>").append("Experiment " + this._experiment.identifier)); + $formTitle = $("<h1>").append("Experiment " + this._experiment.identifier); + } else { + $formTitle = $("<h1>").append("Create " + this._experiment.experimentTypeCode); } + $formColumn.append($formTitle); // // Metadata Fields // - + var experimentType = this._mainController.profile.getExperimentTypeForExperimentTypeCode(this._experiment.experimentTypeCode); // // Create Sub Experiment -- GitLab