{"version":3,"file":"finhub.bundle.js","mappings":";;;;;;;AAAA,CAA4B;AAC5B,mBAAO,CAAC,IAAO;AACf,yBAAyB;AACzB,WAAW,yBAA4C;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,uCAAuC;AACvC;;;;;;;;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,gEAAgE,QAAQ,qBAAqB;AAC7F,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,gBAAgB;AAC5B;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,yBAAyB,oEAAoE;AAC7F;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrQA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,gCAAgC;AAC5D;AACA,6BAA6B,2CAA2C;AACxE;AACA;AACA;AACA;AACA;AACA,6BAA6B,gCAAgC;AAC7D;AACA,8BAA8B,2CAA2C;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mCAAmC;AAC/D;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9GA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,qCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,CAAC;AACD;AACA;;;;;;;;ACtDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;;;;;;AC3GD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;UC3BA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WC5BA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,GAAG;WACH;WACA;WACA,CAAC;;;;;WCPD;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;WACA;WACA;WACA;WACA;;;;;WCJA;;;;;WCAA;;WAEA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEhDA;UACA;UACA;UACA;UACA","sources":["webpack:///../finhub.index.js","webpack:///./views/app.js","webpack:///./views/company_dashboard.js","webpack:///./views/listcolumnmanager.js","webpack:///./views/pricechart.js","webpack:///./views/sidebarmenu.js","webpack:///./views/spm_role_tree.js","webpack:///./views/ sync \\.js$","webpack:///webpack/bootstrap","webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/runtimeId","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/before-startup","webpack:///webpack/startup","webpack:///webpack/after-startup"],"sourcesContent":["import './styles.index.js';\r\nrequire('quill');\r\nfunction requireAll(r) { r.keys().forEach(r); }\r\nrequireAll(require.context('Root/views', true, /\\.js$/));\r\n\r\n/*global.Klaro = require('klaro');\r\nglobal.klaroConfig = {\r\n version: 1,\r\n elementID: 'klaro',\r\n styling: {\r\n theme: ['light', 'bottom', 'wide'],\r\n },\r\n showDescriptionEmptyStore: true,\r\n noAutoLoad: false,\r\n htmlTexts: true,\r\n embedded: false,\r\n groupByPurpose: true,\r\n autoFocus: false,\r\n showNoticeTitle: false,\r\n storageMethod: 'cookie',\r\n cookieName: 'klaro',\r\n cookieExpiresAfterDays: 365,\r\n default: false,\r\n mustConsent: false,\r\n acceptAll: true,\r\n hideDeclineAll: true,\r\n hideLearnMore: false,\r\n noticeAsModal: false,\r\n translations: {\r\n zz: {\r\n privacyPolicyUrl: '/#privacy',\r\n },\r\n en: {\r\n consentModal: {\r\n title: 'Services we would like to use',\r\n description:\r\n 'This website uses third-party applications. To protect and manage your privacy you can review and control these apps here.',\r\n },\r\n },\r\n },\r\n services: [\r\n {\r\n name: 'google-analytics',\r\n cookies: [\r\n /^_ga(_.*)?/\r\n ],\r\n purposes: ['analytics']\r\n },\r\n ],\r\n};\r\nglobal.Klaro.setup(global.klaroConfig);*/\r\n\r\n","Tango.isMobile = function () {\r\n\treturn matchMedia('(max-width: 1024px)').matches;\r\n}\r\n\r\nclass CompanySearch extends Tango.Component {\r\n\tgetInput(el) {\r\n\t\tvar inp = el instanceof HTMLInputElement;\r\n\t\tif (!inp)\r\n\t\t\tinp = el.querySelector('input');\r\n\t\treturn inp;\r\n\t};\r\n\r\n\twidgetDidMount() {\r\n\t\tconst _this = this;\r\n\t\tconst ctrl = document.getElementById(this.root);\r\n\t\tvar popupid = ctrl.getAttribute('data-popup');\r\n\t\tif (!popupid) popupid = this.root + '_popup';\r\n\t\tconst popup = document.getElementById(popupid);\r\n\t\tif (!popup)\r\n\t\t\treturn;\r\n\t\tconst items = popup.getElementsByTagName('a');\r\n\t\tvar selectedItem = null;\r\n\r\n\t\tconst args = {\r\n\t\t\ttriggerOn: 'keyup focus click',\r\n\t\t\tdisplayAround: 'triggerbottom',\r\n\t\t\tdelayedTrigger: true,\r\n\t\t\tbeforeOpen: function (data, event) {\r\n\t\t\t\tvar el = data.trigger[0];\r\n\t\t\t\tvar inp = _this.getInput(el);\r\n\r\n\t\t\t\tif (!Tango.isMobile()) {\r\n\t\t\t\t\tif (inp && getComputedStyle(inp).getPropertyValue('display') != 'none') {\r\n\t\t\t\t\t\tif (inp.value == '') return 1;\r\n\t\t\t\t\t\tif (event.keyCode == 38 || event.keyCode == 40) return 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tselectedItem = null;\r\n\t\t\t\t}\r\n\t\t\t\treturn 0;\r\n\t\t\t},\r\n\t\t\tonOpen: function (data, event) {\r\n\t\t\t\tif (Tango.isMobile()) {\r\n\t\t\t\t\tbody.classList.add('lock-position-body');\r\n\t\t\t\t}\r\n\t\t\t\treturn ajaxUtils.runEventFromElementWithApiResponse(ctrl, { data: { resultid: popupid } });\r\n\t\t\t},\r\n\t\t\tafterOpen: function (data, event) {\r\n\t\t\t\tif (Tango.isMobile()) {\r\n\t\t\t\t\tdata.trigger[0].scrollIntoView();\r\n\t\t\t\t\twindow.scrollTo(0, 0);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tcloseOnClick: true,\r\n\t\t\tcloseOnClickSelector: function (el) {\r\n\t\t\t\tconst b = !Tango.isMobile() || el.closest('.btn-close') || el.closest('a');\r\n\t\t\t\tif (el.closest('.btn-close') || el.closest('a'))\r\n\t\t\t\t\tbody.classList.remove('lock-position-body');\r\n\t\t\t\tif (b) {\r\n\t\t\t\t\tvar inp = _this.getInput(ctrl);\r\n\t\t\t\t\tinp.value = '';\r\n\t\t\t\t}\r\n\t\t\t\treturn b\r\n\t\t\t},\r\n\t\t\tcloseOnScroll: false,\r\n\t\t\tcloseOnResize: false,\r\n\t\t\twidth: 'trigger'\r\n\t\t};\r\n\r\n\t\t$(ctrl).contextMenu('#' + popupid, args);\r\n\r\n\t\tconst onKeyDown = function (e) {\r\n\t\t\tconst el = e.currentTarget;\r\n\t\t\tif (!el.classList.contains(\"iw-opened\")) return;\r\n\t\t\tvar x = 0;\r\n\t\t\tif (e.keyCode == 13) {\r\n\t\t\t\tajaxUtils.runHrefWithApiResponse(items[selectedItem]);\r\n\t\t\t\t$(el).val(null);\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\telse if (e.keyCode == 38)\r\n\t\t\t\tx = -1;\r\n\t\t\telse if (e.keyCode == 40)\r\n\t\t\t\tx = 1;\r\n\t\t\telse\r\n\t\t\t\treturn;\r\n\t\t\te.preventDefault();\r\n\t\t\tif (selectedItem != null) items[selectedItem].className = '';\r\n\t\t\tselectedItem = selectedItem == null ? (x == 1 ? 0 : (items.length - 1)) : ((selectedItem + x) % items.length);\r\n\t\t\tselectedItem = selectedItem < 0 ? items.length + selectedItem : selectedItem;\r\n\t\t\t$(el).val(items[selectedItem].firstChild.innerText || items[selectedItem].firstChild.textContent);\r\n\t\t\titems[selectedItem].className = 'selected';\r\n\t\t}\r\n\r\n\t\t$(ctrl).keydown(onKeyDown);\r\n\t}\r\n}\r\n\r\nTango.registerComponent(CompanySearch);\r\n\r\n\r\nwindow.backgroundworker = function () {\r\n\tconst connections = {};\r\n\tconst notifications = {};\r\n\r\n\tvar instance = {\r\n\t\tinit: function (args) {\r\n\t\t\tconst hub = 'backgroundworker';\r\n\t\t\tconst task = args.taskUrl.toLowerCase();\r\n\t\t\tconst elid = args.logContainer + '_body';\r\n\t\t\tconst linkid = args.notificationContainer;\r\n\r\n\t\t\tnotifications[task] = { link: linkid, log: elid };\r\n\r\n\t\t\tif (!connections[hub]) {\r\n\t\t\t\tconst connection = new signalR.HubConnectionBuilder()\r\n\t\t\t\t\t.withUrl('/' + hub)\r\n\t\t\t\t\t.configureLogging(signalR.LogLevel.Information)\r\n\t\t\t\t\t.build();\r\n\t\t\t\tconnections[hub] = connection;\r\n\r\n\t\t\t\tconnection.on('init', function (taskid, val) {\r\n\t\t\t\t\tincCounter();\r\n\t\t\t\t\tnotifications[taskid].itemsCnt = parseInt(val);\r\n\t\t\t\t\tappendLine(notifications[taskid].log, \"init items \" + val);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconnection.on('complete', function (taskid) {\r\n\t\t\t\t\tappendLine(notifications[taskid].log, \"complete\");\r\n\t\t\t\t\tdecCounter();\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconnection.on('progress', function (taskid, val) {\r\n\t\t\t\t\tconst link = document.getElementById(notifications[taskid].link);\r\n\t\t\t\t\tconst p = Math.round(parseInt(val) / notifications[taskid].itemsCnt * 100);\r\n\t\t\t\t\tlink.firstElementChild.firstElementChild.textContent = p + '%';\r\n\t\t\t\t\tlink.lastElementChild.firstElementChild.style.width = p + '%';\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconnection.on('message', function (taskid, message) {\r\n\t\t\t\t\tappendLine(notifications[taskid].log, message);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconnection.onclose(function (e) {\r\n\t\t\t\t\tconsole.log('connection closed');\r\n\t\t\t\t});\r\n\r\n\t\t\t\tconnection.start().then(function () {\r\n\t\t\t\t\tconsole.log('connection started');\r\n\t\t\t\t\tconnection.invoke(\"GetConnectionId\").then(function (connid) {\r\n\t\t\t\t\t\t$.get(task + '?connid=' + connid);\r\n\t\t\t\t\t});\t\t\t\t\t\r\n\t\t\t\t})\r\n\t\t\t\t.catch(function (error) {\r\n\t\t\t\t\tconsole.error(error.message);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tconnections[hub].invoke(\"GetConnectionId\").then(function (connid) {\r\n\t\t\t\t\t$.get(task + '?connid=' + connid);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tfunction incCounter() {\r\n\t\tconst el = document.getElementById('backgroundworker_counter');\r\n\t\tel.innerText = parseInt(el.innerText) + 1;\r\n\t\tel.classList.remove('hide');\r\n\t}\r\n\r\n\tfunction decCounter() {\r\n\t\tconst el = document.getElementById('backgroundworker_counter');\r\n\t\tel.innerText = parseInt(el.innerText) - 1;\r\n\t\tif (el.innerText == 0)\r\n\t\t\tel.classList.add('hide');\r\n\t}\r\n\r\n\tfunction appendLine(id, text) {\r\n\t\tconst el = document.getElementById(id);\r\n\t\tconst div = document.createElement(\"div\");\r\n\t\tdiv.innerText = text;\r\n\t\tel.appendChild(div);\r\n\t}\r\n\r\n\treturn instance;\r\n}();\r\n\r\nwindow.investing = function () {\r\n\tvar instance = {\r\n\t\tsearch: function (q) {\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: \"POST\",\r\n\t\t\t\turl: \"https://www.investing.com/search/service/searchTopBar\",\r\n\t\t\t\tdata: { search_text: q },\r\n\t\t\t\tsuccess: function (c) {\r\n\t\t\t\t\tconsole.log('success');\r\n\t\t\t\t},\r\n\t\t\t\tdataType: \"json\",\r\n\t\t\t\tcache: false\r\n\t\t\t})\r\n\t\t}\r\n\t};\r\n\r\n\treturn instance;\r\n}();\r\n\r\nwindow.stripe = function () {\r\n\tvar instance = {\r\n\t\tchange: function (sel) {\r\n\t\t\tconst divs = document.querySelectorAll(sel);\r\n\t\t\tdivs.forEach(div => { div.style.display = div.style.display === 'none' ? 'flex' : 'none';});\r\n\t\t}\r\n\t};\r\n\r\n\treturn instance;\r\n}();\r\n\r\nfunction initSVG() {\r\n\tvar file = '/data/icons/svg';\r\n\r\n\tif (!document.createElementNS || !document.createElementNS('http://www.w3.org/2000/svg', 'svg').createSVGRect)\r\n\t\treturn true;\r\n\r\n\tvar isLocalStorage = 'localStorage' in window && window['localStorage'] !== null,\r\n\t\trequest,\r\n\t\tdata,\r\n\t\tinsertIT = function () {\r\n\t\t\tdocument.body.insertAdjacentHTML('beforeend', data);\r\n\t\t},\r\n\t\tinsert = function () {\r\n\t\t\tif (document.body) insertIT();\r\n\t\t\telse document.addEventListener('DOMContentLoaded', insertIT);\r\n\t\t};\r\n\r\n\tif (isLocalStorage && localStorage.getItem('inlineSVGrev') == __REVISION) {\r\n\t\tdata = localStorage.getItem('inlineSVGdata');\r\n\t\tif (data) {\r\n\t\t\tinsert();\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\r\n\ttry {\r\n\t\trequest = new XMLHttpRequest();\r\n\t\trequest.open('GET', file, true);\r\n\t\trequest.onload = function () {\r\n\t\t\tif (request.status >= 200 && request.status < 400) {\r\n\t\t\t\tdata = request.responseText;\r\n\t\t\t\tinsert();\r\n\t\t\t\tif (isLocalStorage) {\r\n\t\t\t\t\tlocalStorage.setItem('inlineSVGdata', data);\r\n\t\t\t\t\tlocalStorage.setItem('inlineSVGrev', __REVISION);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\trequest.send();\r\n\t}\r\n\tcatch (e) { }\r\n}\r\n\r\ndocument.addEventListener('DOMContentLoaded', initSVG);","class CompanyDashboardSidebar extends Tango.Component {\r\n\r\n\twidgetDidMount() {\r\n\t\tconst root = document.getElementById(this.root).parentElement.parentElement.parentElement;\r\n\t\troot.classList.add('dash_sidebar');\r\n\r\n\t\tconst fold = root.querySelector('.icon-fold');\r\n\t\tconst fold2 = document.querySelector('.company-btn-sidebar');\r\n\t\tconst foldSmall = root.querySelector('.icon-fold-small');\r\n\t\tfold.onclick = e => {\r\n\t\t\tdomActions.toggleClass({ id: root.id, clsName: 'state1' });\r\n\t\t\tif (Tango.isMobile())\r\n\t\t\t\tdomActions.toggleClass({ id: 'body', clsName: 'lock-position-body' });\r\n\t\t};\r\n\t\tfold2.onclick = fold.onclick;\r\n\t\tfoldSmall.onclick = fold.onclick;\r\n\t\troot.onclick = e => {\r\n\t\t\tif (root.classList.contains('state1')) {\r\n\t\t\t\tdomActions.toggleClass({ id: root.id, clsName: 'state1' });\r\n\t\t\t\tif (Tango.isMobile())\r\n\t\t\t\t\tdomActions.toggleClass({ id: 'body', clsName: 'lock-position-body' });\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n}\r\n\r\nclass CompanyDashboardBlock extends Tango.Component {\r\n\r\n\twidgetDidMount() {\r\n\t\tconst root = document.getElementById(this.root);\r\n\t\tconst header = root.querySelector('.block-header-left');\r\n\t\tconst parmName = root.getAttribute('data-ctrl-name') + ':collapsed';\r\n\r\n\t\theader.removeAttribute('onclick');\r\n\t\theader.addEventListener('click', e => {\r\n\t\t\tdomActions.toggleClass({ id: root.id, clsName: 'collapsed' });\r\n\t\t\tlocalStorage.setItem(parmName, root.classList.contains('collapsed'));\r\n\t\t});\r\n\t\tif (localStorage.getItem(parmName) == 'true')\r\n\t\t\troot.classList.add('collapsed');\r\n\t}\r\n}\r\n\r\nTango.registerComponent(CompanyDashboardSidebar);\r\nTango.registerComponent(CompanyDashboardBlock);","class ListColumnManager extends Tango.Component {\r\n\twidgetWillMount(shadowDoc) {\r\n\t\tconst root = shadowDoc.getElementById(this.root);\r\n\r\n\t}\r\n}\r\n\r\nclass StaticTreeDialog extends Tango.Component {\r\n\twidgetWillMount(shadowDoc) {\r\n\t\tconst root = shadowDoc.getElementById(this.root);\r\n\t\troot.querySelectorAll('input[type=radio]').forEach(el => {\r\n\t\t\tel.addEventListener(\"change\", e => {\r\n\t\t\t\troot.setAttribute('data-level', '2');\r\n\t\t\t});\r\n\t\t})\r\n\t\troot.querySelectorAll('.level-title').forEach(el => {\r\n\t\t\tel.addEventListener(\"click\", e => {\r\n\t\t\t\tvar l = parseInt(root.getAttribute('data-level'));\r\n\t\t\t\tl--;\r\n\t\t\t\troot.setAttribute('data-level', l);\r\n\t\t\t\te.currentTarget.parentElement.previousSibling.checked = false;\r\n\t\t\t});\r\n\t\t})\r\n\t}\r\n}\r\n\r\n\r\n\r\nTango.registerComponent(ListColumnManager);\r\nTango.registerComponent(StaticTreeDialog);","class pricechart extends Tango.Component {\r\n\tinit() {\r\n\t\tthis.state = { };\r\n\t}\r\n\r\n\twidgetDidMount() {\r\n\t\tconst _this = this;\r\n\t\tconst root = document.getElementById(this.root);\r\n\t\tconst parent = root.parentElement.parentElement;\r\n\t\tconst zoom_in = document.getElementById(this.props.zoom_in);\r\n\t\tconst zoom_out = document.getElementById(this.props.zoom_out);\r\n\r\n\t\tzoom_in.onclick = e => {\r\n\t\t\tif (!_this.state.z)\r\n\t\t\t\t_this.state.z = this.calcZ();\r\n\r\n\t\t\t_this.state.z = _this.state.z * 2;\r\n\t\t\tif (_this.state.z > 1)\r\n\t\t\t\tzoom_out.style.display = '';\r\n\t\t\tif (_this.state.z == 32)\r\n\t\t\t\tzoom_in.style.display = 'none';\r\n\t\t\t_this.initChart(root, parent);\r\n\t\t};\r\n\r\n\t\tzoom_out.onclick = e => {\r\n\t\t\tif (!_this.state.z)\r\n\t\t\t\t_this.state.z = this.calcZ();\r\n\r\n\t\t\t_this.state.z = _this.state.z / 2;\r\n\t\t\tif (_this.state.z == 1)\r\n\t\t\t\tzoom_out.style.display = 'none';\r\n\t\t\tif (_this.state.z < 32)\r\n\t\t\t\tzoom_in.style.display = '';\r\n\t\t\t_this.initChart(root, parent);\r\n\t\t};\r\n\r\n\t\tfunction onChartResize(e) {\r\n\t\t\t_this.initChart(root, parent);\r\n\t\t}\r\n\t\tnew ResizeObserver(onChartResize).observe(parent);\r\n\t}\r\n\r\n\tcalcZ() {\r\n\t\treturn devicePixelRatio > 0 && devicePixelRatio < 2 ? 4 :\r\n\t\t\tdevicePixelRatio >= 2 && devicePixelRatio < 3 ? 8 : 16;\r\n\t}\r\n\r\n\tinitChart(root, parent) {\r\n\t\tconst rect = parent.getBoundingClientRect();\r\n\t\tif (rect.width == 0 && rect.height == 0) return;\r\n\r\n\t\tvar w = rect.width | 0;\r\n\r\n\t\tif (!Number.isInteger(devicePixelRatio)) {\r\n\t\t\twhile (w > rect.width - 10 && !Number.isInteger(w * devicePixelRatio))\r\n\t\t\t\tw--;\r\n\t\t}\r\n\r\n\t\tif (!Number.isInteger(w * devicePixelRatio) && Tango.isMobile())\r\n\t\t\tw = w - 8;\r\n\r\n\t\tconst rootRect = root.getBoundingClientRect();\r\n\t\tconst parms = {\r\n\t\t\toid: this.state.oid,\r\n\t\t\ttf: this.state.tf,\r\n\t\t\tct: this.state.ct,\r\n\t\t\tind: this.state.ind,\r\n\t\t\tw: w | 0,\r\n\t\t\th: rootRect.height | 0,\r\n\t\t\tpr: devicePixelRatio.toFixed(3),\r\n\t\t\tz: this.state.z ?? this.calcZ()\r\n\t\t};\r\n\r\n\t\tvar url = '/data/symbol/chart?';\r\n\t\tfor (var key in parms) {\r\n\t\t\turl += key + '=' + encodeURIComponent(parms[key]) + '&';\r\n\t\t}\r\n\r\n\t\tconst img = root.querySelector('img');\r\n\t\tconst imgPar = img.parentElement;\r\n\t\timgPar.removeChild(img);\r\n\t\timg.src = url;\r\n\t\timg.onerror = () => {\r\n\t\t\tif (imgPar.querySelector('.nodata'))\r\n\t\t\t\treturn;\r\n\t\t\timg.classList.add('hide');\r\n\t\t\timgPar.appendChild(img);\r\n\t\t\tconst div = document.createElement('div');\r\n\t\t\tdiv.className = 'nodata';\r\n\t\t\tconst w = new Tango.HtmlWriter();\r\n\t\t\tconst icon = w.Icon('nodata');\r\n\t\t\tconst text = document.createElement('div');\r\n\t\t\ttext.innerText = 'No data to show';\r\n\t\t\tdiv.appendChild(icon);\r\n\t\t\tdiv.appendChild(text);\r\n\t\t\timgPar.appendChild(div);\r\n\t\t\timgPar.style.height = (rootRect.height | 0) + 'px';\r\n\t\t\timgPar.classList.add('chartimg-nodata');\r\n\t\t};\r\n\t\timg.onload = () => {\r\n\t\t\timg.classList.remove('hide');\r\n\t\t\timgPar.appendChild(img);\r\n\t\t};\r\n\t\tconst cimg = root.querySelector('.chartimg');\r\n\t\tcimg.style.width = parms.w + 'px';\r\n\t\tif (Tango.isMobile())\r\n\t\t\tcimg.style.left = (((rect.width - w) / 2) | 0) + 'px';\r\n\t}\r\n}\r\n\r\nTango.registerComponent(pricechart);","document.addEventListener('DOMContentLoaded', function () {\r\n var domElement = document.getElementById(\"sidebarmenu_body\");\r\n\r\n if (!domElement)\r\n return;\r\n\r\n var ticking = false;\r\n var transX = 0;\r\n var lastX = 0;\r\n\r\n domElement.addEventListener('touchstart', function (e) {\r\n lastX = e.changedTouches[0].pageX;\r\n transX = 0;\r\n });\r\n\r\n domElement.addEventListener('touchend', onTouchEnd);\r\n\r\n function onTouchEnd(e) {\r\n if (ticking == true) {\r\n setTimeout(function () { onTouchEnd(e); }, 100);\r\n }\r\n else {\r\n requestElementUpdate('translate3d(0px, 0px, 0)');\r\n }\r\n }\r\n\r\n domElement.addEventListener('touchmove', function (e) {\r\n e.preventDefault();\r\n const x = e.changedTouches[0].pageX;\r\n const dx = x - lastX;\r\n lastX = x;\r\n\r\n if (dx < 0 || transX < 0) {\r\n transX += dx;\r\n if (transX > 0) transX = 0;\r\n var transformString = 'translate3d(' + transX + 'px, 0px, 0)';\r\n requestElementUpdate(transformString);\r\n }\r\n });\r\n\r\n function requestElementUpdate(transformString) {\r\n if (!ticking) {\r\n animationFrameId = requestAnimationFrame(function (timestamp) {\r\n domElement.style.transform = transformString;\r\n\r\n animationFrameId = null;\r\n ticking = false;\r\n\r\n });\r\n ticking = true;\r\n }\r\n }\r\n});\r\n\r\n\r\n","window.groupTree = function ($) {\r\n var checkedvalues = \"\";\r\n var existchechedvalues = \"\";\r\n var lastFocus = \"\";\r\n var instance = {\r\n checkboxClick: function(checkBoxId) {\r\n const explId = checkBoxId.split(\"_check_\");\r\n const checkBox = document.querySelector(\"#\" + checkBoxId); \r\n const inputRights = document.querySelector(\"#\" + explId[0] + \"_rchecked\");\r\n const explValue = explId[1] + \";\";\r\n\r\n if (checkBox.checked) {\r\n if (!inputRights.value.includes(explValue)) {\r\n inputRights.value += explValue;\r\n }\r\n if (!checkedvalues.includes(explValue)) {\r\n\t checkedvalues += explValue;\r\n }\r\n } else {\r\n if (inputRights.value.includes(explValue)) {\r\n inputRights.value = inputRights.value.replace(explValue, \"\"); \r\n }\r\n if (checkedvalues.includes(explValue)) {\r\n checkedvalues = checkedvalues.replace(explValue, \"\"); \r\n }\r\n }\r\n },\r\n\r\n checkboxExistClick: function (checkBoxId) {\r\n\t const explId = checkBoxId.split(\"_existcheck_\");\r\n\t const checkBox = document.querySelector(\"#\" + checkBoxId);\r\n const inputRights = document.querySelector(\"#\" + explId[0] + \"_existchecked\");\r\n\t const explValue = explId[1] + \";\";\r\n\r\n\t if (checkBox.checked) {\r\n\r\n\t\t if (inputRights.value.includes(explValue)) {\r\n\t\t\t inputRights.value = inputRights.value.replace(explValue, \"\");\r\n\t\t }\r\n\t\t if (existchechedvalues.includes(explValue)) {\r\n\t\t\t existchechedvalues = existchechedvalues.replace(explValue, \"\");\r\n\t\t }\r\n } else {\r\n\t\t if (!inputRights.value.includes(explValue)) {\r\n\t\t\t inputRights.value += explValue;\r\n\t\t }\r\n\t\t if (!existchechedvalues.includes(explValue)) {\r\n\t\t\t existchechedvalues += explValue;\r\n\t\t }\r\n\t }\r\n },\r\n\r\n pageClick: function(inputId) {\r\n const inpBox = document.querySelector(\"#\" + inputId);\r\n if (!checkedvalues.includes(inpBox.value)) {\r\n checkedvalues += inpBox.value;\r\n }\r\n },\r\n\r\n pageExistClick: function (inputId) {\r\n\t const inpBox = document.querySelector(\"#\" + inputId);\r\n if (!existchechedvalues.includes(inpBox.value)) {\r\n\t existchechedvalues += inpBox.value;\r\n\t }\r\n },\r\n\r\n clearValues: function() {\r\n checkedvalues = \"\";\r\n existchechedvalues = \"\";\r\n },\r\n\r\n focusedInput: function(inputId) {\r\n lastFocus = \"#\" + inputId;\r\n },\r\n\r\n widgetDidMount: function(state) {\r\n const inpBox = document.querySelector(\"#\" + state.root + \"_rchecked\");\r\n if (inpBox != null) {\r\n if (!inpBox.value.includes(checkedvalues)) {\r\n inpBox.value += checkedvalues;\r\n }\r\n }\r\n\r\n const values = checkedvalues.split(\";\");\r\n values.forEach(function(element) {\r\n const chBox = document.querySelector(\"#\" + state.root + \"_check_\" + element);\r\n if (chBox != null) {\r\n chBox.checked = true;\r\n }\r\n });\r\n\r\n if(lastFocus) {\r\n const focusedBox = document.querySelector(lastFocus);\r\n if(focusedBox != null) {\r\n focusedBox.focus();\r\n }\r\n }\r\n\r\n const existInpBox = document.querySelector(\"#\" + state.root + \"_existchecked\");\r\n if (existInpBox != null) {\r\n\t if (!existInpBox.value.includes(existchechedvalues)) {\r\n existInpBox.value += existchechedvalues;\r\n\t }\r\n }\r\n }\r\n };\r\n return instance;\r\n}();","var map = {\n\t\"./app.js\": 8264,\n\t\"./company_dashboard.js\": 8105,\n\t\"./listcolumnmanager.js\": 7749,\n\t\"./pricechart.js\": 3863,\n\t\"./sidebarmenu.js\": 2663,\n\t\"./spm_role_tree.js\": 7849\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 2597;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.j = 606;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t606: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunk\"] = self[\"webpackChunk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [216], () => (__webpack_require__(6130)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":[],"sourceRoot":""}