Your IP : 172.69.59.17


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

{"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('&nbsp;', ' ');\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(/&nbsp;/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(/&nbsp;/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 = document.querySelector('[data-id=\"center_cell_button\"]');\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(/&nbsp;/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\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","document","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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"}