| Current Path : /var/www/homesaver/www/bitrix/js/landing/ui/field/linkurl/dist/ |
| Current File : /var/www/homesaver/www/bitrix/js/landing/ui/field/linkurl/dist/linkurl.bundle.js.map |
{"version":3,"file":"linkurl.bundle.js","sources":["../src/linkurl.js"],"sourcesContent":["import { Text } from 'landing.ui.field.textfield';\nimport { Dom, Event, Tag, Type } from 'main.core';\nimport { Dialog } from 'ui.entity-selector';\n\nimport 'ui.fonts.opensans';\nimport 'ui.design-tokens';\n\nimport './css/style.css';\n\nexport class LinkUrl extends Text\n{\n\tstatic TYPE_BLOCK = \"block\";\n\tstatic TYPE_PAGE = \"landing\";\n\tstatic TYPE_CRM_FORM = \"crmFormPopup\";\n\tstatic TYPE_CRM_PHONE = \"crmPhone\";\n\tstatic TYPE_SYSTEM = \"system\";\n\tstatic TYPE_CATALOG = \"catalog\";\n\tstatic TYPE_CATALOG_ELEMENT = \"element\";\n\tstatic TYPE_CATALOG_SECTION = \"section\";\n\tstatic TYPE_DISK_FILE = \"diskFile\";\n\tstatic TYPE_USER = \"user\";\n\n\tstatic TYPE_HREF_START = \"selectActions:\";\n\tstatic TYPE_HREF_PAGE = \"page:\";\n\tstatic TYPE_HREF_BLOCK = \"block:\";\n\tstatic TYPE_HREF_CRM_FORM = \"form:\";\n\tstatic TYPE_HREF_PRODUCT = \"product:\";\n\tstatic TYPE_HREF_TEL = \"tel:\";\n\tstatic TYPE_HREF_SMS = \"sms:\";\n\tstatic TYPE_HREF_MAILTO = \"mailto:\";\n\tstatic TYPE_HREF_SKYPE = \"skype:\";\n\tstatic TYPE_HREF_LINK = \"\";\n\tstatic TYPE_HREF_FILE = \"file:\";\n\tstatic TYPE_HREF_USER = \"user:\";\n\tstatic DELETE_TYPE_HREF = \"deleteTypeHref\";\n\n\tconstructor(data)\n\t{\n\t\tsuper(data);\n\n\t\t/**\n\t\t * Href value matchers\n\t\t */\n\t\tthis.matchers = {\n\t\t\tcatalogElement: new RegExp(\"^(product:)?#catalogElement([0-9]+)\"),\n\t\t\tcatalogSection: new RegExp(\"^(product:)?#catalogSection([0-9]+)\"),\n\t\t\tcatalog: new RegExp(\"^#Section([0-9]+)\"),\n\t\t\telement: new RegExp(\"^#Element([0-9]+)\"),\n\t\t\tblock: new RegExp(\"^(block:)?#block([0-9]+)\"),\n\t\t\tpage: new RegExp(\"^(page:)?#landing([0-9]+)\"),\n\t\t\tcrmForm: new RegExp(\"^(form:)?#crmFormPopup([0-9]+)\"),\n\t\t\tcrmPhone: new RegExp(\"^(tel:)?#crmPhone([0-9]+)\"),\n\t\t\tdiskFile: new RegExp(\"^(file:)?#diskFile([0-9]+)\"),\n\t\t\tuser: new RegExp(\"^(user:)?#user([0-9]+)\"),\n\t\t\tsystem: new RegExp(\"^#system_[a-z_-]+\"),\n\t\t\tpageOld: new RegExp(\"^#landing([0-9]+)\"),\n\t\t};\n\n\t\tthis.typePostfix = {\n\t\t\tskype: '?chat',\n\t\t};\n\t\tthis.typeHrefs = {\n\t\t\tpage: LinkUrl.TYPE_HREF_PAGE,\n\t\t\tblock: LinkUrl.TYPE_HREF_BLOCK,\n\t\t\tform: LinkUrl.TYPE_HREF_CRM_FORM,\n\t\t\tproduct: LinkUrl.TYPE_HREF_PRODUCT,\n\t\t\tfile: LinkUrl.TYPE_HREF_FILE,\n\t\t\tstart: LinkUrl.TYPE_HREF_START,\n\t\t\tuser: LinkUrl.TYPE_HREF_USER,\n\t\t};\n\n\t\tDom.addClass(this.layout, \"landing-ui-field-link-url\");\n\t\tthis.requestOptions = data.options || {};\n\t\tthis.disableBlocks = Type.isBoolean(data.disableBlocks) ? data.disableBlocks : false;\n\t\tthis.disallowType = Type.isBoolean(data.disallowType) ? data.disallowType : false;\n\t\tthis.iblocks = Type.isArray(data.iblocks) ? data.iblocks : null;\n\t\tthis.allowedTypes = Type.isArray(data.allowedTypes) ? data.allowedTypes : [LinkUrl.TYPE_BLOCK, LinkUrl.TYPE_PAGE];\n\t\tif (this.allowedTypes.length === 1)\n\t\t{\n\t\t\tthis.constantType = this.allowedTypes[0];\n\t\t\tthis.constantTypeData = data.typeData;\n\t\t}\n\t\tthis.allowedCatalogEntityTypes = Type.isArray(data.allowedCatalogEntityTypes) ? data.allowedCatalogEntityTypes : null;\n\t\tthis.onInitHandler = Type.isFunction(data.onInit) ? data.onInit : (function() {});\n\t\tthis.onNewPageHandler = Type.isFunction(data.onNewPage) ? data.onNewPage : (function() {});\n\t\tthis.enableAreas = data.enableAreas;\n\t\tthis.customPlaceholder = data.customPlaceholder;\n\t\tthis.detailPageMode = data.detailPageMode === true;\n\t\tthis.sourceField = data.sourceField;\n\t\tthis.currentPageOnly = data.currentPageOnly;\n\t\tthis.panelTitle = data.panelTitle;\n\n\t\tthis.onListShow = this.onListShow.bind(this, this.requestOptions);\n\t\tthis.onTypeChange = this.onTypeChange.bind(this);\n\t\tthis.onListItemClick = this.onListItemClick.bind(this);\n\n\t\tthis.popup = null;\n\t\tthis.dynamic = null;\n\t\tthis.value = null;\n\n\t\tthis.hrefTypeSwithcer = this.createTypeSwitcher();\n\t\tthis.hrefTypeSwithcerValue = this.getHrefStringType();\n\t\tthis.grid = this.createGridLayout();\n\t\tthis.gridLeftCell = this.grid.querySelector(\"[class*=\\\"left\\\"]\");\n\t\tthis.gridCenterCell = this.grid.querySelector(\"[class*=\\\"center\\\"]\");\n\t\tthis.gridRightCell = this.grid.querySelector(\"[class*=\\\"right\\\"]\");\n\n\t\tDom.remove(this.hrefTypeSwithcer.header);\n\t\tDom.append(this.hrefTypeSwithcer.layout, this.gridLeftCell);\n\t\tif (this.getHrefStringType() === LinkUrl.TYPE_HREF_START)\n\t\t{\n\t\t\tthis.gridCenterCell.hidden = true;\n\t\t\tthis.gridRightCell.hidden = true;\n\t\t}\n\t\tDom.append(this.input, this.gridCenterCell);\n\t\tDom.append(this.grid, this.layout);\n\n\t\tif (data.settingMode)\n\t\t{\n\t\t\tDom.addClass(this.gridCenterCell, \"setting-mode\");\n\t\t}\n\n\t\tif (!Type.isUndefined(this.constantType))\n\t\t{\n\t\t\tthis.rightData = this.getRightData();\n\t\t\tif (this.rightData.button)\n\t\t\t{\n\t\t\t\tconst button = this.createCenterCellButton(this.rightData.button);\n\t\t\t\tDom.append(button.layout, this.gridCenterCell);\n\t\t\t}\n\t\t\tthis.contentEditable = false;\n\t\t}\n\n\t\tthis.hrefTypeSwithcer.subscribe('onChange', () => {\n\t\t\tthis.rightData = this.getRightData();\n\t\t\tthis.input.hidden = this.rightData.hideInput === true;\n\t\t\tthis.gridCenterCell.hidden = false;\n\t\t\tthis.gridRightCell.hidden = false;\n\t\t\tlet button;\n\t\t\tif (this.rightData.button)\n\t\t\t{\n\t\t\t\tbutton = this.createCenterCellButton(this.rightData.button);\n\t\t\t}\n\t\t\tthis.emit('buildCenter',\n\t\t\t\t{\n\t\t\t\t\tbutton: button,\n\t\t\t\t});\n\t\t\tthis.emit('selectAction',\n\t\t\t\t{\n\t\t\t\t\threfStringType: this.getHrefStringType(),\n\t\t\t\t\tright: this.rightData,\n\t\t\t\t});\n\t\t\tif (this.hrefTypeSwithcer.getValue() === LinkUrl.DELETE_TYPE_HREF)\n\t\t\t{\n\t\t\t\tthis.deleteTypeHref();\n\t\t\t}\n\n\t\t\t//clear input when type is changed\n\t\t\tif (this.hrefTypeSwithcerValue !== this.hrefTypeSwithcer.getValue())\n\t\t\t{\n\t\t\t\tthis.input.innerHTML = '';\n\t\t\t\tthis.setValue(\"\");\n\t\t\t\tthis.hrefTypeSwithcerValue = this.hrefTypeSwithcer.getValue();\n\t\t\t}\n\n\t\t\tconst typeData = this.getTypeData(this.hrefTypeSwithcer.getValue());\n\t\t\tthis.setEditPrevented(false);\n\t\t\tthis.contentEditable = typeData.contentEditable;\n\t\t});\n\n\t\tconst type = this.getHrefStringType();\n\t\tthis.setHrefPlaceholderByType(type);\n\t\tthis.setHrefTypeSwitcherValue(type);\n\t\tthis.removeHrefTypeFromHrefString();\n\t\tthis.makeDisplayedHrefValue();\n\n\t\tif (!Type.isUndefined(this.constantType))\n\t\t{\n\t\t\tif (this.content === '')\n\t\t\t{\n\t\t\t\tthis.input.innerText = '';\n\t\t\t\tDom.addClass(this.input, \"landing-ui-field-input-empty\");\n\t\t\t}\n\t\t}\n\n\t\tif (this.disallowType)\n\t\t{\n\t\t\tDom.addClass(this.gridLeftCell, \"grid-dissallow\");\n\t\t}\n\t}\n\n\t/**\n\t * Sets iblocks list\n\t * @param {{name: string, value: int|string}[]} iblocks\n\t */\n\tsetIblocks(iblocks)\n\t{\n\t\tthis.iblocks = Type.isArray(iblocks) ? iblocks : null;\n\t}\n\n\tcreateCenterCellButton(data)\n\t{\n\t\tlet actionClick;\n\t\tif (data.hasOwnProperty('action'))\n\t\t{\n\t\t\tactionClick = this.onListShow.bind(this, data.action);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tactionClick = data.onclick;\n\t\t}\n\t\tconst buttonClasses = `landing-ui-button-grid-center-cell ${data.className || ''}`;\n\t\treturn new BX.Landing.UI.Button.BaseButton(\"center_cell_button\", {\n\t\t\tclassName: buttonClasses,\n\t\t\ttext: data.text,\n\t\t\tonClick: actionClick\n\t\t});\n\t}\n\n\t/**\n\t * Makes displayed value placeholder\n\t */\n\tmakeDisplayedHrefValue()\n\t{\n\t\tconst hrefValue = this.getValue();\n\t\tlet placeholderType = this.getPlaceholderType();\n\t\tif (!Type.isUndefined(this.constantType))\n\t\t{\n\t\t\tplaceholderType = this.constantType;\n\t\t}\n\t\tlet valuePromise;\n\n\t\tswitch (placeholderType)\n\t\t{\n\t\t\tcase LinkUrl.TYPE_BLOCK:\n\t\t\t\tvaluePromise = this.getBlockData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_PAGE:\n\t\t\tcase LinkUrl.TYPE_HREF_PAGE:\n\t\t\t\tvaluePromise = this.getPageData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CRM_FORM:\n\t\t\t\tvaluePromise = this.getCrmFormData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CRM_PHONE:\n\t\t\t\tvaluePromise = this.getCrmPhoneData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CATALOG_ELEMENT:\n\t\t\t\tvaluePromise = this.getCatalogElementData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CATALOG_SECTION:\n\t\t\t\tvaluePromise = this.getCatalogSectionData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_DISK_FILE:\n\t\t\t\tvaluePromise = this.getDiskFileData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_USER:\n\t\t\t\tvaluePromise = this.getUserData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_SYSTEM:\n\t\t\t\tvaluePromise = this.getSystemPage(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CATALOG:\n\t\t\t\tvaluePromise = this.getCatalog(hrefValue);\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (valuePromise)\n\t\t{\n\t\t\tvaluePromise\n\t\t\t\t.then(BX.Landing.Utils.proxy(this.createPlaceholder, this))\n\t\t\t\t.then(function(data) {\n\t\t\t\t\tthis.setValue(data, true);\n\t\t\t\t\tif (!this.inited)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.inited = true;\n\t\t\t\t\t\tthis.onInitHandler();\n\t\t\t\t\t}\n\t\t\t\t\treturn data;\n\t\t\t\t}.bind(this))\n\t\t\t\t.catch(function() {});\n\t\t}\n\t}\n\n\t/**\n\t * Gets placeholder data\n\t * @param {string} [hrefValue]\n\t * @return {Promise<Object>}\n\t */\n\tgetPlaceholderData(hrefValue)\n\t{\n\t\threfValue = hrefValue || this.getValue();\n\t\tconst placeholderType = this.getPlaceholderType(hrefValue);\n\t\tlet valuePromise = Promise.resolve({});\n\n\t\tswitch (placeholderType)\n\t\t{\n\t\t\tcase LinkUrl.TYPE_BLOCK:\n\t\t\t\tvaluePromise = this.getBlockData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_PAGE:\n\t\t\t\tvaluePromise = this.getPageData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CATALOG_ELEMENT:\n\t\t\t\tvaluePromise = this.getCatalogElementData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CATALOG_SECTION:\n\t\t\t\tvaluePromise = this.getCatalogSectionData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_DISK_FILE:\n\t\t\t\tvaluePromise = this.getDiskFileData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_USER:\n\t\t\t\tvaluePromise = this.getUserData(hrefValue);\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_SYSTEM:\n\t\t\t\tvaluePromise = this.getSystemPage(hrefValue);\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn valuePromise;\n\t}\n\n\t/**\n\t * Removes type prefix from href value\n\t */\n\tremoveHrefTypeFromHrefString()\n\t{\n\t\tconst clearHref = this.getValue()\n\t\t\t.replace(new RegExp(this.getHrefStringType(), \"g\"), \"\");\n\t\tthis.setValue(clearHref, true);\n\t}\n\n\t/**\n\t * Sets type switcher value\n\t * @param type\n\t */\n\tsetHrefTypeSwitcherValue(type)\n\t{\n\t\tif (type === LinkUrl.TYPE_HREF_START)\n\t\t{\n\t\t\tthis.gridCenterCell.hidden = true;\n\t\t\tthis.gridRightCell.hidden = true;\n\t\t\tthis.emit('deleteAction');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.gridCenterCell.hidden = false;\n\t\t\tthis.gridRightCell.hidden = false;\n\t\t}\n\t\tthis.hrefTypeSwithcer.setValue(type);\n\t}\n\n\t/**\n\t * Gets selected href type (From type switcher)\n\t * @return {string}\n\t */\n\tgetSelectedHrefType()\n\t{\n\t\treturn this.hrefTypeSwithcer.getValue();\n\t}\n\n\tgetRightData()\n\t{\n\t\tlet type = this.hrefTypeSwithcer.getValue();\n\t\tif (!Type.isUndefined(this.constantType))\n\t\t{\n\t\t\ttype = this.constantType;\n\t\t}\n\t\tconst data = this.getTypeData(type);\n\t\tconst title = this.getRightTitle(data);\n\t\tconst items = this.getRightItems(data);\n\t\tconst button = this.getRightButton(data);\n\t\tconst hideInput = this.getRightHideInput(data);\n\t\tconst idPopup = '';\n\t\treturn {\n\t\t\ttitle,\n\t\t\titems,\n\t\t\thideInput,\n\t\t\tbutton,\n\t\t\tidPopup,\n\t\t};\n\t}\n\n\tgetRightTitle(data)\n\t{\n\t\treturn data.title;\n\t}\n\n\tgetRightItems(data)\n\t{\n\t\treturn data.items;\n\t}\n\n\tgetRightHideInput(data)\n\t{\n\t\treturn data.hideInput;\n\t}\n\n\tgetRightButton(data)\n\t{\n\t\treturn data.button;\n\t}\n\n\tgetTypeData(type)\n\t{\n\t\tif (!Type.isUndefined(this.constantTypeData))\n\t\t{\n\t\t\treturn this.constantTypeData;\n\t\t}\n\n\t\tconst data = {};\n\t\tconst buttonClasses = 'fa fa-chevron-right';\n\t\tswitch (type)\n\t\t{\n\t\t\tcase LinkUrl.TYPE_HREF_PAGE:\n\t\t\tcase LinkUrl.TYPE_PAGE:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_PAGE\");\n\t\t\t\tdata.items = {\n\t\t\t\t\t\"_self\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_SELF\"),\n\t\t\t\t\t\"_blank\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_BLANK\"),\n\t\t\t\t\t\"_popup\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_POPUP\"),\n\t\t\t\t};\n\t\t\t\tdata.button = {\n\t\t\t\t\t'className': buttonClasses,\n\t\t\t\t\t'text': '',\n\t\t\t\t\t'action': LinkUrl.TYPE_PAGE,\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.contentEditable = false;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_BLOCK:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_BLOCK\");\n\t\t\t\tdata.items = {\n\t\t\t\t\t\"_self\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_SELF\"),\n\t\t\t\t\t\"_blank\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_BLANK\"),\n\t\t\t\t\t\"_popup\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_POPUP\"),\n\t\t\t\t};\n\t\t\t\tdata.button = {\n\t\t\t\t\t'className': buttonClasses,\n\t\t\t\t\t'text': '',\n\t\t\t\t\t'action': LinkUrl.TYPE_BLOCK,\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.contentEditable = false;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_CRM_FORM:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_CRM_FORM\");\n\t\t\t\tdata.button = {\n\t\t\t\t\t'className': buttonClasses,\n\t\t\t\t\t'text': '',\n\t\t\t\t\t'action': LinkUrl.TYPE_CRM_FORM,\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.contentEditable = false;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_PRODUCT:\n\t\t\tcase LinkUrl.TYPE_CATALOG:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_PRODUCT\");\n\t\t\t\tdata.button = {\n\t\t\t\t\t'className': buttonClasses,\n\t\t\t\t\t'text': '',\n\t\t\t\t\t'action': LinkUrl.TYPE_CATALOG_SECTION,\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.contentEditable = false;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_TEL:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_TEL\");\n\t\t\t\tdata.items = {\n\t\t\t\t\t\"_blank\": '',\n\t\t\t\t};\n\t\t\t\tdata.button = {\n\t\t\t\t\t'className': buttonClasses,\n\t\t\t\t\t'text': '',\n\t\t\t\t\t'action': LinkUrl.TYPE_CRM_PHONE,\n\t\t\t\t};\n\t\t\t\tdata.contentEditable = true;\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.needValidate = 'phone';\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_SMS:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_SMS\");\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.needValidate = 'phone';\n\t\t\t\tdata.contentEditable = true;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_SKYPE:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_SKYPE\");\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.needValidate = 'skype';\n\t\t\t\tdata.contentEditable = true;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_MAILTO:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_MAILTO\");\n\t\t\t\tdata.items = {\n\t\t\t\t\t\"_blank\": \"\",\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.needValidate = 'mail';\n\t\t\t\tdata.contentEditable = true;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_LINK:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_LINK\");\n\t\t\t\tdata.items = {\n\t\t\t\t\t\"_self\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_SELF\"),\n\t\t\t\t\t\"_blank\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_BLANK\"),\n\t\t\t\t\t\"_popup\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_POPUP\"),\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.contentEditable = true;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_FILE:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_FILE\");\n\t\t\t\tdata.items = {\n\t\t\t\t\t\"_blank\": '',\n\t\t\t\t};\n\t\t\t\tdata.button = {\n\t\t\t\t\t'className': buttonClasses,\n\t\t\t\t\t'text': '',\n\t\t\t\t\t'onclick': this.onDiskFileShow.bind(this),\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.contentEditable = false;\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_USER:\n\t\t\t\tdata.title = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_TITLE_USER\");\n\t\t\t\tdata.button = {\n\t\t\t\t\t'className': buttonClasses,\n\t\t\t\t\t'text': '',\n\t\t\t\t\t'onclick': this.onUserListShow.bind(this),\n\t\t\t\t};\n\t\t\t\tdata.hideInput = false;\n\t\t\t\tdata.contentEditable = false;\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn data;\n\t}\n\n\t/**\n\t * Get link type\n\t * @return {string}\n\t */\n\tgetHrefStringType()\n\t{\n\t\tconst segment = this.getValueText();\n\t\tlet type = LinkUrl.TYPE_HREF_START;\n\n\t\tif (!Type.isUndefined(this.constantType))\n\t\t{\n\t\t\treturn this.constantType;\n\t\t}\n\n\t\tconst foundHrefStringType = this.matchHrefStringType(segment);\n\t\tif (foundHrefStringType !== null)\n\t\t{\n\t\t\treturn foundHrefStringType\n\t\t}\n\n\t\t//for blocks with default href=\"#\"\n\t\tif (segment === '#')\n\t\t{\n\t\t\treturn type;\n\t\t}\n\n\t\tconst setHrefTypes = [\n\t\t\tLinkUrl.TYPE_HREF_START,\n\t\t\tLinkUrl.TYPE_HREF_PAGE,\n\t\t\tLinkUrl.TYPE_HREF_BLOCK,\n\t\t\tLinkUrl.TYPE_HREF_CRM_FORM,\n\t\t\tLinkUrl.TYPE_HREF_PRODUCT,\n\t\t\tLinkUrl.TYPE_HREF_TEL,\n\t\t\tLinkUrl.TYPE_HREF_SMS,\n\t\t\tLinkUrl.TYPE_HREF_MAILTO,\n\t\t\tLinkUrl.TYPE_HREF_SKYPE,\n\t\t\tLinkUrl.TYPE_HREF_FILE,\n\t\t\tLinkUrl.TYPE_HREF_USER,\n\t\t];\n\n\t\tconst isFindHrefType = setHrefTypes.some(function(hrefType) {\n\t\t\treturn segment.includes(hrefType);\n\t\t});\n\t\tif (segment !== '' && segment !== '#' && !isFindHrefType)\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_LINK;\n\t\t}\n\n\t\tconst segmentType = BX.Landing.Utils.join(segment.split(\":\")[0], \":\");\n\t\tif (segment.length !== segmentType.length)\n\t\t{\n\t\t\tswitch (segmentType)\n\t\t\t{\n\t\t\t\tcase LinkUrl.TYPE_HREF_PAGE:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_PAGE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_BLOCK:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_BLOCK;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_CRM_FORM:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_CRM_FORM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_PRODUCT:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_PRODUCT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_TEL:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_TEL;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_SMS:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_SMS;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_SKYPE:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_SKYPE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_MAILTO:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_MAILTO;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_LINK:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_LINK;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_FILE:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_FILE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_USER:\n\t\t\t\t\ttype = LinkUrl.TYPE_HREF_USER;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\treturn type;\n\t}\n\n\t/**\n\t * Match type href for old values\n\t * @param {string} value\n\t */\n\tmatchHrefStringType(value)\n\t{\n\t\tif (this.matchers.catalogElement.test(value))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_PRODUCT;\n\t\t}\n\t\tif (this.matchers.catalogSection.test(value))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_PRODUCT;\n\t\t}\n\t\tif (this.matchers.block.test(value))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_BLOCK;\n\t\t}\n\t\tif (this.matchers.pageOld.test(value))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_PAGE;\n\t\t}\n\t\tif (this.matchers.crmForm.test(value))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_CRM_FORM;\n\t\t}\n\t\tif (this.matchers.crmPhone.test(value))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_TEL;\n\t\t}\n\t\tif (this.matchers.diskFile.test(value))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_HREF_FILE;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\t/**\n\t * Sets placeholder by href type\n\t * @param {string} type\n\t */\n\tsetHrefPlaceholderByType(type)\n\t{\n\t\tlet placeholder = this.placeholder;\n\n\t\tswitch (type)\n\t\t{\n\t\t\tcase LinkUrl.TYPE_HREF_PAGE:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_PAGE\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_BLOCK:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_BLOCK\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_CRM_FORM:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_CRM\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_LINK:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_PLACEHOLDER_URL\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_TEL:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_PLACEHOLDER_PHONE\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_SKYPE:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_PLACEHOLDER_SKYPE\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_SMS:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_PLACEHOLDER_PHONE\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_MAILTO:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_PLACEHOLDER_EMAIL\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_FILE:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_FILE\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_USER:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_USER\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_HREF_PRODUCT:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_PRODUCT\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_CATALOG:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_CATALOG\");\n\t\t\t\tbreak;\n\t\t\tcase LinkUrl.TYPE_PAGE:\n\t\t\t\tplaceholder = BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_BUTTON_PAGE_SHORT\");\n\t\t\t\tbreak;\n\t\t}\n\n\t\tDom.attr(this.input, \"data-placeholder\", placeholder);\n\t}\n\n\t/**\n\t * Gets placeholder type\n\t * @param {string} [hrefValue]\n\t * @return {string}\n\t */\n\tgetPlaceholderType(hrefValue)\n\t{\n\t\threfValue = hrefValue || this.getValue();\n\n\t\tif (this.matchers.block.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_BLOCK;\n\t\t}\n\n\t\tif (this.matchers.page.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_PAGE;\n\t\t}\n\n\t\tif (this.matchers.crmForm.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_CRM_FORM;\n\t\t}\n\n\t\tif (this.matchers.crmPhone.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_CRM_PHONE;\n\t\t}\n\n\t\tif (this.matchers.catalogElement.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_CATALOG_ELEMENT;\n\t\t}\n\n\t\tif (this.matchers.catalogSection.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_CATALOG_SECTION;\n\t\t}\n\n\t\tif (this.matchers.diskFile.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_DISK_FILE;\n\t\t}\n\n\t\tif (this.matchers.user.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_USER;\n\t\t}\n\n\t\tif (this.matchers.system.test(hrefValue))\n\t\t{\n\t\t\treturn LinkUrl.TYPE_SYSTEM;\n\t\t}\n\n\t\treturn LinkUrl.TYPE_HREF_LINK;\n\t}\n\n\t/**\n\t * Checks that this field contains url placeholder\n\t * @return {boolean}\n\t */\n\tcontainsPlaceholder()\n\t{\n\t\treturn this.input.innerHTML.indexOf(\"span\") !== -1;\n\t}\n\n\t/**\n\t * Creates field grid layout\n\t * @return {Element}\n\t */\n\tcreateGridLayout()\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\\\"landing-ui-field-link-url-grid --landing-ui-field-link-url__scope\\\">\n\t\t\t\t<div class=\\\"landing-ui-field-link-url-grid-left\\\"></div>\n\t\t\t\t\t<div class=\\\"landing-ui-field-link-url-grid-center\\\"></div>\n\t\t\t\t<div class=\\\"landing-ui-field-link-url-grid-right\\\"></div>\n\t\t\t</div>\n\t\t\t`;\n\t}\n\n\tonSelectHrefButtonClick()\n\t{\n\t\tthis.popupActions.show();\n\t}\n\n\t/**\n\t * Creates type switcher dropdown\n\t * @return {BX.Landing.UI.Field.Dropdown}\n\t */\n\tcreateTypeSwitcher()\n\t{\n\t\t//type = PAGE || STORE || KNOWLEDGE || GROUP || MAINPAGE\n\t\tconst type = BX.Landing.Env.getInstance().getType();\n\t\tconst items = [\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_SELECT\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_START,\n\t\t\t\thidden: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_PAGE\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_PAGE,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--b24',\n\t\t\t\ttype: ['PAGE', 'STORE', 'KNOWLEDGE', 'GROUP'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_BLOCK\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_BLOCK,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--b24',\n\t\t\t\ttype: ['PAGE', 'STORE', 'KNOWLEDGE', 'GROUP'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_CRM\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_CRM_FORM,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--crm',\n\t\t\t\ttype: ['PAGE', 'STORE', 'KNOWLEDGE', 'GROUP'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_PRODUCT\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_PRODUCT,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--product',\n\t\t\t\ttype: 'STORE',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdelimiter: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_PHONE\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_TEL,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--phone',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_SMS\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_SMS,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--sms',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_EMAIL\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_MAILTO,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--mailto',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_SKYPE\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_SKYPE,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--skype',\n\t\t\t},\n\t\t\t{\n\t\t\t\tdelimiter: true\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_LINK\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_LINK,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--link',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_FILE_MSGVER_1\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_FILE,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--file',\n\t\t\t\ttype: ['KNOWLEDGE', 'GROUP'],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_USER\"),\n\t\t\t\tvalue: LinkUrl.TYPE_HREF_USER,\n\t\t\t\tclassName: 'landing-ui-field-link-url-select-action-item fas landing-ui-field-link-url-icon--user',\n\t\t\t\ttype: 'KNOWLEDGE',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_DELETE_ACTION\"),\n\t\t\t\tvalue: LinkUrl.DELETE_TYPE_HREF,\n\t\t\t\tclassName: 'landing-ui-field-link-url-delete-action-item fas',\n\t\t\t},\n\t\t];\n\t\tlet setItems = [];\n\t\titems.forEach(function(item) {\n\t\t\tif (\n\t\t\t\t!item.hasOwnProperty('type')\n\t\t\t\t|| item.type === type\n\t\t\t\t|| Type.isArray(item.type) && item.type.includes(type)\n\t\t\t)\n\t\t\t{\n\t\t\t\tsetItems.push(item);\n\t\t\t}\n\t\t})\n\n\t\tif (!Type.isUndefined(this.constantType))\n\t\t{\n\t\t\tif (this.constantType === LinkUrl.TYPE_CATALOG)\n\t\t\t{\n\t\t\t\tsetItems = [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_SELECT_CATALOG\"),\n\t\t\t\t\t\tvalue: this.constantType,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t\tif (this.constantType === LinkUrl.TYPE_PAGE)\n\t\t\t{\n\t\t\t\tsetItems = [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: BX.Landing.Loc.getMessage(\"LANDING_LINK_URL_ACTION_SELECT_PAGE\"),\n\t\t\t\t\t\tvalue: this.constantType,\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\treturn new BX.Landing.UI.Field.Dropdown({\n\t\t\titems: setItems,\n\t\t\tonValueChange: this.onTypeChange,\n\t\t\tmaxHeight: 1000,\n\t\t\tclassName: 'landing-ui-field-link-url-dropdown-href-type',\n\t\t\tclassForTextNode: 'landing-ui-field-input-text',\n\t\t});\n\t}\n\n\t/**\n\t * Handles link type change event\n\t * @param {BX.Landing.UI.Field.Dropdown} field\n\t */\n\tonTypeChange(field)\n\t{\n\t\tconst type = field.getValue();\n\n\t\tswitch (type)\n\t\t{\n\t\t\tcase LinkUrl.TYPE_HREF_START:\n\t\t\tcase LinkUrl.TYPE_HREF_PAGE:\n\t\t\tcase LinkUrl.TYPE_HREF_BLOCK:\n\t\t\tcase LinkUrl.TYPE_HREF_CRM_FORM:\n\t\t\tcase LinkUrl.TYPE_HREF_PRODUCT:\n\t\t\tcase LinkUrl.TYPE_HREF_LINK:\n\t\t\tcase LinkUrl.TYPE_HREF_TEL:\n\t\t\tcase LinkUrl.TYPE_HREF_SMS:\n\t\t\tcase LinkUrl.TYPE_HREF_SKYPE:\n\t\t\tcase LinkUrl.TYPE_HREF_MAILTO:\n\t\t\tcase LinkUrl.TYPE_HREF_FILE:\n\t\t\tcase LinkUrl.TYPE_HREF_USER:\n\t\t}\n\n\t\tthis.setHrefPlaceholderByType(type);\n\t}\n\n\t/**\n\t * Gets block data\n\t * @param {string} block - (#block123)\n\t * @return {Promise<T>}\n\t */\n\tgetBlockData(block)\n\t{\n\t\tconst blockId = block.match(/\\d+/)[0];\n\t\treturn BX.Landing.Backend.getInstance()\n\t\t\t.getBlock({blockId: blockId})\n\t\t\t.then(function(result) {\n\t\t\t\treturn (result.type = \"block\"), result;\n\t\t\t});\n\t}\n\n\t/**\n\t * Gets page data\n\t * @param {string} page - (#landing123)\n\t */\n\tgetPageData(page)\n\t{\n\t\tconst match = page.match(/\\d+/);\n\t\tif (match !== null)\n\t\t{\n\t\t\tconst pageId = match[0];\n\t\t\treturn BX.Landing.Backend.getInstance()\n\t\t\t\t.getLanding({landingId: pageId})\n\t\t\t\t.then(function(landing) {\n\t\t\t\t\tif (!landing)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (BX.Text.toNumber(pageId) === 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.onNewPageHandler();\n\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\ttype: \"landing\",\n\t\t\t\t\t\t\t\tid: 0,\n\t\t\t\t\t\t\t\tname: BX.Landing.Loc.getMessage('LANDING_LINK_PLACEHOLDER_NEW_PAGE'),\n\t\t\t\t\t\t\t\tsiteId: BX.Landing.Main.getInstance().options.site_id\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"landing\",\n\t\t\t\t\t\tid: landing.ID,\n\t\t\t\t\t\tname: landing.TITLE,\n\t\t\t\t\t\tsiteId: landing.SITE_ID\n\t\t\t\t\t};\n\t\t\t\t}.bind(this));\n\t\t}\n\t}\n\n\tgetCrmFormData(value)\n\t{\n\t\tconst formId = value.match(/\\d+/)[0];\n\n\t\treturn BX.Landing.Backend\n\t\t\t.getInstance()\n\t\t\t.action(\"Form::getList\")\n\t\t\t.then(function(result) {\n\t\t\t\tconst form = result.find(function(item) {\n\t\t\t\t\treturn String(item.ID) === String(formId);\n\t\t\t\t});\n\n\t\t\t\tif (form)\n\t\t\t\t{\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"crmFormPopup\",\n\t\t\t\t\t\tid: form.ID,\n\t\t\t\t\t\tname: form.NAME\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t}.bind(this));\n\t}\n\n\tgetCrmPhoneData(value)\n\t{\n\t\treturn new Promise(function(resolve) {\n\t\t\tconst phoneId = value.replace('tel:', '').replace('#crmPhone', '');\n\t\t\tconst item = BX.Landing.Env\n\t\t\t\t.getInstance()\n\t\t\t\t.getOptions()\n\t\t\t\t.references\n\t\t\t\t.find(function(item) {\n\t\t\t\t\treturn String(item.value) === String(phoneId);\n\t\t\t\t});\n\n\t\t\tif (item)\n\t\t\t{\n\t\t\t\tresolve({\n\t\t\t\t\ttype: \"crmPhone\",\n\t\t\t\t\tid: item.value,\n\t\t\t\t\tname: item.text\n\t\t\t\t});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresolve(null);\n\t\t\t}\n\t\t}.bind(this));\n\t}\n\n\t/**\n\t * Gets system page data\n\t * @param {string} page - (#system_([a-z]))\n\t */\n\tgetSystemPage(page)\n\t{\n\t\treturn this.cache.remember(page, function() {\n\t\t\tconst systemCode = this.content.replace(\"#system_\", \"\");\n\t\t\tconst systemPages = BX.Landing.Main.getInstance().options.syspages;\n\n\t\t\tif (systemCode in systemPages)\n\t\t\t{\n\t\t\t\treturn Promise.resolve({\n\t\t\t\t\ttype: \"system\",\n\t\t\t\t\tid: \"_\" + systemCode,\n\t\t\t\t\tname: systemPages[systemCode].name\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn Promise.reject();\n\t\t}.bind(this));\n\t}\n\n\t/**\n\t * Gets catalog element data\n\t * @param {string} element\n\t */\n\tgetCatalogElementData(element)\n\t{\n\t\treturn this.cache.remember(element, function() {\n\t\t\tlet elementId = element.match(this.matchers.catalogElement)[2];\n\t\t\tif (!Type.isString(elementId))\n\t\t\t{\n\t\t\t\telementId = element.match(this.matchers.catalogElement)[1];\n\t\t\t}\n\t\t\tconst requestBody = {elementId: elementId};\n\n\t\t\treturn BX.Landing.Backend.getInstance()\n\t\t\t\t.action(\"Utils::getCatalogElement\", requestBody);\n\t\t}.bind(this));\n\t}\n\n\t/**\n\t * Gets catalog section data\n\t * @param {string} section\n\t */\n\tgetCatalogSectionData(section)\n\t{\n\t\treturn this.cache.remember(section, function() {\n\t\t\tlet sectionId = section.match(this.matchers.catalogSection)[2];\n\t\t\tif (!Type.isString(sectionId))\n\t\t\t{\n\t\t\t\tsectionId = element.match(this.matchers.catalogSection)[1];\n\t\t\t}\n\t\t\tconst requestBody = {sectionId: sectionId};\n\n\t\t\treturn BX.Landing.Backend.getInstance()\n\t\t\t\t.action(\"Utils::getCatalogSection\", requestBody);\n\t\t}.bind(this));\n\t}\n\n\tgetCatalog(section)\n\t{\n\t\tif (\n\t\t\tsection === '={$sectionId}'\n\t\t\t|| section === 'selectActions:'\n\t\t)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t\treturn this.cache.remember(section, function() {\n\t\t\tlet matchRes;\n\t\t\tlet id;\n\t\t\tlet type;\n\t\t\tmatchRes = section.match(this.matchers.catalog);\n\t\t\tif (matchRes === null)\n\t\t\t{\n\t\t\t\tmatchRes = section.match(this.matchers.element);\n\t\t\t\tif (matchRes !== null)\n\t\t\t\t{\n\t\t\t\t\ttype = 'Element';\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\ttype = 'Section';\n\t\t\t}\n\t\t\tif (matchRes)\n\t\t\t{\n\t\t\t\tid = matchRes[1];\n\t\t\t}\n\n\t\t\tlet requestBody = null;\n\t\t\tif (type === 'Section')\n\t\t\t{\n\t\t\t\trequestBody = {sectionId: id};\n\t\t\t}\n\t\t\tif (type === 'Element')\n\t\t\t{\n\t\t\t\trequestBody = {elementId: id};\n\t\t\t}\n\t\t\tif (requestBody === null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\tconst action = 'Utils::getCatalog' + type;\n\n\t\t\treturn BX.Landing.Backend.getInstance()\n\t\t\t\t.action(action, requestBody);\n\t\t}.bind(this));\n\t}\n\n\t/**\n\t * Gets disk file data.\n\t * @param {string} diskFile\n\t */\n\tgetDiskFileData(diskFile)\n\t{\n\t\treturn this.cache.remember(diskFile, function() {\n\t\t\tconst fileId = diskFile.replace(\"file:\", \"\").replace(\"#diskFile\", \"\");\n\n\t\t\treturn BX.Landing.Backend\n\t\t\t\t.getInstance()\n\t\t\t\t.action(\"Block::getFileDisk\", {fileId: fileId})\n\t\t\t\t.then(function(result) {\n\t\t\t\t\tif (result)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttype: LinkUrl.TYPE_DISK_FILE,\n\t\t\t\t\t\t\tid: result.ID,\n\t\t\t\t\t\t\tname: result.NAME\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t}.bind(this));\n\t\t}.bind(this));\n\t}\n\n\t/**\n\t * Gets user data.\n\t * @param {string} userData\n\t */\n\tgetUserData(userData)\n\t{\n\t\tconst userId = userData.replace(\"user:\", \"\").replace(\"#user\", \"\");\n\t\treturn new Promise(function(resolve) {\n\t\t\tBX.ajax({\n\t\t\t\turl: '/bitrix/services/main/ajax.php?action=landing.api.user.getUserNameById',\n\t\t\t\tmethod: 'POST',\n\t\t\t\tdataType: 'json',\n\t\t\t\tdata: {\n\t\t\t\t\tuserId: userId\n\t\t\t\t},\n\t\t\t\tonsuccess: function(result) {\n\t\t\t\t\tconst response = {\n\t\t\t\t\t\ttype: LinkUrl.TYPE_USER,\n\t\t\t\t\t\tid: userId,\n\t\t\t\t\t\tname: result.data\n\t\t\t\t\t};\n\t\t\t\t\tresolve(response);\n\t\t\t\t},\n\t\t\t});\n\t\t}.bind(this));\n\t}\n\n\tdeleteTypeHref()\n\t{\n\t\tthis.gridCenterCell.hidden = true;\n\t\tthis.gridRightCell.hidden = true;\n\t\tthis.setHrefTypeSwitcherValue(LinkUrl.TYPE_HREF_START);\n\t\tthis.setHrefPlaceholderByType(LinkUrl.TYPE_HREF_START);\n\t\tthis.emit('deleteAction');\n\t}\n\n\tonSelectButtonClick()\n\t{\n\t\tif (this.allowedTypes.length === 1)\n\t\t{\n\t\t\tthis.onListShow(this.allowedTypes[0]);\n\t\t}\n\t}\n\n\tonListShow(options, type)\n\t{\n\t\tif (this.popup)\n\t\t{\n\t\t\tthis.popup.close();\n\t\t}\n\n\t\tif (\n\t\t\ttype === LinkUrl.TYPE_CATALOG_SECTION\n\t\t\t|| type === LinkUrl.TYPE_CATALOG\n\t\t)\n\t\t{\n\t\t\tlet iblocks = this.iblocks;\n\n\t\t\tif (!Type.isArray(iblocks))\n\t\t\t{\n\t\t\t\tiblocks = BX.Landing.Main.getInstance().options.iblocks;\n\t\t\t}\n\n\t\t\tvoid BX.Landing.UI.Panel.Catalog.getInstance()\n\t\t\t\t.show(iblocks, this.allowedCatalogEntityTypes)\n\t\t\t\t.then(this.onListItemClick);\n\n\t\t\treturn;\n\t\t}\n\n\t\toptions.enableAreas = this.enableAreas;\n\t\toptions.dynamicMode = true;\n\t\toptions.currentPageOnly = this.currentPageOnly;\n\t\toptions.panelTitle = this.panelTitle;\n\n\t\tif (this.detailPageMode)\n\t\t{\n\t\t\toptions.source = this.sourceField.getValue().source;\n\t\t\tvoid BX.Landing.UI.Panel.DetailPage.getInstance()\n\t\t\t\t.show(options)\n\t\t\t\t.then(this.onListItemClick);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst panel = BX.Landing.UI.Panel.URLList.getInstance();\n\n\t\t\tvoid panel\n\t\t\t\t.show(type, options)\n\t\t\t\t.then(this.onListItemClick);\n\t\t}\n\t}\n\n\tonDiskFileShow()\n\t{\n\t\tif (this.popup)\n\t\t{\n\t\t\tthis.popup.close();\n\t\t}\n\n\t\tparent.BX.Landing.Connector.Disk.openDialog({\n\t\t\tonSelect: (fileId) => {\n\t\t\t\tthis.getDiskFileData(\"#diskFile\" + fileId)\n\t\t\t\t\t.then(function(data)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.setValue(this.createPlaceholder(data), true);\n\t\t\t\t\t}.bind(this))\n\t\t\t\tthis.setHrefTypeSwitcherValue(LinkUrl.TYPE_HREF_FILE);\n\t\t\t}\n\t\t});\n\t}\n\n\tonUserListShow()\n\t{\n\t\tthis.dialog = new Dialog({\n\t\t\ttargetNode: this.input,\n\t\t\tenableSearch: true,\n\t\t\tcontext: 'MY_MODULE_CONTEXT',\n\t\t\tentities: [\n\t\t\t\t{\n\t\t\t\t\tid: LinkUrl.TYPE_USER,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: 'department',\n\t\t\t\t},\n\t\t\t],\n\t\t\tevents: {\n\t\t\t\t'Item:onSelect': this.onSelectUser.bind(this)\n\t\t\t},\n\t\t\tmultiple: false,\n\t\t\tpopupOptions: {\n\t\t\t\ttargetContainer: parent.document.body,\n\t\t\t},\n\t\t});\n\t\tthis.dialog.show();\n\t}\n\n\tonSelectUser()\n\t{\n\t\tconst selectedItem = this.dialog.getSelectedItems()[0];\n\t\tconst item = {\n\t\t\t'name': selectedItem.title.text,\n\t\t\t'type': LinkUrl.TYPE_USER,\n\t\t\t'id': selectedItem.id,\n\t\t};\n\t\tthis.setValue(this.createPlaceholder(item));\n\t\tBX.Landing.Utils.fireEvent(this.layout, \"input\");\n\t\tthis.setHrefTypeSwitcherValue(item.type + ':');\n\t}\n\n\t/**\n\t * Checks that edit mode is prevented\n\t * @return {boolean}\n\t */\n\tisEditPrevented()\n\t{\n\t\tif (!Type.isBoolean(this.editPrevented))\n\t\t{\n\t\t\tthis.editPrevented = this.containsPlaceholder();\n\t\t}\n\n\t\treturn this.editPrevented;\n\t}\n\n\t/**\n\t * Sets edit prevented value\n\t * @param {boolean} value\n\t */\n\tsetEditPrevented(value)\n\t{\n\t\tthis.editPrevented = value;\n\t}\n\n\t/**\n\t * Enables edit\n\t */\n\tenableEdit()\n\t{\n\t\tif (!this.isEditPrevented())\n\t\t{\n\t\t\tBX.Landing.UI.Field.Text.prototype.enableEdit.apply(this);\n\t\t}\n\t}\n\n\t/**\n\t * Creates internal url placeholder\n\t * @param {{[type]: string, [id]: string|number, name: string, [url]: string, [image]: string, [subType]: string, [chain]: string[]}} options\n\t * @returns {Element}\n\t */\n\tcreatePlaceholder(options)\n\t{\n\t\tDom.addClass(this.gridCenterCell, \"--not-empty\");\n\t\tif (Type.isString(options))\n\t\t{\n\t\t\treturn options;\n\t\t}\n\n\t\tconst placeholder = Tag.render`\n\t\t\t<span class=\\\"landing-ui-field-url-placeholder\\\">\n\t\t\t\t<span class=\\\"landing-ui-field-url-placeholder-preview\\\"></span>\n\t\t\t\t<span class=\\\"landing-ui-field-url-placeholder-text\\\">\n\t\t\t\t\t${BX.Landing.Utils.encodeDataValue(options.name)}\n\t\t\t\t</span>\n\t\t\t\t<span class=\\\"landing-ui-field-url-placeholder-delete\\\"></span>\n\t\t\t</span>\n\t\t`;\n\n\t\tconst placeholderRemove = placeholder\n\t\t\t.querySelector(\"[class*=\\\"delete\\\"]\");\n\t\tEvent.bind(placeholderRemove, \"click\", this.onPlaceholderRemoveClick.bind(this));\n\n\n\t\tif (options.type === LinkUrl.TYPE_CATALOG)\n\t\t{\n\t\t\toptions.chain.push(options.name);\n\t\t\tconst title = BX.Landing.Utils.join(options.name, \"\\n\", options.chain.join(' / '));\n\n\t\t\tDom.attr(placeholder, {\n\t\t\t\t\"data-dynamic\": {\n\t\t\t\t\ttype: BX.Landing.Utils.join(LinkUrl.TYPE_CATALOG, BX.Landing.Utils.capitalize(options.subType)),\n\t\t\t\t\tvalue: options.id\n\t\t\t\t},\n\t\t\t\t\"data-placeholder\": BX.Landing.Utils.join(\"#\", options.type, BX.Landing.Utils.capitalize(options.subType), options.id),\n\t\t\t\t\"data-url\": BX.Landing.Utils.join(\"#\", options.type, BX.Landing.Utils.capitalize(options.subType), options.id)\n\t\t\t});\n\n\t\t\tplaceholder.setAttribute(\"title\", title);\n\n\t\t\treturn placeholder;\n\t\t}\n\n\t\tBX.Landing.Utils.attr(placeholder, {\n\t\t\t\"data-placeholder\": BX.Landing.Utils.join(\"#\", options.type, options.id),\n\t\t\t\"data-url\": BX.Landing.Utils.join(\"#\", options.type, options.id)\n\t\t});\n\n\t\tplaceholder.setAttribute(\"title\", options.name);\n\n\t\treturn placeholder;\n\t}\n\n\t/**\n\t * Handles click event on placeholder remove button\n\t * @param event\n\t */\n\tonPlaceholderRemoveClick(event)\n\t{\n\t\tDom.removeClass(this.gridCenterCell, \"--not-empty\");\n\t\tthis.setEditPrevented(false);\n\t\tthis.enableEdit();\n\t\tDom.remove(event.target.parentNode);\n\t\tthis.setValue(\"\");\n\t\tBX.Landing.Utils.fireEvent(this.layout, \"input\");\n\t\tthis.onInputHandler(this.input.innerText);\n\t}\n\n\t/**\n\t * Handles click event on catalog panel item\n\t * @param {object} item\n\t */\n\tonListItemClick(item)\n\t{\n\t\tlet resultPromise = Promise.resolve(item);\n\n\t\tif (item.type === \"block\")\n\t\t{\n\t\t\tresultPromise = this.getBlockData(\"#block\" + item.id);\n\t\t}\n\n\t\tresultPromise.then(function(item) {\n\t\t\tthis.setValue(this.createPlaceholder(item));\n\t\t\tBX.Landing.Utils.fireEvent(this.layout, \"input\");\n\t\t\tthis.setHrefTypeSwitcherValue(item.type + ':');\n\t\t}.bind(this));\n\t}\n\n\tgetNewLabel()\n\t{\n\t\tif (!this.newLabel)\n\t\t{\n\t\t\tthis.newLabel = Dom.create({\n\t\t\t\ttag: 'div',\n\t\t\t\tprops: {className: 'landing-ui-field-link-new-label'},\n\t\t\t\ttext: BX.Landing.Loc.getMessage('LANDING_LINK_NEW_PAGE_LABEL')\n\t\t\t});\n\t\t}\n\n\t\treturn this.newLabel;\n\t}\n\n\tshowNewLabel()\n\t{\n\t\tBX.Dom.style(this.gridCenterCell, {\n\t\t\tposition: 'relative',\n\t\t\toverflow: 'visible',\n\t\t});\n\t\tBX.Dom.append(this.getNewLabel(), this.gridCenterCell);\n\t}\n\n\thideNewLabel()\n\t{\n\t\tBX.Dom.style(this.gridCenterCell, 'overflow', null);\n\t\tBX.Dom.remove(this.getNewLabel());\n\t}\n\n\t/**\n\t * Sets value\n\t * @param {object|string} value\n\t * @param {boolean} [preventEvent] - Prevents onChange event\n\t */\n\tsetValue(value, preventEvent)\n\t{\n\t\tif (Type.isObject(value) && !Type.isNil(value))\n\t\t{\n\t\t\tthis.disableEdit();\n\t\t\tthis.setEditPrevented(true);\n\t\t\tthis.input.innerHTML = \"\";\n\t\t\tDom.append(value, this.input);\n\t\t\tconst dataSet = value['dataset'];\n\t\t\tthis.value = dataSet.placeholder;\n\t\t\tthis.dynamic = dataSet.dynamic;\n\n\t\t\tif (this.value === '#landing0')\n\t\t\t{\n\t\t\t\tthis.showNewLabel();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.hideNewLabel();\n\t\t\t}\n\n\t\t\tif (!preventEvent)\n\t\t\t{\n\t\t\t\tthis.onInputHandler(this.input.innerText);\n\t\t\t}\n\t\t}\n\t\telse if (!Type.isNil(value))\n\t\t{\n\t\t\tthis.setEditPrevented(false);\n\t\t\tthis.input.innerText = this.getInputInnerText(value);\n\t\t\tthis.value = null;\n\t\t\tthis.dynamic = null;\n\t\t\tthis.hideNewLabel();\n\t\t}\n\n\t\tif (!preventEvent)\n\t\t{\n\t\t\tif (Type.isString(this.value))\n\t\t\t{\n\t\t\t\tthis.getPlaceholderData(this.value)\n\t\t\t\t\t.then(function(data) {\n\t\t\t\t\t\tthis.onValueChangeHandler(data);\n\t\t\t\t\t}.bind(this))\n\t\t\t\t\t.catch(function() {\n\n\t\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.onValueChangeHandler(null);\n\t\t}\n\t}\n\n\t/**\n\t * Gets dynamic data\n\t * @return {?object}\n\t */\n\tgetDynamic()\n\t{\n\t\treturn this.dynamic;\n\t}\n\n\t/**\n\t * Gets value\n\t * @return {string}\n\t */\n\tgetValue()\n\t{\n\t\tlet valueText = this.value ? this.value : this.input.innerText;\n\t\tconst selectedHrefType = this.getSelectedHrefType();\n\n\t\tthis.validateValue(valueText);\n\t\tthis.prepareInputField(this.hrefTypeSwithcer.getValue(), valueText);\n\n\t\tif (valueText === '')\n\t\t{\n\t\t\tif (\n\t\t\t\tselectedHrefType === 'catalog'\n\t\t\t\t|| selectedHrefType === 'landing'\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\treturn LinkUrl.TYPE_HREF_START;\n\t\t}\n\n\t\tif (\n\t\t\tselectedHrefType === LinkUrl.TYPE_HREF_SKYPE\n\t\t\t&& !valueText.includes(this.typePostfix.skype)\n\t\t)\n\t\t{\n\t\t\tvalueText = valueText + this.typePostfix.skype;\n\t\t}\n\n\t\tif (valueText.startsWith(selectedHrefType))\n\t\t{\n\t\t\treturn valueText;\n\t\t}\n\n\t\tif (!Type.isUndefined(this.constantType))\n\t\t{\n\t\t\tif (this.constantType === LinkUrl.TYPE_CATALOG)\n\t\t\t{\n\t\t\t\tif (\n\t\t\t\t\tthis.matchers.catalogElement.test(valueText)\n\t\t\t\t\t|| this.matchers.catalogSection.test(valueText)\n\t\t\t\t\t|| this.matchers.catalog.test(valueText)\n\t\t\t\t\t|| this.matchers.element.test(valueText)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\treturn valueText;\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t}\n\t\t\tif (this.constantType === LinkUrl.TYPE_PAGE)\n\t\t\t{\n\t\t\t\treturn LinkUrl.TYPE_HREF_PAGE + valueText;\n\t\t\t}\n\t\t}\n\n\t\treturn selectedHrefType + valueText;\n\t}\n\n\t/**\n\t * Gets value text\n\t * @return {string}\n\t */\n\tgetValueText()\n\t{\n\t\treturn this.value ? this.value : this.input.innerText;\n\t}\n\n\tvalidateValue(value)\n\t{\n\t\tif (value.indexOf(':') !== -1)\n\t\t{\n\t\t\tvalue = value.slice(value.indexOf(':') + 1);\n\t\t}\n\t\tconst setRegs = [];\n\t\tsetRegs['phoneExtended'] = /(^[\\d+][\\d-\\s]{3,25}\\d$)|#crmPhone\\d+/;\n\t\tsetRegs['phone'] = /^[\\d+][\\d-\\s]{3,25}\\d$/;\n\t\tsetRegs['mail'] = /^\\S+@\\S+[.]\\S+$/i;\n\t\tsetRegs['skype'] = /^[a-z\\d-.:]{6,32}$/i;\n\t\tconst type = this.hrefTypeSwithcer.getValue();\n\t\tconst data = this.getTypeData(type);\n\t\tlet readyToSave = true;\n\t\tif (data.needValidate)\n\t\t{\n\t\t\tlet reg;\n\t\t\tswitch (type)\n\t\t\t{\n\t\t\t\tcase LinkUrl.TYPE_HREF_TEL:\n\t\t\t\t\treg = setRegs['phoneExtended'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_SMS:\n\t\t\t\t\treg = setRegs['phone'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_MAILTO:\n\t\t\t\t\treg = setRegs['mail'];\n\t\t\t\t\tbreak;\n\t\t\t\tcase LinkUrl.TYPE_HREF_SKYPE:\n\t\t\t\t\treg = setRegs['skype'];\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (reg)\n\t\t\t{\n\t\t\t\tif (value.length > 0)\n\t\t\t\t{\n\t\t\t\t\tconst isValid = reg.test(value);\n\t\t\t\t\tif (isValid)\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.removeClass(this.gridCenterCell, \"--validate-incorrect\");\n\t\t\t\t\t\tDom.addClass(this.gridCenterCell, \"--validate-correct\");\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tDom.removeClass(this.gridCenterCell, \"--validate-correct\");\n\t\t\t\t\t\tDom.addClass(this.gridCenterCell, \"--validate-incorrect\");\n\t\t\t\t\t\treadyToSave = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tDom.removeClass(this.gridCenterCell, \"--validate-correct\");\n\t\t\t\t\tDom.removeClass(this.gridCenterCell, \"--validate-incorrect\");\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.gridCenterCell, \"--validate-correct\");\n\t\t\tDom.removeClass(this.gridCenterCell, \"--validate-incorrect\");\n\t\t}\n\t\tthis.emit('readyToSave',\n\t\t\t{\n\t\t\t\treadyToSave: readyToSave,\n\t\t\t});\n\t}\n\n\tprepareInputField(hrefType, inputValue)\n\t{\n\t\t//if empty field\n\t\tconst allowedHrefTypes = [\n\t\t\tLinkUrl.TYPE_HREF_PAGE,\n\t\t\tLinkUrl.TYPE_HREF_BLOCK,\n\t\t\tLinkUrl.TYPE_HREF_CRM_FORM,\n\t\t\tLinkUrl.TYPE_HREF_FILE,\n\t\t\tLinkUrl.TYPE_HREF_USER,\n\t\t\tLinkUrl.TYPE_HREF_PRODUCT,\n\t\t\tLinkUrl.TYPE_CATALOG,\n\t\t\tLinkUrl.TYPE_PAGE,\n\t\t];\n\t\tif (inputValue === '' && allowedHrefTypes.includes(hrefType))\n\t\t{\n\t\t\tDom.addClass(this.input, \"landing-ui-field-input-empty\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.input, \"landing-ui-field-input-empty\");\n\t\t}\n\t}\n\n\tgetInputInnerText(value)\n\t{\n\t\treturn this.prepareInputInnerText(value.toString().trim());\n\t}\n\n\tprepareInputInnerText(value)\n\t{\n\t\tif (\n\t\t\tthis.getSelectedHrefType() === LinkUrl.TYPE_HREF_SKYPE\n\t\t\t&& value.includes(this.typePostfix.skype)\n\t\t)\n\t\t{\n\t\t\tvalue = value.replace(this.typePostfix.skype, '');\n\t\t}\n\t\treturn value;\n\t}\n}\n"],"names":["LinkUrl","Text","constructor","data","matchers","catalogElement","RegExp","catalogSection","catalog","element","block","page","crmForm","crmPhone","diskFile","user","system","pageOld","typePostfix","skype","typeHrefs","TYPE_HREF_PAGE","TYPE_HREF_BLOCK","form","TYPE_HREF_CRM_FORM","product","TYPE_HREF_PRODUCT","file","TYPE_HREF_FILE","start","TYPE_HREF_START","TYPE_HREF_USER","Dom","addClass","layout","requestOptions","options","disableBlocks","Type","isBoolean","disallowType","iblocks","isArray","allowedTypes","TYPE_BLOCK","TYPE_PAGE","length","constantType","constantTypeData","typeData","allowedCatalogEntityTypes","onInitHandler","isFunction","onInit","onNewPageHandler","onNewPage","enableAreas","customPlaceholder","detailPageMode","sourceField","currentPageOnly","panelTitle","onListShow","bind","onTypeChange","onListItemClick","popup","dynamic","value","hrefTypeSwithcer","createTypeSwitcher","hrefTypeSwithcerValue","getHrefStringType","grid","createGridLayout","gridLeftCell","querySelector","gridCenterCell","gridRightCell","remove","header","append","hidden","input","settingMode","isUndefined","rightData","getRightData","button","createCenterCellButton","contentEditable","subscribe","hideInput","emit","hrefStringType","right","getValue","DELETE_TYPE_HREF","deleteTypeHref","innerHTML","setValue","getTypeData","setEditPrevented","type","setHrefPlaceholderByType","setHrefTypeSwitcherValue","removeHrefTypeFromHrefString","makeDisplayedHrefValue","content","innerText","setIblocks","actionClick","hasOwnProperty","action","onclick","buttonClasses","className","BX","Landing","UI","Button","BaseButton","text","onClick","hrefValue","placeholderType","getPlaceholderType","valuePromise","getBlockData","getPageData","TYPE_CRM_FORM","getCrmFormData","TYPE_CRM_PHONE","getCrmPhoneData","TYPE_CATALOG_ELEMENT","getCatalogElementData","TYPE_CATALOG_SECTION","getCatalogSectionData","TYPE_DISK_FILE","getDiskFileData","TYPE_USER","getUserData","TYPE_SYSTEM","getSystemPage","TYPE_CATALOG","getCatalog","then","Utils","proxy","createPlaceholder","inited","catch","getPlaceholderData","Promise","resolve","clearHref","replace","getSelectedHrefType","title","getRightTitle","items","getRightItems","getRightButton","getRightHideInput","idPopup","Loc","getMessage","TYPE_HREF_TEL","needValidate","TYPE_HREF_SMS","TYPE_HREF_SKYPE","TYPE_HREF_MAILTO","TYPE_HREF_LINK","onDiskFileShow","onUserListShow","segment","getValueText","foundHrefStringType","matchHrefStringType","setHrefTypes","isFindHrefType","some","hrefType","includes","segmentType","join","split","test","placeholder","attr","containsPlaceholder","indexOf","Tag","render","onSelectHrefButtonClick","popupActions","show","Env","getInstance","getType","name","delimiter","setItems","forEach","item","push","Field","Dropdown","onValueChange","maxHeight","classForTextNode","field","blockId","match","Backend","getBlock","result","pageId","getLanding","landingId","landing","toNumber","id","siteId","Main","site_id","ID","TITLE","SITE_ID","formId","find","String","NAME","phoneId","getOptions","references","cache","remember","systemCode","systemPages","syspages","reject","elementId","isString","requestBody","section","sectionId","matchRes","fileId","userData","userId","ajax","url","method","dataType","onsuccess","response","onSelectButtonClick","close","Panel","Catalog","dynamicMode","source","DetailPage","panel","URLList","parent","Connector","Disk","openDialog","onSelect","dialog","Dialog","targetNode","enableSearch","context","entities","events","onSelectUser","multiple","popupOptions","targetContainer","document","body","selectedItem","getSelectedItems","fireEvent","isEditPrevented","editPrevented","enableEdit","prototype","apply","encodeDataValue","placeholderRemove","Event","onPlaceholderRemoveClick","chain","capitalize","subType","setAttribute","event","removeClass","target","parentNode","onInputHandler","resultPromise","getNewLabel","newLabel","create","tag","props","showNewLabel","style","position","overflow","hideNewLabel","preventEvent","isObject","isNil","disableEdit","dataSet","getInputInnerText","onValueChangeHandler","getDynamic","valueText","selectedHrefType","validateValue","prepareInputField","startsWith","slice","setRegs","readyToSave","reg","isValid","inputValue","allowedHrefTypes","prepareInputInnerText","toString","trim"],"mappings":"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"}