%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.227.79.253
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/landing/designerblock/dist/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/js/landing/designerblock/dist/designerblock.bundle.js.map
{"version":3,"file":"designerblock.bundle.js","sources":["../src/node.js","../src/ui/designerblock.js","../src/ui/panels/repo.js","../src/panels/repo.js","../src/designerblock.js"],"sourcesContent":["import {Dom, Event} from 'main.core';\n\nexport type NodeType = {\n\telement: HTMLElement,\n\tselector: string,\n\ttype: ?string,\n\tclassName: ?string,\n\tcardSelector: ?string,\n\tonHover: ?() => {}\n};\n\nexport class Node\n{\n\telement: HTMLElement;\n\tselector: string;\n\tcardSelector: string;\n\tpseudoElement: boolean;\n\tonHover: ?() => {};\n\n\tconstructor(options: NodeType)\n\t{\n\t\tthis.element = options.element;\n\t\tthis.selector = options.selector;\n\t\tthis.cardSelector = options.cardSelector;\n\t\tthis.onHover = options.onHover;\n\t\tthis.pseudoElement = Dom.hasClass(this.element, 'landing-designer-block-pseudo-last');\n\n\t\tEvent.bind(this.element, 'mouseover', this.onMouseOver.bind(this));\n\n\t\tif (options.className)\n\t\t{\n\t\t\tDom.addClass(this.element, options.className);\n\t\t}\n\t}\n\n\tisPseudoElement(): boolean\n\t{\n\t\treturn this.pseudoElement;\n\t}\n\n\tgetSelector(): string\n\t{\n\t\treturn (this.cardSelector ? this.cardSelector + ' ' : '') + this.selector;\n\t}\n\n\tgetCardSelector(): string\n\t{\n\t\treturn this.cardSelector;\n\t}\n\n\tgetOriginalSelector(): string\n\t{\n\t\treturn this.selector;\n\t}\n\n\tgetElement(): HTMLElement\n\t{\n\t\treturn this.element;\n\t}\n\n\tonMouseOver(event: Event)\n\t{\n\t\tevent.stopPropagation();\n\t\tthis.onHover(this);\n\t}\n}\n","import {Tag} from 'main.core';\nimport {Loc} from 'landing.loc';\n\nexport class DesignerBlockUI\n{\n\tstatic getHoverDiv(): HTMLDivElement\n\t{\n\t\treturn Tag.render`<div class=\"landing-designer-block-node-hover\"></div>`;\n\t}\n\n\tstatic getPseudoLast(): HTMLElement\n\t{\n\t\treturn Tag.render`<div class=\"landing-designer-block-pseudo-last\"></div>`;\n\t}\n\n\tstatic getAddNodeButton(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-designer-block-node-hover-add\">\n\t\t\t\t<span class=\"landing-designer-block-node-hover-add-title\">\n\t\t\t\t\t${Loc.getMessage('LANDING_DESIGN_BLOCK_REPO_BUTTON')}\n\t\t\t\t</span>\n\t\t\t</div>`;\n\t}\n}\n","import {Loc} from 'landing.loc';\nimport {Content} from 'landing.ui.panel.content';\nimport {Dom, Cache, Tag} from 'main.core';\n\nexport type RepoElementType = {\n\tname: string,\n\tcode: string,\n\thtml: string,\n\tmanifest: {\n\t\tnodes: {\n\t\t\t[selector: string]: {\n\t\t\t\ttype: string\n\t\t\t}\n\t\t},\n\t\tstyle: {\n\t\t\t[selector: string]: {\n\t\t\t\ttype: string\n\t\t\t}\n\t\t}\n\t}\n};\n\nexport type RepoPanelOptions = {\n\tonElementSelect: (RepoElementType) => {}\n};\n\n\nexport class RepoPanel extends Content\n{\n\tconstructor(options: RepoPanelOptions)\n\t{\n\t\tsuper('design_repo', {\n\t\t\ttitle: Loc.getMessage('LANDING_DESIGN_BLOCK_REPO_TITLE'),\n\t\t\tscrollAnimation: true\n\t\t});\n\n\t\tthis.currentCategory = null;\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.onElementSelect = options.onElementSelect;\n\n\t\tthis.renderTo(document.body);\n\t\tDom.addClass(this.layout, 'landing-ui-panel-repo');\n\t}\n\n\taddRepository(repository: Array<RepoElementType>)\n\t{\n\t\trepository.map(item => {\n\t\t\tthis.addElement(item);\n\t\t});\n\t}\n\n\tmakeElementUnique(element: RepoElementType): RepoElementType\n\t{\n\t\tconst newManifest = {};\n\t\tObject.keys(element.manifest.nodes).map(selector => {\n\t\t\tconst randPostfix = '-' + this.randomNum(1000, 9999);\n\t\t\tconst className = selector.substr(1);\n\t\t\telement.html = element.html.replaceAll(new RegExp(className + '([\\\\s\"]{1})', 'g'), className + randPostfix + '$1');\n\t\t\tnewManifest[selector + randPostfix] = element.manifest.nodes[selector];\n\t\t});\n\t\telement.manifest.nodes = newManifest;\n\t\treturn element;\n\t}\n\n\taddElement(element: RepoElementType)\n\t{\n\t\tconst nodeCard = new BX.Landing.UI.Card.BlockPreviewCard({\n\t\t\ttitle: element.name,\n\t\t\timage: '/bitrix/images/landing/designerblock/presets/' + element .code + '.jpg',\n\t\t\tonClick: () => {\n\t\t\t\tthis.onElementSelect(this.makeElementUnique(element));\n\t\t\t\tvoid this.hide();\n\t\t\t}\n\t\t});\n\t\tthis.appendCard(nodeCard);\n\t}\n\n\trandomNum(min: number, max: number): number\n\t{\n\t\treturn parseInt(Math.random() * (max - min) + min);\n\t}\n\n\tgetListContainer(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('listContainer', () => {\n\t\t\treturn Tag.render`<div class=\"landing-ui-field-layer-list-container\"></div>`;\n\t\t});\n\t}\n}\n","import {RepoPanel, RepoElementType} from '../ui/panels/repo';\n\nexport type RepoManagerOptions = {\n\trepository: Array<RepoElementType>,\n\tonElementSelect: (RepoElementType) => {}\n};\n\nexport class RepoManager\n{\n\tconstructor(options: RepoManagerOptions)\n\t{\n\t\tthis.panel = new RepoPanel({\n\t\t\tonElementSelect: options.onElementSelect\n\t\t});\n\n\t\tthis.panel.addRepository(options.repository);\n\t}\n\n\tshowPanel()\n\t{\n\t\tthis.panel.show().then();\n\t}\n}\n","import {Dom, Event, Tag, Text} from 'main.core';\nimport {Backend} from 'landing.backend';\nimport {Env} from 'landing.env';\nimport {Metrika} from 'landing.metrika';\nimport {Highlight} from 'landing.ui.highlight';\n\nimport {Node, NodeType} from './node';\nimport {DesignerBlockUI} from './ui/designerblock';\nimport {RepoElementType} from './ui/panels/repo';\nimport {RepoManager} from './panels/repo';\n\nimport './designerblock.css';\n\ntype ManifestNodesItem = {\n\t[selector: string]: {\n\t\tcode: ?string,\n\t\tname: ?string,\n\t\ttype: string,\n\t\tuseInDesigner: ?boolean\n\t}\n};\n\nexport type DesignerBlockOptions = {\n\tid: number,\n\tlid: number,\n\tcode: string,\n\tdesigned: boolean,\n\tautoPublicationEnabled: boolean,\n\taccess: string,\n\tactive: boolean,\n\tanchor: string,\n\tmanifest: {\n\t\tcards: {\n\t\t\t[selector: string]: {\n\t\t\t\tname: string\n\t\t\t}\n\t\t},\n\t\tnodes: {\n\t\t\t[selector: string]: {\n\t\t\t\tcode: ?string,\n\t\t\t\tname: ?string,\n\t\t\t\ttype: string\n\t\t\t}\n\t\t}\n\t},\n\trepository: Array<RepoElementType>\n};\n\nexport class DesignerBlock\n{\n\tblockNode: HTMLElement;\n\toriginalNode: HTMLElement;\n\thoverArea: HTMLElement = null;\n\tactiveNode: Node = null;\n\tchanged: boolean = false;\n\tsaving: boolean = false;\n\tdesigned: boolean;\n\tautoPublicationEnabled: boolean;\n\tblockCode: string;\n\tblockId: number;\n\tlandingId: number;\n\tnodes: ManifestNodesItem;\n\thighlight: Highlight;\n\tnodeMap: WeakMap;\n\tmetrika: Metrika;\n\trepoManager: RepoManager;\n\tcardSelectors: Array<string>;\n\n\tconstructor(blockNode: HTMLElement, options: DesignerBlockOptions)\n\t{\n\t\tif (!blockNode)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.originalNode = blockNode;\n\t\tthis.blockNode = blockNode.children[0];\n\t\tthis.blockCode = options.code;\n\t\tthis.blockId = options.id;\n\t\tthis.designed = options.designed;\n\t\tthis.autoPublicationEnabled = options.autoPublicationEnabled;\n\t\tthis.landingId = options.lid;\n\t\tthis.nodes = options.manifest.nodes;\n\t\tthis.highlight = new Highlight();\n\t\tthis.cardSelectors = options.manifest.cards ? Object.keys(options.manifest.cards) : [];\n\t\tthis.designAllowed = !!Env.getInstance().getOptions().design_block_allowed;\n\t\tthis.cardSelectors.push('');// for without cards elements\n\t\tthis.nodeMap = new WeakMap();\n\t\tthis.metrika = new Metrika(true);\n\t\tthis.repoManager = new RepoManager({\n\t\t\trepository: options.repository,\n\t\t\tonElementSelect: this.addElement.bind(this)\n\t\t});\n\n\t\tthis.saveButton = parent.document.getElementById('landing-design-block-save')\n\t\t\t|| top.document.getElementById('landing-design-block-save')\n\t\t\t|| document.getElementById('landing-design-block-save');\n\n\t\tthis.preventEvents();\n\t\tthis.initHistoryEvents();\n\t\tthis.initTopPanel();\n\t\tthis.initNodes();\n\t\tthis.initGrid();\n\t\tthis.initSliders();\n\t\tthis.initHoverArea();\n\t}\n\n\tclearHtml(content: string): string\n\t{\n\t\treturn content\n\t\t\t.replace(/<div class=\"[^\"]*landing-designer-block-pseudo-last[^\"]*\"[^>]*>[\\s]*<\\/div>/g, '')\n\t\t\t.replace(/<div class=\"[^\"]*landing-highlight-border[^\"]*\"[^>]*>[\\s]*<\\/div>/g, '')\n\t\t\t.replace(/url\\(&quot;(.*?)&quot;\\)/g, 'url($1)')\n\t\t\t.replace(/\\s*data-(landingwrapper)=\"[^\"]+\"\\s*/g, ' ')\n\t\t\t.replace(/\\s*[\\w-_]+--type-wrapper\\s*/g, ' ')\n\t\t\t.replace(/<div[\\s]*>[\\s]*<\\/div>/g, '')\n\t\t\t.replace(/\\s*style=\"\"/g, '');\n\t}\n\n\tpreventEvents()\n\t{\n\t\tconst preventMap = {\n\t\t\ta: 'click',\n\t\t\tform: 'submit',\n\t\t\tinput: 'keydown'\n\t\t};\n\t\tObject.keys(preventMap).map(tag => {\n\t\t\t[...this.blockNode.querySelectorAll(tag)].map(node => {\n\t\t\t\tEvent.bind(node, preventMap[tag], (e) => {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tinitHistoryEvents()\n\t{\n\t\tconst body = this.getDocumentBody();\n\n\t\ttop.BX.addCustomEvent('Landing:onHistoryAddNode',\n\t\t\ttags => {\n\t\t\t\tlet elementAdded = false;\n\t\t\t\ttags.map(tag => {\n\t\t\t\t\tconst insertAfterSelector = tag.insertAfterSelector || null;\n\t\t\t\t\tconst parentNodeSelector = tag.parentNodeSelector || null;\n\t\t\t\t\tconst element = Tag.render`${tag.elementHtml}`;\n\n\t\t\t\t\tif (insertAfterSelector)\n\t\t\t\t\t{\n\t\t\t\t\t\telementAdded = true;\n\t\t\t\t\t\tDom.insertAfter(element, body.querySelector(insertAfterSelector));\n\t\t\t\t\t}\n\t\t\t\t\telse if (parentNodeSelector)\n\t\t\t\t\t{\n\t\t\t\t\t\telementAdded = true;\n\t\t\t\t\t\tDom.prepend(element, body.querySelector(parentNodeSelector));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tif (elementAdded)\n\t\t\t\t{\n\t\t\t\t\tthis.refreshManifest();\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tthis.sendLabel(\n\t\t\t\t\t\t\t'designerBlock',\n\t\t\t\t\t\t\t'onHistoryAddNode'\n\t\t\t\t\t\t);\n\t\t\t\t\t}, 0);\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\ttop.BX.addCustomEvent('Landing:onHistoryRemoveNode',\n\t\t\ttags => {\n\t\t\t\ttags.map(tag => {\n\t\t\t\t\tthis.removeNode(\n\t\t\t\t\t\tbody.querySelector(tag.elementSelector)\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t\tthis.refreshManifest();\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.sendLabel(\n\t\t\t\t\t\t'designerBlock',\n\t\t\t\t\t\t'onHistoryRemoveNode'\n\t\t\t\t\t);\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t);\n\t}\n\n\tinitTopPanel()\n\t{\n\t\tEvent.bind(this.saveButton, 'click', () => {\n\t\t\tthis.highlight.hide();\n\n\t\t\tconst finishCallback = () => {\n\t\t\t\tif (BX.SidePanel && BX.SidePanel.Instance)\n\t\t\t\t{\n\t\t\t\t\tBX.SidePanel.Instance.close();\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (!this.changed)\n\t\t\t{\n\t\t\t\tfinishCallback();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!this.designAllowed)\n\t\t\t{\n\t\t\t\ttop.BX.UI.InfoHelper.show('limit_crm_free_superblock1');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.saving = true;\n\n\t\t\tconst batch = {};\n\t\t\tbatch['Block::updateContent'] = {\n\t\t\t\taction: 'Block::updateContent',\n\t\t\t\tdata: {\n\t\t\t\t\tlid: this.landingId,\n\t\t\t\t\tblock: this.blockId,\n\t\t\t\t\tcontent: this.clearHtml(this.originalNode.innerHTML).replaceAll(' style=\"', ' bxstyle=\"'),\n\t\t\t\t\tdesigned: 1\n\t\t\t\t}\n\t\t\t};\n\t\t\tif (this.autoPublicationEnabled)\n\t\t\t{\n\t\t\t\tbatch['Landing::publication'] = {\n\t\t\t\t\taction: 'Landing::publication',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tlid: this.landingId\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tBackend.getInstance()\n\t\t\t\t.batch('Block::updateContent', batch)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.saving = false;\n\t\t\t\t\tfinishCallback();\n\t\t\t\t});\n\n\t\t\tthis.sendLabel(\n\t\t\t\t'designerBlock',\n\t\t\t\t'save' +\n\t\t\t\t'&designed=' + (this.designed ? 'Y' : 'N') +\n\t\t\t\t'&code=' + this.blockCode\n\t\t\t);\n\t\t});\n\t}\n\n\tinitNodes()\n\t{\n\t\tObject.keys(this.nodes).map(selector => {\n\t\t\tthis.cardSelectors.map(cardSelector => {\n\t\t\t\t[...this.blockNode.querySelectorAll((cardSelector ? cardSelector + ' ' : '') + selector)].map(element => {\n\t\t\t\t\tif (this.nodes[selector]['useInDesigner'] === false)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.addNode({\n\t\t\t\t\t\telement,\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\tcardSelector,\n\t\t\t\t\t\ttype: this.nodes[selector]['type']\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tinitGrid()\n\t{\n\t\t// collect node's parent and add pseudo last elements into the wrappers\n\t\tObject.keys(this.nodes).map(selector => {\n\t\t\tthis.cardSelectors.map(cardSelector => {\n\t\t\t\t[...this.blockNode.querySelectorAll((cardSelector ? cardSelector + ' ' : '') + selector)].map(element => {\n\t\t\t\t\tif (this.nodes[selector]['useInDesigner'] === false)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst wrapper = (this.nodes[selector]['type'] === 'icon')\n\t\t\t\t\t\t? element.parentNode.parentNode\n\t\t\t\t\t\t: element.parentNode;\n\t\t\t\t\tif (Dom.attr(wrapper, 'data-landingWrapper'))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tconst pseudoElement = DesignerBlockUI.getPseudoLast();\n\t\t\t\t\tDom.attr(wrapper, 'data-landingWrapper', true);\n\t\t\t\t\tDom.append(pseudoElement, wrapper);\n\t\t\t\t\tthis.addNode({\n\t\t\t\t\t\tcardSelector,\n\t\t\t\t\t\telement: pseudoElement,\n\t\t\t\t\t\tclassName: selector.substr(1) + '-last',\n\t\t\t\t\t\tselector: selector + '-last'\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tinitSliders()\n\t{\n\t\tconst sliderSelector = '.js-carousel';\n\t\t[...this.blockNode.querySelectorAll(sliderSelector)].map(slider => {\n\t\t\tconst count =\n\t\t\t\t(Text.toNumber(slider.dataset.slidesShow) || 1)\n\t\t\t\t* (Text.toNumber(slider.dataset.rows) || 1)\n\t\t\t;\n\t\t\tconst selector = `.${[...slider.classList].join('.')} .js-slide:not(:nth-child(-n+${count}))`;\n\t\t\tdocument.head.appendChild(\n\t\t\t\tTag.render`<style>${selector}{display: none !important;}</style>`\n\t\t\t);\n\t\t});\n\t}\n\n\tinitHoverArea()\n\t{\n\t\tif (this.hoverArea)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hoverArea = DesignerBlockUI.getHoverDiv();\n\n\t\tconst addNodeElement = DesignerBlockUI.getAddNodeButton();\n\t\tconst CardAction = BX.Landing.UI.Button.CardAction;\n\t\tconst BaseButtonPanel = BX.Landing.UI.Panel.BaseButtonPanel;\n\t\tconst cardAction = new BaseButtonPanel(\n\t\t\t'nodeAction',\n\t\t\t'landing-ui-panel-block-card-action'\n\t\t);\n\n\t\tEvent.bind(addNodeElement, 'click', () => {\n\t\t\tthis.repoManager.showPanel();\n\t\t\tthis.hideHoverArea();\n\t\t});\n\n\t\tcardAction.addButton(new CardAction('remove', {\n\t\t\thtml: '&nbsp;',\n\t\t\tonClick: this.removeElement.bind(this)\n\t\t}));\n\n\t\tvoid cardAction.show();\n\n\t\tDom.append(addNodeElement, this.hoverArea);\n\t\tDom.append(cardAction.layout, this.hoverArea);\n\t\tDom.append(this.hoverArea, this.getDocumentBody());\n\n\t\tEvent.bind(this.blockNode, 'mouseover', () => {\n\t\t\tthis.hideHoverArea();\n\t\t});\n\t}\n\n\tadjustHoverArea()\n\t{\n\t\tif (!this.hoverArea)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.showHoverArea();\n\n\t\tconst clientRect = this.activeNode.getElement().getBoundingClientRect();\n\t\tconst hoverElementAdd = this.hoverArea.querySelector('.landing-designer-block-node-hover-add');\n\t\tconst hoverElementActions = this.hoverArea.querySelector('div[data-id=\"nodeAction\"]');\n\t\tconst editorWindow = BX.Landing.PageObject.getEditorWindow();\n\n\t\tif (hoverElementActions)\n\t\t{\n\t\t\tif (this.activeNode.isPseudoElement())\n\t\t\t{\n\t\t\t\tDom.hide(hoverElementActions);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.show(hoverElementActions);\n\t\t\t}\n\t\t}\n\n\t\tif (hoverElementAdd)\n\t\t{\n\t\t\tDom.style(\n\t\t\t\thoverElementAdd,\n\t\t\t\t{ top: (clientRect.height - 5) + 'px' }\n\t\t\t);\n\t\t}\n\n\t\tDom.style(\n\t\t\tthis.hoverArea,\n\t\t\t{\n\t\t\t\ttop: clientRect.top + editorWindow.scrollY + 'px',\n\t\t\t\tleft: clientRect.left + (clientRect.width < 30 ? 30 : 0) + 'px',\n\t\t\t\twidth: clientRect.width + 'px',\n\t\t\t\theight: '35px'\n\t\t\t}\n\t\t);\n\t}\n\n\tshowHoverArea()\n\t{\n\t\tif (this.hoverArea)\n\t\t{\n\t\t\tDom.show(this.hoverArea);\n\t\t}\n\t}\n\n\thideHoverArea()\n\t{\n\t\tif (this.hoverArea)\n\t\t{\n\t\t\tsetTimeout(() => {\n\t\t\t\tDom.hide(this.hoverArea);\n\t\t\t}, 0);\n\t\t}\n\t}\n\n\trefreshManifest(manifest: ?ManifestNodesItem)\n\t{\n\t\tif (manifest)\n\t\t{\n\t\t\tObject.keys(manifest).map(selector => {\n\t\t\t\tthis.nodes[selector] = manifest[selector];\n\t\t\t});\n\t\t}\n\t\tthis.initNodes();\n\t\tthis.initGrid();\n\t}\n\n\tgetDocumentBody(): HTMLElement\n\t{\n\t\treturn document.body;\n\t}\n\n\tisInsideElement(element: HTMLElement): boolean\n\t{\n\t\treturn element.parentElement.tagName === 'A';\n\t}\n\n\tsendLabel(key: string, value: string)\n\t{\n\t\tthis.metrika.clearSendedLabel();\n\t\tthis.metrika.sendLabel(null, key, value);\n\t}\n\n\taddElement(repoElement: RepoElementType)\n\t{\n\t\tconst activeNode = this.activeNode;\n\t\tconst tags = [];\n\n\t\t[...document.body.querySelectorAll(activeNode.getSelector())].map(node => {\n\t\t\tconst elementHtml = repoElement.html;\n\t\t\tconst element = Tag.render`${elementHtml}`;\n\t\t\tconst insertAfter = this.isInsideElement(node) ? node.parentNode : node;\n\t\t\tDom.insertAfter(element, insertAfter);\n\t\t\ttags.push({\n\t\t\t\telementHtml,\n\t\t\t\telementSelector: BX.Landing.Utils.getCSSSelector(element),\n\t\t\t\tinsertAfterSelector: BX.Landing.Utils.getCSSSelector(insertAfter)\n\t\t\t});\n\t\t});\n\n\t\tthis.sendLabel(\n\t\t\t'designerBlock',\n\t\t\t'addElement' +\n\t\t\t'&code=' + this.blockCode +\n\t\t\t'&name=' + repoElement.code +\n\t\t\t'&preset=' + (Object.keys(repoElement.manifest.nodes).length === 1 ? 'N' : 'Y')\n\t\t);\n\n\t\tthis.changed = true;\n\t\tthis.refreshManifest(repoElement.manifest.nodes);\n\t\tthis.highlight.show(null);\n\n\t\tBX.Landing.History.getInstance().push(\n\t\t\tnew BX.Landing.History.Entry({\n\t\t\t\tcommand: 'addNode',\n\t\t\t\tblock: null,\n\t\t\t\tundo: null,\n\t\t\t\tredo: { tags }\n\t\t\t})\n\t\t);\n\t}\n\n\tremoveElement()\n\t{\n\t\tconst tags = [];\n\t\tthis.hideHoverArea();\n\n\t\tthis.highlight.hide();\n\n\t\tsetTimeout(() => {\n\n\t\t\tthis.sendLabel(\n\t\t\t\t'designerBlock',\n\t\t\t\t'removeElement' +\n\t\t\t\t'&tagName=' + this.activeNode.getElement().tagName +\n\t\t\t\t'&code=' + this.blockCode\n\t\t\t);\n\n\t\t\t[...document.body.querySelectorAll(this.activeNode.getSelector())].map(node => {\n\t\t\t\ttags.push({\n\t\t\t\t\telementHtml: this.clearHtml(node.outerHTML),\n\t\t\t\t\telementSelector: BX.Landing.Utils.getCSSSelector(node),\n\t\t\t\t\tinsertAfterSelector: node.previousElementSibling ? BX.Landing.Utils.getCSSSelector(node.previousElementSibling) : null,\n\t\t\t\t\tparentNodeSelector: BX.Landing.Utils.getCSSSelector(node.parentNode)\n\t\t\t\t});\n\t\t\t\tthis.removeNode(node);\n\t\t\t});\n\n\t\t\tthis.changed = true;\n\t\t\tthis.refreshManifest();\n\n\t\t\tBX.Landing.History.getInstance().push(\n\t\t\t\tnew BX.Landing.History.Entry({\n\t\t\t\t\tselector: this.activeNode.getOriginalSelector(),\n\t\t\t\t\tcommand: 'removeNode',\n\t\t\t\t\tblock: null,\n\t\t\t\t\tundo: { tags },\n\t\t\t\t\tredo: null\n\t\t\t\t})\n\t\t\t);\n\n\t\t}, 0);\n\t}\n\n\ttypeWithWrapper(type: string)\n\t{\n\t\treturn type === 'icon' || type === 'embed';\n\t}\n\n\taddNode(nodeOptions: NodeType): boolean\n\t{\n\t\tif (!this.nodeMap.get(nodeOptions.element))\n\t\t{\n\t\t\tif (nodeOptions.selector.match(/^\\.[\\w-_]+$/i) === null)\n\t\t\t{\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// for some type we get parent node\n\t\t\tconst withWrapper = this.typeWithWrapper(nodeOptions.type);\n\t\t\tnodeOptions.element = withWrapper\n\t\t\t\t? nodeOptions.element.parentNode\n\t\t\t\t: nodeOptions.element;\n\t\t\tif (withWrapper)\n\t\t\t{\n\t\t\t\tnodeOptions.selector = nodeOptions.selector + '--type-wrapper';\n\t\t\t\tDom.addClass(nodeOptions.element, nodeOptions.selector.substr(1));\n\t\t\t}\n\t\t\t// mouse over callback\n\t\t\tnodeOptions.onHover = this.onMouseOver.bind(this);\n\n\t\t\tthis.nodeMap.set(\n\t\t\t\tnodeOptions.element,\n\t\t\t\tnew Node(nodeOptions)\n\t\t\t);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremoveNode(node: HTMLElement)\n\t{\n\t\tif (node)\n\t\t{\n\t\t\tDom.remove(node);\n\t\t\tthis.nodeMap.delete(node);\n\t\t}\n\t}\n\n\tonMouseOver(node: Node)\n\t{\n\t\tif (this.saving)\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tthis.activeNode = node;\n\t\tthis.adjustHoverArea();\n\t\tif (!node.isPseudoElement())\n\t\t{\n\t\t\tthis.highlight.show(node.getElement());\n\t\t}\n\t}\n}\n"],"names":["Node","options","element","selector","cardSelector","onHover","pseudoElement","Dom","hasClass","Event","bind","onMouseOver","className","addClass","event","stopPropagation","DesignerBlockUI","Tag","render","Loc","getMessage","RepoPanel","title","scrollAnimation","currentCategory","cache","Cache","MemoryCache","onElementSelect","renderTo","document","body","layout","repository","map","item","addElement","newManifest","Object","keys","manifest","nodes","randPostfix","randomNum","substr","html","replaceAll","RegExp","nodeCard","BX","Landing","UI","Card","BlockPreviewCard","name","image","code","onClick","makeElementUnique","hide","appendCard","min","max","parseInt","Math","random","remember","Content","RepoManager","panel","addRepository","show","then","DesignerBlock","blockNode","originalNode","children","blockCode","blockId","id","designed","autoPublicationEnabled","landingId","lid","highlight","Highlight","cardSelectors","cards","designAllowed","Env","getInstance","getOptions","design_block_allowed","push","nodeMap","WeakMap","metrika","Metrika","repoManager","saveButton","parent","getElementById","top","preventEvents","initHistoryEvents","initTopPanel","initNodes","initGrid","initSliders","initHoverArea","content","replace","preventMap","a","form","input","tag","querySelectorAll","node","e","preventDefault","getDocumentBody","addCustomEvent","tags","elementAdded","insertAfterSelector","parentNodeSelector","elementHtml","insertAfter","querySelector","prepend","refreshManifest","setTimeout","sendLabel","removeNode","elementSelector","finishCallback","SidePanel","Instance","close","changed","InfoHelper","saving","batch","action","data","block","clearHtml","innerHTML","Backend","addNode","type","wrapper","parentNode","attr","getPseudoLast","append","sliderSelector","slider","count","Text","toNumber","dataset","slidesShow","rows","classList","join","head","appendChild","hoverArea","getHoverDiv","addNodeElement","getAddNodeButton","CardAction","Button","BaseButtonPanel","Panel","cardAction","showPanel","hideHoverArea","addButton","removeElement","showHoverArea","clientRect","activeNode","getElement","getBoundingClientRect","hoverElementAdd","hoverElementActions","editorWindow","PageObject","getEditorWindow","isPseudoElement","style","height","scrollY","left","width","parentElement","tagName","key","value","clearSendedLabel","repoElement","getSelector","isInsideElement","Utils","getCSSSelector","length","History","Entry","command","undo","redo","outerHTML","previousElementSibling","getOriginalSelector","nodeOptions","get","match","withWrapper","typeWithWrapper","set","remove","delete","adjustHoverArea"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit