Skip to content
Snippets Groups Projects
Commit 04023c34 authored by juanf's avatar juanf
Browse files

SSDM-504: Update side menu after creation.

SVN: 31755
parent b9ad4f95
No related branches found
No related tags found
No related merge requests found
......@@ -69,6 +69,18 @@ function ServerFacade(openbisServer) {
this.openbisServer.listExperiments(projects, null, callbackFunction);
}
this.getProjectFromIdentifier = function(identifier, callbackFunction) {
this.openbisServer.listProjects(function(data) {
data.result.forEach(function(project){
var projIden = "/" + project.spaceCode + "/" + project.code;
if(projIden === identifier) {
callbackFunction(project);
return;
}
});
});
}
this.getProjectFromPermId = function(permId, callbackFunction) {
this.openbisServer.listProjects(function(data) {
data.result.forEach(function(project){
......
......@@ -251,6 +251,7 @@ function ExperimentForm(containerId, mainController, experiment, mode) {
this._mainController.serverFacade.createReportFromAggregationService(this._mainController.profile.allDataStores[0].code, parameters, function(response) {
Util.unblockUI();
_this._isFormDirty = false;
_this._mainController.sideMenu.refreshExperiment($("#PROJECT").val());
_this._mainController.changeView("showExperimentPageFromIdentifier", experimentIdentifier);
});
} else {
......
......@@ -32,6 +32,56 @@ function SideMenuWidget(mainController, containerId, serverFacade) {
this._menuStructure = new SideMenuWidgetComponent(false, true, "Main Menu", null, { children : [] }, 'showBlancPage', null, "");
this._pointerToMenuNode = this._menuStructure;
this.isHidden = false;
this.refreshExperiment = function(projectIdentifierToAskForExperiments) {
var _this = this;
//Clean node
var projectNode = _this._getProjectNodeForCode(projectIdentifierToAskForExperiments.split("/")[2]);
projectNode.newMenuIfSelected.children = [];
//Rebuild node
this._serverFacade.getProjectFromIdentifier(projectIdentifierToAskForExperiments, function(project) {
delete project["@id"];
delete project["@type"];
//Fill Experiments
_this._serverFacade.listExperiments([project], function(experiments) {
var experimentsToAskForSamples = [];
for(var i = 0; i < experiments.result.length; i++) {
var experiment = experiments.result[i];
experimentsToAskForSamples.push(experiment);
var projectCode = experiment.identifier.split("/")[2];
var projectNode = _this._getProjectNodeForCode(projectCode);
var newMenuIfSelectedExperiment = {
children : []
}
var menuItemExperiment = new SideMenuWidgetComponent(true, false, experiment.code, projectNode, newMenuIfSelectedExperiment, "showExperimentPageFromIdentifier", experiment.identifier, "(Experiment)");
projectNode.newMenuIfSelected.children.push(menuItemExperiment);
}
//Fill Sub Experiments
_this._serverFacade.listSamplesForExperiments(experimentsToAskForSamples, function(subExperiments) {
var a = 0;
for(var i = 0; i < subExperiments.result.length; i++) {
var subExperiment = subExperiments.result[i];
if(subExperiment.experimentIdentifierOrNull) {
var projectCode = subExperiment.experimentIdentifierOrNull.split("/")[2];
var experimentCode = subExperiment.experimentIdentifierOrNull.split("/")[3];
var experimentNode = _this._getExperimentNodeForCode(projectCode, experimentCode);
var menuItemSubExperiment = new SideMenuWidgetComponent(true, false, subExperiment.code, experimentNode, null, "showViewSamplePageFromPermId", subExperiment.permId, "(Sub Exp.)");
experimentNode.newMenuIfSelected.children.push(menuItemSubExperiment);
}
}
_this.repaint();
});
});
});
}
this.refreshSubExperiment = function(experimentIdentifierToAskForSamples) {
var _this = this;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment