File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/landing/install/js/landing/ui/form/menuform/dist/menuform.bundle.js.map
Back
{"version":3,"file":"menuform.bundle.js","sources":["../src/menuform.js"],"sourcesContent":["import {Dom, Type, Tag} from 'main.core';\nimport {Loc} from 'landing.loc';\nimport {Env} from 'landing.env';\nimport {Main} from 'landing.main';\nimport {BaseForm} from 'landing.ui.form.baseform';\nimport {MenuItemForm} from 'landing.ui.form.menuitemform';\nimport {Draggable} from 'ui.draganddrop.draggable';\n\nimport './css/style.css';\n\n/**\n * @memberOf BX.Landing.UI.Form\n */\nexport class MenuForm extends BaseForm\n{\n\tconstructor(options = {})\n\t{\n\t\tsuper(options);\n\t\tDom.addClass(this.layout, 'landing-ui-form-menu');\n\n\t\tthis.forms = new BX.Landing.UI.Collection.FormCollection();\n\n\t\tif (Type.isArray(options.forms))\n\t\t{\n\t\t\toptions.forms.forEach((form) => {\n\t\t\t\tthis.addForm(form);\n\t\t\t});\n\t\t}\n\n\t\tthis.draggable = new Draggable({\n\t\t\tcontainer: this.getBody(),\n\t\t\tdraggable: '.landing-ui-form-menuitem',\n\t\t\tdragElement: '.landing-ui-form-header-drag-button',\n\t\t\ttype: Draggable.DROP_PREVIEW,\n\t\t\tdepth: {\n\t\t\t\tmargin: 20,\n\t\t\t},\n\t\t});\n\n\t\tthis.onMenuItemRemove = this.onMenuItemRemove.bind(this);\n\n\t\tDom.append(this.getAddItemLayout(), this.layout);\n\t}\n\n\taddForm(form: BaseForm)\n\t{\n\t\tif (!this.forms.contains(form))\n\t\t{\n\t\t\tthis.forms.add(form);\n\t\t\tDom.append(form.layout, this.body);\n\t\t\tform.subscribe('remove', this.onMenuItemRemove.bind(this));\n\n\t\t\tif (this.draggable)\n\t\t\t{\n\t\t\t\tthis.draggable.invalidateCache();\n\t\t\t}\n\t\t}\n\t}\n\n\tonMenuItemRemove(event)\n\t{\n\t\tconst children = this.draggable.getChildren(event.data.form.layout);\n\n\t\tchildren.forEach((element) => {\n\t\t\tDom.remove(element);\n\t\t});\n\n\t\tthis.forms.remove(event.data.form);\n\t\tthis.draggable.invalidateCache();\n\t}\n\n\tserialize()\n\t{\n\t\tconst draggableElements = this.draggable.getDraggableElements();\n\t\tconst getChildren = (parent) => {\n\t\t\tconst parentDepth = this.draggable.getElementDepth(parent);\n\t\t\tconst allChildren = this.draggable.getChildren(parent);\n\n\t\t\treturn allChildren.reduce((acc, current) => {\n\t\t\t\tconst currentDepth = this.draggable.getElementDepth(current);\n\n\t\t\t\tif (currentDepth === (parentDepth + 1))\n\t\t\t\t{\n\t\t\t\t\tconst form = this.forms.getByLayout(current);\n\t\t\t\t\tacc.push({\n\t\t\t\t\t\t...form.serialize(),\n\t\t\t\t\t\tchildren: getChildren(current),\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn acc;\n\t\t\t}, []);\n\t\t};\n\n\t\treturn draggableElements.reduce((acc, element) => {\n\t\t\tif (this.draggable.getElementDepth(element) === 0)\n\t\t\t{\n\t\t\t\tconst form = this.forms.getByLayout(element);\n\t\t\t\tacc.push({\n\t\t\t\t\t...form.serialize(),\n\t\t\t\t\tchildren: getChildren(element),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn acc;\n\t\t}, []);\n\t}\n\n\tonAddButtonClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\n\t\tconst pageType = Env.getInstance().getType();\n\t\tconst content = {\n\t\t\ttext: Loc.getMessage('LANDING_NEW_PAGE_LABEL'),\n\t\t\ttarget: '_blank',\n\t\t\thref: ['KNOWLEDGE', 'GROUP'].includes(pageType) ? '#landing0' : '',\n\t\t};\n\n\t\tconst allowedTypes = [\n\t\t\tBX.Landing.UI.Field.LinkURL.TYPE_BLOCK,\n\t\t\tBX.Landing.UI.Field.LinkURL.TYPE_PAGE,\n\t\t\tBX.Landing.UI.Field.LinkURL.TYPE_CRM_FORM,\n\t\t\tBX.Landing.UI.Field.LinkURL.TYPE_CRM_PHONE,\n\t\t];\n\n\t\tif (pageType === 'STORE')\n\t\t{\n\t\t\tallowedTypes.push(\n\t\t\t\tBX.Landing.UI.Field.LinkURL.TYPE_CATALOG,\n\t\t\t);\n\t\t}\n\n\t\tconst field = new BX.Landing.UI.Field.Link({\n\t\t\tcontent,\n\t\t\toptions: {\n\t\t\t\tsiteId: Env.getInstance().getSiteId(),\n\t\t\t\tlandingId: Main.getInstance().id,\n\t\t\t\tfilter: {\n\t\t\t\t\t'=TYPE': pageType,\n\t\t\t\t},\n\t\t\t},\n\t\t\tallowedTypes,\n\t\t});\n\n\t\tconst form = new MenuItemForm({\n\t\t\tfields: [field],\n\t\t});\n\n\t\tform.showForm();\n\n\t\tthis.addForm(form);\n\n\t\tsetTimeout(() => {\n\t\t\tfield.input.enableEdit();\n\n\t\t\tconst {input} = field.input;\n\t\t\tconst [textNode] = input.childNodes;\n\n\t\t\tif (textNode)\n\t\t\t{\n\t\t\t\tconst range = document.createRange();\n\t\t\t\tconst sel = window.getSelection();\n\n\t\t\t\trange.setStart(textNode, input.innerText.length);\n\t\t\t\trange.collapse(true);\n\t\t\t\tsel.removeAllRanges();\n\t\t\t\tsel.addRange(range);\n\t\t\t}\n\t\t});\n\t}\n\n\tgetAddButton(): HTMLButtonElement\n\t{\n\t\treturn this.cache.remember('addButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<button \n\t\t\t\t\tclass=\"ui-btn ui-btn-sm ui-btn-light-border ui-btn-icon-add ui-btn-round landing-ui-form-menu-add-button\"\n\t\t\t\t\tonclick=\"${this.onAddButtonClick.bind(this)}\"\n\t\t\t\t\t>\n\t\t\t\t\t${Loc.getMessage('LANDING_ADD_MENU_ITEM')}\n\t\t\t\t</button>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetAddItemLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('addItemLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-form-menu-add\">\n\t\t\t\t\t${this.getAddButton()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n}"],"names":["MenuForm","options","Dom","addClass","layout","forms","BX","Landing","UI","Collection","FormCollection","Type","isArray","forEach","form","addForm","draggable","Draggable","container","getBody","dragElement","type","DROP_PREVIEW","depth","margin","onMenuItemRemove","bind","append","getAddItemLayout","contains","add","body","subscribe","invalidateCache","event","children","getChildren","data","element","remove","draggableElements","getDraggableElements","parent","parentDepth","getElementDepth","allChildren","reduce","acc","current","currentDepth","getByLayout","push","serialize","preventDefault","pageType","Env","getInstance","getType","content","text","Loc","getMessage","target","href","includes","allowedTypes","Field","LinkURL","TYPE_BLOCK","TYPE_PAGE","TYPE_CRM_FORM","TYPE_CRM_PHONE","TYPE_CATALOG","field","Link","siteId","getSiteId","landingId","Main","id","filter","MenuItemForm","fields","showForm","setTimeout","input","enableEdit","childNodes","textNode","range","document","createRange","sel","window","getSelection","setStart","innerText","length","collapse","removeAllRanges","addRange","cache","remember","Tag","render","onAddButtonClick","getAddButton","BaseForm"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings