diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js index 20e650b8287072c12c53ccf68e6957bcfa7bacf6..af82176923e3d525991da5980df6f0f624825d5f 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/util/FormUtil.js @@ -744,6 +744,22 @@ var FormUtil = new function() { return $toolbarContainer; } + this.getOperationsMenu = function(items) { + var $dropDownMenu = $("<span>", { class : 'dropdown' }); + var $caret = $("<a>", { 'href' : '#', 'data-toggle' : 'dropdown', class : 'dropdown-toggle btn btn-default'}).append("Operations ").append($("<b>", { class : 'caret' })); + var $list = $("<ul>", { class : 'dropdown-menu', 'role' : 'menu', 'aria-labelledby' :'sampleTableDropdown' }); + $dropDownMenu.append($caret); + $dropDownMenu.append($list); + + for(var iIdx = 0; iIdx < items.length; iIdx++) { + var item = items[iIdx]; + var $item = $("<li>", { 'role' : 'presentation' }).append($("<a>", {'title' : item.label}).append(item.label)); + $item.click(item.event); + $list.append($item); + } + return $dropDownMenu; + } + this.getFormLink = function(displayName, entityKind, permIdOrIdentifier) { var view = null; switch(entityKind) { diff --git a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js index 91c212785fe54db11cd7d2e89c9065b54164c73f..b5fe15002eff7dd060d0552ab9099779180bdd7e 100644 --- a/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js +++ b/openbis_standard_technologies/dist/core-plugins/eln-lims/1/as/webapps/eln-lims/html/js/views/ProjectForm/ProjectFormView.js @@ -60,23 +60,22 @@ function ProjectFormView(projectFormController, projectFormModel) { // var toolbarModel = []; if(this._projectFormModel.mode !== FormMode.CREATE) { - //Create Experiment - var $createExpBtn = FormUtil.getButtonWithIcon("glyphicon-plus", function() { + var showSelectExperimentType = 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>"); - var showSelectExperimentType = 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; - _this._projectFormController.createNewExperiment(experimentTypeCode); - }); - - $("#experimentTypeDropdownCancel").on("click", function(event) { - Util.unblockUI(); - }); - } + $("#experimentTypeDropdown").on("change", function(event) { + var experimentTypeCode = $("#experimentTypeDropdown")[0].value; + _this._projectFormController.createNewExperiment(experimentTypeCode); + }); + $("#experimentTypeDropdownCancel").on("click", function(event) { + Util.unblockUI(); + }); + } + + //Create Experiment + var $createExpBtn = FormUtil.getButtonWithIcon("glyphicon-plus", function() { if(profile.isInventorySpace(_this._projectFormModel.project.spaceCode)) { var experimentType = profile.getExperimentTypeForExperimentTypeCode(_this._projectFormModel.project.spaceCode); if(experimentType) { @@ -85,7 +84,7 @@ function ProjectFormView(projectFormController, projectFormModel) { showSelectExperimentType(); } } else { - showSelectExperimentType(); + _this._projectFormController.createNewExperiment("DEFAULT_EXPERIMENT"); } }); toolbarModel.push({ component : $createExpBtn, tooltip: "Create Experiment" }); @@ -101,6 +100,12 @@ function ProjectFormView(projectFormController, projectFormModel) { _this._projectFormController.deleteProject(reason); }, true); toolbarModel.push({ component : $deleteBtn, tooltip: "Delete" }); + + //Operations + var $operationsMenu = FormUtil.getOperationsMenu([{ label: "Create Experiment", event: function() { + showSelectExperimentType(); + }}]); + toolbarModel.push({ component : $operationsMenu, tooltip: "Extra operations" }); } $formColumn.append(FormUtil.getToolbar(toolbarModel));