Your IP : 172.70.80.239


Current Path : /var/www/element/data/www/revenuestory.ru/bitrix/js/landing/node/text/dist/
Upload File :
Current File : /var/www/element/data/www/revenuestory.ru/bitrix/js/landing/node/text/dist/text.bundle.js.map

{"version":3,"file":"text.bundle.js","sources":["../src/text.js"],"sourcesContent":["import {Type} from 'main.core';\nimport {Node} from 'landing.node';\n\nexport class Text extends Node\n{\n\tconstructor()\n\t{\n\t\tsuper();\n\n\t\tthis.escapeText = BX.Landing.Utils.escapeText;\n\t\tthis.headerTagMatcher = BX.Landing.Utils.Matchers.headerTag;\n\t\tthis.changeTagName = BX.Landing.Utils.changeTagName;\n\t\tthis.textToPlaceholders = BX.Landing.Utils.textToPlaceholders;\n\n\t\tBX.Runtime.loadExtension('landing.node.text.tableeditor');\n\t\tBX.Landing.Block.Node.apply(this, arguments);\n\n\t\tthis.type = \"text\";\n\t\tthis.tableBaseFontSize = '22';\n\n\t\tthis.onClick = this.onClick.bind(this);\n\t\tthis.onPaste = this.onPaste.bind(this);\n\t\tthis.onDrop = this.onDrop.bind(this);\n\t\tthis.onInput = this.onInput.bind(this);\n\t\tthis.onKeyDown = this.onKeyDown.bind(this);\n\t\tthis.onMousedown = this.onMousedown.bind(this);\n\t\tthis.onMouseup = this.onMouseup.bind(this);\n\n\t\t// Bind on node events\n\t\tthis.node.addEventListener(\"mousedown\", this.onMousedown);\n\t\tthis.node.addEventListener(\"click\", this.onClick);\n\t\tthis.node.addEventListener(\"paste\", this.onPaste);\n\t\tthis.node.addEventListener(\"drop\", this.onDrop);\n\t\tthis.node.addEventListener(\"input\", this.onInput);\n\t\tthis.node.addEventListener(\"keydown\", this.onKeyDown);\n\n\t\tdocument.addEventListener(\"mouseup\", this.onMouseup);\n\t}\n\n\tstatic currentNode = [];\n\n\t/**\n\t * Handles allow inline edit event\n\t */\n\tonAllowInlineEdit()\n\t{\n\t\t// Show title \"Click to edit\" for node\n\t\tthis.node.setAttribute(\"title\", this.escapeText(BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_TEXT_NODE\")));\n\t}\n\n\t/**\n\t * Handles change event\n\t * @param {boolean} [preventAdjustPosition]\n\t * @param {boolean} [preventHistory]\n\t */\n\tonChange(preventAdjustPosition, preventHistory)\n\t{\n\t\tthis.superClass.onChange.call(this, arguments);\n\t\tif (!preventAdjustPosition)\n\t\t{\n\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().adjustPosition(this.node);\n\t\t}\n\t\tif (!preventHistory)\n\t\t{\n\t\t\t// todo: old or new extention use?\n\t\t\tBX.Landing.History.getInstance().push();\n\t\t}\n\t}\n\n\tonKeyDown()\n\t{\n\t\tif (event.code === 'Backspace')\n\t\t{\n\t\t\tthis.onBackspaceDown(event);\n\t\t}\n\t\tthis.onInput(event);\n\t}\n\n\tonInput(event)\n\t{\n\t\tclearTimeout(this.inputTimeout);\n\n\t\tvar key = event.keyCode || event.which;\n\n\t\tif (!(key === 90 && (top.window.navigator.userAgent.match(/win/i) ? event.ctrlKey : event.metaKey)))\n\t\t{\n\t\t\tthis.inputTimeout = setTimeout(function() {\n\t\t\t\tif (this.lastValue !== this.getValue())\n\t\t\t\t{\n\t\t\t\t\tthis.onChange(true);\n\t\t\t\t\tthis.lastValue = this.getValue();\n\t\t\t\t}\n\t\t\t}.bind(this), 400);\n\t\t}\n\n\t\tif (this.isTable(event))\n\t\t{\n\t\t\tvar tableFontSize = parseInt(window.getComputedStyle(event.srcElement).getPropertyValue('font-size'));\n\t\t\tif (event.srcElement.textContent === ''\n\t\t\t\t&& event.srcElement.classList.contains('landing-table-td')\n\t\t\t\t&& tableFontSize < this.tableBaseFontSize)\n\t\t\t{\n\t\t\t\tevent.srcElement.classList.add('landing-table-td-height');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tevent.srcElement.classList.remove('landing-table-td-height');\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Handles escape press event\n\t */\n\tonEscapePress()\n\t{\n\t\t// Hide editor by press on Escape button\n\t\tif (this.isEditable())\n\t\t{\n\t\t\tif (this === BX.Landing.Block.Node.Text.currentNode)\n\t\t\t{\n\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t\t}\n\n\t\t\tthis.disableEdit();\n\t\t}\n\t}\n\n\t/**\n\t * Handles drop event on this node\n\t *\n\t * @param {DragEvent} event\n\t */\n\tonDrop(event)\n\t{\n\t\t// Prevents drag and drop any content into editor area\n\t\tevent.preventDefault();\n\t}\n\n\t/**\n\t * Handles paste event on this node\n\t *\n\t * @param {ClipboardEvent} event\n\t * @param {function} event.preventDefault\n\t * @param {object} event.clipboardData\n\t */\n\tonPaste(event)\n\t{\n\t\tevent.preventDefault();\n\n\t\tif (event.clipboardData && event.clipboardData.getData)\n\t\t{\n\t\t\tvar sourceText = event.clipboardData.getData(\"text/plain\");\n\t\t\tvar encodedText = BX.Text.encode(sourceText);\n\t\t\tvar formattedHtml = encodedText.replace(new RegExp('\\n', 'g'), \"<br>\");\n\t\t\tdocument.execCommand(\"insertHTML\", false, formattedHtml);\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// ie11\n\t\t\tvar text = window.clipboardData.getData(\"text\");\n\t\t\tdocument.execCommand(\"paste\", true, BX.Text.encode(text));\n\t\t}\n\n\t\tthis.onChange();\n\t}\n\n\t/**\n\t * Handles click on document\n\t */\n\tonDocumentClick(event)\n\t{\n\t\tif (this.isEditable() && !this.fromNode)\n\t\t{\n\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t\tthis.disableEdit();\n\t\t}\n\n\t\tthis.fromNode = false;\n\t}\n\n\tonMousedown(event)\n\t{\n\t\tif (!this.manifest.group)\n\t\t{\n\t\t\tthis.fromNode = true;\n\n\t\t\tif (this.manifest.allowInlineEdit !== false &&\n\t\t\t\tBX.Landing.Main.getInstance().isControlsEnabled())\n\t\t\t{\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tthis.enableEdit();\n\t\t\t\tif (this.isTable(event))\n\t\t\t\t{\n\t\t\t\t\tthis.disableEdit();\n\t\t\t\t\tBX.Landing.Block.Node.Text.currentNode.node.querySelectorAll('.landing-table-container')\n\t\t\t\t\t\t.forEach(function(table) {\n\t\t\t\t\t\t\tif (!table.hasAttribute('table-prepare'))\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tBX.Landing.Block.Node.Text.prototype.prepareNewTable(table);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\tvar tableFontSize = parseInt(window.getComputedStyle(event.srcElement).getPropertyValue('font-size'));\n\t\t\t\t\tif (event.srcElement.textContent === ''\n\t\t\t\t\t\t&& event.srcElement.classList.contains('landing-table-td')\n\t\t\t\t\t\t&& tableFontSize < this.tableBaseFontSize)\n\t\t\t\t\t{\n\t\t\t\t\t\tevent.srcElement.classList.add('landing-table-td-height');\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tevent.srcElement.classList.remove('landing-table-td-height');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif (!this.manifest.textOnly && !BX.Landing.UI.Panel.StylePanel.getInstance().isShown())\n\t\t\t\t\t{\n\t\t\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().show(this.node, null, this.buttons);\n\t\t\t\t\t}\n\t\t\t\t\tif (BX.Landing.Block.Node.Text.nodeTableContainerList)\n\t\t\t\t\t{\n\t\t\t\t\t\tBX.Landing.Block.Node.Text.nodeTableContainerList.forEach(function(tableContainer) {\n\t\t\t\t\t\t\ttableContainer.tableEditor.unselect(tableContainer.tableEditor);\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tBX.Landing.UI.Tool.ColorPicker.hideAll();\n\t\t\t\tBX.Landing.UI.Button.FontAction.hideAll();\n\t\t\t}\n\n\t\t\trequestAnimationFrame(function() {\n\t\t\t\tif (event.target.nodeName === \"A\" ||\n\t\t\t\t\tevent.target.parentElement.nodeName === \"A\")\n\t\t\t\t{\n\t\t\t\t\tvar range = document.createRange();\n\t\t\t\t\trange.selectNode(event.target);\n\t\t\t\t\twindow.getSelection().removeAllRanges();\n\t\t\t\t\twindow.getSelection().addRange(range);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tonMouseup()\n\t{\n\t\tsetTimeout(function() {\n\t\t\tthis.fromNode = false;\n\t\t}.bind(this), 10);\n\t}\n\n\t/**\n\t * Click on field - switch edit mode.\n\t */\n\tonClick(event)\n\t{\n\t\tif (this.isTable(event))\n\t\t{\n\t\t\tthis.addTableButtons(event);\n\t\t}\n\n\t\tevent.stopPropagation();\n\t\tevent.preventDefault();\n\t\tthis.fromNode = false;\n\n\t\tif (event.target.nodeName === \"A\" ||\n\t\t\tevent.target.parentElement.nodeName === \"A\")\n\t\t{\n\t\t\tvar range = document.createRange();\n\t\t\trange.selectNode(event.target);\n\t\t\twindow.getSelection().removeAllRanges();\n\t\t\twindow.getSelection().addRange(range);\n\t\t}\n\t}\n\n\t/**\n\t * Checks that is editable\n\t * @return {boolean}\n\t */\n\tisEditable()\n\t{\n\t\treturn this.node.isContentEditable;\n\t}\n\n\t/**\n\t * Enables edit mode\n\t */\n\tenableEdit()\n\t{\n\t\tvar currentNode = BX.Landing.Block.Node.Text.currentNode;\n\t\tif (currentNode)\n\t\t{\n\t\t\tvar node = BX.Landing.Block.Node.Text.currentNode.node;\n\t\t\tvar nodeTableContainerList = node.querySelectorAll('.landing-table-container');\n\t\t\tif (nodeTableContainerList.length > 0)\n\t\t\t{\n\t\t\t\tnodeTableContainerList.forEach(function(nodeTableContainer) {\n\t\t\t\t\tif (!nodeTableContainer.tableEditor)\n\t\t\t\t\t{\n\t\t\t\t\t\tnodeTableContainer.tableEditor = new BX.Landing.Node.Text.TableEditor.default(nodeTableContainer);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tBX.Landing.Block.Node.Text.nodeTableContainerList = nodeTableContainerList;\n\t\t\t}\n\t\t}\n\n\t\tif (!this.isEditable() && !BX.Landing.UI.Panel.StylePanel.getInstance().isShown())\n\t\t{\n\t\t\tif (this !== BX.Landing.Block.Node.Text.currentNode && BX.Landing.Block.Node.Text.currentNode !== null)\n\t\t\t{\n\t\t\t\tBX.Landing.Block.Node.Text.currentNode.disableEdit();\n\t\t\t}\n\n\t\t\tBX.Landing.Block.Node.Text.currentNode = this;\n\n\t\t\tthis.buttons = [];\n\t\t\tthis.buttons.push(this.getDesignButton());\n\n\t\t\tif (this.isHeader())\n\t\t\t{\n\t\t\t\tthis.buttons.push(this.getChangeTagButton());\n\t\t\t\tthis.getChangeTagButton().onChangeHandler = this.onChangeTag.bind(this);\n\t\t\t}\n\n\t\t\tthis.lastValue = this.getValue();\n\t\t\tthis.node.contentEditable = true;\n\n\t\t\tthis.node.setAttribute(\"title\", \"\");\n\t\t}\n\t}\n\n\t/**\n\t * Gets design button for editor\n\t * @return {BX.Landing.UI.Button.Design}\n\t */\n\tgetDesignButton()\n\t{\n\t\tif (!this.designButton)\n\t\t{\n\t\t\tthis.designButton = new BX.Landing.UI.Button.Design(\"design\", {\n\t\t\t\thtml: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_DESIGN\"),\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_DESIGN\")},\n\t\t\t\tonClick: function() {\n\t\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t\t\t\tthis.disableEdit();\n\t\t\t\t\tthis.onDesignShow(this.manifest.code);\n\t\t\t\t}.bind(this)\n\t\t\t});\n\t\t}\n\n\t\treturn this.designButton;\n\t}\n\n\t/**\n\t * Disables edit mode\n\t */\n\tdisableEdit()\n\t{\n\t\tif (this.isEditable())\n\t\t{\n\t\t\tthis.node.contentEditable = false;\n\n\t\t\tif (this.lastValue !== this.getValue())\n\t\t\t{\n\t\t\t\tthis.onChange();\n\t\t\t\tthis.lastValue = this.getValue();\n\t\t\t}\n\n\t\t\tif (this.isAllowInlineEdit())\n\t\t\t{\n\t\t\t\tthis.node.setAttribute(\"title\", this.escapeText(BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_TEXT_NODE\")));\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets form field\n\t * @return {BX.Landing.UI.Field.Text}\n\t */\n\tgetField()\n\t{\n\t\tif (!this.field)\n\t\t{\n\t\t\tthis.field = new BX.Landing.UI.Field.Text({\n\t\t\t\tselector: this.selector,\n\t\t\t\ttitle: this.manifest.name,\n\t\t\t\tcontent: this.node.innerHTML,\n\t\t\t\ttextOnly: this.manifest.textOnly,\n\t\t\t\tbind: this.node\n\t\t\t});\n\n\t\t\tif (this.isHeader())\n\t\t\t{\n\t\t\t\tthis.field.changeTagButton = this.getChangeTagButton();\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.field.setValue(this.node.innerHTML);\n\t\t\tthis.field.content = this.node.innerHTML;\n\t\t}\n\n\t\treturn this.field;\n\t}\n\n\t/**\n\t * Sets node value\n\t * @param value\n\t * @param {?boolean} [preventSave = false]\n\t * @param {?boolean} [preventHistory = false]\n\t */\n\tsetValue(value, preventSave, preventHistory)\n\t{\n\t\tthis.preventSave(preventSave);\n\t\tthis.lastValue = this.isSavePrevented() ? this.getValue() : this.lastValue;\n\t\tthis.node.innerHTML = value;\n\t\tthis.onChange(false, preventHistory);\n\t}\n\n\t/**\n\t * Gets node value\n\t * @return {string}\n\t */\n\tgetValue()\n\t{\n\t\tif (this.node.querySelector('.landing-table-container') !== null)\n\t\t{\n\t\t\tvar node = this.node.cloneNode(true);\n\t\t\tthis.prepareTable(node);\n\t\t\treturn this.textToPlaceholders(node.innerHTML);\n\t\t}\n\t\treturn this.textToPlaceholders(this.node.innerHTML);\n\t}\n\n\t/**\n\t * Checks that this node is header\n\t * @return {boolean}\n\t */\n\tisHeader()\n\t{\n\t\treturn this.headerTagMatcher.test(this.node.nodeName);\n\t}\n\n\t/**\n\t * Checks that this node is table\n\t * @return {boolean}\n\t */\n\tisTable(event)\n\t{\n\t\tvar nodeIsTable = false;\n\t\tif (BX.Landing.Block.Node.Text.currentNode && event)\n\t\t{\n\t\t\tBX.Landing.Block.Node.Text.currentNode.node.querySelectorAll('.landing-table-container')\n\t\t\t\t.forEach(function(table) {\n\t\t\t\t\tif (table.contains(event.srcElement))\n\t\t\t\t\t{\n\t\t\t\t\t\tnodeIsTable = true;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t}\n\t\treturn nodeIsTable;\n\t}\n\n\t/**\n\t * Delete br tags in new table and add flag after this\n\t */\n\tprepareNewTable()\n\t{\n\t\ttable.querySelectorAll('br').forEach(function(tdTag) {\n\t\t\ttdTag.remove();\n\t\t})\n\t\ttable.setAttribute('table-prepare', 'true');\n\t\tBX.Landing.Block.Node.Text.currentNode.onChange(true);\n\t}\n\n\taddTableButtons(event)\n\t{\n\t\tvar buttons = [];\n\t\tvar neededButtons = [];\n\t\tvar setTd = [];\n\t\tvar tableButtons = this.getTableButtons();\n\t\tvar tableAlignButtons = [tableButtons[0], tableButtons[1], tableButtons[2], tableButtons[3]];\n\t\tvar node = BX.Landing.Block.Node.Text.currentNode.node;\n\t\tvar table = null;\n\t\tvar isCell = false;\n\t\tvar isButtonAddRow = false;\n\t\tvar isButtonAddCol = false;\n\t\tvar isNeedTablePanel = true;\n\t\tif (event.srcElement.classList.contains('landing-table')\n\t\t\t|| event.srcElement.classList.contains('landing-table-col-dnd'))\n\t\t{\n\t\t\tisNeedTablePanel = false;\n\t\t}\n\t\tif (event.srcElement.classList.contains('landing-table-row-add'))\n\t\t{\n\t\t\tisButtonAddRow = true;\n\t\t}\n\t\tif (event.srcElement.classList.contains('landing-table-col-add'))\n\t\t{\n\t\t\tisButtonAddCol = true;\n\t\t}\n\t\tvar hideButtons = [];\n\t\tvar nodeTableList = node.querySelectorAll('.landing-table');\n\t\tif (nodeTableList.length > 0)\n\t\t{\n\t\t\tnodeTableList.forEach(function(nodeTable) {\n\t\t\t\tif (nodeTable.contains(event.srcElement))\n\t\t\t\t{\n\t\t\t\t\ttable = nodeTable;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\ttableButtons.forEach(function(tableButton){\n\t\t\ttableButton['options']['srcElement'] = event.srcElement;\n\t\t\ttableButton['options']['node'] = node;\n\t\t\ttableButton['options']['table'] = table;\n\t\t})\n\n\t\tif (event.srcElement.classList.contains('landing-table-row-dnd'))\n\t\t{\n\t\t\tsetTd = event.srcElement.parentNode.children;\n\t\t\tsetTd = Array.from(setTd);\n\t\t\tif (this.getAmountTableRows(table) > 1)\n\t\t\t{\n\t\t\t\tneededButtons = [0, 1, 2, 3, 4, 5, 6];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tneededButtons = [0, 1, 2, 3, 4, 5];\n\t\t\t}\n\t\t\tneededButtons.forEach(function(neededButon) {\n\t\t\t\ttableButtons[neededButon]['options']['target'] = 'row';\n\t\t\t\ttableButtons[neededButon]['options']['setTd'] = setTd;\n\t\t\t\tbuttons.push(tableButtons[neededButon]);\n\t\t\t})\n\t\t}\n\n\t\tif (event.srcElement.parentNode.classList.contains('landing-table-col-dnd'))\n\t\t{\n\t\t\tvar childNodes = event.srcElement.parentElement.parentElement.childNodes;\n\t\t\tvar childNodesArray = Array.from(childNodes);\n\t\t\tvar childNodesArrayPrepare = [];\n\t\t\tchildNodesArray.forEach(function(childNode) {\n\t\t\t\tif (childNode.nodeType === 1)\n\t\t\t\t{\n\t\t\t\t\tchildNodesArrayPrepare.push(childNode);\n\t\t\t\t}\n\t\t\t})\n\t\t\tvar neededPosition = childNodesArrayPrepare.indexOf(event.srcElement.parentElement);\n\t\t\tvar rows = event.srcElement.parentElement.parentElement.parentElement.childNodes;\n\t\t\trows.forEach(function(row) {\n\t\t\t\tif (row.nodeType === 1)\n\t\t\t\t{\n\t\t\t\t\tvar rowChildPrepare = [];\n\t\t\t\t\trow.childNodes.forEach(function(rowChildNode) {\n\t\t\t\t\t\tif (rowChildNode.nodeType === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\trowChildPrepare.push(rowChildNode);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\tif (rowChildPrepare[neededPosition])\n\t\t\t\t\t{\n\t\t\t\t\t\tsetTd.push(rowChildPrepare[neededPosition]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t\tif (this.getAmountTableCols(table) > 1)\n\t\t\t{\n\t\t\t\tneededButtons = [0, 1, 2, 3, 4, 5, 7];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tneededButtons = [0, 1, 2, 3, 4, 5];\n\t\t\t}\n\t\t\tneededButtons.forEach(function(neededButon) {\n\t\t\t\ttableButtons[neededButon]['options']['target'] = 'col';\n\t\t\t\ttableButtons[neededButon]['options']['setTd'] = setTd;\n\t\t\t\tbuttons.push(tableButtons[neededButon]);\n\t\t\t})\n\t\t}\n\n\t\tif (event.srcElement.classList.contains('landing-table-th-select-all'))\n\t\t{\n\t\t\tvar isSelectedAll;\n\t\t\tif (event.srcElement.classList.contains('landing-table-th-select-all-selected'))\n\t\t\t{\n\t\t\t\tisSelectedAll = true;\n\t\t\t\tvar rows = event.srcElement.parentElement.parentElement.childNodes;\n\t\t\t\trows.forEach(function(row) {\n\t\t\t\t\trow.childNodes.forEach(function(th) {\n\t\t\t\t\t\tsetTd.push(th);\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tneededButtons = [0, 1, 2, 3, 4, 5, 8, 9, 10];\n\t\t\t\tneededButtons.forEach(function(neededButon) {\n\t\t\t\t\ttableButtons[neededButon]['options']['target'] = 'table';\n\t\t\t\t\ttableButtons[neededButon]['options']['setTd'] = setTd;\n\t\t\t\t\tbuttons.push(tableButtons[neededButon]);\n\t\t\t\t})\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tisSelectedAll = false;\n\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t\t}\n\t\t}\n\n\t\tif (event.srcElement.classList.contains('landing-table-td'))\n\t\t{\n\t\t\tsetTd.push(event.srcElement);\n\t\t\tneededButtons = [3, 2, 1, 0];\n\t\t\tneededButtons.forEach(function(neededButon) {\n\t\t\t\ttableButtons[neededButon]['options']['target'] = 'cell';\n\t\t\t\ttableButtons[neededButon]['options']['setTd'] = setTd;\n\t\t\t\ttableButtons[neededButon].insertAfter = 'strikeThrough';\n\t\t\t\tbuttons.push(tableButtons[neededButon]);\n\t\t\t})\n\t\t\tisCell = true;\n\t\t\thideButtons = ['justifyLeft', 'justifyCenter', 'justifyRight', 'justifyFull', 'createTable', 'pasteTable'];\n\t\t}\n\n\t\tvar activeAlignButtonId;\n\t\tvar setActiveAlignButtonId = [];\n\t\tsetTd.forEach(function(th) {\n\t\t\tif (th.nodeType === 1)\n\t\t\t{\n\t\t\t\tactiveAlignButtonId = undefined;\n\t\t\t\tif (th.classList.contains('text-left'))\n\t\t\t\t{\n\t\t\t\t\tactiveAlignButtonId = 'alignLeft';\n\t\t\t\t}\n\t\t\t\tif (th.classList.contains('text-center'))\n\t\t\t\t{\n\t\t\t\t\tactiveAlignButtonId = 'alignCenter';\n\t\t\t\t}\n\t\t\t\tif (th.classList.contains('text-right'))\n\t\t\t\t{\n\t\t\t\t\tactiveAlignButtonId = 'alignRight';\n\t\t\t\t}\n\t\t\t\tif (th.classList.contains('text-justify'))\n\t\t\t\t{\n\t\t\t\t\tactiveAlignButtonId = 'alignJustify';\n\t\t\t\t}\n\t\t\t\tsetActiveAlignButtonId.push(activeAlignButtonId);\n\t\t\t}\n\t\t})\n\t\tvar count = 0;\n\t\tvar isIdentical = true;\n\t\twhile (count < setActiveAlignButtonId.length && isIdentical) {\n\t\t\tif (count > 0)\n\t\t\t{\n\t\t\t\tif (setActiveAlignButtonId[count] !== setActiveAlignButtonId[count - 1])\n\t\t\t\t{\n\t\t\t\t\tisIdentical = false;\n\t\t\t\t}\n\t\t\t}\n\t\t\tcount++;\n\t\t}\n\t\tif (isIdentical)\n\t\t{\n\t\t\tactiveAlignButtonId = setActiveAlignButtonId[0];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tactiveAlignButtonId = undefined;\n\t\t}\n\t\tif (activeAlignButtonId)\n\t\t{\n\t\t\ttableAlignButtons.forEach(function(tableAlignButton) {\n\t\t\t\tif (tableAlignButton.id === activeAlignButtonId)\n\t\t\t\t{\n\t\t\t\t\ttableAlignButton.layout.classList.add('landing-ui-active');\n\t\t\t\t}\n\t\t\t})\n\t\t}\n\n\t\tif (buttons[0] && buttons[1] && buttons[2] && buttons[3])\n\t\t{\n\t\t\tbuttons[0]['options']['alignButtons'] = tableAlignButtons;\n\t\t\tbuttons[1]['options']['alignButtons'] = tableAlignButtons;\n\t\t\tbuttons[2]['options']['alignButtons'] = tableAlignButtons;\n\t\t\tbuttons[3]['options']['alignButtons'] = tableAlignButtons;\n\t\t}\n\n\t\tif (!this.manifest.textOnly)\n\t\t{\n\t\t\tif (isNeedTablePanel)\n\t\t\t{\n\t\t\t\tif (!isButtonAddRow && !isButtonAddCol && table)\n\t\t\t\t{\n\t\t\t\t\tif (!isCell)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (isSelectedAll === false)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\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\tBX.Landing.UI.Panel.EditorPanel.getInstance().show(table.parentNode, null, buttons, true);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisSelectedAll = true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().show(table.parentNode, null, buttons, true, hideButtons);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Gets change tag button\n\t * @return {BX.Landing.UI.Button.ChangeTag}\n\t */\n\tgetChangeTagButton()\n\t{\n\t\tif (!this.changeTagButton)\n\t\t{\n\t\t\tthis.changeTagButton = new BX.Landing.UI.Button.ChangeTag(\"changeTag\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-\"+this.node.nodeName.toLowerCase()+\"\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_CHANGE_TAG\")},\n\t\t\t\tonChange: this.onChangeTag.bind(this)\n\t\t\t});\n\t\t}\n\n\t\tthis.changeTagButton.insertAfter = \"unlink\";\n\n\t\tthis.changeTagButton.activateItem(this.node.nodeName);\n\n\t\treturn this.changeTagButton;\n\t}\n\n\tgetTableButtons()\n\t{\n\t\tthis.buttons = [];\n\t\tthis.buttons.push(\n\t\t\tnew BX.Landing.UI.Button.AlignTable(\"alignLeft\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-left\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_ALIGN_LEFT\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.AlignTable(\"alignCenter\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-center\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_ALIGN_CENTER\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.AlignTable(\"alignRight\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-right\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_ALIGN_RIGHT\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.AlignTable(\"alignJustify\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-justify\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_ALIGN_JUSTIFY\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.ColorAction(\"tableTextColor\", {\n\t\t\t\ttext: BX.Landing.Loc.getMessage(\"EDITOR_ACTION_SET_FORE_COLOR\"),\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_COLOR\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.ColorAction(\"tableBgColor\", {\n\t\t\t\thtml: \"<i class=\\\"landing-ui-icon-editor-fill-color\\\"></i>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_TABLE_CELL_BG\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.DeleteElementTable(\"deleteRow\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-delete\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_DELETE_ROW_TABLE\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.DeleteElementTable(\"deleteCol\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-delete\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_DELETE_COL_TABLE\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.StyleTable(\"styleTable\", {\n\t\t\t\thtml: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_TABLE_STYLE\")\n\t\t\t\t\t+ \"<i class=\\\"fas fa-chevron-down g-ml-8\\\"></i>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_TABLE_STYLE\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.CopyTable(\"copyTable\", {\n\t\t\t\ttext: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_TABLE_COPY\"),\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_TABLE_COPY\")},\n\t\t\t}),\n\t\t\tnew BX.Landing.UI.Button.DeleteTable(\"deleteTable\", {\n\t\t\t\thtml: \"<span class=\\\"landing-ui-icon-editor-delete\\\"></span>\",\n\t\t\t\tattrs: {title: BX.Landing.Loc.getMessage(\"LANDING_TITLE_OF_EDITOR_ACTION_TABLE_DELETE\")},\n\t\t\t})\n\t\t);\n\t\treturn this.buttons;\n\t}\n\n\t/**\n\t * Handles change tag event\n\t * @param value\n\t */\n\tonChangeTag(value)\n\t{\n\t\tthis.node = this.changeTagName(this.node, value);\n\n\t\tthis.node.addEventListener(\"mousedown\", this.onMousedown);\n\t\tthis.node.addEventListener(\"click\", this.onClick);\n\t\tthis.node.addEventListener(\"paste\", this.onPaste);\n\t\tthis.node.addEventListener(\"drop\", this.onDrop);\n\t\tthis.node.addEventListener(\"input\", this.onInput);\n\t\tthis.node.addEventListener(\"keydown\", this.onInput);\n\n\t\tif (!this.getField().isEditable())\n\t\t{\n\t\t\tthis.disableEdit();\n\t\t\tthis.enableEdit();\n\t\t}\n\n\t\tvar data = {};\n\t\tdata[this.selector] = value;\n\t\tthis.changeOptionsHandler(data);\n\t}\n\n\tgetAmountTableCols(table)\n\t{\n\t\treturn table.querySelectorAll('.landing-table-col-dnd').length;\n\t}\n\n\tgetAmountTableRows(table)\n\t{\n\t\treturn table.querySelectorAll('.landing-table-row-dnd').length;\n\t}\n\n\tprepareTable(node)\n\t{\n\t\tvar setClassesForRemove = [\n\t\t\t'table-selected-all',\n\t\t\t'landing-table-th-select-all-selected',\n\t\t\t'landing-table-cell-selected',\n\t\t\t'landing-table-row-selected',\n\t\t\t'landing-table-th-selected',\n\t\t\t'landing-table-th-selected-cell',\n\t\t\t'landing-table-th-selected-top',\n\t\t\t'landing-table-th-selected-x',\n\t\t\t'landing-table-tr-selected-left',\n\t\t\t'landing-table-tr-selected-y',\n\t\t\t'landing-table-col-selected',\n\t\t\t'landing-table-tr-selected',\n\t\t\t'table-selected-all-right',\n\t\t\t'table-selected-all-bottom',\n\t\t];\n\t\tsetClassesForRemove.forEach(function(className) {\n\t\t\tnode.querySelectorAll('.' + className).forEach(function(element){\n\t\t\t\telement.classList.remove(className);\n\t\t\t})\n\t\t})\n\t\treturn node;\n\t}\n\n\tonBackspaceDown()\n\t{\n\t\tvar selection = window.getSelection();\n\t\tvar position = selection.getRangeAt(0).startOffset;\n\t\tif (position === 0)\n\t\t{\n\t\t\tvar focusNode = selection.focusNode;\n\t\t\tif (!BX.Type.isNil(focusNode) && focusNode.nodeType !== 3)\n\t\t\t{\n\t\t\t\tif (focusNode.firstChild.nodeType === 3 && focusNode.firstChild.firstChild.nodeType === 3)\n\t\t\t\t{\n\t\t\t\t\tfocusNode = focusNode.firstChild.firstChild;\n\t\t\t\t}\n\t\t\t\telse if (focusNode.firstChild.nodeType !== 3)\n\t\t\t\t{\n\t\t\t\t\tfocusNode = focusNode.firstChild;\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tfocusNode = null;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (focusNode)\n\t\t\t{\n\t\t\t\tvar focusNodeParent = focusNode.parentNode;\n\t\t\t\tvar allowedNodeName = ['BLOCKQUOTE', 'UL'];\n\t\t\t\tif (focusNodeParent && allowedNodeName.includes(focusNodeParent.nodeName))\n\t\t\t\t{\n\t\t\t\t\tvar focusNodeContainer = document.createElement('div');\n\t\t\t\t\tfocusNodeContainer.append(focusNode);\n\t\t\t\t\tfocusNodeParent.append(focusNodeContainer);\n\t\t\t\t}\n\t\t\t\tvar contentNode = focusNode.parentNode.parentNode;\n\t\t\t\twhile (contentNode && !allowedNodeName.includes(contentNode.nodeName))\n\t\t\t\t{\n\t\t\t\t\tcontentNode = contentNode.parentNode;\n\t\t\t\t}\n\t\t\t\tif (contentNode && contentNode.childNodes.length === 1)\n\t\t\t\t{\n\t\t\t\t\tcontentNode.after(focusNode.parentNode);\n\t\t\t\t\tcontentNode.remove();\n\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}"],"names":["Text","Node","constructor","escapeText","BX","Landing","Utils","headerTagMatcher","Matchers","headerTag","changeTagName","textToPlaceholders","Runtime","loadExtension","Block","apply","arguments","type","tableBaseFontSize","onClick","bind","onPaste","onDrop","onInput","onKeyDown","onMousedown","onMouseup","node","addEventListener","document","onAllowInlineEdit","setAttribute","Loc","getMessage","onChange","preventAdjustPosition","preventHistory","superClass","call","UI","Panel","EditorPanel","getInstance","adjustPosition","History","push","event","code","onBackspaceDown","clearTimeout","inputTimeout","key","keyCode","which","top","window","navigator","userAgent","match","ctrlKey","metaKey","setTimeout","lastValue","getValue","isTable","tableFontSize","parseInt","getComputedStyle","srcElement","getPropertyValue","textContent","classList","contains","add","remove","onEscapePress","isEditable","currentNode","hide","disableEdit","preventDefault","clipboardData","getData","sourceText","encodedText","encode","formattedHtml","replace","RegExp","execCommand","text","onDocumentClick","fromNode","manifest","group","allowInlineEdit","Main","isControlsEnabled","stopPropagation","enableEdit","querySelectorAll","forEach","table","hasAttribute","prototype","prepareNewTable","textOnly","StylePanel","isShown","show","buttons","nodeTableContainerList","tableContainer","tableEditor","unselect","Tool","ColorPicker","hideAll","Button","FontAction","requestAnimationFrame","target","nodeName","parentElement","range","createRange","selectNode","getSelection","removeAllRanges","addRange","addTableButtons","isContentEditable","length","nodeTableContainer","TableEditor","default","getDesignButton","isHeader","getChangeTagButton","onChangeHandler","onChangeTag","contentEditable","designButton","Design","html","attrs","title","onDesignShow","isAllowInlineEdit","getField","field","Field","selector","name","content","innerHTML","changeTagButton","setValue","value","preventSave","isSavePrevented","querySelector","cloneNode","prepareTable","test","nodeIsTable","tdTag","neededButtons","setTd","tableButtons","getTableButtons","tableAlignButtons","isCell","isButtonAddRow","isButtonAddCol","isNeedTablePanel","hideButtons","nodeTableList","nodeTable","tableButton","parentNode","children","Array","from","getAmountTableRows","neededButon","childNodes","childNodesArray","childNodesArrayPrepare","childNode","nodeType","neededPosition","indexOf","rows","row","rowChildPrepare","rowChildNode","getAmountTableCols","isSelectedAll","th","insertAfter","activeAlignButtonId","setActiveAlignButtonId","undefined","count","isIdentical","tableAlignButton","id","layout","ChangeTag","toLowerCase","activateItem","AlignTable","ColorAction","DeleteElementTable","StyleTable","CopyTable","DeleteTable","data","changeOptionsHandler","setClassesForRemove","className","element","selection","position","getRangeAt","startOffset","focusNode","Type","isNil","firstChild","focusNodeParent","allowedNodeName","includes","focusNodeContainer","createElement","append","contentNode","after"],"mappings":"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"}