Your IP : 172.70.127.67


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

{"version":3,"file":"image.bundle.js","sources":["../src/image.js"],"sourcesContent":["import {Dom, Type, Runtime} from 'main.core';\nimport {Loc} from 'landing.loc';\nimport {Main} from 'landing.main'\nimport {TextField} from 'landing.ui.field.textfield';\nimport {ImageUploader} from 'landing.imageuploader';\nimport {BaseButton} from 'landing.ui.button.basebutton';\nimport {ImageEditor} from 'landing.imageeditor';\n\nimport 'ui.fonts.opensans';\nimport './css/style.css';\n\nexport class Image extends TextField\n{\n\tconstructor(data)\n\t{\n\t\tsuper(data);\n\n\t\tthis.dimensions = typeof data.dimensions === \"object\" ? data.dimensions : null;\n\t\tthis.create2xByDefault = data.create2xByDefault !== false;\n\t\tthis.uploadParams = typeof data.uploadParams === \"object\" ? data.uploadParams : {};\n\t\tthis.onValueChangeHandler = data.onValueChange ? data.onValueChange : (() => {});\n\t\tthis.type = this.content.type || \"image\";\n\t\tthis.allowClear = data.allowClear;\n\t\tthis.input.innerText = this.content.src;\n\t\tthis.input.hidden = true;\n\t\tthis.input2x = this.createInput();\n\t\tthis.input2x.innerText = this.content.src2x || '';\n\t\tthis.input2x.hidden = true;\n\n\t\tthis.layout.classList.add(\"landing-ui-field-image\");\n\t\tif (data.compactMode === true)\n\t\t{\n\t\t\tthis.layout.classList.add(\"landing-ui-field-image--compact\");\n\t\t}\n\n\t\tthis.disableAltField = typeof data.disableAltField === \"boolean\" ? data.disableAltField : false;\n\n\t\tthis.fileInput = Image.createFileInput(this.selector);\n\t\tthis.fileInput.addEventListener(\"change\", this.onFileInputChange.bind(this));\n\n\t\tthis.linkInput = Image.createLinkInput();\n\t\tthis.linkInput.onInputHandler = Runtime.debounce(this.onLinkInput.bind(this), 777);\n\n\t\tthis.dropzone = Image.createDropzone(this.selector);\n\t\tthis.dropzone.hidden = true;\n\t\tthis.dropzone.insertBefore(this.fileInput, this.dropzone.firstElementChild);\n\n\t\tthis.onDragOver = this.onDragOver.bind(this);\n\t\tthis.onDragLeave = this.onDragLeave.bind(this);\n\t\tthis.onDrop = this.onDrop.bind(this);\n\n\t\tthis.dropzone.addEventListener(\"dragover\", this.onDragOver);\n\t\tthis.dropzone.addEventListener(\"dragleave\", this.onDragLeave);\n\t\tthis.dropzone.addEventListener(\"drop\", this.onDrop);\n\n\t\tthis.clearButton = Image.createClearButton();\n\t\tthis.clearButton.on(\"click\", this.onClearClick.bind(this));\n\n\t\tthis.preview = Image.createImagePreview();\n\t\tthis.preview.appendChild(this.clearButton.layout);\n\t\tthis.preview.style.backgroundImage = \"url(\" + this.input.innerText.trim() + \")\";\n\n\t\tthis.onImageDragEnter = this.onImageDragEnter.bind(this);\n\t\tthis.preview.addEventListener(\"dragenter\", this.onImageDragEnter);\n\n\t\tthis.loader = new BX.Loader({target: this.preview});\n\n\t\tthis.icon = Image.createIcon();\n\n\t\tthis.image = Image.createImageLayout();\n\t\tthis.image.appendChild(this.preview);\n\t\tthis.image.appendChild(this.icon);\n\t\tthis.image.dataset.fileid = this.content.id;\n\t\tthis.image.dataset.fileid2x = this.content.id2x;\n\n\t\tthis.hiddenImage = Dom.create(\"img\", {\n\t\t\tprops: {className: \"landing-ui-field-image-hidden\"},\n\t\t});\n\n\t\tif (Type.isPlainObject(this.content) && \"src\" in this.content)\n\t\t{\n\t\t\tthis.hiddenImage.src = this.content.src;\n\t\t}\n\n\t\tthis.altField = Image.createAltField();\n\t\tthis.altField.setValue(this.content.alt);\n\n\t\tthis.left = Image.createLeftLayout();\n\t\tthis.left.appendChild(this.dropzone);\n\t\tthis.left.appendChild(this.image);\n\t\tthis.left.appendChild(this.hiddenImage);\n\n\t\tif (this.description)\n\t\t{\n\t\t\tthis.left.appendChild(this.description);\n\t\t}\n\n\t\tthis.left.appendChild(this.altField.layout);\n\t\tthis.left.appendChild(this.linkInput.layout);\n\n\t\tthis.uploadButton = Image.createUploadButton();\n\t\tthis.uploadButton.on(\"click\", this.onUploadClick.bind(this));\n\n\t\tthis.editButton = Image.createEditButton();\n\t\tthis.editButton.on(\"click\", this.onEditClick.bind(this));\n\n\t\tthis.right = Image.createRightLayout();\n\t\tthis.right.appendChild(this.uploadButton.layout);\n\t\tthis.right.appendChild(this.editButton.layout);\n\n\t\tthis.form = Image.createForm();\n\t\tthis.form.appendChild(this.left);\n\t\tthis.form.appendChild(this.right);\n\n\t\tthis.layout.appendChild(this.form);\n\n\t\tthis.enableTextOnly();\n\n\t\tif (!this.input.innerText.trim() || this.input.innerText.trim() === window.location.toString())\n\t\t{\n\t\t\tthis.showDropzone();\n\t\t}\n\n\t\tif (this.disableAltField)\n\t\t{\n\t\t\tthis.altField.layout.hidden = true;\n\t\t\tthis.altField.layout.style.display = \"none\";\n\t\t\tthis.altField.layout.classList.add(\"landing-ui-hide\");\n\t\t}\n\n\t\tif (this.content.type === \"icon\")\n\t\t{\n\t\t\tthis.type = \"icon\";\n\t\t\tthis.classList = this.content.classList;\n\t\t\tthis.showPreview();\n\t\t\tthis.altField.layout.hidden = true;\n\t\t\tDom.addClass(this.layout, 'landing-ui-field-image-icon');\n\t\t}\n\n\t\tthis.makeAsLinkWrapper = Dom.create(\"div\", {\n\t\t\tprops: {className: \"landing-ui-field-image-make-as-link-wrapper\"},\n\t\t\tchildren: [\n\t\t\t\tDom.create('div', {\n\t\t\t\t\tprops: {className: \"landing-ui-field-image-make-as-link-button\"},\n\t\t\t\t\tchildren: [],\n\t\t\t\t}),\n\t\t\t],\n\t\t});\n\n\t\tthis.url = new BX.Landing.UI.Field.Link({\n\t\t\tcontent: this.content.url || {\n\t\t\t\ttext: '',\n\t\t\t\thref: '',\n\t\t\t},\n\t\t\toptions: {\n\t\t\t\tsiteId: Main.getInstance().options.site_id,\n\t\t\t\tlandingId: Main.getInstance().id,\n\t\t\t},\n\t\t\tcontentRoot: this.contentRoot,\n\t\t});\n\n\t\tthis.isDisabledUrl = this.content.url && this.content.url.enabled === false;\n\t\tif (this.isDisabledUrl)\n\t\t{\n\t\t\tthis.content.url.href = '';\n\t\t}\n\n\t\tthis.url.left.hidden = true;\n\n\t\tthis.makeAsLinkWrapper.appendChild(this.url.layout);\n\n\t\tif (!data.disableLink)\n\t\t{\n\t\t\tthis.layout.appendChild(this.makeAsLinkWrapper);\n\t\t}\n\n\t\tthis.content = this.getValue();\n\t\tBX.DOM.write(function ()\n\t\t{\n\t\t\tthis.adjustPreviewBackgroundSize();\n\t\t}.bind(this));\n\n\t\tif (this.getValue().type === \"background\" || this.allowClear)\n\t\t{\n\t\t\tthis.clearButton.layout.classList.add(\"landing-ui-show\");\n\t\t}\n\n\t\tthis.uploader = new ImageUploader({\n\t\t\tuploadParams: this.uploadParams,\n\t\t\tadditionalParams: {context: 'imageeditor'},\n\t\t\tdimensions: this.dimensions,\n\t\t\tsizes: ['1x', '2x'],\n\t\t\tallowSvg: Main.getInstance().options.allow_svg === true,\n\t\t});\n\n\t\tthis.adjustEditButtonState();\n\t}\n\n\t/**\n\t * Creates file input\n\t * @return {Element}\n\t */\n\tstatic createFileInput(id)\n\t{\n\t\treturn Dom.create(\"input\", {\n\t\t\tprops: {className: \"landing-ui-field-image-dropzone-input\"},\n\t\t\tattrs: {accept: \"image/*\", type: \"file\", id: \"file_\" + id, name: \"picture\"},\n\t\t});\n\t}\n\n\t/**\n\t * Creates link input field\n\t * @return {TextField}\n\t */\n\tstatic createLinkInput(): TextField\n\t{\n\t\tvar field = new TextField({\n\t\t\tid: \"path_to_image\",\n\t\t\tplaceholder: Loc.getMessage(\"LANDING_IMAGE_UPLOAD_MENU_LINK_LABEL\"),\n\t\t});\n\t\tfield.enableTextOnly();\n\t\tfield.layout.hidden = true;\n\t\treturn field;\n\t}\n\n\t/**\n\t * Creates dropzone\n\t * @param {string} id\n\t * @return {Element}\n\t */\n\tstatic createDropzone(id)\n\t{\n\t\treturn Dom.create(\"label\", {\n\t\t\tprops: {className: \"landing-ui-field-image-dropzone\"},\n\t\t\tchildren: [\n\t\t\t\tDom.create(\"div\", {\n\t\t\t\t\tprops: {className: \"landing-ui-field-image-dropzone-text\"},\n\t\t\t\t\thtml: (\n\t\t\t\t\t\t\"<div class=\\\"landing-ui-field-image-dropzone-title\\\">\" + Loc.getMessage(\n\t\t\t\t\t\t\t\"LANDING_IMAGE_DROPZONE_TITLE\") + \"</div>\" +\n\t\t\t\t\t\t\"<div class=\\\"landing-ui-field-image-dropzone-subtitle\\\">\" + Loc.getMessage(\n\t\t\t\t\t\t\t\"LANDING_IMAGE_DROPZONE_SUBTITLE\") + \"</div>\"\n\t\t\t\t\t),\n\t\t\t\t}),\n\t\t\t],\n\t\t\tattrs: {\"for\": \"file_\" + id},\n\t\t});\n\t}\n\n\t/**\n\t * Creates clear button\n\t * @return {BaseButton}\n\t */\n\tstatic createClearButton()\n\t{\n\t\treturn new BaseButton(\"clear\", {\n\t\t\tclassName: \"landing-ui-field-image-action-button-clear\",\n\t\t});\n\t}\n\n\t/**\n\t * Creates image preview\n\t * @return {Element}\n\t */\n\tstatic createImagePreview()\n\t{\n\t\treturn Dom.create(\"div\", {\n\t\t\tprops: {className: \"landing-ui-field-image-preview-inner\"},\n\t\t});\n\t}\n\n\t/**\n\t * Creates icon layout\n\t * @return {Element}\n\t */\n\tstatic createIcon()\n\t{\n\t\treturn Dom.create(\"span\", {\n\t\t\tprops: {className: \"landing-ui-field-image-preview-icon\"},\n\t\t});\n\t}\n\n\t/**\n\t * Creates image layout\n\t * @return {Element}\n\t */\n\tstatic createImageLayout()\n\t{\n\t\treturn Dom.create(\"div\", {\n\t\t\tprops: {className: \"landing-ui-field-image-preview\"},\n\t\t});\n\t}\n\n\t/**\n\t * Creates alt field\n\t * @return {TextField}\n\t */\n\tstatic createAltField()\n\t{\n\t\tvar field = new TextField({\n\t\t\tplaceholder: Loc.getMessage(\"LANDING_FIELD_IMAGE_ALT_PLACEHOLDER\"),\n\t\t\tclassName: \"landing-ui-field-image-alt\",\n\t\t\ttextOnly: true,\n\t\t});\n\t\treturn field;\n\t}\n\n\t/**\n\t * Creates left layout\n\t * @return {Element}\n\t */\n\tstatic createLeftLayout()\n\t{\n\t\treturn Dom.create(\"div\", {\n\t\t\tprops: {className: \"landing-ui-field-image-left\"},\n\t\t});\n\t}\n\n\t/**\n\t * Creates upload button\n\t * @return {BaseButton}\n\t */\n\tstatic createUploadButton()\n\t{\n\t\treturn new BaseButton(\"upload\", {\n\t\t\ttext: Loc.getMessage(\"LANDING_FIELD_IMAGE_UPLOAD_BUTTON\"),\n\t\t\tclassName: \"landing-ui-field-image-action-button\",\n\t\t});\n\t}\n\n\t/**\n\t * Creates edit button\n\t * @return {BaseButton}\n\t */\n\tstatic createEditButton()\n\t{\n\t\tvar field = new BaseButton(\"edit\", {\n\t\t\ttext: Loc.getMessage(\"LANDING_FIELD_IMAGE_EDIT_BUTTON\"),\n\t\t\tclassName: \"landing-ui-field-image-action-button\",\n\t\t});\n\n\t\treturn field;\n\t}\n\n\t/**\n\t * Creates right layout\n\t * @return {Element}\n\t */\n\tstatic createRightLayout()\n\t{\n\t\treturn Dom.create(\"div\", {\n\t\t\tprops: {className: \"landing-ui-field-image-right\"},\n\t\t});\n\t}\n\n\t/**\n\t * Creates form\n\t * @return {Element}\n\t */\n\tstatic createForm()\n\t{\n\t\treturn Dom.create(\"form\", {\n\t\t\tprops: {className: \"landing-ui-field-image-container\"},\n\t\t\tattrs: {method: \"post\", enctype: \"multipart/form-data\"},\n\t\t\tevents: {\n\t\t\t\tsubmit: function (event)\n\t\t\t\t{\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t}\n\n\tonInputInput()\n\t{\n\t\tthis.preview.src = this.input.innerText.trim();\n\t}\n\n\tonImageDragEnter(event)\n\t{\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tif (!this.imageHidden)\n\t\t{\n\t\t\tthis.showDropzone();\n\t\t\tthis.imageHidden = true;\n\t\t}\n\t}\n\n\tonDragOver(event)\n\t{\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.dropzone.classList.add(\"landing-ui-active\");\n\t}\n\n\tonDragLeave(event)\n\t{\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.dropzone.classList.remove(\"landing-ui-active\");\n\n\t\tif (this.imageHidden)\n\t\t{\n\t\t\tthis.imageHidden = false;\n\t\t\tthis.showPreview();\n\t\t}\n\t}\n\n\tonDrop(event)\n\t{\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\t\tthis.dropzone.classList.remove(\"landing-ui-active\");\n\t\tthis.onFileChange(event.dataTransfer.files[0]);\n\t\tthis.imageHidden = false;\n\t}\n\n\tonFileChange(file)\n\t{\n\t\tthis.showLoader();\n\n\t\tthis.upload(file)\n\t\t\t.then(this.setValue.bind(this))\n\t\t\t.then(this.hideLoader.bind(this))\n\t\t\t.catch(function (err)\n\t\t\t{\n\t\t\t\tconsole.error(err);\n\t\t\t\tthis.hideLoader();\n\t\t\t}.bind(this));\n\t}\n\n\tonFileInputChange(event)\n\t{\n\t\tthis.onFileChange(event.currentTarget.files[0]);\n\t}\n\n\tonUploadClick(event)\n\t{\n\t\tthis.bindElement = event.currentTarget;\n\n\t\tevent.preventDefault();\n\n\t\tif (!this.uploadMenu)\n\t\t{\n\t\t\tthis.uploadMenu = BX.Main.MenuManager.create({\n\t\t\t\tid: \"upload_\" + this.selector + (+new Date()),\n\t\t\t\tbindElement: this.bindElement,\n\t\t\t\tbindOptions: {\n\t\t\t\t\tforceBindPosition: true,\n\t\t\t\t},\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: Loc.getMessage(\"LANDING_IMAGE_UPLOAD_MENU_UNSPLASH\"),\n\t\t\t\t\t\tonclick: this.onUnsplashShow.bind(this),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: Loc.getMessage(\"LANDING_IMAGE_UPLOAD_MENU_GOOGLE\"),\n\t\t\t\t\t\tonclick: this.onGoogleShow.bind(this),\n\t\t\t\t\t},\n\t\t\t\t\t// {\n\t\t\t\t\t// \ttext: Loc.getMessage(\"LANDING_IMAGE_UPLOAD_MENU_PARTNER\"),\n\t\t\t\t\t// \tclassName: \"landing-ui-disabled\"\n\t\t\t\t\t// },\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: Loc.getMessage(\"LANDING_IMAGE_UPLOAD_MENU_UPLOAD\"),\n\t\t\t\t\t\tonclick: this.onUploadShow.bind(this),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: Loc.getMessage(\"LANDING_IMAGE_UPLOAD_MENU_LINK\"),\n\t\t\t\t\t\tonclick: this.onLinkShow.bind(this),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tevents: {\n\t\t\t\t\tonPopupClose: function ()\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.bindElement.classList.remove(\"landing-ui-active\");\n\n\t\t\t\t\t\tif (this.uploadMenu)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.uploadMenu.destroy();\n\t\t\t\t\t\t\tthis.uploadMenu = null;\n\t\t\t\t\t\t}\n\t\t\t\t\t}.bind(this),\n\t\t\t\t},\n\t\t\t\ttargetContainer: this.contentRoot,\n\t\t\t});\n\t\t\tif (!this.contentRoot)\n\t\t\t{\n\t\t\t\tthis.bindElement.parentNode.appendChild(this.uploadMenu.popupWindow.popupContainer);\n\t\t\t}\n\t\t}\n\n\t\tthis.bindElement.classList.add(\"landing-ui-active\");\n\t\tthis.uploadMenu.toggle();\n\n\t\tif (!this.contentRoot && this.uploadMenu)\n\t\t{\n\t\t\tvar rect = BX.pos(this.bindElement, this.bindElement.parentNode);\n\t\t\tthis.uploadMenu.popupWindow.popupContainer.style.top = rect.bottom + \"px\";\n\t\t\tthis.uploadMenu.popupWindow.popupContainer.style.left = \"auto\";\n\t\t\tthis.uploadMenu.popupWindow.popupContainer.style.right = \"5px\";\n\t\t}\n\t}\n\n\tonUnsplashShow()\n\t{\n\t\tthis.uploadMenu.close();\n\n\t\tBX.Landing.UI.Panel.Image.getInstance()\n\t\t\t.show(\"unsplash\", this.dimensions, this.loader, this.uploadParams)\n\t\t\t.then(this.upload.bind(this))\n\t\t\t.then(this.setValue.bind(this))\n\t\t\t.then(this.hideLoader.bind(this))\n\t\t\t.catch(function (err)\n\t\t\t{\n\t\t\t\tconsole.error(err);\n\t\t\t\tthis.hideLoader();\n\t\t\t}.bind(this));\n\t}\n\n\tonGoogleShow()\n\t{\n\t\tthis.uploadMenu.close();\n\n\t\tBX.Landing.UI.Panel.Image.getInstance()\n\t\t\t.show(\"google\", this.dimensions, this.loader, this.uploadParams)\n\t\t\t.then(this.upload.bind(this))\n\t\t\t.then(this.setValue.bind(this))\n\t\t\t.then(this.hideLoader.bind(this))\n\t\t\t.catch(function (err)\n\t\t\t{\n\t\t\t\tBX.Landing.ErrorManager.getInstance().add({\n\t\t\t\t\ttype: 'error',\n\t\t\t\t\taction: 'BAD_IMAGE',\n\t\t\t\t\thideSupportLink: true,\n\t\t\t\t});\n\t\t\t\tconsole.error(err);\n\t\t\t\tthis.hideLoader();\n\t\t\t}.bind(this));\n\t}\n\n\tonUploadShow()\n\t{\n\t\tthis.uploadMenu.close();\n\t\tthis.fileInput.click();\n\t}\n\n\tonLinkShow()\n\t{\n\t\tthis.uploadMenu.close();\n\t\tthis.showLinkField();\n\t\tthis.linkInput.setValue(\"\");\n\t}\n\n\tonEditClick(event)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.edit({src: this.hiddenImage.src});\n\t}\n\n\tonClearClick(event)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.setValue({src: \"\"});\n\t\tthis.fileInput.value = \"\";\n\t\tthis.showDropzone();\n\t}\n\n\tshowDropzone()\n\t{\n\t\tthis.dropzone.hidden = false;\n\t\tthis.image.hidden = true;\n\t\tthis.altField.layout.hidden = true;\n\t\tthis.linkInput.layout.hidden = true;\n\t}\n\n\tshowPreview()\n\t{\n\t\tthis.dropzone.hidden = true;\n\t\tthis.image.hidden = false;\n\t\tthis.altField.layout.hidden = false;\n\t\tthis.linkInput.layout.hidden = true;\n\t}\n\n\tshowLinkField()\n\t{\n\t\tthis.dropzone.hidden = true;\n\t\tthis.image.hidden = true;\n\t\tthis.altField.layout.hidden = true;\n\t\tthis.linkInput.layout.hidden = false;\n\t}\n\n\tonLinkInput(value)\n\t{\n\t\tconst tmpImage = Dom.create(\"img\");\n\t\ttmpImage.src = value;\n\t\ttmpImage.onload = () => {\n\t\t\tthis.showPreview();\n\t\t\tthis.setValue({src: value, src2x: value});\n\t\t};\n\t}\n\n\tshowLoader()\n\t{\n\t\tif (this.dropzone && !this.dropzone.hidden)\n\t\t{\n\t\t\tthis.loader.show(this.dropzone);\n\t\t\treturn;\n\t\t}\n\n\t\tthis.loader.show(this.preview);\n\t}\n\n\thideLoader()\n\t{\n\t\tthis.loader.hide();\n\t}\n\n\t/**\n\t * Handles click event on input field\n\t * @param {MouseEvent} event\n\t */\n\tonInputClick(event)\n\t{\n\t\tevent.preventDefault();\n\t}\n\n\t/**\n\t * @inheritDoc\n\t * @return {boolean}\n\t */\n\tisChanged()\n\t{\n\t\tvar lastValue = BX.Landing.Utils.clone(this.content);\n\t\tvar currentValue = BX.Landing.Utils.clone(this.getValue());\n\n\t\tif (lastValue.url && Type.isString(lastValue.url))\n\t\t{\n\t\t\tlastValue.url = BX.Landing.Utils.decodeDataValue(lastValue.url);\n\t\t}\n\n\t\tif (currentValue.url && Type.isString(currentValue.url))\n\t\t{\n\t\t\tcurrentValue.url = BX.Landing.Utils.decodeDataValue(currentValue.url);\n\t\t}\n\n\t\treturn JSON.stringify(lastValue) !== JSON.stringify(currentValue);\n\t}\n\n\t/**\n\t * Adjusts preview background image size\n\t */\n\tadjustPreviewBackgroundSize()\n\t{\n\t\tvar img = Dom.create(\"img\", {attrs: {src: this.getValue().src}});\n\n\t\timg.onload = function ()\n\t\t{\n\t\t\tvar preview = this.preview.getBoundingClientRect();\n\t\t\tvar position = \"cover\";\n\n\t\t\tif (img.width > preview.width || img.height > preview.height)\n\t\t\t{\n\t\t\t\tposition = \"contain\";\n\t\t\t}\n\n\t\t\tif (img.width < preview.width && img.height < preview.height)\n\t\t\t{\n\t\t\t\tposition = \"auto\";\n\t\t\t}\n\n\t\t\tBX.DOM.write(function ()\n\t\t\t{\n\t\t\t\tthis.preview.style.backgroundSize = position;\n\t\t\t}.bind(this));\n\t\t}.bind(this);\n\t}\n\n\t/**\n\t * @param {object} value\n\t * @param {boolean} [preventEvent = false]\n\t */\n\tsetValue(value, preventEvent)\n\t{\n\t\tif (value.type !== \"icon\")\n\t\t{\n\t\t\tif (!value || !value.src)\n\t\t\t{\n\t\t\t\tthis.input.innerText = \"\";\n\t\t\t\tthis.input2x.innerText = \"\";\n\t\t\t\tthis.preview.removeAttribute(\"style\");\n\t\t\t\tthis.input.dataset.ext = \"\";\n\t\t\t\tthis.showDropzone();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.input.innerText = value.src;\n\t\t\t\tthis.input2x.innerText = value.src2x || '';\n\t\t\t\tthis.preview.style.backgroundImage = \"url(\\\"\" + (value.src2x || value.src) + \"\\\")\";\n\t\t\t\tthis.preview.id = BX.util.getRandomString();\n\t\t\t\tthis.hiddenImage.src = value.src2x || value.src;\n\t\t\t\tthis.showPreview();\n\t\t\t}\n\n\t\t\tthis.image.dataset.fileid = value && value.id ? value.id : -1;\n\t\t\tthis.image.dataset.fileid2x = value && value.id2x ? value.id2x : -1;\n\n\t\t\tif (value.type === 'image')\n\t\t\t{\n\t\t\t\tthis.altField.layout.hidden = false;\n\t\t\t\tthis.altField.setValue(value.alt);\n\t\t\t}\n\n\t\t\tthis.classList = [];\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.preview.style.backgroundImage = null;\n\t\t\tthis.classList = value.classList;\n\t\t\tthis.icon.innerHTML = \"<span class=\\\"\" + value.classList.join(\" \") + \"\\\"></span>\";\n\t\t\tthis.showPreview();\n\t\t\tthis.type = \"icon\";\n\t\t\tthis.altField.layout.hidden = true;\n\t\t\tthis.altField.setValue(\"\");\n\t\t\tthis.input.innerText = \"\";\n\t\t}\n\n\t\tif (value.url)\n\t\t{\n\t\t\tthis.url.setValue(value.url);\n\t\t}\n\n\t\tthis.adjustPreviewBackgroundSize();\n\t\tthis.adjustEditButtonState();\n\t\tthis.hideLoader();\n\n\t\tthis.onValueChangeHandler(this);\n\t\tBX.fireEvent(this.layout, \"input\");\n\n\t\tvar event = new BX.Event.BaseEvent({\n\t\t\tdata: {value: this.getValue()},\n\t\t\tcompatData: [this.getValue()],\n\t\t});\n\t\tif (!preventEvent)\n\t\t{\n\t\t\tthis.emit('change', event);\n\t\t}\n\t}\n\n\tadjustEditButtonState()\n\t{\n\t\tvar value = this.getValue();\n\t\tif (BX.Type.isStringFilled(value.src))\n\t\t{\n\t\t\tthis.editButton.enable();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.editButton.disable();\n\t\t}\n\t}\n\n\treset()\n\t{\n\t\tthis.setValue({\n\t\t\ttype: this.getValue().type,\n\t\t\tid: -1,\n\t\t\tsrc: \"\",\n\t\t\talt: \"\",\n\t\t});\n\t}\n\n\t/**\n\t * Gets field value\n\t * @return {{src, [alt]: string, [title]: string, [url]: string, [type]: string}}\n\t */\n\tgetValue()\n\t{\n\t\tconst value = {type: \"\", src: \"\", alt: \"\", url: \"\"};\n\n\t\tconst fileId = parseInt(this.image.dataset.fileid);\n\t\tif (Type.isNumber(fileId) && fileId > 0)\n\t\t{\n\t\t\tvalue.id = fileId;\n\t\t}\n\n\t\tconst fileId2x = parseInt(this.image.dataset.fileid2x);\n\t\tif (Type.isNumber(fileId2x) && fileId2x > 0)\n\t\t{\n\t\t\tvalue.id2x = fileId2x;\n\t\t}\n\n\t\tconst src2x = this.input2x.innerText.trim();\n\t\tif (Type.isString(src2x) && src2x)\n\t\t{\n\t\t\tvalue.src2x = src2x;\n\t\t}\n\n\t\tif (this.type === \"background\" || this.type === \"image\")\n\t\t{\n\t\t\tvalue.src = this.input.innerText.trim();\n\t\t}\n\n\t\tif (this.type === \"background\")\n\t\t{\n\t\t\tvalue.type = \"background\";\n\t\t}\n\n\t\tif (this.type === \"image\")\n\t\t{\n\t\t\tvalue.type = \"image\";\n\t\t\tvalue.alt = this.altField.getValue();\n\t\t}\n\n\t\tif (this.type === \"icon\")\n\t\t{\n\t\t\tvalue.type = \"icon\";\n\t\t\tvalue.classList = this.classList;\n\t\t}\n\n\t\tvalue.url = Object.assign({}, this.url.getValue(), {enabled: true});\n\n\t\treturn value;\n\t}\n\n\tedit(data)\n\t{\n\t\tImageEditor\n\t\t\t.edit({\n\t\t\t\timage: data.src,\n\t\t\t\tdimensions: this.dimensions,\n\t\t\t})\n\t\t\t.then(function (file)\n\t\t\t{\n\t\t\t\treturn this.upload(file, {context: \"imageEditor\"});\n\t\t\t}.bind(this))\n\t\t\t.then(function (result)\n\t\t\t{\n\t\t\t\tthis.setValue(result);\n\t\t\t}.bind(this));\n\n\t\t// Analytics hack\n\t\tconst tmpImage = document.createElement('img');\n\t\tlet imageSrc = \"/bitrix/images/landing/close.svg\";\n\n\t\timageSrc = BX.util.add_url_param(imageSrc, {\n\t\t\taction: \"openImageEditor\",\n\t\t});\n\n\t\ttmpImage.src = imageSrc + \"?\" + (+new Date());\n\t}\n\n\t/**\n\t * @param {File|Blob} file\n\t * @param {object} [additionalParams]\n\t */\n\tupload(file, additionalParams)\n\t{\n\t\tif (file.type && (file.type.includes('text') || file.type.includes('html')))\n\t\t{\n\t\t\tBX.Landing.ErrorManager.getInstance().add({\n\t\t\t\ttype: \"error\",\n\t\t\t\taction: \"BAD_IMAGE\",\n\t\t\t});\n\n\t\t\treturn Promise.reject({\n\t\t\t\ttype: \"error\",\n\t\t\t\taction: \"BAD_IMAGE\",\n\t\t\t});\n\t\t}\n\n\t\tthis.showLoader();\n\n\t\tconst isPng = (\n\t\t\tType.isStringFilled(file.type)\n\t\t\t&& file.type.includes('png')\n\t\t);\n\n\t\tconst isSvg = (\n\t\t\tType.isStringFilled(file.type)\n\t\t\t&& file.type.includes('svg')\n\t\t);\n\n\t\tconst checkSize = new Promise(function (resolve)\n\t\t{\n\t\t\tlet sizes = (isPng || isSvg) ? ['2x'] : ['1x', '2x'];\n\n\t\t\tif (this.create2xByDefault === false)\n\t\t\t{\n\t\t\t\tconst image = document.createElement('img');\n\t\t\t\tconst objectUrl = URL.createObjectURL(file);\n\t\t\t\tconst dimensions = this.dimensions;\n\t\t\t\timage.onload = function ()\n\t\t\t\t{\n\t\t\t\t\tURL.revokeObjectURL(objectUrl);\n\t\t\t\t\tif (\n\t\t\t\t\t\t(\n\t\t\t\t\t\t\tthis.width >= dimensions.width\n\t\t\t\t\t\t\t|| this.height >= dimensions.height\n\t\t\t\t\t\t\t|| this.width >= dimensions.maxWidth\n\t\t\t\t\t\t\t|| this.height >= dimensions.maxHeight\n\t\t\t\t\t\t) === false\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\tsizes = (isPng || isSvg) ? ['2x'] : ['1x'];\n\t\t\t\t\t}\n\n\t\t\t\t\tresolve(sizes);\n\t\t\t\t};\n\t\t\t\timage.src = objectUrl;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresolve(sizes);\n\t\t\t}\n\t\t}.bind(this));\n\n\t\treturn checkSize\n\t\t\t.then(function (allowedSizes)\n\t\t\t{\n\t\t\t\tvar sizes = (function ()\n\t\t\t\t{\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.create2xByDefault === false\n\t\t\t\t\t\t&& BX.Type.isArrayFilled(allowedSizes)\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn allowedSizes;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn (isPng || isSvg) ? ['2x'] : ['1x', '2x'];\n\t\t\t\t}.bind(this))();\n\n\t\t\t\treturn this.uploader\n\t\t\t\t\t.setSizes(sizes)\n\t\t\t\t\t.upload(file, additionalParams)\n\t\t\t\t\t.then(function (result)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.hideLoader();\n\n\t\t\t\t\t\tif (sizes.length === 1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\treturn result[0];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn Object.assign({}, result[0], {\n\t\t\t\t\t\t\tsrc2x: result[1].src,\n\t\t\t\t\t\t\tid2x: result[1].id,\n\t\t\t\t\t\t});\n\t\t\t\t\t}.bind(this));\n\t\t\t}.bind(this));\n\t}\n}"],"names":["Image","data","dimensions","create2xByDefault","uploadParams","onValueChangeHandler","onValueChange","type","content","allowClear","input","innerText","src","hidden","input2x","createInput","src2x","layout","classList","add","compactMode","disableAltField","fileInput","createFileInput","selector","addEventListener","onFileInputChange","bind","linkInput","createLinkInput","onInputHandler","Runtime","debounce","onLinkInput","dropzone","createDropzone","insertBefore","firstElementChild","onDragOver","onDragLeave","onDrop","clearButton","createClearButton","on","onClearClick","preview","createImagePreview","appendChild","style","backgroundImage","trim","onImageDragEnter","loader","BX","Loader","target","icon","createIcon","image","createImageLayout","dataset","fileid","id","fileid2x","id2x","hiddenImage","Dom","create","props","className","Type","isPlainObject","altField","createAltField","setValue","alt","left","createLeftLayout","description","uploadButton","createUploadButton","onUploadClick","editButton","createEditButton","onEditClick","right","createRightLayout","form","createForm","enableTextOnly","window","location","toString","showDropzone","display","showPreview","addClass","makeAsLinkWrapper","children","url","Landing","UI","Field","Link","text","href","options","siteId","Main","getInstance","site_id","landingId","contentRoot","isDisabledUrl","enabled","disableLink","getValue","DOM","write","adjustPreviewBackgroundSize","uploader","ImageUploader","additionalParams","context","sizes","allowSvg","allow_svg","adjustEditButtonState","event","preventDefault","stopPropagation","imageHidden","remove","onFileChange","dataTransfer","files","file","showLoader","upload","then","hideLoader","err","console","error","currentTarget","bindElement","uploadMenu","MenuManager","Date","bindOptions","forceBindPosition","items","Loc","getMessage","onclick","onUnsplashShow","onGoogleShow","onUploadShow","onLinkShow","events","onPopupClose","destroy","targetContainer","parentNode","popupWindow","popupContainer","toggle","rect","pos","top","bottom","close","Panel","show","ErrorManager","action","hideSupportLink","click","showLinkField","edit","value","tmpImage","onload","hide","lastValue","Utils","clone","currentValue","isString","decodeDataValue","JSON","stringify","img","attrs","getBoundingClientRect","position","width","height","backgroundSize","preventEvent","removeAttribute","ext","util","getRandomString","innerHTML","join","fireEvent","Event","BaseEvent","compatData","emit","isStringFilled","enable","disable","fileId","parseInt","isNumber","fileId2x","Object","assign","ImageEditor","result","document","createElement","imageSrc","add_url_param","includes","Promise","reject","isPng","isSvg","checkSize","resolve","objectUrl","URL","createObjectURL","revokeObjectURL","maxWidth","maxHeight","allowedSizes","isArrayFilled","setSizes","length","accept","name","field","TextField","placeholder","html","BaseButton","textOnly","method","enctype","submit"],"mappings":"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"}