| Current Path : /var/www/homesaver/www/bitrix/js/landing/ui/field/variablesfield/dist/ |
| Current File : /var/www/homesaver/www/bitrix/js/landing/ui/field/variablesfield/dist/variablesfield.bundle.js.map |
{"version":3,"file":"variablesfield.bundle.js","sources":["../src/variablesfield.js"],"sourcesContent":["import {TextField} from 'landing.ui.field.textfield';\nimport {Dom, Tag, Event} from 'main.core';\nimport {BaseButton} from 'landing.ui.button.basebutton';\nimport {Menu} from 'main.popup';\nimport {PageObject} from 'landing.pageobject';\n\nimport './css/style.css';\n\nconst instances = Symbol('instances');\n\n/**\n * @memberOf BX.Landing.UI.Field\n */\nexport class VariablesField extends TextField\n{\n\tstatic [instances] = [];\n\n\tconstructor(options)\n\t{\n\t\tsuper({...options, textOnly: true});\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.VariablesField');\n\t\tthis.onTopDocumentClick = this.onTopDocumentClick.bind(this);\n\n\t\tEvent.bind(window.top.document, 'click', this.onTopDocumentClick);\n\n\t\tDom.append(this.getLayout(), this.layout);\n\n\t\tVariablesField[instances].push(this);\n\t}\n\n\tonTopDocumentClick()\n\t{\n\t\t// const rootWindowDocument = PageObject.getRootWindow().document;\n\t\t// if (rootWindowDocument !== this.input.ownerDocument)\n\t\t// {\n\t\t// \tthis.getMenu().close();\n\t\t// \tsuper.onDocumentClick();\n\t\t// }\n\t}\n\n\tonInputClick(event)\n\t{\n\t\t// event.preventDefault();\n\n\t\tthis.lastRange = this.input.ownerDocument.createRange(\n\t\t\tthis.input.innerText.length,\n\t\t\tthis.input.innerText.length,\n\t\t);\n\n\t\tthis.lastRange = this.input.ownerDocument.getSelection().getRangeAt(0);\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field landing-ui-field-variables\">\n\t\t\t\t\t<div class=\"landing-ui-field-variables-left\">${this.input}</div>\n\t\t\t\t\t<div class=\"landing-ui-field-variables-right\">${this.getButton()}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetButton(): BaseButton\n\t{\n\t\treturn this.cache.remember('button', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div \n\t\t\t\t\tclass=\"landing-ui-field-variables-button\" \n\t\t\t\t\tonclick=\"${this.onButtonClick.bind(this)}\"\n\t\t\t\t></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetMenu(): Menu\n\t{\n\t\treturn this.cache.remember('menu', () => {\n\t\t\tconst rootWindow = PageObject.getRootWindow();\n\t\t\tconst menu = new rootWindow.BX.Main.Menu({\n\t\t\t\tbindElement: this.getButton(),\n\t\t\t\ttargetContainer: this.getLayout(),\n\t\t\t\tautoHide: true,\n\t\t\t\tmaxHeight: 250,\n\t\t\t\titems: this.options.variables.map((variable) => {\n\t\t\t\t\tif (variable.delimiter)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn {delimiter: true};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttext: variable.name,\n\t\t\t\t\t\tonclick: () => {\n\t\t\t\t\t\t\tthis.onVariableClick(variable);\n\t\t\t\t\t\t\tmenu.close();\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t\tevents: {\n\t\t\t\t\tonPopupShow: () => {\n\t\t\t\t\t\tVariablesField[instances].forEach((item) => {\n\t\t\t\t\t\t\tif (item !== this)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titem.getMenu().close();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tDom.style(menu.getMenuContainer(), {\n\t\t\t\t\t\t\t\tleft: 'auto',\n\t\t\t\t\t\t\t\tright: '0px',\n\t\t\t\t\t\t\t\ttop: '30px',\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\n\t\t\treturn menu;\n\t\t});\n\t}\n\n\tonInputInput()\n\t{\n\t\tconst currentDocument = this.getLayout().ownerDocument;\n\t\tthis.lastRange = currentDocument.getSelection().getRangeAt(0);\n\t\tsuper.onInputInput();\n\t}\n\n\tonVariableClick(variable)\n\t{\n\t\tthis.enableEdit();\n\t\tthis.input.focus();\n\t\tconst currentDocument = this.getLayout().ownerDocument;\n\n\t\tif (this.lastRange)\n\t\t{\n\t\t\tcurrentDocument.getSelection().removeAllRanges();\n\t\t\tcurrentDocument.getSelection().addRange(this.lastRange);\n\t\t}\n\n\t\tcurrentDocument.execCommand('insertText', null, ` ${variable.value} `);\n\t}\n\n\tonButtonClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tif (!this.lastRange && this.input.innerText.length)\n\t\t{\n\t\t\tconst currentDocument = this.input.ownerDocument;\n\t\t\tcurrentDocument.getSelection().collapse(this.input.childNodes[0], this.input.innerText.length);\n\t\t\tthis.lastRange = currentDocument.getSelection().getRangeAt(0);\n\t\t}\n\n\t\tconst menu = this.getMenu();\n\t\tif (menu.getPopupWindow().isShown())\n\t\t{\n\t\t\tthis.getMenu().close();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.getMenu().show();\n\t\t}\n\t}\n\n\tgetValue(): string\n\t{\n\t\treturn this.input.innerText;\n\t}\n}\n"],"names":["instances","Symbol","VariablesField","options","textOnly","setEventNamespace","onTopDocumentClick","bind","Event","window","top","document","Dom","append","getLayout","layout","push","event","lastRange","input","ownerDocument","createRange","innerText","length","getSelection","getRangeAt","cache","remember","Tag","render","getButton","onButtonClick","rootWindow","PageObject","getRootWindow","menu","BX","Main","Menu","bindElement","targetContainer","autoHide","maxHeight","items","variables","map","variable","delimiter","text","name","onclick","onVariableClick","close","events","onPopupShow","forEach","item","getMenu","setTimeout","style","getMenuContainer","left","right","currentDocument","enableEdit","focus","removeAllRanges","addRange","execCommand","value","preventDefault","stopPropagation","collapse","childNodes","getPopupWindow","isShown","show","TextField"],"mappings":"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"}