Your IP : 108.162.216.192


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

{"version":3,"file":"main.bundle.js","sources":["../src/internal/has-block.js","../src/internal/has-create-button.js","../src/internal/on-animation-end.js","../src/internal/is-empty.js","../src/main.js"],"sourcesContent":["/**\n * Checks that element contains block\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport default function hasBlock(element: HTMLElement): boolean\n{\n\treturn !!element && !!element.querySelector('.block-wrapper');\n}","/**\n * Checks that element contains \"Add new Block\" button\n * @param {HTMLElement} element\n * @return {boolean}\n */\nexport default function hasCreateButton(element: HTMLElement): boolean\n{\n\treturn !!element && !!element.querySelector('button[data-id=\"insert_first_block\"]');\n}","import {Event} from 'main.core';\n\nexport default function onAnimationEnd(element: HTMLElement, animationName: string)\n{\n\treturn new Promise(((resolve) => {\n\t\tconst onAnimationEndListener = (event) => {\n\t\t\tif (!animationName || (event.animationName === animationName))\n\t\t\t{\n\t\t\t\tresolve(event);\n\t\t\t\tEvent.bind(element, 'animationend', onAnimationEndListener);\n\t\t\t}\n\t\t};\n\n\t\tEvent.bind(element, 'animationend', onAnimationEndListener);\n\t}));\n}","import {Type} from 'main.core';\n\nexport default function isEmpty(value): boolean\n{\n\tif (Type.isNil(value))\n\t{\n\t\treturn true;\n\t}\n\n\tif (Type.isArrayLike(value))\n\t{\n\t\treturn !value.length;\n\t}\n\n\tif (Type.isObject(value))\n\t{\n\t\treturn Object.keys(value).length <= 0;\n\t}\n\n\treturn true;\n}","import {Type, Dom, Cache, Tag, Text, Runtime} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {Env} from 'landing.env';\nimport {Loc} from 'landing.loc';\nimport {Content} from 'landing.ui.panel.content';\nimport {SaveBlock} from 'landing.ui.panel.saveblock';\nimport {SliderHacks} from 'landing.sliderhacks';\nimport {PageObject} from 'landing.pageobject';\nimport hasBlock from './internal/has-block';\nimport hasCreateButton from './internal/has-create-button';\nimport onAnimationEnd from './internal/on-animation-end';\nimport isEmpty from './internal/is-empty';\nimport {Backend} from 'landing.backend';\n\nBX.Landing.getMode = () => 'edit';\n\n/**\n * @memberOf BX.Landing\n */\nexport class Main extends EventEmitter\n{\n\tstatic TYPE_PAGE = 'PAGE';\n\tstatic TYPE_STORE = 'STORE';\n\tstatic TYPE_KNOWLEDGE = 'KNOWLEDGE';\n\tstatic TYPE_GROUP = 'GROUP';\n\n\tstatic getMode()\n\t{\n\t\treturn 'edit';\n\t}\n\n\tstatic createInstance(id: number)\n\t{\n\t\tconst rootWindow = BX.Landing.PageObject.getRootWindow();\n\t\trootWindow.BX.Landing.Main.instance = new BX.Landing.Main(id);\n\t}\n\n\tstatic getInstance(): Main\n\t{\n\t\tconst rootWindow = BX.Landing.PageObject.getRootWindow();\n\t\trootWindow.BX.Reflection.namespace('BX.Landing.Main');\n\t\tif (rootWindow.BX.Landing.Main.instance)\n\t\t{\n\t\t\treturn rootWindow.BX.Landing.Main.instance;\n\t\t}\n\n\t\trootWindow.BX.Landing.Main.instance = new Main(-1);\n\n\t\treturn rootWindow.BX.Landing.Main.instance;\n\t}\n\n\tconstructor(id: number)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.Main');\n\n\t\tconst options = Env.getInstance().getOptions();\n\n\t\tthis.id = id;\n\t\tthis.options = Object.freeze(options);\n\t\tthis.blocks = this.options.blocks;\n\t\tthis.currentBlock = null;\n\t\tthis.isDesignBlockModeFlag = this.options[\"design_block\"] === true;\n\t\tthis.loadedDeps = {};\n\t\tthis.cache = new Cache.MemoryCache();\n\n\t\tthis.onSliderFormLoaded = this.onSliderFormLoaded.bind(this);\n\t\tthis.onBlockDelete = this.onBlockDelete.bind(this);\n\n\t\tBX.addCustomEvent('Landing.Block:onAfterDelete', this.onBlockDelete);\n\n\t\tthis.adjustEmptyAreas();\n\n\t\tBX.Landing.UI.Panel.StatusPanel.setLastModified(options.lastModified);\n\t\tif (!this.isDesignBlockModeFlag)\n\t\t{\n\t\t\tBX.Landing.UI.Panel.StatusPanel.getInstance().show();\n\t\t}\n\n\t\tconst pageType = Env.getInstance().getType();\n\t\tif (\n\t\t\tpageType === Main.TYPE_KNOWLEDGE\n\t\t\t|| pageType === Main.TYPE_GROUP\n\t\t)\n\t\t{\n\t\t\tconst mainArea = document.querySelector('.landing-main');\n\t\t\tif (Type.isDomNode(mainArea))\n\t\t\t{\n\t\t\t\tDom.addClass(mainArea, 'landing-ui-collapse');\n\t\t\t}\n\t\t}\n\t}\n\n\tisCrmFormPage(): boolean\n\t{\n\t\treturn Env.getInstance().getOptions().specialType === 'crm_forms';\n\t}\n\n\tisDesignBlockMode()\n\t{\n\t\treturn this.isDesignBlockModeFlag;\n\t}\n\n\tgetSaveBlockPanel(): Content\n\t{\n\t\tconst panel = new SaveBlock('save_block_panel', {block: this.currentBlock});\n\t\tpanel.layout.hidden = true;\n\t\tpanel.content.hidden = false;\n\t\tDom.append(panel.layout, document.body);\n\n\t\treturn panel;\n\t}\n\n\tgetBlocksPanel(): Content\n\t{\n\t\treturn this.cache.remember('blockPanel', () => {\n\t\t\tconst blocksPanel = this.createBlocksPanel();\n\t\t\tsetTimeout(() => {\n\t\t\t\tif (blocksPanel.sidebarButtons.get(this.options.default_section))\n\t\t\t\t{\n\t\t\t\t\tblocksPanel.sidebarButtons.get(this.options.default_section).layout.click();\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\t[...blocksPanel.sidebarButtons][0].layout.click();\n\t\t\t\t}\n\t\t\t});\n\t\t\tblocksPanel.layout.hidden = true;\n\t\t\tblocksPanel.content.hidden = false;\n\t\t\tDom.append(blocksPanel.layout, document.body);\n\n\t\t\treturn blocksPanel;\n\t\t});\n\t}\n\n\thideBlocksPanel()\n\t{\n\t\tif (this.getBlocksPanel())\n\t\t{\n\t\t\treturn this.getBlocksPanel().hide();\n\t\t}\n\n\t\treturn Promise.resolve();\n\t}\n\n\tgetLayoutAreas(): Array<HTMLElement>\n\t{\n\t\treturn this.cache.remember('layoutAreas', () => {\n\t\t\treturn [\n\t\t\t\t...document.body.querySelectorAll('.landing-header'),\n\t\t\t\t...document.body.querySelectorAll('.landing-sidebar'),\n\t\t\t\t...document.body.querySelectorAll('.landing-main'),\n\t\t\t\t...document.body.querySelectorAll('.landing-footer'),\n\t\t\t];\n\t\t});\n\t}\n\n\t/**\n\t * Creates insert block button\n\t * @param {HTMLElement} area\n\t * @return {BX.Landing.UI.Button.Plus}\n\t */\n\tcreateInsertBlockButton(area: HTMLElement)\n\t{\n\t\tconst button = new BX.Landing.UI.Button.Plus('insert_first_block', {\n\t\t\ttext: Loc.getMessage('ACTION_BUTTON_CREATE'),\n\t\t});\n\n\t\tbutton.on('click', this.showBlocksPanel.bind(this, null, area, button));\n\t\tbutton.on('mouseover', this.onCreateButtonMouseover.bind(this, area, button));\n\t\tbutton.on('mouseout', this.onCreateButtonMouseout.bind(this, area, button));\n\n\t\treturn button;\n\t}\n\n\tonCreateButtonMouseover(area: HTMLElement, button)\n\t{\n\t\tif (\n\t\t\tDom.hasClass(area, 'landing-header')\n\t\t\t|| Dom.hasClass(area, 'landing-footer')\n\t\t)\n\t\t{\n\t\t\tconst areas = this.getLayoutAreas();\n\n\t\t\tif (areas.length > 1)\n\t\t\t{\n\t\t\t\tconst createText = Loc.getMessage('ACTION_BUTTON_CREATE');\n\n\t\t\t\tif (Dom.hasClass(area, 'landing-main'))\n\t\t\t\t{\n\t\t\t\t\tbutton.setText(\n\t\t\t\t\t\t`${createText} ${Loc.getMessage('LANDING_ADD_BLOCK_TO_MAIN')}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (Dom.hasClass(area, 'landing-header'))\n\t\t\t\t{\n\t\t\t\t\tbutton.setText(\n\t\t\t\t\t\t`${createText} ${Loc.getMessage('LANDING_ADD_BLOCK_TO_HEADER')}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (Dom.hasClass(area, 'landing-sidebar'))\n\t\t\t\t{\n\t\t\t\t\tbutton.setText(\n\t\t\t\t\t\t`${createText} ${Loc.getMessage('LANDING_ADD_BLOCK_TO_SIDEBAR')}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (Dom.hasClass(area, 'landing-footer'))\n\t\t\t\t{\n\t\t\t\t\tbutton.setText(\n\t\t\t\t\t\t`${createText} ${Loc.getMessage('LANDING_ADD_BLOCK_TO_FOOTER')}`,\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tclearTimeout(this.fadeTimeout);\n\t\t\t\tthis.fadeTimeout = setTimeout(() => {\n\t\t\t\t\tDom.addClass(area, 'landing-area-highlight');\n\n\t\t\t\t\tareas\n\t\t\t\t\t\t.filter((currentArea) => currentArea !== area)\n\t\t\t\t\t\t.forEach((currentArea) => {\n\t\t\t\t\t\t\tDom.addClass(currentArea, 'landing-area-fade');\n\t\t\t\t\t\t});\n\t\t\t\t}, 400);\n\t\t\t}\n\t\t}\n\t}\n\n\tonCreateButtonMouseout(area, button)\n\t{\n\t\tclearTimeout(this.fadeTimeout);\n\n\t\tif (Dom.hasClass(area, 'landing-header')\n\t\t\t|| Dom.hasClass(area, 'landing-footer'))\n\t\t{\n\t\t\tconst areas = this.getLayoutAreas();\n\n\t\t\tif (areas.length > 1)\n\t\t\t{\n\t\t\t\tbutton.setText(Loc.getMessage('ACTION_BUTTON_CREATE'));\n\t\t\t\tareas.forEach((currentArea) => {\n\t\t\t\t\tDom.removeClass(currentArea, 'landing-area-highlight');\n\t\t\t\t\tDom.removeClass(currentArea, 'landing-area-fade');\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tinitEmptyArea(area: HTMLElement)\n\t{\n\t\tif (area)\n\t\t{\n\t\t\tarea.innerHTML = '';\n\t\t\tDom.append(this.createInsertBlockButton(area).layout, area);\n\t\t\tDom.addClass(area, 'landing-empty');\n\t\t}\n\t}\n\n\n\t// eslint-disable-next-line class-methods-use-this\n\tdestroyEmptyArea(area: HTMLElement)\n\t{\n\t\tif (area)\n\t\t{\n\t\t\tconst button = area.querySelector('button[data-id=\"insert_first_block\"]');\n\n\t\t\tif (button)\n\t\t\t{\n\t\t\t\tDom.remove(button);\n\t\t\t}\n\n\t\t\tDom.removeClass(area, 'landing-empty');\n\t\t}\n\t}\n\n\n\t/**\n\t * Adjusts areas\n\t */\n\tadjustEmptyAreas()\n\t{\n\t\tthis.getLayoutAreas()\n\t\t\t.filter((area) => {\n\t\t\t\treturn hasBlock(area) && hasCreateButton(area);\n\t\t\t})\n\t\t\t.forEach(this.destroyEmptyArea, this);\n\n\t\tthis.getLayoutAreas()\n\t\t\t.filter((area) => {\n\t\t\t\treturn !hasBlock(area) && !hasCreateButton(area);\n\t\t\t})\n\t\t\t.forEach(this.initEmptyArea, this);\n\n\t\tconst main = document.body.querySelector('main.landing-edit-mode');\n\t\tconst isAllEmpty = !this.getLayoutAreas().some(hasBlock);\n\n\t\tif (main)\n\t\t{\n\t\t\tif (isAllEmpty)\n\t\t\t{\n\t\t\t\tDom.addClass(main, 'landing-empty');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tDom.removeClass(main, 'landing-empty');\n\t\t}\n\t}\n\n\n\t/**\n\t * Enables landing controls\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tenableControls()\n\t{\n\t\tDom.removeClass(document.body, 'landing-ui-hide-controls');\n\t}\n\n\n\t/**\n\t * Disables landing controls\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tdisableControls()\n\t{\n\t\tDom.addClass(document.body, 'landing-ui-hide-controls');\n\t}\n\n\n\t/**\n\t * Checks that landing controls is enabled\n\t * @return {boolean}\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tisControlsEnabled()\n\t{\n\t\treturn !Dom.hasClass(document.body, 'landing-ui-hide-controls');\n\t}\n\n\t/**\n\t * Set BX classes to mark this landing frame as mobile (touch) device\n\t */\n\tsetTouchDevice()\n\t{\n\t\tDom.removeClass(document.documentElement, 'bx-no-touch');\n\t\tDom.addClass(document.documentElement, 'bx-touch');\n\t}\n\n\t/**\n\t * Set BX classes to mark this landing frame as desktop (no touch) device\n\t */\n\tsetNoTouchDevice()\n\t{\n\t\tDom.removeClass(document.documentElement, 'bx-touch');\n\t\tDom.addClass(document.documentElement, 'bx-no-touch');\n\t}\n\n\n\t/**\n\t * Appends block\n\t * @param {addBlockResponse} data\n\t * @param {boolean} [withoutAnimation]\n\t * @returns {HTMLElement}\n\t */\n\tappendBlock(data, withoutAnimation)\n\t{\n\t\tconst block = Tag.render`${data.content}`;\n\t\tblock.id = `block${data.id}`;\n\n\t\tif (!withoutAnimation)\n\t\t{\n\t\t\tDom.addClass(block, 'landing-ui-show');\n\t\t\tonAnimationEnd(block, 'showBlock').then(() => {\n\t\t\t\tDom.removeClass(block, 'landing-ui-show');\n\t\t\t});\n\t\t}\n\n\t\tthis.insertToBlocksFlow(block);\n\n\t\treturn block;\n\t}\n\n\n\t/**\n\t * Shows blocks list panel\n\t * @param {BX.Landing.Block} block\n\t * @param {HTMLElement} [area]\n\t * @param [button]\n\t * @param [insertBefore]\n\t */\n\tshowBlocksPanel(block, area, button, insertBefore)\n\t{\n\t\tthis.currentBlock = block;\n\t\tthis.currentArea = area;\n\t\tthis.insertBefore = insertBefore;\n\n\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\n\t\tif (this.isCrmFormPage())\n\t\t{\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\tDom.append(this.getBlocksPanel().layout, rootWindow.document.body);\n\t\t\tDom.append(this.getBlocksPanel().overlay, rootWindow.document.body);\n\t\t}\n\n\t\tthis.getBlocksPanel().show();\n\t\tthis.disableAddBlockButtons();\n\n\t\tif (!!area && !!button)\n\t\t{\n\t\t\tthis.onCreateButtonMouseout(area, button);\n\t\t}\n\t}\n\n\tshowSaveBlock(block)\n\t{\n\t\tthis.currentBlock = block;\n\t\tthis.getSaveBlockPanel().show();\n\t}\n\n\tdisableAddBlockButtons()\n\t{\n\t\tPageObject.getBlocks().forEach((block) => {\n\t\t\tconst panel = block.panels.get('create_action');\n\t\t\tif (panel)\n\t\t\t{\n\t\t\t\tconst button = panel.buttons.get('insert_after');\n\t\t\t\tif (button)\n\t\t\t\t{\n\t\t\t\t\tbutton.disable();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tenableAddBlockButtons()\n\t{\n\t\tPageObject.getBlocks().forEach((block) => {\n\t\t\tconst panel = block.panels.get('create_action');\n\t\t\tif (panel)\n\t\t\t{\n\t\t\t\tconst button = panel.buttons.get('insert_after');\n\t\t\t\tif (button)\n\t\t\t\t{\n\t\t\t\t\tbutton.enable();\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Creates blocks list panel\n\t * @returns {BX.Landing.UI.Panel.Content}\n\t */\n\tcreateBlocksPanel()\n\t{\n\t\tconst {blocks} = this.options;\n\t\tconst categories = Object.keys(blocks);\n\n\t\tconst panel = new Content('blocks_panel', {\n\t\t\ttitle: Loc.getMessage('LANDING_CONTENT_BLOCKS_TITLE'),\n\t\t\tclassName: 'landing-ui-panel-block-list',\n\t\t\tscrollAnimation: true,\n\t\t});\n\n\t\tpanel.subscribe('onCancel', () => {\n\t\t\tthis.enableAddBlockButtons();\n\t\t});\n\n\t\tcategories.forEach((categoryId) => {\n\t\t\tconst hasItems = !isEmpty(blocks[categoryId].items);\n\t\t\tconst isPopular = categoryId === 'popular';\n\t\t\tconst isSeparator = blocks[categoryId].separator;\n\n\t\t\tif ((hasItems && !isPopular) || isSeparator)\n\t\t\t{\n\t\t\t\tpanel.appendSidebarButton(\n\t\t\t\t\tthis.createBlockPanelSidebarButton(categoryId, blocks[categoryId]),\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\n\t\tpanel.appendSidebarButton(\n\t\t\tnew BX.Landing.UI.Button.SidebarButton('feedback_button', {\n\t\t\t\tclassName: 'landing-ui-button-sidebar-feedback',\n\t\t\t\ttext: Loc.getMessage('LANDING_BLOCKS_LIST_FEEDBACK_BUTTON'),\n\t\t\t\tonClick: this.showFeedbackForm.bind(this),\n\t\t\t}),\n\t\t);\n\n\t\treturn panel;\n\t}\n\n\n\t/**\n\t * Shows feedback form\n\t * @param data\n\t */\n\tshowSliderFeedbackForm(data = {})\n\t{\n\t\tRuntime.loadExtension('ui.feedback.form').then(() => {\n\t\t\tconst data = {};\n\t\t\tdata.bitrix24 = this.options.server_name;\n\t\t\tdata.siteId = this.options.site_id;\n\t\t\tdata.siteUrl = this.options.url;\n\t\t\tdata.siteTemplate = this.options.xml_id;\n\t\t\tdata.productType = this.options.productType || 'Undefined';\n\t\t\tdata.typeproduct = (() =>\n\t\t\t{\n\t\t\t\tif (this.options.params.type === Main.TYPE_GROUP)\n\t\t\t\t{\n\t\t\t\t\treturn 'KNOWLEDGE_GROUP';\n\t\t\t\t}\n\n\t\t\t\treturn this.options.params.type;\n\t\t\t})();\n\n\t\t\tBX.UI.Feedback.Form.open(\n\t\t\t\t{\n\t\t\t\t\tid: Math.random()+'',\n\t\t\t\t\tforms: this.getFeedbackFormOptions(),\n\t\t\t\t\tpresets: data,\n\t\t\t\t}\n\t\t\t);\n\t\t});\n\n\t}\n\n\n\t/**\n\t * Gets feedback form options\n\t * @return {{id: string, sec: string, lang: string}}\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tgetFeedbackFormOptions()\n\t{\n\t\treturn [\n\t\t\t{zones: ['en', 'eu', 'in', 'uk'], id: 16, lang: 'en', sec: '3h483y'},\n\t\t\t{zones: ['ru', 'by', 'kz'], id: 8, lang: 'ru', sec: 'x80yjw'},\n\t\t\t{zones: ['ua'], id: 18, lang: 'ua', sec: 'd9e09o'},\n\t\t\t{zones: ['la', 'co', 'mx'], id: 14, lang: 'la', sec: 'wu561i'},\n\t\t\t{zones: ['de'], id: 10, lang: 'de', sec: 'eraz2q'},\n\t\t\t{zones: ['com.br', 'br'], id: 12, lang: 'br', sec: 'r6wvge'},\n\t\t];\n\t}\n\n\n\t/**\n\t * Handles feedback loaded event\n\t */\n\tonSliderFormLoaded()\n\t{\n\t\tthis.sliderFormLoader.hide();\n\t}\n\n\n\t/**\n\t * Shows feedback form for blocks list panel\n\t */\n\tshowFeedbackForm()\n\t{\n\t\tthis.showSliderFeedbackForm({target: 'blocksList'});\n\t}\n\n\n\t/**\n\t * Initialises feedback form\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tinitFeedbackForm()\n\t{\n\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t((w, d, u, b) => {\n\t\t\tw.Bitrix24FormObject = b; w[b] = w[b] || function() {\n\t\t\t\t// eslint-disable-next-line prefer-rest-params\n\t\t\t\targuments[0].ref = u;\n\t\t\t\t// eslint-disable-next-line prefer-rest-params\n\t\t\t\t(w[b].forms = w[b].forms || []).push(arguments[0]);\n\t\t\t};\n\t\t\tif (w[b].forms) return;\n\t\t\tconst s = d.createElement('script');\n\t\t\tconst r = 1 * new Date(); s.async = 1; s.src = `${u}?${r}`;\n\t\t\tconst h = d.getElementsByTagName('script')[0]; h.parentNode.insertBefore(s, h);\n\t\t})(rootWindow, rootWindow.document, 'https://product-feedback.bitrix24.com/bitrix/js/crm/form_loader.js', 'b24formFeedBack');\n\t}\n\n\n\t/**\n\t * Creates blocks list panel sidebar button\n\t * @param {string} category\n\t * @param {object} options\n\t * @returns {BX.Landing.UI.Button.SidebarButton}\n\t */\n\tcreateBlockPanelSidebarButton(category, options)\n\t{\n\t\treturn new BX.Landing.UI.Button.SidebarButton(category, {\n\t\t\ttext: options.name,\n\t\t\tchild: !options.separator,\n\t\t\tclassName: options.new ? 'landing-ui-new-section' : '',\n\t\t\tonClick: this.onBlocksListCategoryChange.bind(this, category),\n\t\t});\n\t}\n\n\t/**\n\t * Adds dynamically new block to the category.\n\t * @param {string} category Category code.\n\t * @param {{code: string, name: string, preview: string, section: Array<string>}} block Block data.\n\t */\n\taddNewBlockToCategory(category, block)\n\t{\n\t\tif (this.blocks[category])\n\t\t{\n\t\t\tconst blockCode = block['codeOriginal'] || block['code'];\n\t\t\tif (category === 'last')\n\t\t\t{\n\t\t\t\tif (!this.lastBlocks)\n\t\t\t\t{\n\t\t\t\t\tthis.lastBlocks = Object.keys(this.blocks.last.items);\n\t\t\t\t}\n\t\t\t\tthis.lastBlocks.unshift(blockCode);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.blocks[category].items[blockCode] = block;\n\t\t\t}\n\t\t\tthis.onBlocksListCategoryChange(category);\n\t\t}\n\t}\n\n\tremoveBlockFromList(blockCode: string)\n\t{\n\t\tlet removed = false;\n\t\tfor (let category in this.blocks)\n\t\t{\n\t\t\tif (this.blocks[category].items[blockCode] !== undefined)\n\t\t\t{\n\t\t\t\tdelete this.blocks[category].items[blockCode];\n\t\t\t\tremoved = true;\n\t\t\t}\n\t\t}\n\t\tif (this.lastBlocks.indexOf(blockCode) !== -1)\n\t\t{\n\t\t\tthis.lastBlocks.splice(this.lastBlocks.indexOf(blockCode), 1);\n\t\t\tremoved = true;\n\t\t}\n\n\t\t// refresh panel\n\t\tif (removed)\n\t\t{\n\t\t\tconst activeCategoryButton = this.getBlocksPanel().sidebarButtons.find((button) => {\n\t\t\t\treturn Dom.hasClass(button.layout, 'landing-ui-active');\n\t\t\t});\n\t\t\tif (activeCategoryButton)\n\t\t\t{\n\t\t\t\tthis.onBlocksListCategoryChange(activeCategoryButton.id);\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Returns page's template code if exists.\n\t * @return {string|null}\n\t */\n\tgetTemplateCode()\n\t{\n\t\tlet { tplCode } = Env.getInstance().getOptions();\n\t\tif (tplCode.indexOf('@') > 0)\n\t\t{\n\t\t\ttplCode = tplCode.split('@')[1];\n\t\t}\n\t\tif (!tplCode || tplCode.length <= 0)\n\t\t{\n\t\t\ttplCode = null;\n\t\t}\n\t\treturn tplCode;\n\t}\n\n\n\t/**\n\t * Handles event on blocks list category change\n\t * @param {string} category - Category id\n\t */\n\tonBlocksListCategoryChange(category)\n\t{\n\t\tconst templateCode = this.getTemplateCode();\n\t\tthis.getBlocksPanel().content.hidden = false;\n\n\t\tthis.getBlocksPanel().sidebarButtons.forEach((button) => {\n\t\t\tconst action = button.id === category ? 'add' : 'remove';\n\t\t\tbutton.layout.classList[action]('landing-ui-active');\n\t\t});\n\n\t\tthis.getBlocksPanel().content.innerHTML = '';\n\n\t\tif (category === 'last')\n\t\t{\n\t\t\tif (!this.lastBlocks)\n\t\t\t{\n\t\t\t\tthis.lastBlocks = Object.keys(this.blocks.last.items);\n\t\t\t}\n\n\t\t\tthis.lastBlocks = [...new Set(this.lastBlocks)];\n\n\t\t\tthis.lastBlocks.forEach((blockKey) => {\n\t\t\t\tconst block = this.getBlockFromRepository(blockKey);\n\t\t\t\tthis.getBlocksPanel().appendCard(this.createBlockCard(blockKey, block));\n\t\t\t});\n\n\t\t\treturn;\n\t\t}\n\n\t\tObject.keys(this.blocks[category].items).forEach((blockKey) => {\n\t\t\tconst block = this.blocks[category].items[blockKey];\n\t\t\tconst blockTplCode = (block['tpl_code'] && block['tpl_code'].length > 0) ? block['tpl_code'] : null;\n\t\t\tif (\n\t\t\t\t!templateCode || !blockTplCode ||\n\t\t\t\t(blockTplCode && blockTplCode === templateCode)\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.getBlocksPanel().appendCard(this.createBlockCard(blockKey, block));\n\t\t\t}\n\t\t});\n\n\t\tif (this.getBlocksPanel().content.scrollTop)\n\t\t{\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tthis.getBlocksPanel().content.scrollTop = 0;\n\t\t\t});\n\t\t}\n\t}\n\n\t// eslint-disable-next-line consistent-return\n\tgetBlockFromRepository(code)\n\t{\n\t\tconst {blocks} = this.options;\n\t\tconst categories = Object.keys(blocks);\n\t\tconst category = categories.find((categoryId) => {\n\t\t\treturn code in blocks[categoryId].items;\n\t\t});\n\n\t\tif (category)\n\t\t{\n\t\t\treturn blocks[category].items[code];\n\t\t}\n\t}\n\n\n\t/**\n\t * Handles copy block event\n\t * @param {BX.Landing.Block} block\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tonCopyBlock(block)\n\t{\n\t\twindow.localStorage.landingBlockId = block.id;\n\t\twindow.localStorage.landingBlockName = block.manifest.block.name;\n\t\twindow.localStorage.landingBlockAction = 'copy';\n\n\t\ttry\n\t\t{\n\t\t\twindow.localStorage.requiredUserAction = JSON.stringify(\n\t\t\t\tblock.requiredUserActionOptions,\n\t\t\t);\n\t\t}\n\t\tcatch (err)\n\t\t{\n\t\t\twindow.localStorage.requiredUserAction = '';\n\t\t}\n\t}\n\n\n\t/**\n\t * Handles cut block event\n\t * @param {BX.Landing.Block} block\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tonCutBlock(block)\n\t{\n\t\twindow.localStorage.landingBlockId = block.id;\n\t\twindow.localStorage.landingBlockName = block.manifest.block.name;\n\t\twindow.localStorage.landingBlockAction = 'cut';\n\n\t\ttry\n\t\t{\n\t\t\twindow.localStorage.requiredUserAction = JSON.stringify(\n\t\t\t\tblock.requiredUserActionOptions,\n\t\t\t);\n\t\t}\n\t\tcatch (err)\n\t\t{\n\t\t\twindow.localStorage.requiredUserAction = '';\n\t\t}\n\n\t\tBX.Landing.PageObject.getBlocks().remove(block);\n\t\tDom.remove(block.node);\n\t\tBX.onCustomEvent('Landing.Block:onAfterDelete', [block]);\n\t}\n\n\n\t/**\n\t * Handles paste block event\n\t * @param {BX.Landing.Block} block\n\t */\n\tonPasteBlock(block)\n\t{\n\t\tif (window.localStorage.landingBlockId)\n\t\t{\n\t\t\tlet action = 'Landing::copyBlock';\n\n\t\t\tif (window.localStorage.landingBlockAction === 'cut')\n\t\t\t{\n\t\t\t\taction = 'Landing::moveBlock';\n\t\t\t}\n\n\t\t\tconst requestBody = {};\n\n\t\t\trequestBody[action] = {\n\t\t\t\taction,\n\t\t\t\tdata: {\n\t\t\t\t\tlid: block.lid || BX.Landing.Main.getInstance().id,\n\t\t\t\t\tblock: window.localStorage.landingBlockId,\n\t\t\t\t\tparams: {\n\t\t\t\t\t\tAFTER_ID: block.id,\n\t\t\t\t\t\tRETURN_CONTENT: 'Y',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tBX.Landing.Backend.getInstance()\n\t\t\t\t.batch(action, requestBody, {action})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tthis.currentBlock = block;\n\t\t\t\t\treturn this.addBlock(res[action].result.content);\n\t\t\t\t});\n\t\t}\n\t}\n\n\n\t/**\n\t * Adds block from server response\n\t * @param {addBlockResponse} res\n\t * @param {boolean} [withoutAnimation = false]\n\t * @param {boolean} [insertBefore = false]\n\t * @return {Promise<T>}\n\t */\n\taddBlock(res,  withoutAnimation, insertBefore = false)\n\t{\n\t\tif (this.lastBlocks)\n\t\t{\n\t\t\tthis.lastBlocks.unshift(res.manifest.codeOriginal || res.manifest.code);\n\t\t}\n\n\t\tconst self = this;\n\t\tconst block = this.appendBlock(res, withoutAnimation);\n\n\t\treturn this.loadBlockDeps(res)\n\t\t\t.then((blockRes) => {\n\t\t\t\tself.currentBlock = null;\n\t\t\t\tself.currentArea = null;\n\n\t\t\t\tconst blockId = parseInt(res.id);\n\t\t\t\tconst oldBlock = BX.Landing.PageObject.getBlocks().get(blockId);\n\n\t\t\t\tif (oldBlock)\n\t\t\t\t{\n\t\t\t\t\tDom.remove(oldBlock.node);\n\t\t\t\t\tBX.Landing.PageObject.getBlocks().remove(oldBlock);\n\t\t\t\t}\n\n\t\t\t\t// Init block entity\n\t\t\t\tvoid new BX.Landing.Block(block, {\n\t\t\t\t\tid: blockId,\n\t\t\t\t\trequiredUserAction: res.requiredUserAction,\n\t\t\t\t\tmanifest: res.manifest,\n\t\t\t\t\taccess: res.access,\n\t\t\t\t\tactive: Text.toBoolean(res.active),\n\t\t\t\t\tphp: res.php,\n\t\t\t\t\tdesigned: res.designed,\n\t\t\t\t\tanchor: res.anchor,\n\t\t\t\t\tdynamicParams: res.dynamicParams,\n\t\t\t\t\trepoId: res.repoId,\n\t\t\t\t});\n\n\t\t\t\treturn self.runBlockScripts(res)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\treturn block;\n\t\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.warn(err);\n\t\t\t});\n\t}\n\n\n\t/**\n\t * Handles edd block event\n\t * @param {string} blockCode\n\t * @param {*} [restoreId]\n\t * @param {?boolean} [preventHistory = false]\n\t * @return {Promise<BX.Landing.Block>}\n\t */\n\tonAddBlock(blockCode, restoreId, preventHistory: ?boolean  = false)\n\t{\n\t\tconst id = Text.toNumber(restoreId);\n\n\t\tthis.hideBlocksPanel();\n\n\t\treturn this.showBlockLoader()\n\t\t\t.then(this.loadBlock(blockCode, id, preventHistory))\n\t\t\t.then((res) => {\n\t\t\t\treturn new Promise((resolve) => {\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tresolve(res);\n\t\t\t\t\t}, 500);\n\t\t\t\t});\n\t\t\t})\n\t\t\t.then((res) => {\n\t\t\t\tres.manifest.codeOriginal = blockCode;\n\t\t\t\tconst p = this.addBlock(res, false, this.insertBefore);\n\t\t\t\tthis.insertBefore = false;\n\t\t\t\tthis.adjustEmptyAreas();\n\t\t\t\tvoid this.hideBlockLoader();\n\t\t\t\tthis.enableAddBlockButtons();\n\t\t\t\treturn p;\n\t\t\t});\n\t}\n\n\n\t/**\n\t * Inserts element to blocks flow.\n\t * Element can be inserted after current block or after last block\n\t * @param {HTMLElement} element\n\t */\n\tinsertToBlocksFlow(element)\n\t{\n\t\tconst isCurrentBlockAvailable = (\n\t\t\tthis.currentBlock\n\t\t\t&& this.currentBlock.node\n\t\t\t&& this.currentBlock.node.parentNode\n\t\t);\n\n\t\tif (isCurrentBlockAvailable && !this.insertBefore)\n\t\t{\n\t\t\tDom.insertAfter(element, this.currentBlock.node);\n\t\t\treturn;\n\t\t}\n\n\t\tif (isCurrentBlockAvailable && this.insertBefore)\n\t\t{\n\t\t\tDom.insertBefore(element, this.currentBlock.node);\n\t\t}\n\n\t\tDom.prepend(element, this.currentArea);\n\t}\n\n\n\t/**\n\t * Gets block loader\n\t * @return {HTMLElement}\n\t */\n\tgetBlockLoader()\n\t{\n\t\tif (!this.blockLoader)\n\t\t{\n\t\t\tthis.blockLoader = new BX.Loader({size: 60});\n\t\t\tthis.blockLoaderContainer = Dom.create('div', {\n\t\t\t\tprops: {className: 'landing-block-loader-container'},\n\t\t\t\tchildren: [this.blockLoader.layout],\n\t\t\t});\n\t\t}\n\n\t\treturn this.blockLoaderContainer;\n\t}\n\n\n\t/**\n\t * Shows block loader\n\t * @return {Function}\n\t */\n\tshowBlockLoader()\n\t{\n\t\tthis.insertToBlocksFlow(this.getBlockLoader());\n\t\tthis.blockLoader.show();\n\t\treturn Promise.resolve();\n\t}\n\n\n\t/**\n\t * Hides block loader\n\t * @return {Function}\n\t */\n\thideBlockLoader()\n\t{\n\t\tDom.remove(this.getBlockLoader());\n\t\tthis.blockLoader = null;\n\t\treturn Promise.resolve();\n\t}\n\n\n\t/**\n\t * Loads block dependencies\n\t * @param {addBlockResponse} data\n\t * @returns {Promise<addBlockResponse>}\n\t */\n\tloadBlockDeps(data)\n\t{\n\t\tconst ext = BX.processHTML(data.content_ext);\n\n\t\tif (BX.type.isArray(ext.SCRIPT))\n\t\t{\n\t\t\text.SCRIPT = ext.SCRIPT.filter((item) => {\n\t\t\t\treturn !item.isInternal;\n\t\t\t});\n\t\t}\n\n\t\tlet loadedScripts = 0;\n\t\tconst scriptsCount = (data.js.length + ext.SCRIPT.length + ext.STYLE.length + data.css.length);\n\t\tlet resPromise = null;\n\n\t\tif (!this.loadedDeps[data.manifest.code] && scriptsCount > 0)\n\t\t{\n\t\t\tresPromise = new Promise(((resolve) => {\n\t\t\t\tfunction onLoad()\n\t\t\t\t{\n\t\t\t\t\tloadedScripts += 1;\n\n\t\t\t\t\tif (loadedScripts === scriptsCount)\n\t\t\t\t\t{\n\t\t\t\t\t\tresolve(data);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (scriptsCount > loadedScripts)\n\t\t\t\t{\n\t\t\t\t\t// Load extensions files\n\t\t\t\t\text.SCRIPT.forEach((item) => {\n\t\t\t\t\t\tif (!item.isInternal)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tBX.loadScript(item.JS, onLoad);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\text.STYLE.forEach((item) => {\n\t\t\t\t\t\tBX.loadScript(item, onLoad);\n\t\t\t\t\t});\n\n\t\t\t\t\t// Load block files\n\t\t\t\t\tdata.css.forEach((item) => {\n\t\t\t\t\t\tBX.loadScript(item, onLoad);\n\t\t\t\t\t});\n\n\t\t\t\t\tdata.js.forEach((item) => {\n\t\t\t\t\t\tBX.loadScript(item, onLoad);\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\tonLoad();\n\t\t\t\t}\n\n\t\t\t\tthis.loadedDeps[data.manifest.code] = true;\n\t\t\t}));\n\t\t}\n\t\telse\n\t\t{\n\t\t\tresPromise = Promise.resolve(data);\n\t\t}\n\n\t\treturn resPromise;\n\t}\n\n\n\t/**\n\t * Executes block scripts\n\t * @param data\n\t * @return {Promise}\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\trunBlockScripts(data)\n\t{\n\t\treturn new Promise(((resolve) => {\n\t\t\tconst scripts = BX.processHTML(data.content).SCRIPT;\n\n\t\t\tif (scripts.length)\n\t\t\t{\n\t\t\t\tBX.ajax.processScripts(scripts, undefined, () => {\n\t\t\t\t\tresolve(data);\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresolve(data);\n\t\t\t}\n\t\t}));\n\t}\n\n\n\t/**\n\t * Load new block from server\n\t * @param {string} blockCode\n\t * @param {int} [restoreId]\n\t * @param {boolean} [preventHistory = false]\n\t * @returns {Function}\n\t */\n\tloadBlock(blockCode, restoreId, preventHistory)\n\t{\n\t\treturn () => {\n\t\t\tlet lid = this.id;\n\t\t\tlet siteId = this.options.site_id;\n\n\t\t\tif (this.currentBlock)\n\t\t\t{\n\t\t\t\tlid = this.currentBlock.lid;\n\t\t\t\tsiteId = this.currentBlock.siteId;\n\t\t\t}\n\n\t\t\tif (this.currentArea)\n\t\t\t{\n\t\t\t\tlid = Dom.attr(this.currentArea, 'data-landing');\n\t\t\t\tsiteId = Dom.attr(this.currentArea, 'data-site');\n\t\t\t}\n\n\t\t\tlet requestBody = {\n\t\t\t\tlid,\n\t\t\t\tsiteId,\n\t\t\t\tpreventHistory: preventHistory ? 1 : 0,\n\t\t\t};\n\n\t\t\tconst fields = {\n\t\t\t\tACTIVE: 'Y',\n\t\t\t\tCODE: blockCode,\n\t\t\t\tAFTER_ID: this.currentBlock ? this.currentBlock.id : 0,\n\t\t\t\tRETURN_CONTENT: 'Y',\n\t\t\t};\n\n\t\t\tif (!Type.isBoolean(preventHistory) || preventHistory === false)\n\t\t\t{\n\t\t\t\t// Change history steps\n\t\t\t\tBX.Landing.History.getInstance().push();\n\t\t\t}\n\n\t\t\tif (!restoreId)\n\t\t\t{\n\t\t\t\trequestBody.fields = fields;\n\t\t\t\treturn Backend\n\t\t\t\t\t.getInstance()\n\t\t\t\t\t.action('Landing::addBlock', requestBody, {code: blockCode})\n\t\t\t\t\t.then(result => {\n\t\t\t\t\t\tif (this.insertBefore)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn Backend\n\t\t\t\t\t\t\t\t.getInstance()\n\t\t\t\t\t\t\t\t.action('Landing::upBlock', {\n\t\t\t\t\t\t\t\t\tlid,\n\t\t\t\t\t\t\t\t\tsiteId,\n\t\t\t\t\t\t\t\t\tblock: result.id,\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\t\t\treturn result;\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn BX.Landing.Backend.getInstance()\n\t\t\t\t.action('Block::getContent', {\n\t\t\t\t\tblock: restoreId,\n\t\t\t\t\tlid,\n\t\t\t\t\tfields,\n\t\t\t\t\teditMode: 1,\n\t\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tres.id = restoreId;\n\t\t\t\t\treturn res;\n\t\t\t\t});\n\t\t};\n\t}\n\n\n\t/**\n\t * Creates block preview card\n\t * @param {string} blockKey - Block key (folder name)\n\t * @param {{name: string, [preview]: ?string, [new]: ?boolean}} block - Object with block data\n\t * @param {string} [mode]\n\t * @returns {BX.Landing.UI.Card.BlockPreviewCard}\n\t */\n\tcreateBlockCard(blockKey, block, mode)\n\t{\n\t\treturn new BX.Landing.UI.Card.BlockPreviewCard({\n\t\t\ttitle: block.name,\n\t\t\timage: block.preview,\n\t\t\tcode: blockKey,\n\t\t\tapp_expired: block.app_expired,\n\t\t\tfavorite: !!block.favorite,\n\t\t\tfavoriteMy: !!block.favoriteMy,\n\t\t\trepo_id: block.repo_id,\n\t\t\tmode,\n\t\t\tisNew: block.new === true,\n\t\t\tonClick: this.onAddBlock.bind(this, blockKey),\n\t\t});\n\t}\n\n\n\t/**\n\t * Handles block delete event\n\t */\n\tonBlockDelete(block)\n\t{\n\t\tif (!block.parent.querySelector('.block-wrapper'))\n\t\t{\n\t\t\tthis.adjustEmptyAreas();\n\t\t}\n\t}\n\n\n\t/**\n\t * Shows page overlay\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\tshowOverlay()\n\t{\n\t\tconst main = document.querySelector('main.landing-edit-mode');\n\t\tif (main)\n\t\t{\n\t\t\tDom.addClass(main, 'landing-ui-overlay');\n\t\t}\n\t}\n\n\n\t/**\n\t * Hides page overlay\n\t */\n\t// eslint-disable-next-line class-methods-use-this\n\thideOverlay()\n\t{\n\t\tconst main = document.querySelector('main.landing-edit-mode');\n\t\tif (main)\n\t\t{\n\t\t\tDom.removeClass(main, 'landing-ui-overlay');\n\t\t}\n\t}\n\n\treloadSlider(url: string): Promise<any>\n\t{\n\t\treturn SliderHacks.reloadSlider(url, window.parent);\n\t}\n}"],"names":["hasBlock","element","querySelector","hasCreateButton","onAnimationEnd","animationName","Promise","resolve","onAnimationEndListener","event","Event","bind","isEmpty","value","Type","isNil","isArrayLike","length","isObject","Object","keys","BX","Landing","getMode","Main","id","rootWindow","PageObject","getRootWindow","instance","Reflection","namespace","setEventNamespace","options","Env","getInstance","getOptions","freeze","blocks","currentBlock","isDesignBlockModeFlag","loadedDeps","cache","Cache","MemoryCache","onSliderFormLoaded","onBlockDelete","addCustomEvent","adjustEmptyAreas","UI","Panel","StatusPanel","setLastModified","lastModified","show","pageType","getType","TYPE_KNOWLEDGE","TYPE_GROUP","mainArea","document","isDomNode","Dom","addClass","specialType","panel","SaveBlock","block","layout","hidden","content","append","body","remember","blocksPanel","createBlocksPanel","setTimeout","sidebarButtons","get","default_section","click","getBlocksPanel","hide","querySelectorAll","area","button","Button","Plus","text","Loc","getMessage","on","showBlocksPanel","onCreateButtonMouseover","onCreateButtonMouseout","hasClass","areas","getLayoutAreas","createText","setText","clearTimeout","fadeTimeout","filter","currentArea","forEach","removeClass","innerHTML","createInsertBlockButton","remove","destroyEmptyArea","initEmptyArea","main","isAllEmpty","some","documentElement","data","withoutAnimation","Tag","render","then","insertToBlocksFlow","insertBefore","EditorPanel","isCrmFormPage","overlay","disableAddBlockButtons","getSaveBlockPanel","getBlocks","panels","buttons","disable","enable","categories","Content","title","className","scrollAnimation","subscribe","enableAddBlockButtons","categoryId","hasItems","items","isPopular","isSeparator","separator","appendSidebarButton","createBlockPanelSidebarButton","SidebarButton","onClick","showFeedbackForm","Runtime","loadExtension","bitrix24","server_name","siteId","site_id","siteUrl","url","siteTemplate","xml_id","productType","typeproduct","params","type","Feedback","Form","open","Math","random","forms","getFeedbackFormOptions","presets","zones","lang","sec","sliderFormLoader","showSliderFeedbackForm","target","w","d","u","b","Bitrix24FormObject","arguments","ref","push","s","createElement","r","Date","async","src","h","getElementsByTagName","parentNode","category","name","child","onBlocksListCategoryChange","blockCode","lastBlocks","last","unshift","removed","undefined","indexOf","splice","activeCategoryButton","find","tplCode","split","templateCode","getTemplateCode","action","classList","Set","blockKey","getBlockFromRepository","appendCard","createBlockCard","blockTplCode","scrollTop","requestAnimationFrame","code","window","localStorage","landingBlockId","landingBlockName","manifest","landingBlockAction","requiredUserAction","JSON","stringify","requiredUserActionOptions","err","node","onCustomEvent","requestBody","lid","AFTER_ID","RETURN_CONTENT","Backend","batch","res","addBlock","result","codeOriginal","self","appendBlock","loadBlockDeps","blockRes","blockId","parseInt","oldBlock","Block","access","active","Text","toBoolean","php","designed","anchor","dynamicParams","repoId","runBlockScripts","console","warn","restoreId","preventHistory","toNumber","hideBlocksPanel","showBlockLoader","loadBlock","p","hideBlockLoader","isCurrentBlockAvailable","insertAfter","prepend","blockLoader","Loader","size","blockLoaderContainer","create","props","children","getBlockLoader","ext","processHTML","content_ext","isArray","SCRIPT","item","isInternal","loadedScripts","scriptsCount","js","STYLE","css","resPromise","onLoad","loadScript","JS","scripts","ajax","processScripts","attr","fields","ACTIVE","CODE","isBoolean","History","editMode","mode","Card","BlockPreviewCard","image","preview","app_expired","favorite","favoriteMy","repo_id","isNew","onAddBlock","parent","SliderHacks","reloadSlider","EventEmitter"],"mappings":"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"}