Your IP : 108.162.241.184


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

{"version":3,"file":"menu.bundle.js","sources":["../src/build-tree.js","../src/make-flat-tree.js","../src/get-node-class.js","../src/menu.js"],"sourcesContent":["export default function buildTree(root: HTMLElement, selector, parent = null, depth = 0)\n{\n\treturn [...root.querySelectorAll(selector)]\n\t\t.filter((element) => {\n\t\t\treturn element.parentElement.closest(selector) === parent;\n\t\t})\n\t\t.map((element) => {\n\t\t\tconst newDepth = depth + 1;\n\t\t\treturn {\n\t\t\t\tlayout: element,\n\t\t\t\tchildren: buildTree(element, selector, element, newDepth),\n\t\t\t\tdepth,\n\t\t\t};\n\t\t});\n}","import {MenuItem} from 'landing.menu.menuitem';\n\nexport default function makeFlatTree(tree: Array<MenuItem>, acc = []): Array<MenuItem>\n{\n\ttree.forEach((item) => {\n\t\tacc.push(item);\n\t\tmakeFlatTree(item.children, acc);\n\t});\n\n\treturn acc;\n}","export default function getNodeClass(type)\n{\n\tif (type === 'link')\n\t{\n\t\treturn BX.Landing.Block.Node.Link;\n\t}\n\n\tif (type === 'img')\n\t{\n\t\treturn BX.Landing.Block.Node.Img;\n\t}\n\n\tif (type === 'icon')\n\t{\n\t\treturn BX.Landing.Block.Node.Icon;\n\t}\n\n\tif (type === 'embed')\n\t{\n\t\treturn BX.Landing.Block.Node.Embed;\n\t}\n\n\tif (type === 'map')\n\t{\n\t\treturn BX.Landing.Block.Node.Map;\n\t}\n\n\tif (type === 'component')\n\t{\n\t\treturn BX.Landing.Block.Node.Component;\n\t}\n\n\treturn BX.Landing.Block.Node.Text;\n}","import {Event, Cache, Tag, Dom, Type, Text} from 'main.core';\nimport {Loc} from 'landing.loc';\nimport {Env} from 'landing.env';\nimport {Main} from 'landing.main';\nimport {Backend} from 'landing.backend';\nimport {MenuItem} from 'landing.menu.menuitem';\nimport {MenuForm} from 'landing.ui.form.menuform';\nimport {StylePanel} from 'landing.ui.panel.stylepanel';\nimport buildTree from './build-tree';\nimport makeFlatTree from './make-flat-tree';\nimport getNodeClass from './get-node-class';\n\nimport './css/style.css';\n\n/**\n * @memberOf BX.Landing.Menu\n */\nexport class Menu extends Event.EventEmitter\n{\n\tconstructor(options = {})\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.Menu.Menu');\n\n\t\tthis.code = options.code;\n\t\tthis.root = options.root;\n\t\tthis.block = options.block;\n\t\tthis.manifest = Object.freeze({...options.manifest});\n\t\tthis.cache = new Cache.MemoryCache();\n\n\t\tif (\n\t\t\tEnv.getInstance().getType() === 'KNOWLEDGE'\n\t\t\t|| Env.getInstance().getType() === 'GROUP'\n\t\t)\n\t\t{\n\t\t\tif (Dom.hasClass(this.root.nextElementSibling, 'landing-menu-add'))\n\t\t\t{\n\t\t\t\tDom.remove(this.root.nextElementSibling);\n\t\t\t}\n\n\t\t\tDom.addClass(this.root, 'landing-menu-root-list');\n\t\t\tDom.insertAfter(this.getAddPageLayout(), this.root);\n\t\t}\n\n\t\tEvent.bind(this.root, 'click', (event: MouseEvent) => {\n\t\t\tif (\n\t\t\t\t!StylePanel.getInstance().isShown()\n\t\t\t\t&& event.target.nodeName === 'A'\n\t\t\t)\n\t\t\t{\n\t\t\t\tevent.preventDefault();\n\t\t\t\tlet href = Dom.attr(event.target, 'href');\n\t\t\t\tconst hrefPagePrefix = 'page:';\n\t\t\t\tif (href.startsWith(hrefPagePrefix))\n\t\t\t\t{\n\t\t\t\t\thref = href.replace(hrefPagePrefix, '');\n\t\t\t\t}\n\t\t\t\tif (href.startsWith('#landing'))\n\t\t\t\t{\n\t\t\t\t\tconst pageId = Text.toNumber(href.replace('#landing', ''));\n\t\t\t\t\tthis.reloadPage(pageId);\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tcreateMenuItem(options): MenuItem\n\t{\n\t\tconst nodes = new BX.Landing.Collection.NodeCollection();\n\n\t\tObject.entries(this.manifest.nodes).forEach(([code, nodeManifest]) => {\n\t\t\tconst nodeElements = [\n\t\t\t\t...options.layout.querySelectorAll(code),\n\t\t\t].filter((nodeElement) => {\n\t\t\t\tconst elementParent = nodeElement.closest(this.manifest.item);\n\t\t\t\treturn elementParent === options.layout;\n\t\t\t});\n\n\t\t\tif (nodeElements.length > 0)\n\t\t\t{\n\t\t\t\tconst NodeClass = getNodeClass(nodeManifest.type);\n\n\t\t\t\tnodeElements.forEach((nodeElement) => {\n\t\t\t\t\tnodes.push(\n\t\t\t\t\t\tnew NodeClass({\n\t\t\t\t\t\t\tnode: nodeElement,\n\t\t\t\t\t\t\tmanifest: {...nodeManifest, allowInlineEdit: false, menuMode: true},\n\t\t\t\t\t\t}),\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\treturn new MenuItem({\n\t\t\tlayout: options.layout,\n\t\t\tchildren: options.children.map((itemOptions, index) => {\n\t\t\t\treturn this.createMenuItem({...itemOptions, index});\n\t\t\t}),\n\t\t\tselector: `${this.manifest.item}@${options.index}`,\n\t\t\tdepth: options.depth,\n\t\t\tnodes,\n\t\t});\n\t}\n\n\tgetTree()\n\t{\n\t\tconst {item} = this.manifest;\n\t\treturn buildTree(this.root, item)\n\t\t\t.map((options, index) => this.createMenuItem({...options, index}));\n\t}\n\n\tgetFlatTree()\n\t{\n\t\treturn makeFlatTree(this.getTree());\n\t}\n\n\tgetForm(): MenuForm\n\t{\n\t\treturn new MenuForm({\n\t\t\ttitle: 'Menu',\n\t\t\ttype: 'menu',\n\t\t\tcode: this.code,\n\t\t\tforms: this.getFlatTree().map((item) => {\n\t\t\t\treturn item.getForm();\n\t\t\t}),\n\t\t});\n\t}\n\n\tgetAddPageButton(): HTMLButtonElement\n\t{\n\t\treturn this.cache.remember('addPageButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<button \n\t\t\t\t\tclass=\"ui-btn ui-btn-light-border ui-btn-icon-add ui-btn-round landing-ui-menu-add-button\"\n\t\t\t\t\tonclick=\"${this.onAddPageButtonClick.bind(this)}\"\n\t\t\t\t\t>\n\t\t\t\t\t${Loc.getMessage('LANDING_MENU_CREATE_NEW_PAGE')}\n\t\t\t\t</button>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonAddPageTextInputKeydown(event: KeyboardEvent)\n\t{\n\t\tif (event.keyCode === 13)\n\t\t{\n\t\t\tthis.addPage();\n\t\t}\n\t}\n\n\taddPage()\n\t{\n\t\tconst input = this.getAddPageInput();\n\t\tconst {value} = input;\n\n\t\tinput.value = '';\n\t\tinput.focus();\n\n\t\tif (Type.isStringFilled(value))\n\t\t{\n\t\t\tconst code = BX.translit(\n\t\t\t\tvalue,\n\t\t\t\t{\n\t\t\t\t\tchange_case: 'L',\n\t\t\t\t\treplace_space: '-',\n\t\t\t\t\treplace_other: '',\n\t\t\t\t},\n\t\t\t);\n\n\t\t\tconst backend = Backend.getInstance();\n\n\t\t\tbackend\n\t\t\t\t.createPage({\n\t\t\t\t\ttitle: value,\n\t\t\t\t\tmenuCode: this.code,\n\t\t\t\t\tblockId: this.block,\n\t\t\t\t\tcode,\n\t\t\t\t})\n\t\t\t\t.then((id) => {\n\t\t\t\t\tconst li = this.createLi({\n\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\thref: `#landing${id}`,\n\t\t\t\t\t\ttarget: '_self',\n\t\t\t\t\t\tchildren: [],\n\t\t\t\t\t});\n\n\t\t\t\t\tDom.append(li, this.root);\n\t\t\t\t\tDom.remove(this.getAddPageField());\n\t\t\t\t\tDom.removeClass(this.root, 'landing-menu-root-list-with-field');\n\t\t\t\t\tDom.removeClass(this.getAddPageLayout(), 'landing-menu-add-with-background');\n\n\t\t\t\t\tthis.reloadPage(id);\n\t\t\t\t});\n\t\t}\n\t}\n\n\t// eslint-disable-next-line class-methods-use-this\n\treloadPage(id: number)\n\t{\n\t\tconst main = Main.getInstance();\n\t\tconst url = Env.getInstance().getLandingEditorUrl({\n\t\t\tlanding: id,\n\t\t});\n\n\t\tvoid main.reloadSlider(url);\n\t}\n\n\tgetAddPageInput(): TextField\n\t{\n\t\treturn this.cache.remember('addPageTextInput', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<input \n\t\t\t\t\ttype=\"text\" \n\t\t\t\t\tclass=\"landing-menu-add-field-input\"\n\t\t\t\t\tplaceholder=\"${Loc.getMessage('LANDING_MENU_CREATE_NEW_PAGE')}\"\n\t\t\t\t\tonkeydown=\"${this.onAddPageTextInputKeydown.bind(this)}\"\n\t\t\t\t\t>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonAddPageInputCloseButtonClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\n\t\tconst input = this.getAddPageInput();\n\n\t\tinput.value = '';\n\t\tDom.removeClass(this.root, 'landing-menu-root-list-with-field');\n\t\tDom.removeClass(this.getAddPageLayout(), 'landing-menu-add-with-background');\n\t\tDom.remove(this.getAddPageField());\n\t\tDom.append(this.getAddPageButton(), this.getAddPageLayout());\n\t}\n\n\tgetAddPageInputCloseButton(): HTMLElement\n\t{\n\t\treturn this.cache.remember('addPageInputCloseButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span \n\t\t\t\t\tclass=\"landing-menu-add-field-close\"\n\t\t\t\t\tonclick=\"${this.onAddPageInputCloseButtonClick.bind(this)}\"\n\t\t\t\t\ttitle=\"${Loc.getMessage('LANDING_MENU_CLOSE_BUTTON_LABEL')}\"\n\t\t\t\t\t>\n\t\t\t\t</span>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetAddPageInputApplyButton(): HTMLElement\n\t{\n\t\treturn this.cache.remember('addPageInputApplyButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span \n\t\t\t\t\tclass=\"landing-menu-add-field-apply\"\n\t\t\t\t\tonclick=\"${this.onAddPageInputApplyButtonClick.bind(this)}\"\n\t\t\t\t\ttitle=\"${Loc.getMessage('LANDING_MENU_APPLY_BUTTON_LABEL')}\"\n\t\t\t\t\t>\n\t\t\t\t</span>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonAddPageInputApplyButtonClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.addPage();\n\t}\n\n\tgetAddPageField(): HTMLElement\n\t{\n\t\treturn this.cache.remember('addPageInput', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-menu-add-field\">\n\t\t\t\t\t${this.getAddPageInput()}\n\t\t\t\t\t${this.getAddPageInputApplyButton()}\n\t\t\t\t\t${this.getAddPageInputCloseButton()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetAddPageLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('addPageLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-menu-add\">\n\t\t\t\t\t${this.getAddPageButton()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonAddPageButtonClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tDom.addClass(this.root, 'landing-menu-root-list-with-field');\n\t\tDom.addClass(this.getAddPageLayout(), 'landing-menu-add-with-background');\n\t\tDom.prepend(this.getAddPageField(), this.getAddPageLayout());\n\t\tDom.remove(this.getAddPageButton());\n\t\tthis.getAddPageInput().focus();\n\t}\n\n\tcreateList(items, type = 'root')\n\t{\n\t\tconst {ulClassName} = this.manifest[type];\n\t\treturn Tag.render`\n\t\t\t<ul class=\"${ulClassName}\">${items.map((item) => this.createLi(item, type))}</ul>\n\t\t`;\n\t}\n\n\tcreateA(item, type = 'root')\n\t{\n\t\tconst {aClassName} = this.manifest[type];\n\t\treturn Tag.render`\n\t\t\t<a class=\"${aClassName}\" href=\"${item.href}\" target=\"${item.target}\">${Text.encode(item.text)}</a>\n\t\t`;\n\t}\n\n\tcreateLi(item, type = 'root')\n\t{\n\t\tconst {liClassName} = this.manifest[type];\n\t\treturn Tag.render`\n\t\t\t<li class=\"${liClassName}\">\n\t\t\t\t${this.createA(item, type)}\n\t\t\t\t${item.children ? this.createList(item.children, 'children') : undefined}\n\t\t\t</li>\n\t\t`;\n\t}\n\n\trebuild(items)\n\t{\n\t\tconst newList = this.createList(items);\n\n\t\tDom.replace(this.root, newList);\n\t\tthis.root = newList;\n\t}\n}"],"names":["buildTree","root","selector","parent","depth","querySelectorAll","filter","element","parentElement","closest","map","newDepth","layout","children","makeFlatTree","tree","acc","forEach","item","push","getNodeClass","type","BX","Landing","Block","Node","Link","Img","Icon","Embed","Map","Component","Text","Menu","options","setEventNamespace","code","block","manifest","Object","freeze","cache","Cache","MemoryCache","Env","getInstance","getType","Dom","hasClass","nextElementSibling","remove","addClass","insertAfter","getAddPageLayout","Event","bind","event","StylePanel","isShown","target","nodeName","preventDefault","href","attr","hrefPagePrefix","startsWith","replace","pageId","toNumber","reloadPage","nodes","Collection","NodeCollection","entries","nodeManifest","nodeElements","nodeElement","elementParent","length","NodeClass","node","allowInlineEdit","menuMode","MenuItem","itemOptions","index","createMenuItem","getTree","MenuForm","title","forms","getFlatTree","getForm","remember","Tag","render","onAddPageButtonClick","Loc","getMessage","keyCode","addPage","input","getAddPageInput","value","focus","Type","isStringFilled","translit","change_case","replace_space","replace_other","backend","Backend","createPage","menuCode","blockId","then","id","li","createLi","text","append","getAddPageField","removeClass","main","Main","url","getLandingEditorUrl","landing","reloadSlider","onAddPageTextInputKeydown","getAddPageButton","onAddPageInputCloseButtonClick","onAddPageInputApplyButtonClick","getAddPageInputApplyButton","getAddPageInputCloseButton","prepend","items","ulClassName","aClassName","encode","liClassName","createA","createList","undefined","newList","EventEmitter"],"mappings":"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"}