File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/landing/designerblock/dist/designerblock.bundle.js.map
Back
{"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 'ui.fonts.opensans';\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\tBX.addCustomEvent('Landing.Editor:load', () => {\n\t\t\tthis.preventEvents();\n\t\t\t// todo: force reinit history instance with D type\n\t\t\tthis.initHistoryEvents();\n\t\t\tthis.initTopPanel();\n\t\t\tthis.initNodes();\n\t\t\tthis.initGrid();\n\t\t\tthis.initSliders();\n\t\t\tthis.initHoverArea();\n\t\t});\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\\("(.*?)"\\)/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\tBX.Landing.History.getInstance()\n\t\t\t.setTypeDesignerBlock(this.blockId)\n\t\t\t.then(() => {\n\t\t\t\treturn Backend.getInstance()\n\t\t\t\t\t.action(\"History::clearDesignerBlock\", {\n\t\t\t\t\t\tblockId: this.blockId,\n\t\t\t\t\t});\n\t\t\t});\n\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(true);\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\t\t\tbatch['History::clearDesignerBlock'] = {\n\t\t\t\taction: 'History::clearDesignerBlock',\n\t\t\t\tdata: {\n\t\t\t\t\tblockId: this.blockId,\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: ' ',\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\tBackend.getInstance()\n\t\t\t.action(\"History::pushDesignerBlock\", {\n\t\t\t\tblockId: this.blockId,\n\t\t\t\taction: 'ADD_NODE',\n\t\t\t\tdata: {\n\t\t\t\t\ttags: tags,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then(result => {\n\t\t\t\tBX.Landing.History.getInstance().push();\n\t\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\tBackend.getInstance()\n\t\t\t\t.action(\"History::pushDesignerBlock\", {\n\t\t\t\t\tblockId: this.blockId,\n\t\t\t\t\taction: 'REMOVE_NODE',\n\t\t\t\t\tdata: {\n\t\t\t\t\t\tselector: this.activeNode.getOriginalSelector(),\n\t\t\t\t\t\ttags: tags,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.then(result => {\n\t\t\t\t\tBX.Landing.History.getInstance().push();\n\t\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","addCustomEvent","preventEvents","initHistoryEvents","initTopPanel","initNodes","initGrid","initSliders","initHoverArea","content","replace","preventMap","a","form","input","tag","querySelectorAll","node","e","preventDefault","History","setTypeDesignerBlock","Backend","action","getDocumentBody","tags","elementAdded","insertAfterSelector","parentNodeSelector","elementHtml","insertAfter","querySelector","prepend","refreshManifest","setTimeout","sendLabel","removeNode","elementSelector","finishCallback","SidePanel","Instance","close","changed","InfoHelper","saving","batch","data","block","clearHtml","innerHTML","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","result","outerHTML","previousElementSibling","getOriginalSelector","nodeOptions","get","match","withWrapper","typeWithWrapper","set","remove","adjustHoverArea"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.28 |
proxy
|
phpinfo
|
Settings