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 5e60d525cbdcf02cfa538f6d7a580e965ad3a33b..91dd8400a3cc965f3189910f4f3bf1d0c0fdfd2e 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 7990e3900ab712f9bf7fdfca67f46b2682a36a57..845197eda3393ec0080ddc05f078a4a9e77af181 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 3892da697620e9fd239126e1ca897ac28e7a4fec..f33bb3eb190538e38867c54f3fb354316967e024 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);