{"version":3,"names":["PF","ui","Hint","constructor","this","hints","TYPE","INFO","ERROR","WARNING","SUCCESS","getInstance","undefined","_instance","prototype","addHint","elementId","hintId","type","title","texts","optionsObj","$destructor","HintBox","moveHint","changeElement","changeHintTexts","changeTexts","forceShowHint","showHint","hideHint","removeHints","hintsToRemove","i","hint","getId","substring","length","push","id","options","p","ec","bind","elm","elmHintBox","_findElements","removeEventListener","$","remove","gel","addEventListener","e","_createHintBox","leftOffset","Number","isFinite","topOffset","width","left","offset","css","top","height","document","createElement","attr","appendTo","html","getType","fadeIn","fadeOut"],"sources":["pf.ui.js.hint.js"],"sourcesContent":["PF.ui.Hint = class {\r\n\tconstructor() {\r\n\t\tthis.hints = {};\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.TYPE = {\r\n\tINFO: 'INFO',\r\n\tERROR: 'ERROR',\r\n\tWARNING: 'WARNING',\r\n\tSUCCESS: 'SUCCESS'\r\n}\r\n\r\nPF.ui.Hint.getInstance = function() {\r\n\tif (PF.ui.Hint._instance == undefined) {\r\n\t\tPF.ui.Hint._instance = new PF.ui.Hint();\r\n\t}\r\n\treturn PF.ui.Hint._instance;\r\n}\r\n\r\n\r\nPF.ui.Hint.prototype.addHint = function(elementId, hintId, type, title, texts, optionsObj) {\r\n\tif (hintId in this.hints) {\r\n\t\tthis.hints[hintId].$destructor();\r\n\t\tthis.hints[hintId] = null;\r\n\t}\r\n\tthis.hints[hintId] = new PF.ui.Hint.HintBox(elementId, hintId, type, title, texts, optionsObj);\r\n}\r\n\r\nPF.ui.Hint.prototype.moveHint = function(elementId, hintId) {\r\n\tif (hintId in this.hints) {\r\n\t\tthis.hints[hintId].changeElement(elementId);\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.prototype.changeHintTexts = function(hintId, texts) {\r\n\tif (hintId in this.hints) {\r\n\t\tthis.hints[hintId].changeTexts(texts);\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.prototype.forceShowHint = function(hintId) {\r\n\tif (hintId in this.hints) {\r\n\t\tthis.hints[hintId].showHint(null, null);\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.prototype.hideHint = function(hintId) {\r\n\tif (hintId in this.hints) {\r\n\t\tthis.hints[hintId].hideHint(null, null);\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.prototype.removeHints = function(hintId) {\r\n\tvar hintsToRemove = [];\r\n\t\r\n\tfor (var i in this.hints) {\r\n\t\tvar hint = this.hints[i];\r\n\t\tif (hint.getId() == hintId) {\r\n\t\t\thintsToRemove.push(i);\r\n\t\t}else if (hint.getId().substring(0, hintId.length + 1) == hintId + '.' ) {\r\n\t\t\thintsToRemove.push(i);\r\n\t\t}\r\n\t}\r\n\tfor (var i = 0; i < hintsToRemove.length; i++) {\r\n\t\tthis.hints[hintsToRemove[i]].$destructor();\r\n\t\tdelete this.hints[hintsToRemove[i]];\r\n\t}\r\n}\r\n\r\n//------------------------------------------------------------------------------\r\n\r\nPF.ui.Hint.HintBox = class {\r\n\tconstructor(elementId, id, type, title, texts, optionsObj) {\r\n\t\tthis.options = {\r\n\t\t}\r\n\t\tif (optionsObj) {\r\n\t\t\tfor (var p in optionsObj) {\r\n\t\t\t\tthis.options[p] = optionsObj[p];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.ec = [];\r\n\r\n\t\tthis.showHint = this.showHint.bind(this);\r\n\t\tthis.hideHint = this.hideHint.bind(this);\r\n\r\n\t\tthis.elementId = elementId;\r\n\t\tthis.id = id;\r\n\t\tthis.type = type;\r\n\t\tthis.title = title;\r\n\t\tthis.texts = texts;\r\n\t\t\r\n\t\tthis.elm = null;\r\n\t\t\r\n\t\tthis.elmHintBox = null;\r\n\t\r\n\t\tif (elementId) {\r\n\t\t\tthis._findElements();\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\n/**\r\n* Destructor\r\n*/\r\nPF.ui.Hint.HintBox.prototype.$destructor = function()\r\n{\r\n\tif (!this.options[\"noEvents\"]) {\r\n\t\tif (this.options[\"mouseOverHint\"]) {\r\n\t\t\tthis.elm.removeEventListener(\"mouseenter\", this.showHint);\r\n\t\t\tthis.elm.removeEventListener(\"mouseleave\", this.hideHint);\r\n\t\t} else {\r\n\t\t\tthis.elm.removeEventListener(\"focus\", this.showHint);\r\n\t\t\tthis.elm.removeEventListener(\"blur\", this.hideHint);\r\n\t\t}\r\n\t}\r\n\r\n\tif (this.elmHintBox) {\r\n\t\t$(this.elmHintBox).remove();\r\n\t}\r\n\r\n\tfor (var p in this) { this[p] = null; }\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype._findElements = function() {\r\n\tthis.elm = PF.gel(this.elementId);\r\n\r\n\tif (!this.options[\"noEvents\"]) {\r\n\t\tif (this.options[\"mouseOverHint\"]) {\r\n\t\t\tthis.ec.push(this.elm.addEventListener(\"mouseenter\", this.showHint));\r\n\t\t\tthis.ec.push(this.elm.addEventListener(\"mouseleave\", this.hideHint));\r\n\t\t} else {\r\n\t\t\tthis.ec.push(this.elm.addEventListener(\"focus\", this.showHint));\r\n\t\t\tthis.ec.push(this.elm.addEventListener(\"blur\", this.hideHint));\r\n\t\t}\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype.showHint = function(e, elm) {\r\n\tthis._createHintBox();\r\n\r\n\tvar leftOffset = Number.isFinite(this.options[\"leftOffset\"]) ? this.options[\"leftOffset\"] : -70;\r\n\tvar topOffset = Number.isFinite(this.options[\"topOffset\"]) ? this.options[\"topOffset\"] : 0;\r\n\r\n\tleftOffset += this.options[\"placeAtLeftBorder\"] ? 0 : $(this.elm).width();\r\n\tleftOffset += this.options[\"rightBased\"] ? -$(this.elmHintBox).width() : 0;\r\n\r\n\tvar left = $(this.elm).offset().left;\r\n\t$(this.elmHintBox).css({'left': left + leftOffset});\r\n\r\n\tvar top = $(this.elm).offset().top;\r\n\t$(this.elmHintBox).css({'top' : top - $(this.elmHintBox).height() + topOffset});\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype.changeElement = function(elementId) {\r\n\tthis.elementId = elementId;\r\n\r\n\tif (!this.options[\"noEvents\"]) {\r\n\t\tif (this.options[\"mouseOverHint\"]) {\r\n\t\t\tthis.elm.removeEventListener(\"mouseenter\", this.showHint);\r\n\t\t\tthis.elm.removeEventListener(\"mouseleave\", this.hideHint);\r\n\t\t} else {\r\n\t\t\tthis.elm.removeEventListener(\"focus\", this.showHint);\r\n\t\t\tthis.elm.removeEventListener(\"blur\", this.hideHint);\r\n\t\t}\r\n\t}\r\n\r\n\tthis._findElements();\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype.changeTexts = function(texts) {\r\n\tthis.texts = texts;\r\n\r\n\tif (this.elmHintBox) {\r\n\t\t$(this.elmHintBox).remove();\r\n\t\tthis.elmHintBox = null;\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype._createHintBox = function() {\r\n\tif (!this.elmHintBox) {\r\n\t\tthis.elmHintBox = $(document.createElement(\"div\")).attr('class', 'hintbox-tbx').appendTo($('body'));\r\n\t\tvar html = '';\r\n\t\thtml += '<div border=\"0\" class=\"';\r\n\t\tif (this.getType() == PF.ui.Hint.TYPE.INFO) {\r\n\t\t\thtml += 'classic';\r\n\t\t}else if (this.getType() == PF.ui.Hint.TYPE.ERROR) {\r\n\t\t\thtml += 'red';\r\n\t\t}else if (this.getType() == PF.ui.Hint.TYPE.WARNING) {\r\n\t\t\thtml += 'blue';\r\n\t\t}else if (this.getType() == PF.ui.Hint.TYPE.SUCCESS) {\r\n\t\t\thtml += 'green';\r\n\t\t}\r\n\t\tif (this.options[\"rightBased\"]) {\r\n\t\t\thtml += ' right';\r\n\t\t}\r\n\t\thtml += '\">';\r\n\t\tif (this.options[\"closeButton\"]) {\r\n\t\t\thtml += '<div class=\"hintbox-close-flexholder\">';\r\n\t\t}\r\n\t\thtml += '<div class=\"text\">';\r\n\t\tfor (var i = 0; i < this.texts.length; i++) {\r\n\t\t\thtml += '<p>' + this.texts[i] + '</p>';\r\n\t\t}\r\n\t\thtml += '</div>';\r\n\t\tif (this.options[\"closeButton\"]) {\r\n\t\t\thtml += '<div class=\"hintbox-close-button\"></div></div>';\r\n\t\t}\r\n\t\thtml += '</div>';\r\n\t\t$(this.elmHintBox).html(html);\r\n\t\t\t\r\n\t}\r\n\t$(this.elmHintBox).fadeIn(300);\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype.hideHint = function(e, elm) {\r\n\tif (this.elmHintBox) {\r\n\t\tthis.elmHintBox.fadeOut(300);\r\n\t}\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype.getId = function() {\r\n\treturn this.id;\r\n}\r\n\r\nPF.ui.Hint.HintBox.prototype.getType = function() {\r\n\treturn this.type;\r\n}\r\n\r\n"],"mappings":"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"}