From ea517501f3b32eb7463c3f63720d3977f1f0164e Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 8 Mar 2019 14:32:23 +0100
Subject: [PATCH] css class selectors for tab links in left panel

---
 frontend-js/src/main/js/gui/leftPanel/GuiUtils.js    | 10 ++++++----
 frontend-js/src/main/js/gui/leftPanel/LeftPanel.js   |  4 ++++
 frontend-js/src/main/js/gui/leftPanel/SearchPanel.js |  4 ++++
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
index fe77c84072..3ae1d5a4d8 100644
--- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
+++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
@@ -917,6 +917,7 @@ GuiUtils.prototype.createLogoutLink = function () {
  *
  * @param {string} params.name
  * @param {string} params.id
+ * @param {string} [params.className]
  * @param {HTMLElement} params.navigationBar
  *
  * @returns {HTMLLIElement}
@@ -930,11 +931,13 @@ GuiUtils.prototype.createTabMenuObject = function (params) {
   if (navigationBar.children.length === 0) {
     navClass = "active";
   }
-
   var navLi = document.createElement("li");
   navLi.className = navClass;
 
   var navLink = document.createElement("a");
+  if (params.className !== undefined) {
+    navLink.className = params.className;
+  }
   navLink.href = "#" + id;
   if (name !== undefined) {
     navLink.innerHTML = name;
@@ -943,9 +946,6 @@ GuiUtils.prototype.createTabMenuObject = function (params) {
     $(this).tab('show');
   };
   navLi.appendChild(navLink);
-  if (name !== undefined) {
-    navLink.innerHTML = name;
-  }
   return navLi;
 };
 
@@ -1051,6 +1051,7 @@ GuiUtils.prototype.initTabContent = function (abstractGuiElement) {
  * @param {AbstractGuiElement} abstractGuiElement
  * @param {Object} params
  * @param {string} params.name
+ * @param {string} [params.linkClassName]
  * @param {HTMLElement} [params.content]
  * @param {boolean} [params.disabled = false]
  * @param {function} [params.panelClass]
@@ -1066,6 +1067,7 @@ GuiUtils.prototype.addTab = function (abstractGuiElement, params) {
   var navLi = this.createTabMenuObject({
     id: tabId,
     name: params.name,
+    className: params.linkClassName,
     navigationBar: navElement
   });
   navElement.appendChild(navLi);
diff --git a/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js b/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js
index 122bab37ee..b018c789c6 100644
--- a/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/LeftPanel.js
@@ -104,18 +104,22 @@ LeftPanel.prototype.getPanelsDefinition = function () {
   return [{
     name: "<div class='maintabdiv'><i class='fa fa-search maintab'></i><br>SEARCH</div>",
     panelClass: SearchPanel,
+    linkClassName: "minerva-search-tab-link",
     options: {parent: this}
   }, {
     name: "<div class='maintabdiv'><i class='fa fa-th-list maintab'></i><br>OVERLAYS</div>",
     panelClass: OverlayPanel,
+    linkClassName: "minerva-overlay-tab-link",
     options: {parent: this}
   }, {
     name: "<div class='maintabdiv'><i class='fa fa-sitemap maintab'></i><br>SUBMAPS</div>",
     panelClass: SubmapPanel,
+    linkClassName: "minerva-submap-tab-link",
     options: {parent: this}
   }, {
     name: "<div class='maintabdiv'><i class='fa fa-info maintab'></i><br>INFO</div>",
     panelClass: ProjectInfoPanel,
+    linkClassName: "minerva-info-tab-link",
     options: {parent: this}
   }];
 };
diff --git a/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js b/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
index 6b72929cf5..52ab2fa321 100644
--- a/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
+++ b/frontend-js/src/main/js/gui/leftPanel/SearchPanel.js
@@ -57,17 +57,21 @@ SearchPanel.prototype.getPanelsDefinition = function () {
   return [{
     name: "GENERIC",
     panelClass: GenericSearchPanel,
+    linkClassName: "minerva-generic-search-tab-link",
     options: {parent: this}
   }, {
     name: "DRUG",
     panelClass: DrugPanel,
+    linkClassName: "minerva-drug-search-tab-link",
     options: {parent: this}
   }, {
     name: "CHEMICAL",
     panelClass: ChemicalPanel,
+    linkClassName: "minerva-chemical-search-tab-link",
     options: {parent: this}
   }, {
     name: "MiRNA",
+    linkClassName: "minerva-mirna-search-tab-link",
     panelClass: MiRnaPanel,
     options: {parent: this}
   }];
-- 
GitLab