{"version":3,"sources":["webpack:///./src/components/pmicom/widgets/table-widget-ir/controller.js"],"names":["fillWithDomElements","fillWithDomElementsAll","setClass","addEventsTo","toggleMenuArias","getFocusablesFrom","trackDownload","disableStaticURL","require","stuttering","default","onWidthResize","DELAY_DEBOUNCE","CLASS_NO_DISPLAY","CLASS_CELL_CONTAINER","CLASS_CELL","CLASS_MORE_BUTTON","CLASS_COLLAPSING_BODY","CLASS_BUTTON_LABELS","CLASS_FOOTNOTED","CLASS_FOOTNOTES","CLASS_ROWS","CLASS_FILE","CLASS_TITLE","CLASS_OPEN","CLASS_ACTIVE","CLASS_HIGHLIGHTED","selectors","moreButton","collapsingBody","mainTitle","selectorsAll","buttonLabels","footnoted","footnotes","rows","module","exports","init","checkShowMore","initGtm","initCollapsing","initFootnotes","innerText","highlightColumnName","root","querySelector","baseTitle","addEventListener","target","classList","contains","href","closest","containers","querySelectorAll","containersContents","initRows","toggleMore","bind","processRowHeights","setCollapse","collapsed","DEBOUNCE","collapsingRows","map","row","cells","forEach","heights","cell","offsetHeight","height","Math","max","doesCollapse","newHeight","style","setProperty","focusablesInCollapsable","focus","buttonList","targetList","button","i","mouseover","highlightFootnote","mouseout","click","goTo","element","doesHighlight","parentNode","isHidden","scrollTo","once","nav","document","padding","window","top","pageYOffset","getBoundingClientRect","behavior","visibleRowsCount","parseInt","dataset","visibleRows","length","add"],"mappings":"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","file":"components--table-widget-ir299af21d05a0f2fe6759.js","sourcesContent":["const {\n\tfillWithDomElements,\n\tfillWithDomElementsAll,\n\tsetClass,\n\taddEventsTo,\n\ttoggleMenuArias,\n\tgetFocusablesFrom,\n\ttrackDownload,\n\tdisableStaticURL,\n} = require('util/functions');\n\nconst { stuttering, default: onWidthResize } = require('util/onWidthResize');\nconst { DELAY_DEBOUNCE, CLASS_NO_DISPLAY } = require('util/consts');\n\nconst CLASS_CELL_CONTAINER = 'table-widget-ir--cell-container';\nconst CLASS_CELL = 'table-widget-ir--cell';\nconst CLASS_MORE_BUTTON = 'table-widget-ir--more-button';\nconst CLASS_COLLAPSING_BODY = 'table-widget-ir--collapsing-rows';\nconst CLASS_BUTTON_LABELS = 'table-widget-ir--button-label';\nconst CLASS_FOOTNOTED = 'footnoted';\nconst CLASS_FOOTNOTES = 'table-widget-ir--footnote';\nconst CLASS_ROWS = 'table-widget-ir--row';\nconst CLASS_FILE = 'table-widget-ir--file';\nconst CLASS_TITLE = 'table-widget-ir--title';\n\nconst CLASS_OPEN = 'open';\nconst CLASS_ACTIVE = 'active';\nconst CLASS_HIGHLIGHTED = 'highlighted';\n\nconst selectors = {\n\tmoreButton: CLASS_MORE_BUTTON,\n\tcollapsingBody: CLASS_COLLAPSING_BODY,\n\tmainTitle: CLASS_TITLE,\n};\nconst selectorsAll = {\n\tbuttonLabels: CLASS_BUTTON_LABELS,\n\tfootnoted: CLASS_FOOTNOTED,\n\tfootnotes: CLASS_FOOTNOTES,\n\trows: CLASS_ROWS,\n};\n\nmodule.exports = {\n\tinit() {\n\t\tfillWithDomElements(this, selectors);\n\t\tfillWithDomElementsAll(this, selectorsAll);\n\t\tthis.checkShowMore();\n\t\tthis.initGtm();\n\t\tif (this.collapsingBody) this.initCollapsing();\n\t\tthis.initFootnotes();\n\t},\n\tinitGtm() {\n\t\tconst mainTitle = this.mainTitle?.innerText;\n\t\tconst highlightColumnName = this.root.querySelector('th').innerText;\n\t\tconst baseTitle = `${mainTitle}${\n\t\t\tmainTitle ? ' - ' : ''\n\t\t}${highlightColumnName}: `;\n\t\tthis.root.addEventListener('click', ({ target }) => {\n\t\t\tif (!target.classList.contains(CLASS_FILE)) return;\n\t\t\tconst { href } = target;\n\t\t\tconst { innerText } = target.closest('tr').querySelector('td');\n\t\t\ttrackDownload(baseTitle + innerText, href);\n\t\t\tdisableStaticURL(target, 'download-disabled');\n\t\t});\n\t},\n\t//collapsing\n\tinitCollapsing() {\n\t\tthis.containers = this.collapsingBody.querySelectorAll(\n\t\t\t`.${CLASS_CELL_CONTAINER}`,\n\t\t);\n\t\tthis.containersContents = this.collapsingBody.querySelectorAll(\n\t\t\t`.${CLASS_CELL}`,\n\t\t);\n\n\t\tthis.initRows();\n\t\tthis.moreButton.addEventListener('click', this.toggleMore.bind(this));\n\n\t\tonWidthResize(\n\t\t\t() => {\n\t\t\t\tthis.processRowHeights();\n\t\t\t\tthis.setCollapse(this.collapsed);\n\t\t\t},\n\t\t\tstuttering.DEBOUNCE,\n\t\t\tDELAY_DEBOUNCE,\n\t\t);\n\t\tthis.collapsed = true;\n\t},\n\tinitRows() {\n\t\tthis.collapsingRows = [...this.collapsingBody.querySelectorAll('tr')].map(\n\t\t\trow => ({\n\t\t\t\trow,\n\t\t\t\tcells: row.querySelectorAll(`.${CLASS_CELL}`),\n\t\t\t}),\n\t\t);\n\t\tthis.processRowHeights();\n\t},\n\tprocessRowHeights() {\n\t\tthis.collapsingRows.forEach(row => {\n\t\t\tconst { cells } = row;\n\t\t\tconst heights = [...cells].map(cell => cell.offsetHeight);\n\t\t\trow.height = Math.max(...heights) + 'px';\n\t\t});\n\t},\n\ttoggleMore() {\n\t\tthis.setCollapse(!this.collapsed);\n\t},\n\tsetCollapse(doesCollapse) {\n\t\tthis.collapsed = doesCollapse;\n\t\tsetClass(this.buttonLabels[0], this.collapsed, CLASS_ACTIVE);\n\t\tsetClass(this.buttonLabels[1], !this.collapsed, CLASS_ACTIVE);\n\t\tsetClass(this.collapsingBody, !doesCollapse, CLASS_OPEN);\n\t\tthis.collapsingRows.forEach(({ height, row }) => {\n\t\t\tconst newHeight = doesCollapse ? 0 : height;\n\t\t\trow.style.setProperty('--row-height', newHeight);\n\t\t});\n\t\tconst focusablesInCollapsable = getFocusablesFrom(this.collapsingBody);\n\t\ttoggleMenuArias(this.moreButton, focusablesInCollapsable, !doesCollapse);\n\t\tif (doesCollapse) getFocusablesFrom(this.root)[0].focus();\n\t\telse focusablesInCollapsable[0]?.focus();\n\t},\n\n\t//footnotes\n\tinitFootnotes() {\n\t\t[\n\t\t\t[this.footnoted, this.footnotes],\n\t\t\t[this.footnotes, this.footnoted],\n\t\t].forEach(([buttonList, targetList]) => {\n\t\t\tbuttonList.forEach((button, i) => {\n\t\t\t\tconst target = targetList[i];\n\n\t\t\t\taddEventsTo(button, {\n\t\t\t\t\tmouseover: this.highlightFootnote.bind(this, target, true),\n\t\t\t\t\tmouseout: this.highlightFootnote.bind(this, target, false),\n\t\t\t\t\tclick: this.goTo.bind(this, target),\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t},\n\thighlightFootnote(element, doesHighlight) {\n\t\t// if the element is a cell target the row instead of the element\n\t\tconst target = element.classList.contains(CLASS_FOOTNOTES)\n\t\t\t? element\n\t\t\t: element.parentNode;\n\t\tsetClass(target, doesHighlight, CLASS_HIGHLIGHTED);\n\t},\n\tgoTo(target) {\n\t\tconst isHidden = this.collapsed && this.collapsingBody.contains(target);\n\t\tif (isHidden) {\n\t\t\tthis.setCollapse(false);\n\t\t\tthis.containers[0].addEventListener(\n\t\t\t\t'transitionend',\n\t\t\t\tthis.scrollTo.bind(this, target),\n\t\t\t\t{ once: true },\n\t\t\t);\n\t\t} else this.scrollTo(target);\n\t},\n\tscrollTo(element) {\n\t\tconst nav = document.querySelector('.nav-layout');\n\t\tconst padding = nav ? nav.offsetHeight : 0;\n\t\tif (window.scrollTo)\n\t\t\twindow.scrollTo({\n\t\t\t\ttop: window.pageYOffset + element.getBoundingClientRect().top - padding,\n\t\t\t\tbehavior: 'smooth',\n\t\t\t});\n\t},\n\tcheckShowMore() {\n\t\tthis.visibleRowsCount = parseInt(this.root.dataset.visibleRows);\n\t\tif (this.visibleRowsCount >= this.rows.length) {\n\t\t\tthis.moreButton.classList.add(CLASS_NO_DISPLAY);\n\t\t}\n\t},\n};\n"],"sourceRoot":""}