From 06b589b9d25f6b3335e8f9deb0224492eebccce2 Mon Sep 17 00:00:00 2001 From: juanf <juanf> Date: Mon, 12 Dec 2016 10:04:49 +0000 Subject: [PATCH] SSDM-4495 : Show experiment datasets on menu SVN: 37474 --- .../eln-lims/html/js/server/ServerFacade.js | 3 ++ .../js/views/SideMenu/SideMenuWidgetView.js | 36 +++++++++++++++++-- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js index bf438622bfc..4847cc2f5ff 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/server/ServerFacade.js @@ -747,6 +747,9 @@ function ServerFacade(openbisServer) { if(fetchOptions.withExperiment) { fetchOptions.withExperiment(); } + if(fetchOptions.withSample) { + fetchOptions.withSample(); + } if(fetchOptions.withRegistrator) { fetchOptions.withRegistrator(); } diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js index af4a0261f75..60e7e02f571 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/SideMenu/SideMenuWidgetView.js @@ -337,7 +337,7 @@ function SideMenuWidgetView(sideMenuWidgetController, sideMenuWidgetModel) { } var experimentLink = _this.getLinkForNode(experimentDisplayName, experiment.getPermId().getPermId(), viewToUse, experiment.getIdentifier().getIdentifier()); - results.push({ title : experimentLink, entityType: "EXPERIMENT", key : experiment.getPermId().getPermId(), folder : true, lazy : loadSamples, view : viewToUse, viewData: experiment.getIdentifier().getIdentifier() }); + results.push({ title : experimentLink, entityType: "EXPERIMENT", key : experiment.getPermId().getPermId(), folder : true, lazy : loadSamples, view : viewToUse, viewData: experiment.getIdentifier().getIdentifier(), icon : "fa fa-flask" }); } dfd.resolve(results); }); @@ -383,8 +383,38 @@ function SideMenuWidgetView(sideMenuWidgetController, sideMenuWidgetModel) { var sampleNode = { title : sampleLink, entityType: "SAMPLE", key : sample.getPermId().getPermId(), folder : true, lazy : true, view : "showViewSamplePageFromPermId", viewData: sample.getPermId().getPermId(), icon : "fa fa-flask" }; results.push(sampleNode); } - dfd.resolve(results); - Util.unblockUI(); + + var datasetRules = { "UUIDv4" : { type : "Experiment", name : "ATTR.PERM_ID", value : permId } }; + mainController.serverFacade.searchForDataSetsAdvanced({ entityKind : "DATASET", logicalOperator : "AND", rules : datasetRules }, null, function(searchResult) { + + var datasets = searchResult.objects; + var experimentDatasets = []; + for (var i = 0; i < datasets.length; i++) { + var dataset = datasets[i]; + if(!dataset.sample) { + experimentDatasets.push(dataset); + } + } + + if(experimentDatasets.length > 50) { + Util.showInfo("More than 50 Datasets, please use the dataset viewer on the experiment to navigate them."); + } else { + for (var i = 0; i < experimentDatasets.length; i++) { + var dataset = experimentDatasets[i]; + var datasetDisplayName = dataset.code; + if(dataset.properties && dataset.properties[profile.propertyReplacingCode]) { + datasetDisplayName = dataset.properties[profile.propertyReplacingCode]; + } + + var datasetLink = _this.getLinkForNode(datasetDisplayName, dataset.getPermId().getPermId(), "showViewDataSetPageFromPermId", dataset.getPermId().getPermId()); + results.push({ title : datasetLink, entityType: "DATASET", key : dataset.getPermId().getPermId(), folder : true, lazy : false, view : "showViewDataSetPageFromPermId", viewData: dataset.getPermId().getPermId(), icon : "fa fa-database" }); + } + } + + dfd.resolve(results); + Util.unblockUI(); + }); + } } -- GitLab