From 3be43266e95e07d8d8a44ffb0f327344e15d9af8 Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Thu, 14 Jun 2018 16:05:09 +0200
Subject: [PATCH] jsdoc added for GuiUtils

---
 .../src/main/js/gui/leftPanel/GuiUtils.js     | 165 +++++++++++++++---
 1 file changed, 137 insertions(+), 28 deletions(-)

diff --git a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
index 4b8b943a5a..c1e7b40b0e 100644
--- a/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
+++ b/frontend-js/src/main/js/gui/leftPanel/GuiUtils.js
@@ -16,6 +16,11 @@ var Promise = require('bluebird');
 
 var tabIdCounter = 0;
 
+/**
+ *
+ * @param {Configuration} configuration
+ * @constructor
+ */
 function GuiUtils(configuration) {
   var self = this;
   self.setConfiguration(configuration);
@@ -24,14 +29,27 @@ function GuiUtils(configuration) {
 GuiUtils.prototype = Object.create(AbstractGuiElement.prototype);
 GuiUtils.prototype.constructor = GuiUtils;
 
+/**
+ *
+ * @param {Configuration} configuration
+ */
 GuiUtils.prototype.setConfiguration = function (configuration) {
   this._configuration = configuration;
 };
 
+/**
+ *
+ * @returns {Configuration}
+ */
 GuiUtils.prototype.getConfiguration = function () {
   return this._configuration;
 };
 
+/**
+ *
+ * @param {string} value
+ * @returns {HTMLSpanElement}
+ */
 GuiUtils.prototype.createLabel = function (value) {
   var result = document.createElement("span");
   result.innerHTML = value;
@@ -69,26 +87,23 @@ GuiUtils.prototype.createPostTranslationalModifications = function (label, value
   return result;
 };
 
-GuiUtils.prototype.createCandidates = function (label, value) {
-  var result = document.createElement("div");
-  if (value !== undefined) {
-    throw new Error("Not implemented");
-  }
-  return result;
-};
-
-GuiUtils.prototype.createChebiTree = function (label, value) {
-  var result = document.createElement("div");
-  if (value !== undefined) {
-    throw new Error("Not implemented");
-  }
-  return result;
-};
+/**
+ *
+ * @returns {HTMLHRElement}
+ */
 GuiUtils.prototype.createSeparator = function () {
   return document.createElement("hr");
 };
 
+/**
+ *
+ * @param {number} [count]
+ * @returns {HTMLParagraphElement}
+ */
 GuiUtils.prototype.createNewLine = function (count) {
+  if (count === undefined) {
+    count = 0;
+  }
   var result = document.createElement("p");
   if (count > 0) {
     result.style.height = ((count - 1) * 10) + "px";
@@ -96,6 +111,12 @@ GuiUtils.prototype.createNewLine = function (count) {
   return result;
 };
 
+/**
+ *
+ * @param {string} [url]
+ * @param {string} name
+ * @returns {HTMLElement}
+ */
 GuiUtils.prototype.createLink = function (url, name) {
   if (url === null || url === undefined) {
     logger.warn("URL not defined for: \"" + name + "\" link");
@@ -113,6 +134,12 @@ GuiUtils.prototype.createLink = function (url, name) {
   return link;
 };
 
+/**
+ *
+ * @param {Annotation} annotation
+ * @param {boolean} [showType=false]
+ * @returns {HTMLElement}
+ */
 GuiUtils.prototype.createAnnotationLink = function (annotation, showType) {
   var self = this;
   var name, type, hint;
@@ -150,6 +177,15 @@ GuiUtils.prototype.createAnnotationLink = function (annotation, showType) {
   }
 };
 
+/**
+ *
+ * @param {string} label
+ * @param {Annotation[]} [value]
+ * @param {Object} [options]
+ * @param {boolean} [options.inline]
+ *
+ * @returns {HTMLDivElement}
+ */
 GuiUtils.prototype.createAnnotations = function (label, value, options) {
   var self = this;
 
@@ -172,9 +208,16 @@ GuiUtils.prototype.createAnnotations = function (label, value, options) {
   return result;
 };
 
+/**
+ *
+ * @param {boolean} inline
+ * @param {string} annotatorClass
+ * @param {Object.<string, Annotator>} annotatorsClassMapping
+ * @param {boolean} groupAnnotations
+ * @returns {HTMLElement}
+ */
 function createGroupContainer(inline, annotatorClass, annotatorsClassMapping, groupAnnotations) {
   var automaticallyAnnotated = !(annotatorClass === undefined || annotatorClass === "undefined" || annotatorClass === null || annotatorClass === "");
-// var desc = grouppedAnnotations.keys()[i];
   var groupContainer = (inline ? document.createElement("span") : document.createElement("div"));
   var descContainer = (inline ? document.createElement("span") : document.createElement("div"));
 
@@ -334,6 +377,11 @@ GuiUtils.prototype.createAnnotationList = function (annotations, options) {
   return result;
 };
 
+/**
+ *
+ * @param {string} [value]
+ * @returns {HTMLSpanElement}
+ */
 GuiUtils.prototype.createLabelText = function (value) {
   var result = document.createElement("span");
   if (value !== undefined) {
@@ -342,6 +390,11 @@ GuiUtils.prototype.createLabelText = function (value) {
   return result;
 };
 
+/**
+ *
+ * @param {string} [value]
+ * @returns {HTMLInputElement}
+ */
 GuiUtils.prototype.createInputText = function (value) {
   var result = document.createElement("input");
   result.setAttribute('type', 'text');
@@ -352,6 +405,11 @@ GuiUtils.prototype.createInputText = function (value) {
   return result;
 };
 
+/**
+ *
+ * @param {string} [value]
+ * @returns {HTMLTextAreaElement}
+ */
 GuiUtils.prototype.createTextArea = function (value) {
   var result = document.createElement("textarea");
 
@@ -362,16 +420,12 @@ GuiUtils.prototype.createTextArea = function (value) {
   return result;
 };
 
-GuiUtils.prototype.createCheckbox = function (value) {
-  var result = document.createElement("input");
-  result.type = "checkbox";
-
-  if (value) {
-    result.checked = true;
-  }
-  return result;
-};
-
+/**
+ *
+ * @param {string} label
+ * @param {string|number} [value]
+ * @returns {HTMLDivElement}
+ */
 GuiUtils.prototype.createParamLine = function (label, value) {
   var result = document.createElement("div");
   if (value !== undefined && value !== null && value !== "") {
@@ -382,6 +436,12 @@ GuiUtils.prototype.createParamLine = function (label, value) {
   return result;
 };
 
+/**
+ *
+ * @param {string} [icon]
+ * @param {function} [onclickFunction]
+ * @returns {HTMLDivElement}
+ */
 GuiUtils.prototype.createIcon = function (icon, onclickFunction) {
   var result = document.createElement("div");
   if (icon !== undefined && icon !== null) {
@@ -397,6 +457,13 @@ GuiUtils.prototype.createIcon = function (icon, onclickFunction) {
   return result;
 };
 
+/**
+ *
+ * @param {string} label
+ * @param {string[]} [value]
+ *
+ * @returns {HTMLDivElement}
+ */
 GuiUtils.prototype.createArrayParamLine = function (label, value) {
   var result = document.createElement("div");
   if (value !== undefined && value.length > 0) {
@@ -407,6 +474,12 @@ GuiUtils.prototype.createArrayParamLine = function (label, value) {
   return result;
 };
 
+/**
+ *
+ * @param {string} label
+ * @param {number} [modelId]
+ * @returns {HTMLDivElement}
+ */
 GuiUtils.prototype.createSubMapLink = function (label, modelId) {
   var self = this;
   var result = document.createElement("div");
@@ -424,6 +497,11 @@ GuiUtils.prototype.createSubMapLink = function (label, modelId) {
   return result;
 };
 
+/**
+ *
+ * @param {Array<string|HTMLElement>} elements
+ * @returns {HTMLElement}
+ */
 GuiUtils.prototype.createTableRow = function (elements) {
   var row = Functions.createElement({
     type: "div",
@@ -558,6 +636,10 @@ GuiUtils.prototype.createSearchBioEntityGroupElement = function (group) {
   }
 };
 
+/**
+ *
+ * @returns {HTMLAnchorElement}
+ */
 GuiUtils.prototype.createLogoutLink = function () {
   var logoutLink = document.createElement("a");
   logoutLink.href = "#";
@@ -569,6 +651,14 @@ GuiUtils.prototype.createLogoutLink = function () {
   return logoutLink;
 };
 
+/**
+ *
+ * @param {string} params.name
+ * @param {string} params.id
+ * @param {HTMLElement} params.navigationBar
+ *
+ * @returns {HTMLLIElement}
+ */
 GuiUtils.prototype.createTabMenuObject = function (params) {
   var name = params.name;
   var id = params.id;
@@ -597,6 +687,13 @@ GuiUtils.prototype.createTabMenuObject = function (params) {
   return navLi;
 };
 
+/**
+ *
+ * @param {string} params.id
+ * @param {HTMLElement} params.navigationObject
+ *
+ * @returns {HTMLDivElement}
+ */
 GuiUtils.prototype.createTabContentObject = function (params) {
   var navigationObject = params.navigationObject;
   var tabId = params.id;
@@ -613,6 +710,13 @@ GuiUtils.prototype.createTabContentObject = function (params) {
   return result;
 };
 
+/**
+ *
+ * @param {HTMLElement} [params.element]
+ * @param {string} params.id
+ *
+ * @returns {{element: HTMLElement, menu: HTMLElement, content: HTMLElement, tabId: *}}
+ */
 GuiUtils.prototype.createTabDiv = function (params) {
   var tabDiv = Functions.createElement({
     type: "div",
@@ -632,7 +736,7 @@ GuiUtils.prototype.createTabDiv = function (params) {
   });
   tabDiv.appendChild(tabContentDiv);
 
-  if (params !== undefined && params.element !== undefined) {
+  if (params.element !== undefined) {
     params.element.appendChild(tabDiv);
   }
 
@@ -645,7 +749,6 @@ GuiUtils.prototype.createTabDiv = function (params) {
 };
 
 GuiUtils.prototype.createTab = function (params) {
-  var self = this;
   var tabData = params.tabData;
 
   var tabId = tabData.tabId + "_tab_" + tabIdCounter;
@@ -693,6 +796,12 @@ GuiUtils.prototype.createTab = function (params) {
   }
 };
 
+/**
+ *
+ * @param {string} toolTip
+ * @param {boolean} [useXss=false]
+ * @returns {HTMLElement}
+ */
 GuiUtils.prototype.createHelpButton = function (toolTip, useXss) {
   var helpContent;
   if (useXss) {
-- 
GitLab