From 088be9ac185ef96f581e812a031bbac54824f1be Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Fri, 21 Sep 2018 16:23:20 +0200 Subject: [PATCH] createSubMapLink signature change to allow className property --- .../src/main/js/gui/leftPanel/GuiUtils.js | 38 +++++++++++-------- .../test/js/gui/leftPanel/GuiUtils-test.js | 20 +++++++++- 2 files changed, 41 insertions(+), 17 deletions(-) diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js index a8aa035763..451da25cd6 100644 --- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js +++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js @@ -548,22 +548,24 @@ GuiUtils.prototype.createArrayParamLine = function (label, value) { /** * - * @param {string} label - * @param {number} [modelId] + * @param {Object} params + * @param {string} params.label + * @param {number} [params.mapId] + * @param {string} [params.className] * @returns {HTMLDivElement} */ -GuiUtils.prototype.createSubMapLink = function (label, modelId) { +GuiUtils.prototype.createSubMapLink = function (params) { var self = this; - var result = document.createElement("div"); - if (modelId !== undefined) { + var result = Functions.createElement({type: "div", className: params.className}); + if (params.mapId !== undefined) { var button = document.createElement("button"); - var model = self.getMap().getSubmapById(modelId).getModel(); + var model = self.getMap().getSubmapById(params.mapId).getModel(); button.innerHTML = model.getName(); button.onclick = function () { - return self.getMap().openSubmap(modelId); + return self.getMap().openSubmap(params.mapId); }; - result.appendChild(this.createLabel(label)); + result.appendChild(this.createLabel(params.label)); result.appendChild(button); } return result; @@ -617,14 +619,16 @@ GuiUtils.prototype.createReactionElement = function (params) { }); titleDiv.appendChild(self.createLabel("Reaction: " + reaction.getReactionId())); if (reaction.getModelId() !== self.getMap().getId()) { - titleDiv.appendChild(self.createSubMapLink("In submap: ", reaction.getModelId())); + titleDiv.appendChild(self.createSubMapLink({label: "In submap: ", mapId: reaction.getModelId()})); } div.appendChild(titleDiv); } - if (self.getConfiguration().getBooleanValue(ConfigurationType.SHOW_REACTION_LINKED_SUBMAP)) { - div.appendChild(self.createSubMapLink("Associated submap: ", reaction.getLinkedSubmodelId())); - } + div.appendChild(self.createSubMapLink({ + label: "Associated submap: ", + mapId: reaction.getLinkedSubmodelId(), + className: self._configurationOptionToClassName(ConfigurationType.SHOW_REACTION_LINKED_SUBMAP) + })); if (showTitle) { div.appendChild(self.createNewLine()); } @@ -751,12 +755,14 @@ GuiUtils.prototype.createAliasElement = function (params) { div.appendChild(this.createParamLine({label: alias.getType() + ": ", value: alias.getName()})); if (alias.getModelId() !== self.getMap().getId()) { - div.appendChild(self.createSubMapLink("In submap: ", alias.getModelId())); + div.appendChild(self.createSubMapLink({label: "In submap: ", mapId: alias.getModelId()})); } } - if ((self.getConfiguration().getBooleanValue(ConfigurationType.SHOW_ELEMENT_LINKED_SUBMAP))) { - div.appendChild(self.createSubMapLink("Associated submap: ", alias.getLinkedSubmodelId())); - } + div.appendChild(self.createSubMapLink({ + label: "Associated submap: ", + mapId: alias.getLinkedSubmodelId(), + className: self._configurationOptionToClassName(ConfigurationType.SHOW_ELEMENT_LINKED_SUBMAP) + })); if ((self.getConfiguration().getBooleanValue(ConfigurationType.SHOW_ELEMENT_GROUP_SIZE))) { if (alias instanceof SearchBioEntityGroup && alias.getBioEntities().length > 1) { div.appendChild(self.createLabelText("Group of " + alias.getBioEntities().length + " elements.")); diff --git a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js index a51191a65c..a4d5d1fced 100644 --- a/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js +++ b/frontend-js/src/test/js/gui/leftPanel/GuiUtils-test.js @@ -85,7 +85,7 @@ describe('GuiUtils', function () { var guiUtils = createGuiUtils(map); - var res = guiUtils.createSubMapLink("TEST", map.getId()); + var res = guiUtils.createSubMapLink({label: "TEST", mapId: map.getId()}); assert.ok(res.innerHTML); }); @@ -124,6 +124,24 @@ describe('GuiUtils', function () { var reactionId = "XX ID"; reaction.setReactionId(reactionId); + return guiUtils.createReactionElement({reaction: reaction}).then(function (div) { + assert.ok(div.innerHTML.indexOf(reactionId) >= 0); + }) + }); + it('in submap', function () { + var project = helper.createProject(); + project.addModel(helper.createModel()); + var map = helper.createCustomMap(project); + helper.createSearchDbOverlay(map); + + var guiUtils = createGuiUtils(map); + + var reaction = helper.createReaction(map); + var reactionId = "XX ID"; + + reaction.setReactionId(reactionId); + reaction.setModelId(project.getModels()[1].getId()); + return guiUtils.createReactionElement({reaction: reaction}).then(function (div) { assert.ok(div.innerHTML.indexOf(reactionId) >= 0); }) -- GitLab