403Webshell
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/node/img/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/landing/node/img/dist/img.bundle.js.map
{"version":3,"file":"img.bundle.js","sources":["../src/img.js"],"sourcesContent":["import { Base } from 'landing.node.base';\nimport { Env } from 'landing.env';\nimport { Image as ImageField } from 'landing.ui.field.image';\n\nconst attr = BX.Landing.Utils.attr;\nconst data = BX.Landing.Utils.data;\nconst encodeDataValue = BX.Landing.Utils.encodeDataValue;\nconst decodeDataValue = BX.Landing.Utils.decodeDataValue;\n\nexport class Img extends Base\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.type = 'img';\n\t\tthis.editPanel = null;\n\t\tthis.lastValue = null;\n\t\tthis.field = null;\n\t\tthis.uploadParams = options.uploadParams;\n\n\t\tif (!this.isGrouped())\n\t\t{\n\t\t\tthis.node.addEventListener('click', this.onClick.bind(this));\n\t\t}\n\n\t\tif (this.isAllowInlineEdit())\n\t\t{\n\t\t\tthis.node.setAttribute('title', BX.Landing.Loc.getMessage('LANDING_TITLE_OF_IMAGE_NODE'));\n\t\t}\n\t}\n\n\t/**\n\t * Click on field - edit mode.\n\t * @param {MouseEvent} event\n\t */\n\tonClick(event)\n\t{\n\t\tBX.Event.EventEmitter.emit('BX.Landing.Node.Img:onClick');\n\t\tif (\n\t\t\tthis.manifest.allowInlineEdit !== false\n\t\t\t&& BX.Landing.Main.getInstance().isControlsEnabled()\n\t\t\t&& (!BX.Landing.Node.Text.currentNode\n\t\t\t|| !BX.Landing.Node.Text.currentNode.isEditable())\n\t\t\t&& !BX.Landing.UI.Panel.StylePanel.getInstance().isShown()\n\t\t)\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopPropagation();\n\n\t\t\tBX.Landing.UI.Button.ColorAction.hideAll();\n\n\t\t\tif (!this.editPanel)\n\t\t\t{\n\t\t\t\tthis.editPanel = new BX.Landing.UI.Panel.Content(this.selector, {\n\t\t\t\t\ttitle: BX.Landing.Loc.getMessage('LANDING_IMAGE_PANEL_TITLE'),\n\t\t\t\t\tclassName: 'landing-ui-panel-edit-image',\n\t\t\t\t});\n\n\t\t\t\tthis.editPanel.appendFooterButton(\n\t\t\t\t\tnew BX.Landing.UI.Button.BaseButton('save_block_content', {\n\t\t\t\t\t\ttext: BX.Landing.Loc.getMessage('BLOCK_SAVE'),\n\t\t\t\t\t\tonClick: this.save.bind(this),\n\t\t\t\t\t\tclassName: 'landing-ui-button-content-save',\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t\tthis.editPanel.appendFooterButton(\n\t\t\t\t\tnew BX.Landing.UI.Button.BaseButton('cancel_block_content', {\n\t\t\t\t\t\ttext: BX.Landing.Loc.getMessage('BLOCK_CANCEL'),\n\t\t\t\t\t\tonClick: this.editPanel.hide.bind(this.editPanel),\n\t\t\t\t\t\tclassName: 'landing-ui-button-content-cancel',\n\t\t\t\t\t}),\n\t\t\t\t);\n\n\t\t\t\twindow.parent.document.body.appendChild(this.editPanel.layout);\n\t\t\t}\n\n\t\t\tconst form = new BX.Landing.UI.Form.BaseForm({ title: this.manifest.name });\n\t\t\tform.addField(this.getField());\n\n\t\t\tthis.editPanel.clear();\n\t\t\tthis.editPanel.appendForm(form);\n\t\t\tthis.editPanel.show();\n\t\t\tBX.Landing.UI.Panel.EditorPanel.getInstance().hide();\n\t\t}\n\t}\n\n\t/**\n\t * Saves value changes\n\t */\n\tsave()\n\t{\n\t\tconst value = this.editPanel.forms[0].fields[0].getValue();\n\n\t\tif (JSON.stringify(this.getValue()) !== JSON.stringify(value))\n\t\t{\n\t\t\tthis.setValue(value);\n\t\t}\n\n\t\tthis.editPanel.hide();\n\t}\n\n\t/**\n\t * Gets form field\n\t * @return {?BX.Landing.UI.Field.BaseField}\n\t */\n\tgetField(): ?BX.Landing.UI.Field.BaseField\n\t{\n\t\tif (this.field)\n\t\t{\n\t\t\tthis.field.setValue(this.getValue());\n\t\t\tthis.field.content = this.getValue();\n\t\t\trequestAnimationFrame(() => {\n\t\t\t\tthis.field.adjustPreviewBackgroundSize();\n\t\t\t});\n\t\t}\n\t\telse\n\t\t{\n\t\t\tlet description = '';\n\n\t\t\tif (this.manifest.dimensions)\n\t\t\t{\n\t\t\t\tconst dimensions = this.manifest.dimensions;\n\n\t\t\t\tconst width = (\n\t\t\t\t\tdimensions.width\n\t\t\t\t\t|| dimensions.maxWidth\n\t\t\t\t\t|| dimensions.minWidth\n\t\t\t\t);\n\n\t\t\t\tconst height = (\n\t\t\t\t\tdimensions.height\n\t\t\t\t\t|| dimensions.maxHeight\n\t\t\t\t\t|| dimensions.minHeight\n\t\t\t\t);\n\n\t\t\t\tif (width && !height)\n\t\t\t\t{\n\t\t\t\t\tdescription = `${BX.Landing.Loc.getMessage('LANDING_CONTENT_IMAGE_RECOMMENDED_WIDTH')} `;\n\t\t\t\t\tdescription += `${width}px`;\n\t\t\t\t}\n\t\t\t\telse if (height && !width)\n\t\t\t\t{\n\t\t\t\t\tdescription = `${BX.Landing.Loc.getMessage('LANDING_CONTENT_IMAGE_RECOMMENDED_HEIGHT')} `;\n\t\t\t\t\tdescription += `${height}px`;\n\t\t\t\t}\n\t\t\t\telse if (width && height)\n\t\t\t\t{\n\t\t\t\t\tdescription = `${BX.Landing.Loc.getMessage('LANDING_CONTENT_IMAGE_RECOMMENDED_SIZE')} `;\n\t\t\t\t\tdescription += `${width}px / `;\n\t\t\t\t\tdescription += `${height}px`;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst value = this.getValue();\n\t\t\tif (value.url)\n\t\t\t{\n\t\t\t\tvalue.url = decodeDataValue(value.url);\n\t\t\t}\n\n\t\t\tconst disableLink = !!this.node.closest('a') || !!this.manifest.disableLink;\n\n\t\t\tif (this.manifest.editInStyle !== true)\n\t\t\t{\n\t\t\t\tthis.field = new ImageField({\n\t\t\t\t\tcontextType: ImageField.CONTEXT_TYPE_CONTENT,\n\t\t\t\t\tselector: this.selector,\n\t\t\t\t\ttitle: this.manifest.name,\n\t\t\t\t\tdescription: description,\n\t\t\t\t\tdisableLink: disableLink,\n\t\t\t\t\tisAiImageAvailable: Env.getInstance().getOptions()['ai_image_available'],\n\t\t\t\t\tisAiImageActive: Env.getInstance().getOptions()['ai_image_active'],\n\t\t\t\t\taiUnactiveInfoCode: Env.getInstance().getOptions()['ai_unactive_info_code'],\n\t\t\t\t\tcontent: value,\n\t\t\t\t\tdimensions: this.manifest.dimensions ?? {},\n\t\t\t\t\tcreate2xByDefault: this.manifest.create2xByDefault,\n\t\t\t\t\tdisableAltField: isBackground(this.node),\n\t\t\t\t\tuploadParams: this.uploadParams,\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn this.field;\n\t}\n\n\t/**\n\t * Sets node value\n\t * @param value - Path to image\n\t * @param {?boolean} [preventSave = false]\n\t * @param {?boolean} [preventHistory = false]\n\t */\n\tsetValue(value, preventSave, preventHistory)\n\t{\n\t\tthis.lastValue = this.lastValue || this.getValue();\n\t\tthis.preventSave(preventSave);\n\n\t\tif (value && value.src)\n\t\t{\n\t\t\tvalue.src = decodeURIComponent(value.src);\n\t\t}\n\n\t\tif (isImage(this.node))\n\t\t{\n\t\t\tsetImageValue(this.node, value);\n\t\t}\n\n\t\tif (isBackground(this.node))\n\t\t{\n\t\t\tsetBackgroundValue(this.node, value);\n\t\t}\n\n\t\tif (value.url)\n\t\t{\n\t\t\tconst url = this.preparePseudoUrl(value.url);\n\t\t\tif (url !== null)\n\t\t\t{\n\t\t\t\tattr(this.node, 'data-pseudo-url', url);\n\t\t\t}\n\t\t}\n\n\t\tthis.onChange(preventHistory);\n\n\t\tif (!preventHistory)\n\t\t{\n\t\t\tBX.Landing.History.getInstance().push();\n\t\t}\n\n\t\tthis.lastValue = this.getValue();\n\t}\n\n\t/**\n\t * Gets node value\n\t * @return {{src: string}}\n\t */\n\tgetValue(): {src: string}\n\t{\n\t\tconst value = { type: '', src: '', alt: '', url: '' };\n\n\t\tconst fileId = parseInt(this.node.dataset.fileid, 10);\n\t\tif (fileId > 0)\n\t\t{\n\t\t\tvalue.id = fileId;\n\t\t}\n\n\t\tconst fileId2x = parseInt(this.node.dataset.fileid2x, 10);\n\t\tif (fileId2x > 0)\n\t\t{\n\t\t\tvalue.id2x = fileId2x;\n\t\t}\n\n\t\tif (isBackground(this.node))\n\t\t{\n\t\t\tvalue.type = 'background';\n\t\t\tvalue.src = getBackgroundUrl(this.node);\n\t\t\tconst src2x = getBackgroundUrl2x(this.node);\n\t\t\tif (src2x)\n\t\t\t{\n\t\t\t\tvalue.src2x = src2x;\n\t\t\t}\n\t\t}\n\n\t\tif (isImage(this.node))\n\t\t{\n\t\t\tvalue.type = 'image';\n\t\t\tvalue.alt = getAlt(this);\n\t\t\tvalue.src = getImageSrc(this.node);\n\t\t\tconst src2x = getImageSrc2x(this.node);\n\t\t\tif (src2x)\n\t\t\t{\n\t\t\t\tvalue.src2x = src2x;\n\t\t\t}\n\t\t}\n\n\t\tvalue.url = (\n\t\t\tencodeDataValue(getPseudoUrl(this))\n\t\t\t|| { text: '', href: '', target: '_self', enabled: false }\n\t\t);\n\n\t\treturn value;\n\t}\n\n\t/**\n\t * Prepare pseudo url if needed\n\t * @param {object} url\n\t * @return {null|object}\n\t */\n\tpreparePseudoUrl(url)\n\t{\n\t\tlet urlIsChange = false;\n\t\tif (!(url.href === '#' && url.target === ''))\n\t\t{\n\t\t\turlIsChange = true;\n\t\t}\n\n\t\tif (url.href === 'selectActions:')\n\t\t{\n\t\t\turl.href = '';\n\t\t\turl.enabled = false;\n\t\t\turlIsChange = true;\n\t\t}\n\n\t\tif (url.href.startsWith('product:'))\n\t\t{\n\t\t\turl.target = '_self';\n\t\t\turlIsChange = true;\n\t\t}\n\n\t\tif (url.enabled !== false && (url.href === '' || url.href === '#'))\n\t\t{\n\t\t\turl.enabled = false;\n\t\t\turlIsChange = true;\n\t\t}\n\n\t\tif (url.target === '')\n\t\t{\n\t\t\turl.target = '_blank';\n\t\t\turlIsChange = true;\n\t\t}\n\n\t\tif (urlIsChange === true)\n\t\t{\n\t\t\treturn url;\n\t\t}\n\n\t\treturn null;\n\t}\n}\n\nBX.Landing.Node.Img = Img;\n\n/**\n * Checks that node use backgroundImage\n * @param {HTMLElement} node\n * @return {boolean}\n */\nfunction isBackground(node): boolean\n{\n\treturn node.nodeName !== 'IMG';\n}\n\n/**\n * Checks that node is imaged\n * @param {HTMLElement} node\n * @return {boolean}\n */\nfunction isImage(node): boolean\n{\n\treturn node.nodeName === 'IMG';\n}\n\n/**\n * Gets background url\n * @param {BX.Landing.Node.Img} node\n * @return {boolean}\n */\nfunction getBackgroundUrl(node): boolean\n{\n\tconst bg = node.style.getPropertyValue('background-image');\n\tif (bg)\n\t{\n\t\tconst res = bg.match(/url\\((.*?)\\)/);\n\n\t\tif (res && res[1])\n\t\t{\n\t\t\treturn res[1].replace(/[\"'|]/g, '');\n\t\t}\n\t}\n\n\treturn '';\n}\n\n/**\n * Gets background url 2x\n * @param {BX.Landing.Node.Img} node\n * @return {boolean}\n */\nfunction getBackgroundUrl2x(node): boolean\n{\n\tconst bg = node.style.getPropertyValue('background-image');\n\tif (bg)\n\t{\n\t\tconst res = bg.match(/1x, url\\([\"'|](.*)[\"'|]\\) 2x\\)/);\n\n\t\tif (res && res[1])\n\t\t{\n\t\t\treturn res[1].replace(/[\"'|]/g, '');\n\t\t}\n\t}\n\n\treturn '';\n}\n\n/**\n * Gets image alt\n * @param {BX.Landing.Node.Img} node\n * @return {string}\n */\nfunction getAlt(node): string\n{\n\tconst alt = attr(node.node, 'alt');\n\n\treturn alt || '';\n}\n\nfunction getPseudoUrl(node): string\n{\n\tconst url = data(node.node, 'data-pseudo-url');\n\n\treturn url || '';\n}\n\n/**\n * Gets image src\n * @param {HTMLElement} node\n * @return {string}\n */\nfunction getImageSrc(node): string\n{\n\tconst src = attr(node, 'src');\n\n\treturn src || '';\n}\n\n/**\n * Gets image src 2x\n * @param {HTMLElement} node\n * @return {string}\n */\nfunction getImageSrc2x(node): string\n{\n\tconst src = attr(node, 'srcset');\n\n\treturn src ? src.replace(' 2x', '') : '';\n}\n\n/**\n * Sets image value or converts to image and sets value\n * @param {HTMLElement} node\n * @param {object} value\n */\nfunction setImageValue(node, value)\n{\n\tif (isImage(node))\n\t{\n\t\tnode.src = value.src;\n\t\tnode.alt = value.alt || '';\n\t\tnode.dataset.fileid = value.id || -1;\n\t\tnode.srcset = value.src2x ? `${value.src2x} 2x` : '';\n\t\tnode.dataset.fileid2x = value.id2x || -1;\n\t}\n\telse\n\t{\n\t\tconst newNode = BX.create('img', {\n\t\t\tattrs: { src: value.src, alt: value.alt, 'data-fileid': value.id },\n\t\t});\n\n\t\tBX.Dom.insertBefore(newNode, node);\n\t\tBX.remove(node);\n\t}\n}\n\n/**\n * Sets background value or converts to div and sets value\n * @param {HTMLElement} node\n * @param {object} value\n */\nfunction setBackgroundValue(node, value)\n{\n\tif (isBackground(node))\n\t{\n\t\tif (value.src)\n\t\t{\n\t\t\tconst style = [`background-image: url(\"${value.src}\");`];\n\t\t\tif (value.src2x)\n\t\t\t{\n\t\t\t\tstyle.push(`background-image: -webkit-image-set(url(\"${value.src}\") 1x, url(\"${value.src2x}\") 2x);`, `background-image: image-set(url(\"${value.src}\") 1x, url(\"${value.src2x}\") 2x);`);\n\t\t\t}\n\n\t\t\t// save css-vars and other styles\n\t\t\tconst oldStyleObj = node.style;\n\t\t\tconst oldStyle = {};\n\t\t\t[...oldStyleObj].forEach((prop) => {\n\t\t\t\toldStyle[prop] = oldStyleObj.getPropertyValue(prop);\n\t\t\t});\n\n\t\t\tnode.setAttribute('style', style.join(' '));\n\t\t\tfor (const prop in oldStyle)\n\t\t\t{\n\t\t\t\tif (prop !== 'background-image')\n\t\t\t\t{\n\t\t\t\t\tBX.Dom.style(node, prop, oldStyle[prop]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if (node.style)\n\t\t{\n\t\t\tBX.Dom.style(node, 'background-image', null);\n\t\t}\n\n\t\tnode.dataset.fileid = value.id || -1;\n\t\tnode.dataset.fileid2x = value.id2x || -1;\n\t}\n\telse\n\t{\n\t\tconst newNode = BX.create('div', {\n\t\t\tattrs: {\n\t\t\t\tstyle: `background-image: url(\"${value.src}\")`,\n\t\t\t\t'data-fileid': value.id,\n\t\t\t},\n\t\t});\n\n\t\tBX.Dom.insertBefore(newNode, node);\n\t\tBX.Dom.remove(node);\n\t}\n}\n"],"names":["attr","BX","Landing","Utils","data","encodeDataValue","decodeDataValue","Img","Base","constructor","options","type","editPanel","lastValue","field","uploadParams","isGrouped","node","addEventListener","onClick","bind","isAllowInlineEdit","setAttribute","Loc","getMessage","event","Event","EventEmitter","emit","manifest","allowInlineEdit","Main","getInstance","isControlsEnabled","Node","Text","currentNode","isEditable","UI","Panel","StylePanel","isShown","preventDefault","stopPropagation","Button","ColorAction","hideAll","Content","selector","title","className","appendFooterButton","BaseButton","text","save","hide","window","parent","document","body","appendChild","layout","form","Form","BaseForm","name","addField","getField","clear","appendForm","show","EditorPanel","value","forms","fields","getValue","JSON","stringify","setValue","content","requestAnimationFrame","adjustPreviewBackgroundSize","description","dimensions","width","maxWidth","minWidth","height","maxHeight","minHeight","url","disableLink","closest","editInStyle","ImageField","contextType","CONTEXT_TYPE_CONTENT","isAiImageAvailable","Env","getOptions","isAiImageActive","aiUnactiveInfoCode","create2xByDefault","disableAltField","isBackground","preventSave","preventHistory","src","decodeURIComponent","isImage","setImageValue","setBackgroundValue","preparePseudoUrl","onChange","History","push","alt","fileId","parseInt","dataset","fileid","id","fileId2x","fileid2x","id2x","getBackgroundUrl","src2x","getBackgroundUrl2x","getAlt","getImageSrc","getImageSrc2x","getPseudoUrl","href","target","enabled","urlIsChange","startsWith","nodeName","bg","style","getPropertyValue","res","match","replace","srcset","newNode","create","attrs","Dom","insertBefore","remove","oldStyleObj","oldStyle","forEach","prop","join"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit