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/sale/payment-pay/lib/dist/ |
Upload File : |
{"version":3,"file":"lib.bundle.js","sources":["../src/abstract-backend-provider.js","../src/virtual-form.js","../src/payment-process.js","../src/settings.js"],"sourcesContent":["export class AbstractBackendProvider\n{\n\tconstructor(options) {\n\t\tthis.options = options || {};\n\t}\n\n\t/**\n\t * @public\n\t * @returns {Promise} Resolve when backend responds, reject if there was 4** or 5** HTTP errors\n\t */\n\tinitiatePayment() {}\n\n\t/**\n\t * @public\n\t * @returns {object|string|*} Plain response from backend\n\t */\n\tgetResponse() {}\n\n\t/**\n\t * Returns true if payment inited and user can be redirected to payment gate.\n\t * @public\n\t * @returns {boolean}\n\t */\n\tisResponseSucceed() {}\n\n\t/**\n\t * Returns url of payment gate which user can be redirected to, or null.\n\t * @public\n\t * @returns {string|null}\n\t */\n\tgetPaymentGateUrl() {}\n\n\t/**\n\t * Returns HTML-chunk with payment form which can be displayed to user, or null.\n\t * @public\n\t * @returns {string|null}\n\t */\n\tgetPaymentFormHtml() {}\n\n\t/**\n\t * @protected\n\t * @param {string} name\n\t * @param {*} defaultValue\n\t * @returns {*}\n\t */\n\toption(name, defaultValue) {\n\t\treturn this.options.hasOwnProperty(name) ? this.options[name] : defaultValue;\n\t}\n}","export class VirtualForm\n{\n\t/**\n\t * @private\n\t * @param {HTMLFormElement|null} form\n\t */\n\tconstructor(form) {\n\t\tthis.form = form || null;\n\t}\n\n\t/**\n\t * @public\n\t * @param {string} html\n\t * @returns {VirtualForm}\n\t */\n\tstatic createFromHtml(html) {\n\t\tconst tempNode = document.createElement('div');\n\t\ttempNode.innerHTML = html;\n\n\t\tconst form = tempNode.querySelector('form');\n\t\treturn new VirtualForm(form);\n\t}\n\n\t/**\n\t * @public\n\t * @param {HTMLElement} node\n\t * @returns {VirtualForm}\n\t */\n\tstatic createFromNode(node) {\n\t\tif (node instanceof HTMLFormElement) {\n\t\t\treturn new VirtualForm(node);\n\t\t}\n\t\tconst form = node.querySelector('form');\n\t\treturn new VirtualForm(form);\n\t}\n\n\t/**\n\t * @public\n\t * @returns {boolean}\n\t */\n\tsubmit() {\n\t\tif (!this.canSubmit()) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (this.isVirtual()) {\n\t\t\tconst tempNode = document.createElement('div');\n\t\t\ttempNode.style.display = 'none';\n\t\t\ttempNode.append(this.form);\n\n\t\t\tdocument.body.appendChild(tempNode);\n\t\t}\n\n\t\tHTMLFormElement.prototype.submit.call(this.form);\n\t\treturn true;\n\t}\n\n\t/**\n\t * @public\n\t * @returns {boolean}\n\t */\n\tcanSubmit() {\n\t\treturn this.isValidFormObject() && this.containsAllowedInputTypesOnly();\n\t}\n\n\t/**\n\t * @private\n\t * @returns {boolean}\n\t */\n\tisValidFormObject() {\n\t\treturn this.form instanceof HTMLFormElement;\n\t}\n\n\t/**\n\t * @private\n\t * @returns {boolean}\n\t */\n\tcontainsAllowedInputTypesOnly() {\n\t\tif (!this.form || !this.form.elements) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// eslint-disable-next-line no-plusplus\n\t\tfor (let i = 0; i < this.form.elements.length; i++) {\n\t\t\tif (!VirtualForm.elementAllowed(this.form.elements[i])) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\t/**\n\t * @private\n\t * @param element\n\t * @returns {boolean}\n\t */\n\tstatic elementAllowed(element) {\n\t\tconst allowedTypes = VirtualForm.getAllowedInputTypes();\n\t\tif (element instanceof HTMLInputElement) {\n\t\t\treturn allowedTypes.indexOf(element.type) !== -1;\n\t\t}\n\t\treturn true;\n\t}\n\n\t/**\n\t * @private\n\t * @returns {string[]}\n\t */\n\tstatic getAllowedInputTypes() {\n\t\treturn ['hidden', 'submit'];\n\t}\n\n\t/**\n\t * @public\n\t * @returns {boolean}\n\t */\n\tisVirtual() {\n\t\tif (this.form) {\n\t\t\treturn !document.body.contains(this.form);\n\t\t}\n\t\treturn true;\n\t}\n}","import {EventEmitter} from 'main.core.events';\nimport {EventType} from 'sale.payment-pay.const';\nimport {VirtualForm} from './virtual-form';\nimport {AbstractBackendProvider} from './abstract-backend-provider';\n\nexport class PaymentProcess\n{\n\tconstructor(options)\n\t{\n\t\tthis.options = options || {};\n\n\t\tthis.backendProvider = this.option('backendProvider', null);\n\n\t\tif (!this.backendProvider || !this.backendProvider instanceof AbstractBackendProvider) {\n\t\t\tthrow new Error('Invalid backend provider');\n\t\t}\n\n\t\tthis.allowPaymentRedirect = this.option('allowPaymentRedirect', true);\n\t}\n\n\t/**\n\t * @public\n\t * @returns {void}\n\t */\n\tstart()\n\t{\n\t\tthis.backendProvider.initiatePayment().then(() => {this.handleResponse()});\n\t}\n\n\t/**\n\t * @private\n\t */\n\thandleResponse()\n\t{\n\t\tif (this.backendProvider.isResponseSucceed())\n\t\t{\n\t\t\tconst redirected = this.tryToRedirectUserOnPaymentGate();\n\n\t\t\tif (!redirected)\n\t\t\t{\n\t\t\t\tEventEmitter.emit(EventType.payment.success, this.backendProvider.getResponse());\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tEventEmitter.emit(EventType.payment.error, this.backendProvider.getResponse());\n\t\t}\n\t}\n\n\t/**\n\t * @private\n\t * @returns {boolean}\n\t */\n\ttryToRedirectUserOnPaymentGate()\n\t{\n\t\tconst url = this.backendProvider.getPaymentGateUrl();\n\t\tconst html = this.backendProvider.getPaymentFormHtml();\n\n\t\tif (this.allowPaymentRedirect)\n\t\t{\n\t\t\tif (url)\n\t\t\t{\n\t\t\t\twindow.location.href = url;\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\telse if (html)\n\t\t\t{\n\t\t\t\treturn this.tryToAutoSubmitHtmlChunk(html);\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} html\n\t * @returns {boolean}\n\t */\n\ttryToAutoSubmitHtmlChunk(html)\n\t{\n\t\treturn VirtualForm.createFromHtml(html).submit();\n\t}\n\n\t/**\n\t * @private\n\t * @param {string} name\n\t * @param {*} defaultValue\n\t * @returns {*}\n\t */\n\toption(name, defaultValue)\n\t{\n\t\treturn this.options.hasOwnProperty(name) ? this.options[name] : defaultValue;\n\t}\n}","export class Settings\r\n{\r\n\tconstructor(settings)\r\n\t{\r\n\t\tthis.settings = settings;\r\n\t}\r\n\r\n\tget(name, defaultValue)\r\n\t{\r\n\t\tlet parts = name.split('.');\r\n\r\n\t\tlet currentOption = this.settings;\r\n\t\tlet found = false;\r\n\r\n\t\tparts.map((part) => {\r\n\t\t\tif (currentOption && currentOption.hasOwnProperty(part))\r\n\t\t\t{\r\n\t\t\t\tcurrentOption = currentOption[part];\r\n\t\t\t\tfound = true;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tcurrentOption = null;\r\n\t\t\t\tfound = false;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn found ? currentOption : defaultValue;\r\n\t}\r\n}"],"names":["AbstractBackendProvider","options","name","defaultValue","hasOwnProperty","VirtualForm","form","canSubmit","isVirtual","tempNode","document","createElement","style","display","append","body","appendChild","HTMLFormElement","prototype","submit","call","isValidFormObject","containsAllowedInputTypesOnly","elements","i","length","elementAllowed","contains","html","innerHTML","querySelector","node","element","allowedTypes","getAllowedInputTypes","HTMLInputElement","indexOf","type","PaymentProcess","backendProvider","option","Error","allowPaymentRedirect","initiatePayment","then","handleResponse","isResponseSucceed","redirected","tryToRedirectUserOnPaymentGate","EventEmitter","emit","EventType","payment","success","getResponse","error","url","getPaymentGateUrl","getPaymentFormHtml","window","location","href","tryToAutoSubmitHtmlChunk","createFromHtml","Settings","settings","parts","split","currentOption","found","map","part"],"mappings":"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"}