| Current Path : /var/www/homesaver/www/bitrix/js/landing/node/tableeditor/dist/ |
| Current File : /var/www/homesaver/www/bitrix/js/landing/node/tableeditor/dist/tableeditor.bundle.js.map |
{"version":3,"file":"tableeditor.bundle.js","sources":["../src/tableeditor.js"],"sourcesContent":["import './css/style.css';\nimport { Draggable } from 'ui.draganddrop.draggable';\nimport { Event } from 'main.core';\n\nexport class TableEditor\n{\n\tconstructor(node: HTMLElement, textNode: BX.Landing.Node.Text)\n\t{\n\t\tthis.textNode = textNode;\n\t\tthis.table = node.querySelector('.landing-table');\n\t\tif (!this.table)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tthis.node = node;\n\t\tthis.tBody = this.node.getElementsByTagName('tbody')[0];\n\t\tthis.addTitles(this.node);\n\t\tthis.enableEditCells(this.table);\n\t\tthis.dragAndDropRows(this);\n\t\tthis.dragAndDropCols(this);\n\t\tthis.resizeColumn(this);\n\t\tthis.buildLines(this);\n\t\tthis.addRow(this);\n\t\tthis.addCol(this);\n\t\tthis.onUnselect(this);\n\t\tthis.unselect(this);\n\t\tthis.selectAll(this);\n\t\tthis.selectRow(this);\n\t\tthis.selectCol(this);\n\t\tthis.onCopyTable(this);\n\t\tthis.onDeleteElementTable(this);\n\t\tthis.onShowPopupMenu(this);\n\t}\n\n\taddTitles(tableNode)\n\t{\n\t\tif (!tableNode.hasAttribute('title-added'))\n\t\t{\n\t\t\ttableNode.title = '';\n\t\t\ttableNode.querySelector('.landing-table-th-select-all').title = BX.Landing.Utils.escapeText(\n\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_SELECT_TABLE'),\n\t\t\t);\n\t\t\ttableNode.querySelectorAll('.landing-table-div-col-dnd').forEach((element) => {\n\t\t\t\telement.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_DND_COLS'),\n\t\t\t\t);\n\t\t\t});\n\t\t\ttableNode.querySelectorAll('.landing-table-col-resize').forEach((element) => {\n\t\t\t\telement.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_RESIZE_COLS'),\n\t\t\t\t);\n\t\t\t});\n\t\t\ttableNode.querySelectorAll('.landing-table-col-add').forEach((element) => {\n\t\t\t\telement.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_BUTTON_ADD_COL'),\n\t\t\t\t);\n\t\t\t});\n\t\t\ttableNode.querySelectorAll('.landing-table-row-dnd').forEach((element) => {\n\t\t\t\telement.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_DND_ROWS'),\n\t\t\t\t);\n\t\t\t});\n\t\t\ttableNode.querySelectorAll('.landing-table-row-add').forEach((element) => {\n\t\t\t\telement.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_BUTTON_ADD_ROW'),\n\t\t\t\t);\n\t\t\t});\n\t\t\ttableNode.setAttribute('title-added', 'true');\n\t\t}\n\t}\n\n\tunselect(tableEditor, isSelectAll = false)\n\t{\n\t\tif (tableEditor.table)\n\t\t{\n\t\t\tif (!isSelectAll)\n\t\t\t{\n\t\t\t\ttableEditor.table.classList.remove('table-selected-all');\n\t\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-th-select-all-selected');\n\t\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-cell-selected');\n\t\t\t}\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-row-selected');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-th-selected');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-th-selected-cell');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-th-selected-top');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-th-selected-x');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-tr-selected-left');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-tr-selected-y');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-col-selected');\n\t\t\tthis.removeClasses(tableEditor.table, 'landing-table-tr-selected');\n\t\t\tthis.removeClasses(tableEditor.table, 'table-selected-all-right');\n\t\t\tthis.removeClasses(tableEditor.table, 'table-selected-all-bottom');\n\t\t}\n\t}\n\n\tonUnselect(tableEditor)\n\t{\n\t\tEvent.bind(tableEditor.table, 'click', () => {\n\t\t\tconst classList = new Set(['landing-table-th-select-all', 'landing-table-row-dnd', 'landing-table-row-add']);\n\t\t\tlet isContains = [...event.target.classList].some((className) => classList.has(className));\n\t\t\tif (!isContains)\n\t\t\t{\n\t\t\t\tconst classListChild = new Set(['landing-table-col-dnd']);\n\t\t\t\tisContains = [...event.target.parentElement.classList].some((className) => classListChild.has(className));\n\t\t\t\tif (!isContains)\n\t\t\t\t{\n\t\t\t\t\ttableEditor.unselect(tableEditor);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tselectAll(tableEditor)\n\t{\n\t\tconst thTech = tableEditor.table.querySelector('.landing-table-th-select-all');\n\t\tEvent.bind(thTech, 'click', () => {\n\t\t\tlet isSelectedTable = false;\n\t\t\tif (tableEditor.table.classList.contains('table-selected-all'))\n\t\t\t{\n\t\t\t\tisSelectedTable = true;\n\t\t\t}\n\t\t\ttableEditor.unselect(tableEditor, true);\n\t\t\tconst setRows = tableEditor.table.querySelectorAll('.landing-table-tr');\n\t\t\tlet count = 0;\n\t\t\tsetRows.forEach((row) => {\n\t\t\t\tconst setTh = row.childNodes;\n\t\t\t\tlet index = 0;\n\t\t\t\tlet lastThIndex = 0;\n\t\t\t\trow.childNodes.forEach((cell) => {\n\t\t\t\t\tif (cell.nodeType === 1)\n\t\t\t\t\t{\n\t\t\t\t\t\tlastThIndex = index;\n\t\t\t\t\t}\n\t\t\t\t\tindex++;\n\t\t\t\t});\n\t\t\t\tif (count > 0)\n\t\t\t\t{\n\t\t\t\t\tconst lastTh = setTh[lastThIndex];\n\t\t\t\t\tif (isSelectedTable)\n\t\t\t\t\t{\n\t\t\t\t\t\tlastTh.classList.remove('table-selected-all-right');\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tlastTh.classList.add('table-selected-all-right');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcount++;\n\t\t\t\tif (count === setRows.length)\n\t\t\t\t{\n\t\t\t\t\tsetTh.forEach((th) => {\n\t\t\t\t\t\tif (th.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (isSelectedTable)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tth.classList.remove('table-selected-all-bottom');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tth.classList.add('table-selected-all-bottom');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t\tthTech.classList.toggle('landing-table-th-select-all-selected');\n\t\t\ttableEditor.table.classList.toggle('table-selected-all');\n\t\t\ttableEditor.table.querySelectorAll('.landing-table-col-dnd').forEach((thDnd) => {\n\t\t\t\tthDnd.classList.toggle('landing-table-cell-selected');\n\t\t\t});\n\t\t\ttableEditor.table.querySelectorAll('.landing-table-row-dnd').forEach((trDnd) => {\n\t\t\t\ttrDnd.classList.toggle('landing-table-cell-selected');\n\t\t\t});\n\t\t});\n\t}\n\n\tselectRow(tableEditor, neededPosition = null)\n\t{\n\t\tlet setTrDnd = tableEditor.table.querySelectorAll('.landing-table-row-dnd');\n\t\tif (neededPosition !== null)\n\t\t{\n\t\t\tconst newSetTrDnd = [];\n\t\t\tnewSetTrDnd[0] = setTrDnd[neededPosition];\n\t\t\tsetTrDnd = newSetTrDnd;\n\t\t}\n\t\tsetTrDnd.forEach((trDnd) => {\n\t\t\tEvent.bind(trDnd, 'click', () => {\n\t\t\t\tif (!event.target.classList.contains('landing-table-row-add'))\n\t\t\t\t{\n\t\t\t\t\ttableEditor.unselect(tableEditor);\n\t\t\t\t\tconst setTh = trDnd.parentElement.childNodes;\n\t\t\t\t\tlet count = 0;\n\t\t\t\t\tsetTh.forEach((th) => {\n\t\t\t\t\t\tif (th.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (count === 1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tth.classList.add('landing-table-tr-selected-left');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (count >= 1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tth.classList.add('landing-table-tr-selected-y');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\ttrDnd.parentElement.classList.add('landing-table-row-selected');\n\t\t\t\t\ttableEditor.tBody.classList.add('landing-table-tr-selected');\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tselectCol(tableEditor, neededPosition = null)\n\t{\n\t\tlet setThDnd = tableEditor.table.querySelectorAll('.landing-table-col-dnd');\n\t\tif (neededPosition !== null)\n\t\t{\n\t\t\tconst newSetTrDnd = [];\n\t\t\tnewSetTrDnd[0] = setThDnd[neededPosition];\n\t\t\tsetThDnd = newSetTrDnd;\n\t\t}\n\t\tsetThDnd.forEach((thDnd) => {\n\t\t\tEvent.bind(thDnd, 'click', () => {\n\t\t\t\tif (!event.target.classList.contains('landing-table-col-add')\n\t\t\t\t\t&& !event.target.classList.contains('landing-table-col-resize'))\n\t\t\t\t{\n\t\t\t\t\ttableEditor.unselect(tableEditor);\n\t\t\t\t\tconst cellIndex = thDnd.cellIndex;\n\t\t\t\t\tlet count = 0;\n\t\t\t\t\ttableEditor.tBody.childNodes.forEach((tr) => {\n\t\t\t\t\t\tif (tr.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlet countNode = 0;\n\t\t\t\t\t\t\tlet nodeCount = 0;\n\t\t\t\t\t\t\tlet needNodePosition = 0;\n\t\t\t\t\t\t\ttr.childNodes.forEach((trChild) => {\n\t\t\t\t\t\t\t\tif (trChild.nodeType === 1)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif (cellIndex === nodeCount)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tneedNodePosition = countNode;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tnodeCount++;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcountNode++;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (count === 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttr.classList.add('landing-table-col-selected');\n\t\t\t\t\t\t\t\ttr.childNodes[needNodePosition].classList.add('landing-table-th-selected-cell');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (count === 1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttr.childNodes[needNodePosition].classList.add('landing-table-th-selected-top');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (count >= 1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttr.childNodes[needNodePosition].classList.add('landing-table-th-selected-x');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t\ttr.childNodes[needNodePosition].classList.add('landing-table-th-selected');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tbuildLines(tableEditor)\n\t{\n\t\tif (tableEditor.node)\n\t\t{\n\t\t\tconst width = tableEditor.node.querySelector('.landing-table').getBoundingClientRect().width;\n\t\t\tconst height = tableEditor.node.querySelector('.landing-table').getBoundingClientRect().height;\n\t\t\tconst offset = 5;\n\t\t\tconst linesX = document.querySelectorAll('.landing-table-row-add-line');\n\t\t\tlinesX.forEach((lineX) => {\n\t\t\t\tlineX.style.width = `${width + offset}px`;\n\t\t\t});\n\t\t\tconst linesY = document.querySelectorAll('.landing-table-col-add-line');\n\t\t\tlinesY.forEach((lineY) => {\n\t\t\t\tlineY.style.height = `${height + offset}px`;\n\t\t\t});\n\t\t}\n\t}\n\n\tgetButtonsAddRow(node)\n\t{\n\t\treturn node.querySelectorAll('.landing-table-row-add');\n\t}\n\n\taddRow(tableEditor, neededPosition = null)\n\t{\n\t\tlet buttons = tableEditor.getButtonsAddRow(tableEditor.node);\n\t\tif (neededPosition === null)\n\t\t{\n\t\t\tbuttons = Array.prototype.slice.call(buttons, 0);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst button = buttons[neededPosition];\n\t\t\tbuttons = [];\n\t\t\tbuttons[0] = button;\n\t\t}\n\t\tbuttons = Array.prototype.slice.call(buttons, 0);\n\t\tbuttons.forEach((button) => {\n\t\t\tEvent.bind(button, 'click', () => {\n\t\t\t\tconst selectedCell = tableEditor.table.querySelector('.landing-table-th-selected-cell');\n\t\t\t\tlet selectedCellPos = 0;\n\t\t\t\tlet nodeCount = 0;\n\t\t\t\tif (selectedCell)\n\t\t\t\t{\n\t\t\t\t\tselectedCell.parentNode.childNodes.forEach((node) => {\n\t\t\t\t\t\tif (selectedCellPos === 0 && node === selectedCell)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tselectedCellPos = nodeCount;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (node.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnodeCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tconst trDnd = document.createElement('th');\n\t\t\t\ttrDnd.classList.add('landing-table-th', 'landing-table-row-dnd');\n\t\t\t\tif (tableEditor.table.classList.contains('table-selected-all'))\n\t\t\t\t{\n\t\t\t\t\ttrDnd.classList.add('landing-table-cell-selected');\n\t\t\t\t}\n\t\t\t\tconst row = button.parentNode.parentNode;\n\t\t\t\tconst neededPosition = [...row.parentNode.children].indexOf(button.parentNode.parentNode);\n\t\t\t\tlet count = 0;\n\t\t\t\tlet lastElementPosition = 0;\n\t\t\t\ttableEditor.tBody.childNodes.forEach((element) => {\n\t\t\t\t\tif (element.nodeType === 1)\n\t\t\t\t\t{\n\t\t\t\t\t\tlastElementPosition = count;\n\t\t\t\t\t}\n\t\t\t\t\tcount++;\n\t\t\t\t});\n\t\t\t\tconst tr = tableEditor.tBody.childNodes[lastElementPosition];\n\t\t\t\tconst newTd = document.createElement('td');\n\t\t\t\tnewTd.classList.add('landing-table-th', 'landing-table-td');\n\t\t\t\tnewTd.style.width = '50px';\n\t\t\t\tconst table = tableEditor.node.querySelector('.landing-table');\n\t\t\t\tif (table.hasAttribute('bg-color'))\n\t\t\t\t{\n\t\t\t\t\tnewTd.style.backgroundColor = table.getAttribute('bg-color');\n\t\t\t\t}\n\n\t\t\t\tif (table.hasAttribute('text-color'))\n\t\t\t\t{\n\t\t\t\t\tnewTd.style.color = table.getAttribute('text-color');\n\t\t\t\t}\n\t\t\t\tconst newTr = document.createElement('tr');\n\t\t\t\tnewTr.classList.add('landing-table-tr');\n\t\t\t\ttrDnd.title = BX.Landing.Utils.escapeText(BX.Landing.Loc.getMessage('LANDING_TABLE_DND_ROWS'));\n\t\t\t\ttrDnd.style.width = '16px';\n\t\t\t\tconst divAddRow = document.createElement('div');\n\t\t\t\tdivAddRow.classList.add('landing-table-row-add');\n\t\t\t\tdivAddRow.title = BX.Landing.Utils.escapeText(BX.Landing.Loc.getMessage('LANDING_TABLE_BUTTON_ADD_COL'));\n\t\t\t\tconst divLineX = document.createElement('div');\n\t\t\t\tdivLineX.classList.add('landing-table-row-add-line');\n\t\t\t\tconst divRowDnd = document.createElement('div');\n\t\t\t\tdivRowDnd.classList.add('landing-table-div-row-dnd');\n\t\t\t\tdivAddRow.appendChild(divLineX);\n\t\t\t\ttrDnd.appendChild(divAddRow);\n\t\t\t\ttrDnd.appendChild(divRowDnd);\n\t\t\t\tif (tr)\n\t\t\t\t{\n\t\t\t\t\tconst count = tr.children.length;\n\t\t\t\t\tconst setTd = [];\n\t\t\t\t\tbutton.parentNode.parentNode.childNodes.forEach((item) => {\n\t\t\t\t\t\tif (item.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsetTd.push(item);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tfor (let i = 0; i < count; i++)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst newTdCloned = newTd.cloneNode(true);\n\t\t\t\t\t\tif (i === selectedCellPos)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewTdCloned.classList.add('landing-table-th-selected', 'landing-table-th-selected-x');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (i === 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewTr.appendChild(trDnd);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewTdCloned.style.width = setTd[i].style.width;\n\t\t\t\t\t\t\tnewTdCloned.style.height = setTd[i].style.height;\n\t\t\t\t\t\t\tnewTr.appendChild(newTdCloned);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbutton.parentNode.parentNode.parentNode.insertBefore(newTr, button.parentNode.parentNode.nextSibling);\n\t\t\t\ttableEditor.buildLines(tableEditor);\n\t\t\t\ttableEditor.enableEditCells(tableEditor.node);\n\t\t\t\tthis.textNode.onChange(true);\n\t\t\t\ttableEditor.selectRow(tableEditor, neededPosition);\n\t\t\t\ttableEditor.addRow(tableEditor, neededPosition);\n\t\t\t\ttableEditor.unselect(tableEditor);\n\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t\t});\n\t\t});\n\t}\n\n\tgetButtonsAddCol(node)\n\t{\n\t\treturn node.querySelectorAll('.landing-table-col-add');\n\t}\n\n\taddCol(tableEditor, neededPosition = null)\n\t{\n\t\tlet buttons = tableEditor.getButtonsAddCol(tableEditor.node);\n\t\tif (neededPosition === null)\n\t\t{\n\t\t\tbuttons = Array.prototype.slice.call(buttons, 0);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst button = buttons[neededPosition];\n\t\t\tbuttons = [];\n\t\t\tbuttons[0] = button;\n\t\t}\n\t\tbuttons.forEach((button) => {\n\t\t\tEvent.bind(button, 'click', () => {\n\t\t\t\tconst selectedRow = tableEditor.table.querySelector('.landing-table-row-selected');\n\t\t\t\tlet selectedRowPos = 0;\n\t\t\t\tlet countNode = 0;\n\t\t\t\tif (selectedRow)\n\t\t\t\t{\n\t\t\t\t\tselectedRow.parentNode.childNodes.forEach((node) => {\n\t\t\t\t\t\tif (node === selectedRow && selectedRowPos === 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tselectedRowPos = countNode;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (node.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcountNode++;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tlet newThFirst;\n\t\t\t\tlet newThFirstCloned;\n\t\t\t\tnewThFirst = document.createElement('th');\n\t\t\t\tnewThFirst.classList.add('landing-table-th', 'landing-table-col-dnd');\n\t\t\t\tnewThFirst.style.width = '50px';\n\t\t\t\tif (tableEditor.table.classList.contains('table-selected-all'))\n\t\t\t\t{\n\t\t\t\t\tnewThFirst.classList.add('landing-table-cell-selected');\n\t\t\t\t}\n\t\t\t\tconst row = button.parentNode.parentNode;\n\t\t\t\tconst position = [...row.children].indexOf(button.parentNode);\n\t\t\t\tif (tableEditor.tBody.childNodes.length > 0)\n\t\t\t\t{\n\t\t\t\t\tlet count = 0;\n\t\t\t\t\ttableEditor.tBody.childNodes.forEach((element) => {\n\t\t\t\t\t\tif (element.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewThFirstCloned = newThFirst.cloneNode(true);\n\t\t\t\t\t\t\tconst divColumnDnd = document.createElement('div');\n\t\t\t\t\t\t\tdivColumnDnd.classList.add('landing-table-div-col-dnd');\n\t\t\t\t\t\t\tdivColumnDnd.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_DND_COLS'),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst divColumnResize = document.createElement('div');\n\t\t\t\t\t\t\tdivColumnResize.classList.add('landing-table-col-resize');\n\t\t\t\t\t\t\tdivColumnResize.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_RESIZE_COLS'),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst divAddColHere = document.createElement('div');\n\t\t\t\t\t\t\tdivAddColHere.classList.add('landing-table-col-add');\n\t\t\t\t\t\t\tdivAddColHere.title = BX.Landing.Utils.escapeText(\n\t\t\t\t\t\t\t\tBX.Landing.Loc.getMessage('LANDING_TABLE_BUTTON_ADD_COL'),\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst divLineY = document.createElement('div');\n\t\t\t\t\t\t\tdivLineY.classList.add('landing-table-col-add-line');\n\t\t\t\t\t\t\tdivAddColHere.appendChild(divLineY);\n\t\t\t\t\t\t\tnewThFirstCloned.appendChild(divColumnDnd);\n\t\t\t\t\t\t\tnewThFirstCloned.appendChild(divColumnResize);\n\t\t\t\t\t\t\tnewThFirstCloned.appendChild(divAddColHere);\n\t\t\t\t\t\t\tconst newTd = document.createElement('td');\n\t\t\t\t\t\t\tnewTd.classList.add('landing-table-th', 'landing-table-td');\n\t\t\t\t\t\t\tnewTd.style.width = '50px';\n\t\t\t\t\t\t\tconst table = tableEditor.node.querySelector('.landing-table');\n\t\t\t\t\t\t\tif (table.hasAttribute('bg-color'))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnewTd.style.backgroundColor = table.getAttribute('bg-color');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (table.hasAttribute('text-color'))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnewTd.style.color = table.getAttribute('text-color');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (selectedRowPos > 0 && selectedRowPos === count)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnewTd.classList.add('landing-table-tr-selected-y');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlet countChild = 0;\n\t\t\t\t\t\t\tlet countNodes = 0;\n\t\t\t\t\t\t\tlet newNeededPosition = 0;\n\t\t\t\t\t\t\telement.childNodes.forEach((node) => {\n\t\t\t\t\t\t\t\tif (node.nodeType === 1)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tif (countNodes === position)\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tnewNeededPosition = countChild;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tcountNodes++;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcountChild++;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (count === 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\telement.childNodes[newNeededPosition].parentNode.insertBefore(\n\t\t\t\t\t\t\t\t\tnewThFirstCloned,\n\t\t\t\t\t\t\t\t\telement.childNodes[newNeededPosition].nextSibling,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\telement.childNodes[newNeededPosition].parentNode.insertBefore(\n\t\t\t\t\t\t\t\t\tnewTd,\n\t\t\t\t\t\t\t\t\telement.childNodes[newNeededPosition].nextSibling,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\ttableEditor.buildLines(tableEditor);\n\t\t\t\ttableEditor.enableEditCells(tableEditor.node);\n\t\t\t\tthis.textNode.onChange(true);\n\t\t\t\ttableEditor.selectCol(tableEditor, position);\n\t\t\t\ttableEditor.addCol(tableEditor, position);\n\t\t\t\ttableEditor.unselect(tableEditor);\n\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t\t});\n\t\t});\n\t}\n\n\tdragAndDropRows(tableEditor)\n\t{\n\t\tthis.draggableRows = new Draggable({\n\t\t\tcontainer: tableEditor.tBody,\n\t\t\tdraggable: '.landing-table-tr',\n\t\t\tdragElement: '.landing-table-row-dnd',\n\t\t\ttype: Draggable.HEADLESS,\n\t\t});\n\n\t\tlet rows = [];\n\t\tlet setRowPositionsY;\n\t\tlet setRowHeights;\n\t\tlet currentPositionRow;\n\t\tlet newPositionRow = 0;\n\t\tlet draggableRowOffsetY;\n\t\tlet tablePositionLeft;\n\t\tlet tablePositionTop;\n\t\tlet currentPositionRowX;\n\t\tlet currentPositionRowY;\n\t\tlet cloneRow;\n\t\tlet originalSource;\n\n\t\tthis.draggableRows\n\t\t\t.subscribe('start', (event) => {\n\t\t\t\toriginalSource = this.draggableRows.dragStartEvent.data.originalSource;\n\t\t\t\ttablePositionLeft = tableEditor.tBody.getBoundingClientRect().left;\n\t\t\t\ttablePositionTop = tableEditor.tBody.getBoundingClientRect().top;\n\t\t\t\tsetRowPositionsY = [];\n\t\t\t\tsetRowHeights = [];\n\t\t\t\tdraggableRowOffsetY = 0;\n\t\t\t\tcurrentPositionRow = event.getData().sourceIndex;\n\t\t\t\trows = tableEditor.tBody.querySelectorAll('.landing-table-tr');\n\t\t\t\trows.forEach((row) => {\n\t\t\t\t\tsetRowPositionsY.push(row.getBoundingClientRect().y);\n\t\t\t\t\tsetRowHeights.push(row.getBoundingClientRect().height);\n\t\t\t\t});\n\t\t\t\tcurrentPositionRowX = rows[currentPositionRow].getBoundingClientRect().x;\n\t\t\t\tcurrentPositionRowY = rows[currentPositionRow].getBoundingClientRect().y;\n\t\t\t\tcloneRow = document.createElement('tr');\n\t\t\t\tcloneRow.classList.add('landing-table-tr-draggable');\n\t\t\t\trows[currentPositionRow].childNodes.forEach((node) => {\n\t\t\t\t\tcloneRow.append(node.cloneNode(true));\n\t\t\t\t});\n\t\t\t\tif (rows[currentPositionRow].classList.contains('landing-table-row-selected'))\n\t\t\t\t{\n\t\t\t\t\tcloneRow.classList.add('landing-table-row-selected');\n\t\t\t\t}\n\t\t\t\tlet indexFirstNode;\n\t\t\t\tlet count = 0;\n\t\t\t\twhile (!indexFirstNode)\n\t\t\t\t{\n\t\t\t\t\tif (rows[currentPositionRow].childNodes[count].nodeType === 1)\n\t\t\t\t\t{\n\t\t\t\t\t\tindexFirstNode = count;\n\t\t\t\t\t}\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\t\t\t\tcloneRow.childNodes[indexFirstNode].style.borderRadius = getComputedStyle(rows[currentPositionRow].childNodes[indexFirstNode]).borderRadius;\n\t\t\t})\n\t\t\t.subscribe('move', (event) => {\n\t\t\t\tif (!originalSource.classList.contains('landing-table-row-add'))\n\t\t\t\t{\n\t\t\t\t\ttableEditor.tBody.classList.add('landing-table-draggable');\n\t\t\t\t\trows[currentPositionRow].classList.add('landing-table-tr-taken');\n\t\t\t\t\tdraggableRowOffsetY = event.getData().offsetY;\n\t\t\t\t\ttableEditor.tBody.append(cloneRow);\n\t\t\t\t\tcloneRow.style.position = 'absolute';\n\t\t\t\t\tcloneRow.style.top = `${currentPositionRowY - tablePositionTop + draggableRowOffsetY - 0.5}px`;\n\t\t\t\t\tcloneRow.style.left = `${currentPositionRowX - tablePositionLeft - 0.5}px`;\n\t\t\t\t\tif (draggableRowOffsetY > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tcloneRow.style.transform = 'rotate(-1deg)';\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tcloneRow.style.transform = 'rotate(1deg)';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\t.subscribe('end', () => {\n\t\t\t\tcloneRow.remove();\n\t\t\t\trows[currentPositionRow].classList.remove('landing-table-tr-taken');\n\t\t\t\trows[currentPositionRow].style = '';\n\t\t\t\tconst newDraggableRowPositionY = currentPositionRowY + draggableRowOffsetY;\n\t\t\t\tconst newDraggableRowPositionBottomY = newDraggableRowPositionY + rows[currentPositionRow].getBoundingClientRect().height;\n\t\t\t\tif (draggableRowOffsetY < 0)\n\t\t\t\t{\n\t\t\t\t\tfor (let [i, transitivePositionY] of setRowPositionsY.entries())\n\t\t\t\t\t{\n\t\t\t\t\t\tif (i === currentPositionRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransitivePositionY -= (setRowHeights[i - 1] / 2);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (newDraggableRowPositionY >= transitivePositionY)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewPositionRow = i;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (draggableRowOffsetY === 0)\n\t\t\t\t{\n\t\t\t\t\tnewPositionRow = currentPositionRow;\n\t\t\t\t}\n\n\t\t\t\tif (draggableRowOffsetY > 0)\n\t\t\t\t{\n\t\t\t\t\tfor (const [i, element] of setRowPositionsY.entries())\n\t\t\t\t\t{\n\t\t\t\t\t\tlet transitivePositionY = element + (setRowHeights[i] / 2);\n\t\t\t\t\t\tif (i === currentPositionRow)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttransitivePositionY = element;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (newDraggableRowPositionBottomY >= transitivePositionY)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tnewPositionRow = i;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// draggable row can only be in the 1 position, 0 position for technical row\n\t\t\t\tif (newPositionRow === 0)\n\t\t\t\t{\n\t\t\t\t\tnewPositionRow++;\n\t\t\t\t}\n\n\t\t\t\t// need to move\n\t\t\t\tif (currentPositionRow !== newPositionRow)\n\t\t\t\t{\n\t\t\t\t\tlet referenceNode = null;\n\t\t\t\t\tlet referenceNodeNext = null;\n\t\t\t\t\tif (rows[newPositionRow])\n\t\t\t\t\t{\n\t\t\t\t\t\treferenceNode = rows[newPositionRow];\n\t\t\t\t\t\treferenceNodeNext = referenceNode.nextSibling;\n\t\t\t\t\t\twhile (referenceNodeNext && referenceNodeNext.nodeType !== 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treferenceNodeNext = referenceNodeNext.nextSibling;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (currentPositionRow > newPositionRow)\n\t\t\t\t\t{\n\t\t\t\t\t\ttableEditor.tBody.insertBefore(rows[currentPositionRow], referenceNode);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (currentPositionRow < newPositionRow)\n\t\t\t\t\t{\n\t\t\t\t\t\ttableEditor.tBody.insertBefore(rows[currentPositionRow], referenceNodeNext);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttableEditor.tBody.classList.remove('landing-table-draggable');\n\t\t\t\tthis.textNode.onChange(true);\n\t\t\t});\n\t}\n\n\tdragAndDropCols(tableEditor)\n\t{\n\t\tthis.draggableCols = new Draggable({\n\t\t\tcontainer: tableEditor.tBody,\n\t\t\tdraggable: '.landing-table-div-col-dnd',\n\t\t\ttype: Draggable.HEADLESS,\n\t\t});\n\n\t\tlet currentPositionCol;\n\t\tlet newPositionCol = 0;\n\t\tlet draggableColOffsetX;\n\t\tlet draggableColOffsetY;\n\t\tlet setColCells = [];\n\t\tlet setColPositionsX;\n\t\tlet setColWidths;\n\t\tlet setRows;\n\t\tlet tablePositionLeft;\n\t\tlet currentPositionColX;\n\t\tlet setColCellsStyles;\n\t\tlet draggableCol;\n\n\t\tthis.draggableCols\n\t\t\t.subscribe('start', (event) => {\n\t\t\t\ttablePositionLeft = tableEditor.tBody.getBoundingClientRect().left;\n\t\t\t\tsetColPositionsX = [];\n\t\t\t\tsetColWidths = [];\n\t\t\t\tsetColCellsStyles = [];\n\t\t\t\tdraggableColOffsetX = 0;\n\t\t\t\tdraggableColOffsetY = 0;\n\t\t\t\tcurrentPositionCol = event.getData().originalSource.parentNode.cellIndex;\n\t\t\t\tif (currentPositionCol)\n\t\t\t\t{\n\t\t\t\t\tsetColCells = [...tableEditor.tBody.querySelectorAll('.landing-table-tr')].map((row) => {\n\t\t\t\t\t\treturn row.children[currentPositionCol];\n\t\t\t\t\t});\n\t\t\t\t\tsetRows = tableEditor.tBody.querySelectorAll('.landing-table-tr');\n\t\t\t\t\tsetRows[0].childNodes.forEach((thOfFirstRow) => {\n\t\t\t\t\t\tif (thOfFirstRow.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tsetColPositionsX.push(thOfFirstRow.getBoundingClientRect().x);\n\t\t\t\t\t\t\tsetColWidths.push(thOfFirstRow.getBoundingClientRect().width);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tcurrentPositionColX = setColCells[0].getBoundingClientRect().x;\n\t\t\t\tdraggableCol = document.createElement('div');\n\t\t\t\tsetColCells.forEach((cell) => {\n\t\t\t\t\tsetColCellsStyles.push(cell.getAttribute('style'));\n\t\t\t\t\tdraggableCol.append(cell.cloneNode(true));\n\t\t\t\t\tdraggableCol.lastChild.style.borderRadius = getComputedStyle(cell).borderRadius;\n\t\t\t\t\tdraggableCol.lastChild.style.height = `${cell.getBoundingClientRect().height}px`;\n\t\t\t\t\tdraggableCol.lastChild.style.width = `${cell.getBoundingClientRect().width}px`;\n\t\t\t\t});\n\t\t\t\tdraggableCol.hidden = true;\n\t\t\t\tdraggableCol.classList.add('landing-table-col-draggable');\n\t\t\t\ttableEditor.tBody.append(draggableCol);\n\t\t\t})\n\t\t\t.subscribe('move', (event) => {\n\t\t\t\ttableEditor.tBody.classList.add('landing-table-draggable');\n\t\t\t\tsetColCells.forEach((cell) => {\n\t\t\t\t\tcell.classList.add('landing-table-col-taken');\n\t\t\t\t});\n\t\t\t\tdraggableColOffsetX = event.getData().offsetX;\n\t\t\t\tdraggableColOffsetY = event.getData().offsetY;\n\t\t\t\tdraggableCol.hidden = false;\n\t\t\t\tdraggableCol.style.position = 'absolute';\n\t\t\t\tdraggableCol.style.left = `${currentPositionColX - tablePositionLeft + draggableColOffsetX}px`;\n\t\t\t\tdraggableCol.style.top = `${0}px`;\n\t\t\t\tif (draggableColOffsetX < 0)\n\t\t\t\t{\n\t\t\t\t\tdraggableCol.style.transform = 'rotate(-1deg)';\n\t\t\t\t}\n\n\t\t\t\tif (draggableColOffsetX > 0)\n\t\t\t\t{\n\t\t\t\t\tdraggableCol.style.transform = 'rotate(1deg)';\n\t\t\t\t}\n\t\t\t})\n\t\t\t.subscribe('end', () => {\n\t\t\t\tdraggableCol.remove();\n\t\t\t\tsetColCells.forEach((cell) => {\n\t\t\t\t\tcell.hidden = false;\n\t\t\t\t});\n\t\t\t\tif (currentPositionCol)\n\t\t\t\t{\n\t\t\t\t\tconst newDraggableColPositionX = setColPositionsX[currentPositionCol] + draggableColOffsetX;\n\t\t\t\t\tconst newDraggableColPositionRightX = setColPositionsX[currentPositionCol] + draggableColOffsetX + setColCells[0].getBoundingClientRect().width;\n\t\t\t\t\tlet i = 0;\n\t\t\t\t\tsetColCells.forEach((cell) => {\n\t\t\t\t\t\tcell.style = setColCellsStyles[i];\n\t\t\t\t\t\tcell.classList.remove('landing-table-col-taken');\n\t\t\t\t\t\ti++;\n\t\t\t\t\t});\n\t\t\t\t\tif (draggableColOffsetX < 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (let [i, transitivePositionX] of setColPositionsX.entries())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (i > 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttransitivePositionX -= (setColWidths[i - 1] / 2);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (newDraggableColPositionX > transitivePositionX)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnewPositionCol = i;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (draggableColOffsetX === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tnewPositionCol = currentPositionCol;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (draggableColOffsetX > 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tfor (const [i, element] of setColPositionsX.entries())\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlet transitivePositionX = element + (setColWidths[i] / 2);\n\t\t\t\t\t\t\tif (i === currentPositionCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttransitivePositionX = element;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (newDraggableColPositionRightX > transitivePositionX)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tnewPositionCol = i;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// draggable col can only be in the 1 position, 0 position for technical\n\t\t\t\t\tif (newPositionCol === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tnewPositionCol++;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (currentPositionCol !== newPositionCol)\n\t\t\t\t\t{\n\t\t\t\t\t\tsetRows.forEach((row) => {\n\t\t\t\t\t\t\tconst childCells = [];\n\t\t\t\t\t\t\trow.childNodes.forEach((th) => {\n\t\t\t\t\t\t\t\tif (th.nodeType === 1)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tchildCells.push(th);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tlet referenceNode = null;\n\t\t\t\t\t\t\tlet referenceNodeNext = null;\n\t\t\t\t\t\t\tif (childCells[newPositionCol])\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treferenceNode = childCells[newPositionCol];\n\t\t\t\t\t\t\t\treferenceNodeNext = referenceNode.nextSibling;\n\t\t\t\t\t\t\t\twhile (referenceNodeNext && referenceNodeNext.nodeType !== 1)\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\treferenceNodeNext = referenceNodeNext.nextSibling;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (currentPositionCol > newPositionCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\trow.insertBefore(childCells[currentPositionCol], referenceNode);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (currentPositionCol < newPositionCol)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\trow.insertBefore(childCells[currentPositionCol], referenceNodeNext);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\ttableEditor.tBody.classList.remove('landing-table-draggable');\n\t\t\t\t\tthis.textNode.onChange(true);\n\t\t\t\t}\n\t\t\t});\n\t}\n\n\tresizeColumn(tableEditor)\n\t{\n\t\tconst tbody = this.tBody;\n\t\tthis.resizeElement = new Draggable({\n\t\t\tcontainer: tbody,\n\t\t\tdraggable: '.landing-table-col-resize',\n\t\t\ttype: Draggable.HEADLESS,\n\t\t});\n\n\t\tlet thWidth;\n\t\tlet setTh;\n\n\t\tthis.resizeElement\n\t\t\t.subscribe('start', (event) => {\n\t\t\t\tsetTh = [];\n\t\t\t\tconst th = event.getData().draggable.parentNode;\n\t\t\t\tthWidth = th.getBoundingClientRect().width;\n\t\t\t\tconst currentPosition = th.cellIndex;\n\t\t\t\tconst setTr = tbody.querySelectorAll('.landing-table-tr');\n\t\t\t\tsetTr.forEach((tr) => {\n\t\t\t\t\tsetTh.push(tr.children[currentPosition]);\n\t\t\t\t});\n\t\t\t})\n\t\t\t.subscribe('move', (event) => {\n\t\t\t\tconst offsetX = event.getData().offsetX;\n\t\t\t\tconst thNewWidth = thWidth + offsetX;\n\t\t\t\tsetTh.forEach((th) => {\n\t\t\t\t\tBX.Dom.style(th, 'width', `${thNewWidth}px`);\n\t\t\t\t});\n\t\t\t})\n\t\t\t.subscribe('end', () => {\n\t\t\t\tconst tBodyWidth = tbody.getBoundingClientRect().width;\n\t\t\t\tconst tableContainerWidth = tbody.parentElement.parentElement.getBoundingClientRect().width;\n\t\t\t\tif (tableContainerWidth > tBodyWidth)\n\t\t\t\t{\n\t\t\t\t\ttbody.parentElement.parentElement.classList.add('landing-table-scroll-hidden');\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\ttbody.parentElement.parentElement.classList.remove('landing-table-scroll-hidden');\n\t\t\t\t}\n\t\t\t\ttableEditor.buildLines(tableEditor);\n\t\t\t\tthis.textNode.onChange(true);\n\t\t\t});\n\t}\n\n\tenableEditCells(table)\n\t{\n\t\tconst thContentList = table.querySelectorAll('.landing-table-td');\n\t\tthContentList.forEach((td) => {\n\t\t\ttd.setAttribute('contenteditable', 'true');\n\t\t});\n\t}\n\n\tremoveClasses(element, className)\n\t{\n\t\tconst setElements = element.querySelectorAll(`.${className}`);\n\t\tsetElements.forEach((element) => {\n\t\t\telement.classList.remove(className);\n\t\t});\n\t}\n\n\tonCopyTable(tableEditor)\n\t{\n\t\tBX.Event.EventEmitter.subscribe('BX.Landing.TableEditor:onCopyTable', () => {\n\t\t\ttableEditor.unselect(tableEditor);\n\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t});\n\t}\n\n\tonShowPopupMenu(tableEditor)\n\t{\n\t\tBX.Event.EventEmitter.subscribe('BX.Landing.PopupMenuWindow:onShow', () => {\n\t\t\ttableEditor.unselect(tableEditor);\n\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t});\n\t}\n\n\tonDeleteElementTable(tableEditor)\n\t{\n\t\tBX.Event.EventEmitter.subscribe('BX.Landing.TableEditor:onDeleteElementTable', () => {\n\t\t\ttableEditor.buildLines(tableEditor);\n\t\t});\n\t}\n}\n"],"names":["TableEditor","node","textNode","table","querySelector","tBody","getElementsByTagName","addTitles","enableEditCells","dragAndDropRows","dragAndDropCols","resizeColumn","buildLines","addRow","addCol","onUnselect","unselect","selectAll","selectRow","selectCol","onCopyTable","onDeleteElementTable","onShowPopupMenu","tableNode","hasAttribute","title","BX","Landing","Utils","escapeText","Loc","getMessage","querySelectorAll","forEach","element","setAttribute","tableEditor","isSelectAll","classList","remove","removeClasses","Event","bind","Set","isContains","event","target","some","className","has","classListChild","parentElement","thTech","isSelectedTable","contains","setRows","count","row","setTh","childNodes","index","lastThIndex","cell","nodeType","lastTh","add","length","th","toggle","thDnd","trDnd","neededPosition","setTrDnd","newSetTrDnd","setThDnd","cellIndex","tr","countNode","nodeCount","needNodePosition","trChild","width","getBoundingClientRect","height","offset","linesX","document","lineX","style","linesY","lineY","buttons","getButtonsAddRow","Array","prototype","slice","call","button","selectedCell","selectedCellPos","parentNode","createElement","children","indexOf","lastElementPosition","newTd","backgroundColor","getAttribute","color","newTr","divAddRow","divLineX","divRowDnd","appendChild","setTd","item","push","i","newTdCloned","cloneNode","insertBefore","nextSibling","onChange","UI","Panel","EditorPanel","getInstance","hide","getButtonsAddCol","selectedRow","selectedRowPos","newThFirst","newThFirstCloned","position","divColumnDnd","divColumnResize","divAddColHere","divLineY","countChild","countNodes","newNeededPosition","draggableRows","Draggable","container","draggable","dragElement","type","HEADLESS","rows","setRowPositionsY","setRowHeights","currentPositionRow","newPositionRow","draggableRowOffsetY","tablePositionLeft","tablePositionTop","currentPositionRowX","currentPositionRowY","cloneRow","originalSource","subscribe","dragStartEvent","data","left","top","getData","sourceIndex","y","x","append","indexFirstNode","borderRadius","getComputedStyle","offsetY","transform","newDraggableRowPositionY","newDraggableRowPositionBottomY","entries","transitivePositionY","referenceNode","referenceNodeNext","draggableCols","currentPositionCol","newPositionCol","draggableColOffsetX","draggableColOffsetY","setColCells","setColPositionsX","setColWidths","currentPositionColX","setColCellsStyles","draggableCol","map","thOfFirstRow","lastChild","hidden","offsetX","newDraggableColPositionX","newDraggableColPositionRightX","transitivePositionX","childCells","tbody","resizeElement","thWidth","currentPosition","setTr","thNewWidth","Dom","tBodyWidth","tableContainerWidth","thContentList","td","setElements","EventEmitter"],"mappings":"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"}