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/yandex.market/ui/form/ajaxreloader/ |
Upload File : |
{"version":3,"file":"bundle.js","sources":["src/AjaxReloader.js"],"sourcesContent":["const $ = window.YMarketJQuery || window.jQuery;\nconst BX = window.BX;\nconst Plugin = BX.namespace('YandexMarket.Plugin');\nconst Utils = BX.namespace('YandexMarket.Utils');\n\n// noinspection JSUnusedGlobalSymbols\nexport class AjaxReloader extends Plugin.Base {\n\n\tstatic dataName = 'uiFormAjaxReload';\n\tstatic defaults = Object.assign({}, Plugin.Base.prototype.defaults, {\n\t\tlistenElement: '.js-ajax-reloader__field',\n\t\tcontrolCellElement: '.adm-detail-content-cell-r',\n\t\terrorElement: '.js-ajax-reloader__error',\n\t\terrorTemplate: `<p class=\"js-ajax-reloader__error\" style=\"color: red;\"><strong>#TITLE#</strong><br /> #TEXT#</p>`,\n\n\t\treloadMap: null,\n\t\treloadDelay: 5000,\n\n\t\tlang: {},\n\t\tlangPrefix: 'YANDEX_MARKET_UI_FORM_AJAX_RELOADER_'\n\t});\n\n\t// noinspection JSUnusedGlobalSymbols\n\tinitVars() : void {\n\t\tthis._targets = [];\n\t\tthis._listenValues = {};\n\t\tthis._reloadTimeout = null;\n\t\tthis._reloadQuery = null;\n\t}\n\n\tinitialize() : void {\n\t\tthis.resetValues();\n\t\tthis.bind();\n\t}\n\n\tdestroy() : void {\n\t\tthis.unbind();\n\t\tsuper.destroy();\n\t}\n\n\tbind() : void {\n\t\tthis.handleChange(true);\n\t}\n\n\tunbind() : void {\n\t\tthis.handleChange(false);\n\t}\n\n\thandleChange(dir: boolean) : void {\n\t\tthis.getElement('listen')[dir ? 'on' : 'off']('change', $.proxy(this.onChange, this));\n\t}\n\n\tonChange(evt: Event) : void {\n\t\tconst field = $(evt.currentTarget);\n\t\tconst name = field.data('reloader-name');\n\t\tconst value = this.fieldValue(field);\n\n\t\tif (value === this._listenValues[name]) { return; }\n\n\t\tconst targets = field.data('reloader-target').split(',').map((part) => part.trim());\n\n\t\tthis._listenValues[name] = value;\n\t\tthis.pushTargets(targets);\n\t\tthis.reloadDelayed();\n\t}\n\n\tresetValues() : void {\n\t\tconst fields = this.getElement('listen');\n\n\t\tfor (let i = fields.length - 1; i >= 0; --i) {\n\t\t\tconst field = fields.eq(i);\n\t\t\tconst name = field.data('reloader-name');\n\n\t\t\tthis._listenValues[name] = this.fieldValue(field);\n\t\t}\n\t}\n\n\tfieldValue(field: JQuery) : string {\n\t\tconst plugin = this.fieldPlugin(field);\n\t\tconst significant = field.data('reloaderSignificant');\n\t\tlet value;\n\n\t\tif (plugin != null) {\n\t\t\t// noinspection JSUnresolvedReference\n\t\t\tvalue = plugin.getValue();\n\t\t\tvalue = this.pluginSignificant(value, significant);\n\t\t} else {\n\t\t\tvalue = this.rawValue(field);\n\t\t\tvalue = this.rawSignificant(value, significant);\n\t\t}\n\n\t\treturn this.stringifyValue(value);\n\t}\n\n\tfieldPlugin(field: JQuery) : Plugin.Base {\n\t\tconst control = this.getElement('controlCell', field).children().eq(0);\n\t\tconst plugin = Plugin.manager.getInstance(control);\n\n\t\tif (plugin == null || typeof plugin.getValue !== 'function') { return null; }\n\n\t\treturn plugin;\n\t}\n\n\tpluginSignificant(value, significant: string) {\n\t\tif (significant == null || value == null) { return value; }\n\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value.map((row) => this.pluginSignificant(row, significant));\n\t\t}\n\n\t\tif (typeof value !== 'object') { return value; }\n\n\t\tconst filtered = {};\n\n\t\tfor (const key of significant.split(', ')) {\n\t\t\tif (value[key] == null) { continue; }\n\n\t\t\tfiltered[key] = value[key];\n\t\t}\n\n\t\treturn filtered;\n\t}\n\n\trawValue(field: JQuery) : Array {\n\t\treturn field.find('input, textarea, select').serializeArray();\n\t}\n\n\trawSignificant(value: Array, significant: string) : Array {\n\t\tif (significant == null) { return value; }\n\n\t\tconst significantKeys = significant.split(', ');\n\t\tconst filtered = [];\n\n\t\tfor (const fieldValue of value) {\n\t\t\tif (fieldValue.name == null) { continue; }\n\n\t\t\tfor (const significantKey of significantKeys) {\n\t\t\t\tif (fieldValue.name.indexOf(significantKey) === 0) {\n\t\t\t\t\tfiltered.push(fieldValue);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn filtered;\n\t}\n\n\tstringifyValue(value) : string {\n\t\t if (!Array.isArray(value)) {\n\t\t\t return JSON.stringify(value);\n\t\t }\n\n\t\t const unique = [];\n\n\t\t for (const row of value) {\n\t\t\t const valueEncoded = this.stringifyValue(row);\n\n\t\t\t if (unique.indexOf(valueEncoded) === -1) {\n\t\t\t\t unique.push(valueEncoded);\n\t\t\t }\n\t\t }\n\n\t\t return unique.join(', ');\n\t}\n\n\tpushTargets(targets: string[]) : void {\n\t\tfor (const target of targets) {\n\t\t\tif (this._targets.indexOf(target) !== -1) { continue; }\n\n\t\t\tthis._targets.push(target);\n\t\t}\n\t}\n\n\treloadDelayed() : void {\n\t\tthis.reloadCancel();\n\t\tthis._reloadTimeout = setTimeout(\n\t\t\t() => { this.reload(); },\n\t\t\tthis.options.reloadDelay\n\t\t);\n\t}\n\n\treload() : void {\n\t\tthis.reloadCancel();\n\t\tthis.resetValues();\n\n\t\tthis._reloadQuery = $.ajax({\n\t\t\turl: this.$el.attr('action'),\n\t\t\tmethod: 'POST',\n\t\t\tdata: this.reloadData(),\n\t\t\tdataType: 'json',\n\t\t});\n\n\t\tthis._reloadQuery.then(\n\t\t\t$.proxy(this.reloadEnd, this),\n\t\t\t$.proxy(this.reloadStop, this)\n\t\t);\n\t}\n\n\treloadData() : Array {\n\t\tconst form = this.$el.serializeArray();\n\t\tconst common = [\n\t\t\t{ name: 'ajaxReloader', value: 'Y' },\n\t\t\t{ name: 'ajaxReloaderTarget', value: this._targets.join(', ') }\n\t\t];\n\n\t\treturn common.concat(form);\n\t}\n\n\treloadEnd(data: Object) : void {\n\t\tfor (const target of this._targets) {\n\t\t\tif (data[target] != null) {\n\t\t\t\tthis.updateTarget(target, data[target]);\n\t\t\t} else {\n\t\t\t\tthis.errorTarget(target, 'missing data');\n\t\t\t}\n\t\t}\n\n\t\tthis._targets = [];\n\t}\n\n\treloadStop(xhr: JQueryXHR, textStatus: ?string, error: ?string) : void {\n\t\tif (textStatus === 'abort') { return; }\n\n\t\tfor (const target of this._targets) {\n\t\t\tthis.errorTarget(target, error || textStatus);\n\t\t}\n\t}\n\n\treloadCancel() : void {\n\t\tif (this._reloadTimeout != null) {\n\t\t\tclearTimeout(this._reloadTimeout);\n\t\t\tthis._reloadTimeout = null;\n\t\t}\n\n\t\tif (this._reloadQuery != null) {\n\t\t\tthis._reloadQuery.abort();\n\t\t\tthis._reloadQuery = null;\n\t\t}\n\t}\n\n\tupdateTarget(target: string, content: string) : void {\n\t\ttry {\n\t\t\t// noinspection JSUnresolvedReference\n\t\t\tconst parsedContent = BX.processHTML(content, true);\n\t\t\tconst newElement = $(parsedContent.HTML);\n\t\t\tconst oldElement = this.targetElement(target);\n\n\t\t\tnewElement.attr('style', oldElement.attr('style')); // copy tab styles\n\t\t\tPlugin.manager.destroyContext(oldElement);\n\t\t\toldElement.replaceWith(newElement);\n\n\t\t\t// noinspection JSUnresolvedReference\n\t\t\tBX.ajax.processScripts(parsedContent.SCRIPT);\n\t\t\tPlugin.manager.initializeContext(newElement);\n\t\t} catch (error) {\n\t\t\tconsole.error(error);\n\t\t\tthis.errorTarget(target, error.message);\n\t\t}\n\t}\n\n\terrorTarget(target: string, message: string) : void {\n\t\tconst targetElement = this.targetElement(target);\n\t\tconst existError = this.getElement('error', targetElement);\n\t\tconst newError = Utils.compileTemplate(this.options.errorTemplate, {\n\t\t\t'TITLE': this.getLang('ERROR_TITLE'),\n\t\t\t'TEXT': message,\n\t\t});\n\n\t\tif (existError.length > 0) {\n\t\t\texistError.replaceWith(newError);\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetBody = targetElement.find('.b-form-section').not('.fill--primary');\n\n\t\tif (targetBody.length > 0) {\n\t\t\ttargetBody.eq(0).before(newError);\n\t\t\treturn;\n\t\t}\n\n\t\ttargetElement.prepend(newError);\n\t}\n\n\ttargetElement(target: string) : JQuery {\n\t\treturn $('#' + target);\n\t}\n}\n"],"names":["$","window","YMarketJQuery","jQuery","BX","Plugin","namespace","Utils","AjaxReloader","Base","initVars","_targets","_listenValues","_reloadTimeout","_reloadQuery","initialize","resetValues","bind","destroy","unbind","handleChange","dir","getElement","proxy","this","onChange","evt","field","currentTarget","name","data","value","fieldValue","targets","split","map","part","trim","pushTargets","reloadDelayed","fields","i","length","eq","plugin","fieldPlugin","significant","getValue","pluginSignificant","rawValue","rawSignificant","stringifyValue","control","children","manager","getInstance","Array","isArray","row","filtered","key","find","serializeArray","significantKeys","significantKey","indexOf","push","JSON","stringify","unique","valueEncoded","join","target","reloadCancel","setTimeout","reload","options","reloadDelay","ajax","url","$el","attr","method","reloadData","dataType","then","reloadEnd","reloadStop","form","concat","updateTarget","errorTarget","xhr","textStatus","error","clearTimeout","abort","content","parsedContent","processHTML","newElement","HTML","oldElement","targetElement","destroyContext","replaceWith","processScripts","SCRIPT","initializeContext","console","message","existError","newError","compileTemplate","errorTemplate","getLang","targetBody","not","before","prepend","dataName","defaults","Object","assign","prototype","listenElement","controlCellElement","errorElement","reloadMap","lang","langPrefix"],"mappings":"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"}