diff --git a/frontend-js/src/main/js/gui/admin/AddProjectDialog.js b/frontend-js/src/main/js/gui/admin/AddProjectDialog.js index 374bb11271c70cb492ff2de7169979cf788aab89..79677e9ce9354580dadde4803c8ca9a024d26a9f 100644 --- a/frontend-js/src/main/js/gui/admin/AddProjectDialog.js +++ b/frontend-js/src/main/js/gui/admin/AddProjectDialog.js @@ -204,12 +204,16 @@ AddProjectDialog.prototype.createGeneralTabContent = function () { table.appendChild(self.createRow([guiUtils.createLabel("File format: "), fileFormatSelect])); - table.appendChild(self.createInputRow("ProjectId:", "id", "project-id")); - table.appendChild(self.createInputRow("Project name:", "NEW DISEASE MAP", "project-name")); - table.appendChild(self.createInputRow("Project Disease:", "", "project-disease")); - table.appendChild(self.createInputRow("Organism:", "", "project-organism")); - table.appendChild(self.createInputRow("Version:", "", "project-version")); - table.appendChild(self.createInputRow("Notify email:", "", "project-notify-email")); + table.appendChild(self.createInputRow({labelName: "ProjectId:", defaultValue: "id", inputName: "project-id"})); + table.appendChild(self.createInputRow({ + labelName: "Project name:", + defaultValue: "NEW DISEASE MAP", + inputName: "project-name" + })); + table.appendChild(self.createInputRow({labelName: "Project Disease:", inputName: "project-disease"})); + table.appendChild(self.createInputRow({labelName: "Organism:", inputName: "project-organism"})); + table.appendChild(self.createInputRow({labelName: "Version:", inputName: "project-version"})); + table.appendChild(self.createInputRow({labelName: "Notify email:", inputName: "project-notify-email"})); var showAnnotatorsButton = Functions.createElement({ type: "button", @@ -228,12 +232,38 @@ AddProjectDialog.prototype.createGeneralTabContent = function () { } }); - table.appendChild(self.createCheckboxRow("Annotate model automatically:", false, "project-annotate-automatically", [showAnnotatorsButton])); - table.appendChild(self.createCheckboxRow("Verify manual annotations:", false, "project-verify-annotations", [showValidatorsButton])); - table.appendChild(self.createCheckboxRow("Cache data:", false, "project-cache-data")); - table.appendChild(self.createCheckboxRow("Auto margin:", true, "project-auto-margin")); - table.appendChild(self.createCheckboxRow("Display as SBGN:", false, "project-sbgn-visualization")); - table.appendChild(self.createCheckboxRow("Semantic zooming:", false, "project-semantic-zooming")); + table.appendChild(self.createCheckboxRow({ + labelName: "Annotate model automatically:", + defaultValue: false, + inputName: "project-annotate-automatically", + elements: [showAnnotatorsButton] + })); + table.appendChild(self.createCheckboxRow({ + labelName: "Verify manual annotations:", + defaultValue: false, + inputName: "project-verify-annotations", + elements: [showValidatorsButton] + })); + table.appendChild(self.createCheckboxRow({ + labelName: "Cache data:", + defaultValue: false, + inputName: "project-cache-data" + })); + table.appendChild(self.createCheckboxRow({ + labelName: "Auto margin:", + defaultValue: true, + inputName: "project-auto-margin" + })); + table.appendChild(self.createCheckboxRow({ + labelName: "Display as SBGN:", + defaultValue: false, + inputName: "project-sbgn-visualization" + })); + table.appendChild(self.createCheckboxRow({ + labelName: "Semantic zooming:", + defaultValue: false, + inputName: "project-semantic-zooming" + })); var saveProjectButton = Functions.createElement({ type: "button", @@ -266,42 +296,54 @@ AddProjectDialog.prototype.createGeneralTabContent = function () { return result; }; -AddProjectDialog.prototype.createInputRow = function (labelName, defaultValue, inputName) { +AddProjectDialog.prototype.createInputRow = function (params) { + if (params.defaultValue === undefined) { + params.defaultValue = ""; + } var label = new Functions.createElement({ type: "div", style: "display:table-cell", - content: xss(labelName) + content: xss(params.labelName) }); var input = new Functions.createElement({ type: "div", style: "display:table-cell", - content: "<input name='" + xss(inputName) + "' value='" + xss(defaultValue) + "'/>", + content: "<input name='" + xss(params.inputName) + "' value='" + xss(params.defaultValue) + "'/>", xss: false }); return this.createRow([label, input]); }; -AddProjectDialog.prototype.createCheckboxRow = function (labelName, defaultValue, inputName, elements) { - var label = new Functions.createElement({ +AddProjectDialog.prototype.createCheckboxRow = function (params) { + var labelName = params.labelName; + var defaultValue = params.defaultValue; + var inputName = params.inputName; + var elements = params.elements; + if (elements === undefined) { + elements = []; + } + var label = Functions.createElement({ type: "div", - style: "display:table-cell", + style: "display:table-cell;vertical-align: middle;", content: xss(labelName) }); var checked = ""; if (defaultValue) { checked = "checked"; } - var checkbox = new Functions.createElement({ + var checkbox = Functions.createElement({ type: "div", - style: "display:table-cell", content: "<input type='checkbox' name='" + xss(inputName) + "' " + checked + "/>", + style: "float:left;", xss: false }); - var rowElements = [label, checkbox]; - if (elements !== undefined) { - for (var i = 0; i < elements.length; i++) { - rowElements.push(elements[i]); - } + var checkBoxDiv = Functions.createElement({type: "div", style: "display:table-cell"}); + checkBoxDiv.appendChild(checkbox); + var rowElements = [label, checkBoxDiv]; + + for (var i = 0; i < elements.length; i++) { + $(elements[i]).css("float", "left"); + checkBoxDiv.appendChild(elements[i]); } return this.createRow(rowElements); };