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

SSDM-504: Experiment Form Create Mode.

SVN: 31753
parent fada41ed
No related branches found
No related tags found
No related merge requests found
......@@ -189,6 +189,20 @@ function MainController(profile) {
window.scrollTo(0,0);
});
break;
case "showCreateExperimentPage":
var cleanText = decodeURIComponent(arg); //If the JSON is written on the URL we need to clean special chars
var argsMap = JSON.parse(cleanText);
var experimentTypeCode = argsMap["experimentTypeCode"];
var projectIdentifier = argsMap["projectIdentifier"];
document.title = "Create Experiment " + experimentTypeCode;
var experiment = {
experimentTypeCode : experimentTypeCode,
identifier : projectIdentifier
}
this._showExperimentPage(experiment, FormMode.CREATE);
window.scrollTo(0,0);
break;
case "showExperimentPageFromIdentifier":
var _this = this;
this.serverFacade.listExperimentsForIdentifiers([arg], function(data) {
......
......@@ -40,6 +40,28 @@ var FormUtil = new function() {
return $component;
}
this.getExperimentTypeDropdown = function(id, isRequired) {
var experimentTypes = this.profile.allExperimentTypes;
var $component = $("<select>", {"id" : id, class : 'form-control'});
if (isRequired) {
$component.attr('required', '');
}
$component.append($("<option>").attr('value', '').attr('selected', '').text(''));
for(var i = 0; i < experimentTypes.length; i++) {
var experimentType = experimentTypes[i];
var label = Util.getEmptyIfNull(experimentType.description);
if(label === "") {
label = experimentType.code;
}
$component.append($("<option>").attr('value',experimentType.code).text(label));
}
return $component;
}
//
// Get Field with container to obtain a correct layout
//
......
......@@ -35,7 +35,31 @@ function ProjectForm(containerId, mainController, project) {
//
// Title
//
$formColumn.append($("<h1>").append("Project /" + this._project.spaceCode + "/" + this._project.code));
var $formTitle = $("<h2>").append("Project /" + this._project.spaceCode + "/" + this._project.code);
$formColumn.append($formTitle);
var $createExpBtn = $("<a>", { "class" : "btn btn-default"}).append("Create Experiment");
$createExpBtn.click(function() {
var $dropdown = FormUtil.getExperimentTypeDropdown("experimentTypeDropdown", true);
Util.blockUI("Select the type for the Experiment: <br><br>" + $dropdown[0].outerHTML + "<br> or <a class='btn btn-default' id='experimentTypeDropdownCancel'>Cancel</a>");
$("#experimentTypeDropdown").on("change", function(event) {
var experimentTypeCode = $("#experimentTypeDropdown")[0].value;
var argsMap = {
"experimentTypeCode" : experimentTypeCode,
"projectIdentifier" : "/" + _this._project.spaceCode + "/" + _this._project.code
}
var argsMapStr = JSON.stringify(argsMap);
_this._mainController.changeView("showCreateExperimentPage", argsMapStr);
});
$("#experimentTypeDropdownCancel").on("click", function(event) {
Util.unblockUI();
});
});
$formTitle.append(" ");
$formTitle.append($createExpBtn);
//
// Metadata Fields
......
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