From 08fa5d3000cb00bd9e9f08e3232a8ef0982526a7 Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Mon, 12 May 2014 11:51:26 +0000 Subject: [PATCH] SSDM-179: ELN UI - Navigation widget from spaces to experiments SVN: 31482 --- .../html/js/controllers/MainController.js | 4 +++- .../newbrowser/html/js/server/ServerFacade.js | 17 +++++++++++++++++ .../newbrowser/html/js/widgets/BrowserWidget.js | 4 +--- 3 files changed, 21 insertions(+), 4 deletions(-) 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 5e60d525cbd..91dd8400a3c 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 @@ -170,7 +170,9 @@ function MainController(profile) { break; case "showViewExperiment": var _this = this; - //TO-DO get the sample with the identifier and show the view + this.serverFacade.getELNExperimentSampleIdForExperiment(arg, function(permId) { + _this.changeView("showViewSamplePageFromPermId", permId); + }); break; case "showViewSamplePageFromPermId": var _this = this; 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 7990e3900ab..845197eda33 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 @@ -71,6 +71,23 @@ function ServerFacade(openbisServer) { } } + this.getELNExperimentSampleIdForExperiment = function(experimentIdentifier, callbackFunction) { + this.openbisServer.listSamplesForExperiment(experimentIdentifier, function(data) { + var permId = null; + if(data.result) { + var experimentIdentifierParts = experimentIdentifier.split("/"); + for(var i = 0; i < data.result.length; i++) { + var sample = data.result[i]; + var sampleIdentifierParts = sample.identifier.split("/"); + if(sampleIdentifierParts[2] == experimentIdentifierParts[3]) { + permId = sample.permId; + } + } + } + callbackFunction(permId); + }); + } + // // Data Set Related Functions // diff --git a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/BrowserWidget.js b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/BrowserWidget.js index 3892da69762..f33bb3eb190 100644 --- a/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/BrowserWidget.js +++ b/plasmid/source/core-plugins/newbrowser/1/as/webapps/newbrowser/html/js/widgets/BrowserWidget.js @@ -48,9 +48,7 @@ function BrowserWidget(containerId, mainController, serverFacade) { if(project.experiments) { for(var k = 0; k < project.experiments.length; k++) { var experiment = project.experiments[k]; - var experimentIdentifier = experiment.identifier.split("/"); - var sampleIdentifier = "/" + experimentIdentifier[1] + "/" + experimentIdentifier[3]; - experiments[experiment.code] = new BrowserExperiment("showViewExperiment", sampleIdentifier, experiment.code); + experiments[experiment.code] = new BrowserExperiment("showViewExperiment", experiment.identifier, experiment.code); } } projects[project.code] = new BrowserProject(project.code, project.code, experiments); -- GitLab