Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/landing/ui/field/link/dist/ |
Upload File : |
{"version":3,"file":"link.bundle.js","sources":["../src/link.js"],"sourcesContent":["import { BaseField } from 'landing.ui.field.basefield';\nimport { Event, Type, Dom, Text, Tag } from 'main.core';\n\nimport './css/style.css';\n\nexport class Link extends BaseField\n{\n\tstatic TARGET_SELF = '_self';\n\tstatic TARGET_BLANK = '_blank';\n\n\tconstructor(data)\n\t{\n\t\tsuper(data);\n\n\t\tBX.Landing.UI.Field.BaseField.apply(this, arguments);\n\n\t\tthis.options = data.options || {};\n\n\t\tDom.remove(this.input);\n\n\t\tthis.onValueChangeHandler = data.onValueChange ? data.onValueChange : (function() {\n\t\t});\n\t\tthis.content = Type.isPlainObject(this.content) ? this.content : {};\n\t\tthis.content = BX.Landing.Utils.clone(this.content);\n\t\tthis.content.text = BX.Landing.Utils.trim(this.content.text);\n\t\tthis.content.href = BX.Landing.Utils.trim(BX.Landing.Utils.escapeText(this.content.href));\n\t\tthis.content.target = BX.Landing.Utils.trim(BX.Landing.Utils.escapeText(this.content.target));\n\t\tthis.skipContent = data.skipContent;\n\t\tthis.detailPageMode = data.detailPageMode === true;\n\n\t\tif (!this.containsImage() && !this.containsHtml())\n\t\t{\n\t\t\tif (Type.isStringFilled(this.content.text))\n\t\t\t{\n\t\t\t\tthis.content.text = this.content.text.replace(' ', ' ');\n\t\t\t}\n\n\t\t\tthis.content.text = BX.Landing.Utils.escapeText(this.content.text);\n\t\t}\n\n\t\tthis.input = new BX.Landing.UI.Field.Text({\n\t\t\tplaceholder: BX.Landing.Loc.getMessage(\"FIELD_LINK_TEXT_LABEL\"),\n\t\t\tselector: this.selector,\n\t\t\tcontent: Text.decode(this.content.text),\n\t\t\ttextOnly: true,\n\t\t\tonValueChange: function() {\n\t\t\t\tthis.onValueChangeHandler(this);\n\n\t\t\t\tif (this.hrefInput.getValue() === this.hrefInput.typeHrefs.page + '#landing0')\n\t\t\t\t{\n\t\t\t\t\tconst value = this.input.getValue();\n\t\t\t\t\tconst placeholder = this.hrefInput.input.firstElementChild;\n\n\t\t\t\t\tif (placeholder)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst textNode = placeholder.querySelector('.landing-ui-field-url-placeholder-text');\n\t\t\t\t\t\ttextNode.innerText = Text.decode(value.replace(/ /g, ' '));\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst event = new Event.BaseEvent({\n\t\t\t\t\tdata: { value: this.getValue() },\n\t\t\t\t\tcompatData: [this.getValue()],\n\t\t\t\t});\n\t\t\t\tthis.emit('change', event);\n\t\t\t}.bind(this)\n\t\t});\n\n\t\tif (this.skipContent)\n\t\t{\n\t\t\tthis.input.layout.hidden = true;\n\t\t\tthis.header.hidden = true;\n\t\t}\n\n\t\tthis.hrefInput = new BX.Landing.UI.Field.LinkUrl({\n\t\t\ttitle: BX.Landing.Loc.getMessage(\"FIELD_LINK_HREF_LABEL_2\"),\n\t\t\tplaceholder: '',\n\t\t\tselector: this.selector,\n\t\t\tcontent: this.content.href,\n\t\t\tcontentRoot: this.contentRoot,\n\t\t\tonInput: this.onHrefInput.bind(this),\n\t\t\ttextOnly: true,\n\t\t\toptions: this.options,\n\t\t\tdisallowType: data.disallowType,\n\t\t\tdisableBlocks: data.disableBlocks,\n\t\t\tallowedTypes: data.allowedTypes,\n\t\t\tdetailPageMode: data.detailPageMode === true,\n\t\t\tsourceField: data.sourceField,\n\t\t\tonValueChange: function() {\n\t\t\t\tthis.onValueChangeHandler(this);\n\t\t\t\tconst event = new BX.Event.BaseEvent({\n\t\t\t\t\tdata: { value: this.getValue() },\n\t\t\t\t\tcompatData: [this.getValue()],\n\t\t\t\t});\n\t\t\t\tthis.emit('change', event);\n\t\t\t}.bind(this),\n\t\t\tonNewPage: function() {\n\t\t\t\tconst value = this.input.getValue();\n\t\t\t\tconst placeholder = this.hrefInput.input.firstElementChild;\n\n\t\t\t\tif (placeholder)\n\t\t\t\t{\n\t\t\t\t\tconst textNode = placeholder.querySelector('.landing-ui-field-url-placeholder-text');\n\t\t\t\t\ttextNode.innerHTML = value.replace(/ /g, ' ');\n\t\t\t\t}\n\t\t\t}.bind(this)\n\t\t});\n\n\t\tthis.targetInput = new BX.Landing.UI.Field.DropdownInline({\n\t\t\ttitle: BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_LABEL\"),\n\t\t\tselector: this.selector,\n\t\t\tclassName: \"landing-ui-field-dropdown-inline\",\n\t\t\tcontent: this.content.target,\n\t\t\tcontentRoot: this.contentRoot,\n\t\t\titems: {\n\t\t\t\t\"_self\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_SELF\"),\n\t\t\t\t\"_blank\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_BLANK\"),\n\t\t\t\t\"_popup\": BX.Landing.Loc.getMessage(\"FIELD_LINK_TARGET_POPUP\")\n\t\t\t},\n\t\t\tonValueChange: function() {\n\t\t\t\tthis.onValueChangeHandler(this);\n\t\t\t\tconst event = new BX.Event.BaseEvent({\n\t\t\t\t\tdata: { value: this.getValue() },\n\t\t\t\t\tcompatData: [this.getValue()],\n\t\t\t\t});\n\t\t\t\tthis.emit('change', event);\n\t\t\t}.bind(this)\n\t\t});\n\n\t\tthis.stateNode = Tag.render`\n\t\t\t<div class=\"landing-ui-field-url-state-box\"></div>\n\t\t`;\n\n\t\tthis.mediaLayout = Dom.create(\"div\", { props: { className: \"landing-ui-field-link-media-layout\" } });\n\n\t\tif (this.containsImage() || this.containsHtml())\n\t\t{\n\t\t\tthis.input.layout.hidden = true;\n\t\t\tthis.header.hidden = true;\n\t\t\tthis.hrefInput.header.innerHTML = this.header.innerHTML;\n\t\t}\n\n\t\tthis.wrapper = BX.Landing.UI.Field.Link.createWrapper();\n\t\tthis.left = BX.Landing.UI.Field.Link.createLeft();\n\t\tthis.center = BX.Landing.UI.Field.Link.createCenter();\n\t\tthis.right = BX.Landing.UI.Field.Link.createRight();\n\n\t\tDom.append(this.input.layout, this.left);\n\t\tDom.append(this.hrefInput.layout, this.center);\n\n\t\t//show target panel\n\t\tthis.targetInput = this.createTargetInput(this.hrefInput.getRightData());\n\t\tthis.right.innerHTML = '';\n\t\tif (this.targetInput.hasOwnProperty('layout'))\n\t\t{\n\t\t\tDom.append(this.targetInput.layout, this.right);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.append(this.targetInput, this.right);\n\t\t}\n\t\tthis.showElement(this.right);\n\n\n\t\tconst selectedHrefType = this.hrefInput.getSelectedHrefType();\n\t\tif (selectedHrefType === this.hrefInput.typeHrefs.start)\n\t\t{\n\t\t\tthis.hideElement(this.right);\n\t\t}\n\t\tconst typeData = this.hrefInput.getTypeData(selectedHrefType);\n\n\t\tthis.checkVisibleMediaPanel(selectedHrefType, this.targetInput.getValue());\n\n\t\tthis.targetInput.subscribe('onChange', () => {\n\t\t\tthis.checkVisibleMediaPanel(selectedHrefType, this.targetInput.getValue());\n\t\t});\n\n\t\tif (typeData.hasOwnProperty('hideInput'))\n\t\t{\n\t\t\tconst input = this.hrefInput.gridCenterCell.querySelector('.landing-ui-field-input');\n\t\t\tinput.hidden = !!typeData.hideInput;\n\t\t}\n\t\tconst gridCenter = this.center.querySelector('.landing-ui-field-link-url-grid-center');\n\t\tDom.append(this.stateNode, gridCenter);\n\t\tDom.addClass(gridCenter, \"--only-manual-entry\");\n\t\tif (typeData.hasOwnProperty('button'))\n\t\t{\n\t\t\tif (!gridCenter.querySelector('.landing-ui-button-grid-center-cell'))\n\t\t\t{\n\t\t\t\tconst newCenterCellButton = this.hrefInput.createCenterCellButton(typeData.button);\n\t\t\t\tDom.append(newCenterCellButton.layout, gridCenter);\n\t\t\t\tDom.removeClass(gridCenter, '--only-manual-entry');\n\t\t\t}\n\t\t}\n\t\tthis.hrefInput.subscribe('deleteAction', () => {\n\t\t\tif (this.hrefInput.getSelectedHrefType() === this.hrefInput.typeHrefs.start)\n\t\t\t{\n\t\t\t\tthis.hideElement(this.right);\n\t\t\t}\n\t\t});\n\t\tthis.hrefInput.subscribe('selectAction', (event) => {\n\t\t\tconst selectedHrefType = this.hrefInput.getSelectedHrefType();\n\t\t\tconst typeData = this.hrefInput.getTypeData(selectedHrefType);\n\t\t\tthis.prepareGridCenter(selectedHrefType);\n\t\t\tconst input = this.hrefInput.gridCenterCell.querySelector('.landing-ui-field-input');\n\t\t\tinput.hidden = !!typeData.hideInput;\n\n\t\t\t//show target panel\n\t\t\tthis.targetInput = this.createTargetInput(event.data.right);\n\t\t\tif (!Type.isUndefined(this.selectedTargetValueByUser))\n\t\t\t{\n\t\t\t\tthis.targetInput.setValue(this.selectedTargetValueByUser);\n\t\t\t}\n\t\t\tthis.targetInput.subscribe('onItemClick', () => {\n\t\t\t\tthis.selectedTargetValueByUser = this.targetInput.getValue();\n\t\t\t});\n\t\t\tthis.right.innerHTML = '';\n\t\t\tif (this.targetInput.hasOwnProperty('layout'))\n\t\t\t{\n\t\t\t\tDom.append(this.targetInput.layout, this.right);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.append(this.targetInput, this.right);\n\t\t\t}\n\t\t\tthis.showElement(this.right);\n\n\t\t\tthis.checkVisibleMediaPanel(selectedHrefType, this.targetInput.getValue());\n\t\t\tthis.targetInput.subscribe('onChange', () => {\n\t\t\t\tthis.checkVisibleMediaPanel(selectedHrefType, this.targetInput.getValue());\n\t\t\t});\n\n\t\t\tthis.disableMedia();\n\t\t\tthis.adjustTarget();\n\t\t});\n\t\tthis.hrefInput.subscribe('buildCenter', (event) => {\n\t\t\tconst button = this.hrefInput.gridCenterCell.querySelector('.landing-ui-button-grid-center-cell');\n\t\t\tconst gridCenter = this.center.querySelector('.landing-ui-field-link-url-grid-center');\n\t\t\tif (button)\n\t\t\t{\n\t\t\t\tbutton.remove();\n\t\t\t}\n\t\t\tDom.append(this.stateNode, gridCenter);\n\t\t\tif (event.data.button)\n\t\t\t{\n\t\t\t\tDom.append(event.data.button.layout, gridCenter);\n\t\t\t\tDom.removeClass(gridCenter, '--only-manual-entry');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.addClass(gridCenter, \"--only-manual-entry\");\n\t\t\t}\n\t\t});\n\n\t\tDom.append(this.left, this.wrapper);\n\t\tDom.append(this.center, this.wrapper);\n\t\tDom.append(this.right, this.wrapper);\n\t\tDom.append(this.wrapper, this.layout);\n\t\tDom.append(this.mediaLayout, this.layout);\n\t\tDom.addClass(this.layout, 'landing-ui-field-link');\n\n\t\tif (this.hrefInput.getSelectedHrefType() === '')\n\t\t{\n\t\t\tif (this.content.target === '_popup')\n\t\t\t{\n\t\t\t\tthis.adjustVideo();\n\t\t\t}\n\t\t}\n\n\t\tthis.adjustEditLink();\n\t\tthis.adjustTarget();\n\n\t\tthis.targetInput.subscribe('onItemClick', () => {\n\t\t\tthis.selectedTargetValueByUser = this.targetInput.getValue();\n\t\t});\n\n\t\tthis.hrefInput.subscribe('readyToSave', (event) => {\n\t\t\tif (event.data.readyToSave)\n\t\t\t{\n\t\t\t\tthis.readyToSave = true;\n\t\t\t\tthis.emit('onChangeReadyToSave');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.readyToSave = false;\n\t\t\t\tthis.emit('onChangeReadyToSave');\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Creates wrapper element\n\t * @static\n\t * @return {HTMLElement}\n\t */\n\tstatic createWrapper()\n\t{\n\t\treturn Dom.create(\"div\", { props: { className: \"landing-ui-field-link-wrapper\" } });\n\t}\n\n\t/**\n\t * Creates center column element\n\t * @static\n\t * @return {HTMLElement}\n\t */\n\tstatic createCenter()\n\t{\n\t\treturn Dom.create(\"div\", { props: { className: \"landing-ui-field-link-center\" } });\n\t}\n\n\t/**\n\t * Creates left column element\n\t * @static\n\t * @return {HTMLElement}\n\t */\n\tstatic createLeft()\n\t{\n\t\treturn Dom.create(\"div\", { props: { className: \"landing-ui-field-link-left\" } });\n\t}\n\n\t/**\n\t * Creates right column element\n\t * @return {HTMLElement}\n\t */\n\tstatic createRight()\n\t{\n\t\treturn Dom.create(\"div\", { props: { className: \"landing-ui-field-link-right\" } });\n\t}\n\n\thideElement(element)\n\t{\n\t\telement.hidden = true;\n\t}\n\n\tshowElement(element)\n\t{\n\t\telement.hidden = false;\n\t}\n\n\tcreateTargetInput(data)\n\t{\n\t\tconst title = data.title || '';\n\t\tconst items = data.items || {};\n\t\treturn new BX.Landing.UI.Field.DropdownInline({\n\t\t\ttitle: title,\n\t\t\tselector: this.selector,\n\t\t\tclassName: \"landing-ui-field-dropdown-inline\",\n\t\t\tcontent: this.content.target,\n\t\t\tcontentRoot: this.contentRoot,\n\t\t\titems: items,\n\t\t\tonValueChange: function() {\n\t\t\t\tthis.onValueChangeHandler(this);\n\t\t\t\tconst event = new BX.Event.BaseEvent({\n\t\t\t\t\tdata: { value: this.getValue() },\n\t\t\t\t\tcompatData: [this.getValue()],\n\t\t\t\t});\n\t\t\t\tthis.emit('change', event);\n\t\t\t}.bind(this)\n\t\t});\n\t}\n\n\tadjustEditLink()\n\t{\n\t\tconst type = this.hrefInput.getPlaceholderType();\n\t\tconst pageType = BX.Landing.Env.getInstance().getType();\n\n\t\tif (type === \"PAGE\" && pageType !== \"KNOWLEDGE\" && pageType !== \"GROUP\")\n\t\t{\n\t\t\tconst value = this.hrefInput.getValue();\n\n\t\t\tif (Type.isString(value) && value.length > 0)\n\t\t\t{\n\t\t\t\tthis.hrefInput\n\t\t\t\t\t.getPageData(value)\n\t\t\t\t\t.then(function(result) {\n\t\t\t\t\t\tconst urlMask = BX.Landing.Main.getInstance()\n\t\t\t\t\t\t\t.options.params.sef_url.landing_view;\n\n\t\t\t\t\t\tconst href = urlMask\n\t\t\t\t\t\t\t.replace(\"#site_show#\", result.siteId)\n\t\t\t\t\t\t\t.replace(\"#landing_edit#\", result.id);\n\n\t\t\t\t\t\t[].slice.call(this.layout.querySelectorAll('.landing-ui-field-edit-link'))\n\t\t\t\t\t\t\t.forEach(BX.remove);\n\n\t\t\t\t\t\tthis.editLink = this.createEditLink(\n\t\t\t\t\t\t\tBX.Landing.Loc.getMessage(\"LANDING_LINK_FILED__EDIT_PAGE_LINK_LABEL\"),\n\t\t\t\t\t\t\thref\n\t\t\t\t\t\t);\n\t\t\t\t\t\tDom.append(this.editLink, this.layout);\n\t\t\t\t\t}.bind(this));\n\t\t\t}\n\t\t}\n\t}\n\n\tcreateEditLink(text, href)\n\t{\n\t\treturn Dom.create(\"div\", {\n\t\t\tprops: {\n\t\t\t\tclassName: \"landing-ui-field-edit-link\"\n\t\t\t},\n\t\t\tchildren: [\n\t\t\t\tDom.create(\"a\", {\n\t\t\t\t\tattrs: {\n\t\t\t\t\t\thref: href,\n\t\t\t\t\t\ttarget: Link.TARGET_BLANK,\n\t\t\t\t\t\ttitle: BX.Landing.Loc.getMessage(\"LANDING_LINK_FILED__EDIT_LINK_TITLE\")\n\t\t\t\t\t},\n\t\t\t\t\ttext: text\n\t\t\t\t})\n\t\t\t]\n\t\t});\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @return {boolean}\n\t */\n\tisChanged()\n\t{\n\t\tconst isChanged = JSON.stringify(this.content) !== JSON.stringify(this.getValue());\n\t\tif (isChanged)\n\t\t{\n\t\t\tthis.prepareHrefInput();\n\t\t\tthis.prepareTargetInput();\n\t\t}\n\t\treturn isChanged;\n\t}\n\n\t/**\n\t * Checks that node contains image\n\t * @return {boolean}\n\t */\n\tcontainsImage()\n\t{\n\t\treturn !!Dom.create(\"div\", { html: this.content.text }).querySelector(\"img\");\n\t}\n\n\t/**\n\t * @return {boolean}\n\t */\n\tcontainsHtml()\n\t{\n\t\tconst element = BX.Landing.Utils.htmlToElement(this.content.text);\n\t\treturn !!element && !element.matches(\"br\");\n\t}\n\n\t/**\n\t * Gets value\n\t * @return {{text: (*|string), href: (*|string), target: (*|string)}}\n\t */\n\tgetValue()\n\t{\n\t\tconst value = {\n\t\t\ttext: BX.Landing.Utils.decodeDataValue(BX.Landing.Utils.trim(this.input.getValue().replace(/ /g, ' '))),\n\t\t\thref: BX.Landing.Utils.trim(this.hrefInput.getValue()),\n\t\t\ttarget: this.prepareTarget(BX.Landing.Utils.trim(this.targetInput.getValue()))\n\t\t};\n\n\t\tif (this.isAvailableMedia() && this.mediaService)\n\t\t{\n\t\t\tvalue.attrs = {\n\t\t\t\t\"data-url\": BX.Landing.Utils.trim(this.mediaService.getEmbedURL())\n\t\t\t};\n\t\t}\n\n\t\tif (this.hrefInput.getDynamic())\n\t\t{\n\t\t\tif (!Type.isPlainObject(value.attrs))\n\t\t\t{\n\t\t\t\tvalue.attrs = {};\n\t\t\t}\n\n\t\t\tif (this.hrefInput.input.firstElementChild)\n\t\t\t{\n\t\t\t\tvalue.attrs[\"data-url\"] = this.hrefInput.input.firstElementChild.getAttribute(\"data-url\");\n\t\t\t}\n\n\t\t\tvalue.attrs[\"data-dynamic\"] = this.hrefInput.getDynamic();\n\t\t}\n\n\t\tif (this.skipContent)\n\t\t{\n\t\t\tdelete value['text'];\n\t\t}\n\n\t\tif (value.href.startsWith('selectActions:'))\n\t\t{\n\t\t\tvalue.href = '#';\n\t\t}\n\n\t\treturn value;\n\t}\n\n\tsetValue(value)\n\t{\n\t\tif (Type.isPlainObject(value))\n\t\t{\n\t\t\tthis.input.setValue(BX.Landing.Utils.escapeText(value.text));\n\t\t\tthis.hrefInput.setValue(value.href);\n\t\t\tthis.targetInput.setValue(BX.Landing.Utils.escapeText(value.target));\n\t\t}\n\n\t\tthis.adjustEditLink();\n\t\tthis.adjustTarget();\n\t}\n\n\tadjustTarget()\n\t{\n\t\tif (!this.isAvailableMedia())\n\t\t{\n\t\t\tconst type = BX.Landing.Env.getInstance().getType();\n\t\t\tconst value = this.getValue();\n\n\t\t\tthis.targetInput.enable();\n\n\t\t\tif (type === 'KNOWLEDGE' || type === 'GROUP')\n\t\t\t{\n\t\t\t\tthis.targetInput.disable();\n\n\t\t\t\tconst hrefType = this.hrefInput.getSelectedHrefType();\n\t\t\t\tif (\n\t\t\t\t\threfType === 'page:'\n\t\t\t\t\t|| hrefType === 'block:'\n\t\t\t\t\t|| hrefType === 'form:'\n\t\t\t\t\t|| hrefType === 'user:'\n\t\t\t\t\t// #landing123 || #block123 || #myAnchor\n\t\t\t\t\t|| /^#(\\w+)([0-9])$/.test(value.href)\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.targetInput.setValue(Link.TARGET_SELF);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.targetInput.setValue(Link.TARGET_BLANK);\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (type === 'MAINPAGE')\n\t\t\t{\n\t\t\t\tthis.targetInput.disable();\n\t\t\t\tthis.targetInput.setValue(Link.TARGET_BLANK);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (value.href.startsWith('#crmFormPopup'))\n\t\t\t\t{\n\t\t\t\t\tthis.targetInput.disable();\n\t\t\t\t}\n\n\t\t\t\tif (value.href.startsWith('#crmPhone'))\n\t\t\t\t{\n\t\t\t\t\tthis.targetInput.disable();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tenableMedia()\n\t{\n\t\tthis.readyToSave = true;\n\t\tif (!this.mediaService.isDataLoaded)\n\t\t{\n\t\t\tthis.readyToSave = false;\n\t\t\tBX.addCustomEvent(this.mediaService, 'onDataLoaded', () =>\n\t\t\t{\n\t\t\t\tthis.readyToSave = true;\n\t\t\t\tthis.emit('onChangeReadyToSave');\n\t\t\t});\n\t\t}\n\t\tthis.emit('onChangeReadyToSave');\n\n\t\tthis.showMediaPreview();\n\t}\n\n\tdisableMedia()\n\t{\n\t\tif (!this.readyToSave)\n\t\t{\n\t\t\tthis.readyToSave = true;\n\t\t\tthis.emit('onChangeReadyToSave');\n\t\t}\n\t\tthis.hideMediaPreview();\n\t\tthis.hideMediaSettings();\n\t}\n\n\tshowMediaSettings()\n\t{\n\t\tif (this.isAvailableMedia())\n\t\t{\n\t\t\tthis.hideMediaSettings();\n\t\t\tthis.mediaSettings = this.mediaService.getSettingsForm();\n\t\t\tif (this.mediaSettings)\n\t\t\t{\n\t\t\t\tDom.append(this.mediaSettings.layout, this.mediaLayout);\n\t\t\t}\n\t\t}\n\t}\n\n\thideMediaSettings()\n\t{\n\t\tif (this.mediaSettings)\n\t\t{\n\t\t\tDom.remove(this.mediaSettings.layout);\n\t\t}\n\t}\n\n\t/**\n\t * Checks that media is available\n\t * @return {boolean}\n\t */\n\tisAvailableMedia()\n\t{\n\t\tconst ServiceFactory = new BX.Landing.MediaService.Factory();\n\t\treturn !!ServiceFactory.getRelevantClass(this.hrefInput.getValue())\n\t}\n\n\tshowMediaPreview()\n\t{\n\t\t// Make and show loader\n\t\tconst loader = new BX.Loader({\n\t\t\ttarget: this.mediaLayout,\n\t\t\tmode: \"inline\",\n\t\t\toffset: {top: \"calc(50% - 55px)\", left: \"calc(50% - 55px)\"}\n\t\t});\n\t\tthis.video = loader.layout;\n\t\tloader.show();\n\n\t\treturn this.mediaService.getURLPreviewElement()\n\t\t\t.then(function(element) {\n\t\t\t\t// Remove loader\n\t\t\t\tDom.remove(this.video);\n\t\t\t\tloader.hide();\n\n\t\t\t\t// Make and show URL preview\n\t\t\t\tthis.video = element;\n\n\t\t\t\tDom.append(this.video, this.mediaLayout);\n\n\t\t\t\tthis.targetValueBeforeAutochange = this.targetInput.getValue();\n\t\t\t\tif (Type.isUndefined(this.selectedTargetValueByUser))\n\t\t\t\t{\n\t\t\t\t\tthis.targetInput.setValue('_popup');\n\t\t\t\t}\n\t\t\t\tthis.showMediaSettings();\n\t\t\t}.bind(this), function() {\n\t\t\t\tthis.hideMediaSettings();\n\t\t\t\tDom.remove(this.video);\n\t\t\t}.bind(this));\n\t}\n\n\thideMediaPreview()\n\t{\n\t\tif (Type.isUndefined(this.selectedTargetValueByUser))\n\t\t{\n\t\t\tthis.targetInput.setValue(this.targetValueBeforeAutochange)\n\t\t}\n\t\tif (this.video)\n\t\t{\n\t\t\tDom.remove(this.video);\n\t\t}\n\t}\n\n\tadjustVideo()\n\t{\n\t\tconst pageType = BX.Landing.Env.getInstance().getType();\n\t\tif (pageType !== 'KNOWLEDGE' && pageType !== 'GROUP')\n\t\t{\n\t\t\tconst embedURL = \"attrs\" in this.content && \"data-url\" in this.content.attrs ? this.content.attrs[\"data-url\"] : \"\";\n\t\t\tconst ServiceFactory = new BX.Landing.MediaService.Factory();\n\t\t\tthis.mediaService = ServiceFactory.create(\n\t\t\t\tthis.hrefInput.getValue(),\n\t\t\t\tBX.Landing.Utils.getQueryParams(embedURL)\n\t\t\t);\n\n\t\t\tif (this.mediaService)\n\t\t\t{\n\t\t\t\tthis.disableMedia();\n\n\t\t\t\tif (this.isAvailableMedia())\n\t\t\t\t{\n\t\t\t\t\tthis.enableMedia();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.disableMedia();\n\t\t\t}\n\t\t}\n\t}\n\n\tonHrefInput()\n\t{\n\t\tconst selectedHrefType = this.hrefInput.getSelectedHrefType();\n\t\tconst typeData = this.hrefInput.getTypeData(selectedHrefType);\n\t\tif (typeData.hasOwnProperty('validate'))\n\t\t{\n\t\t\t//todo: need code\n\t\t}\n\t\t//when type === TYPE_HREF_LINK\n\t\tif (selectedHrefType === '')\n\t\t{\n\t\t\tthis.adjustVideo();\n\t\t}\n\n\t\tthis.adjustEditLink();\n\t\tthis.adjustTarget();\n\t}\n\n\tcheckVisibleMediaPanel(hrefType, targetType)\n\t{\n\t\tif (hrefType === '' && targetType === '_popup')\n\t\t{\n\t\t\tthis.showMediaPanel();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.hideMediaPanel();\n\t\t}\n\t}\n\n\tshowMediaPanel()\n\t{\n\t\tthis.mediaLayout.hidden = false;\n\t}\n\n\thideMediaPanel()\n\t{\n\t\tthis.mediaLayout.hidden = true;\n\t}\n\n\tprepareHrefInput()\n\t{\n\t\tif (\n\t\t\tthis.hrefInput.getValue() === ''\n\t\t\t|| this.hrefInput.getValue() === '#'\n\t\t)\n\t\t{\n\t\t\tthis.hrefInput.setHrefTypeSwitcherValue(this.hrefInput.typeHrefs.start);\n\t\t}\n\t}\n\n\tprepareTargetInput()\n\t{\n\t\tif (this.hrefInput.getSelectedHrefType() === this.hrefInput.typeHrefs.user)\n\t\t{\n\t\t\tthis.targetInput.setValue(Link.TARGET_BLANK);\n\t\t}\n\t\tif (this.hrefInput.getSelectedHrefType() === this.hrefInput.typeHrefs.start)\n\t\t{\n\t\t\tthis.targetInput.setValue(Link.TARGET_SELF);\n\t\t}\n\t}\n\n\tprepareGridCenter(selectedHrefType)\n\t{\n\t\tconst typesWithoutManualInput = [\n\t\t\tthis.hrefInput.typeHrefs.block,\n\t\t\tthis.hrefInput.typeHrefs.page,\n\t\t\tthis.hrefInput.typeHrefs.form,\n\t\t\tthis.hrefInput.typeHrefs.product,\n\t\t\tthis.hrefInput.typeHrefs.file,\n\t\t\tthis.hrefInput.typeHrefs.user,\n\t\t];\n\t\tDom.removeClass(this.hrefInput.gridCenterCell, \"--not-empty\");\n\t\tif (typesWithoutManualInput.includes(selectedHrefType))\n\t\t{\n\t\t\tDom.addClass(this.hrefInput.gridCenterCell, \"--not-manual-input\");\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.removeClass(this.hrefInput.gridCenterCell, \"--not-manual-input\");\n\t\t}\n\t}\n\n\tprepareTarget(target)\n\t{\n\t\tif (this.hrefInput.getSelectedHrefType() === this.hrefInput.typeHrefs.user)\n\t\t{\n\t\t\ttarget = Link.TARGET_BLANK;\n\t\t}\n\t\treturn target;\n\t}\n}\n"],"names":["Link","BaseField","constructor","data","BX","Landing","UI","Field","apply","arguments","options","Dom","remove","input","onValueChangeHandler","onValueChange","content","Type","isPlainObject","Utils","clone","text","trim","href","escapeText","target","skipContent","detailPageMode","containsImage","containsHtml","isStringFilled","replace","Text","placeholder","Loc","getMessage","selector","decode","textOnly","hrefInput","getValue","typeHrefs","page","value","firstElementChild","textNode","querySelector","innerText","event","Event","BaseEvent","compatData","emit","bind","layout","hidden","header","LinkUrl","title","contentRoot","onInput","onHrefInput","disallowType","disableBlocks","allowedTypes","sourceField","onNewPage","innerHTML","targetInput","DropdownInline","className","items","stateNode","Tag","render","mediaLayout","create","props","wrapper","createWrapper","left","createLeft","center","createCenter","right","createRight","append","createTargetInput","getRightData","hasOwnProperty","showElement","selectedHrefType","getSelectedHrefType","start","hideElement","typeData","getTypeData","checkVisibleMediaPanel","subscribe","gridCenterCell","hideInput","gridCenter","addClass","newCenterCellButton","createCenterCellButton","button","removeClass","prepareGridCenter","isUndefined","selectedTargetValueByUser","setValue","disableMedia","adjustTarget","adjustVideo","adjustEditLink","readyToSave","element","type","getPlaceholderType","pageType","Env","getInstance","getType","isString","length","getPageData","then","result","urlMask","Main","params","sef_url","landing_view","siteId","id","slice","call","querySelectorAll","forEach","editLink","createEditLink","children","attrs","TARGET_BLANK","isChanged","JSON","stringify","prepareHrefInput","prepareTargetInput","html","htmlToElement","matches","decodeDataValue","prepareTarget","isAvailableMedia","mediaService","getEmbedURL","getDynamic","getAttribute","startsWith","enable","disable","hrefType","test","TARGET_SELF","enableMedia","isDataLoaded","addCustomEvent","showMediaPreview","hideMediaPreview","hideMediaSettings","showMediaSettings","mediaSettings","getSettingsForm","ServiceFactory","MediaService","Factory","getRelevantClass","loader","Loader","mode","offset","top","video","show","getURLPreviewElement","hide","targetValueBeforeAutochange","embedURL","getQueryParams","targetType","showMediaPanel","hideMediaPanel","setHrefTypeSwitcherValue","user","typesWithoutManualInput","block","form","product","file","includes"],"mappings":"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"}