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/catalog/product-form/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/catalog/product-form/dist/product-form.bundle.js.map
{"version":3,"file":"product-form.bundle.js","sources":["../src/types/form-element-position.js","../src/models/product-list.js","../src/config.js","../src/types/form-input-code.js","../src/types/form-error-code.js","../src/types/form-mode.js","../src/templates/fields/quantity.js","../src/templates/fields/price.js","../src/templates/fields/discount.js","../src/templates/fields/tax.js","../src/templates/fields/inline-selector.js","../src/templates/fields/brand.js","../src/templates/fields/result-sum.js","../src/templates/row.js","../src/types/form-compilation-type.js","../src/types/form-helpdesk-code.js","../src/templates/elements/panel-compilation.js","../src/templates/elements/panel-buttons.js","../src/templates/elements/summary-total.js","../src/templates/form.js","../src/product-form.js"],"sourcesContent":["export class FormElementPosition\n{\n\tstatic TOP: string = 'TOP';\n\tstatic BOTTOM: string = 'BOTTOM';\n}","import {Vue} from 'ui.vue';\nimport {Text, Type} from 'main.core';\nimport {VuexBuilderModel} from 'ui.vue.vuex';\nimport {DiscountType} from \"catalog.product-calculator\";\nimport {FormElementPosition} from \"../types/form-element-position\";\nimport {CurrencyCore} from \"currency.currency-core\";\nimport type {FormScheme} from \"../types/form-scheme\";\nimport type {BasketItem} from \"../types/basket-item\";\n\nexport class ProductList extends VuexBuilderModel\n{\n\t/**\n\t * @inheritDoc\n\t */\n\tgetName(): string\n\t{\n\t\treturn 'productList';\n\t}\n\n\tgetState(): FormScheme\n\t{\n\t\treturn {\n\t\t\tcurrency: '',\n\t\t\ttaxIncluded: 'N',\n\t\t\tbasket: [],\n\t\t\ttotal: {\n\t\t\t\tsum: 0,\n\t\t\t\tdiscount: 0,\n\t\t\t\ttaxSum: 0,\n\t\t\t\tresult: 0,\n\t\t\t},\n\t\t}\n\t}\n\n\tstatic getBaseProduct(): BasketItem\n\t{\n\t\tconst random = Text.getRandom();\n\t\treturn {\n\t\t\tofferId: null,\n\t\t\tselectorId: random,\n\t\t\tfields: {\n\t\t\t\tinnerId: random,\n\t\t\t\tproductId: null,\n\t\t\t\tskuId: null,\n\t\t\t\tcode: null,\n\t\t\t\ttype: null,\n\t\t\t\tmodule: null,\n\t\t\t\tsort: 0,\n\t\t\t\tprice: null,\n\t\t\t\tbasePrice: null,\n\t\t\t\tpriceExclusive: null,\n\t\t\t\tquantity: 1,\n\t\t\t\tname: '',\n\t\t\t\tdiscount: 0,\n\t\t\t\tdiscountRate: 0,\n\t\t\t\tdiscountInfos: [],\n\t\t\t\tdiscountType: DiscountType.PERCENTAGE,\n\t\t\t\ttax: 0,\n\t\t\t\ttaxSum: 0,\n\t\t\t\ttaxIncluded: 'N',\n\t\t\t\tmeasureCode: 0,\n\t\t\t\tmeasureName: '',\n\t\t\t\tmeasureRatio: 1,\n\t\t\t\tisCustomPrice: 'N',\n\t\t\t\tadditionalFields: [],\n\t\t\t\tproperties: [],\n\t\t\t\tbrands: [],\n\t\t\t\tweight: 0,\n\t\t\t\tdimensions: {},\n\t\t\t},\n\t\t\tcalculatedFields: [],\n\t\t\tcatalogFields: {},\n\t\t\tshowDiscount: 'N',\n\t\t\tshowTax: 'N',\n\t\t\tskuTree: [],\n\t\t\timage: null,\n\t\t\tsum: 0,\n\t\t\tcatalogPrice: null,\n\t\t\tdiscountSum: 0,\n\t\t\tdetailUrl: '',\n\t\t\tencodedFields: null,\n\t\t\terrors: [],\n\t\t};\n\t}\n\n\tgetActions()\n\t{\n\t\treturn {\n\t\t\tresetBasket ({commit})\n\t\t\t{\n\t\t\t\tcommit('clearBasket');\n\t\t\t\tcommit('addItem', {});\n\t\t\t},\n\t\t\tremoveItem({dispatch, commit, state}, payload)\n\t\t\t{\n\t\t\t\tcommit('deleteItem', payload);\n\t\t\t\tif (state.basket.length === 0)\n\t\t\t\t{\n\t\t\t\t\tcommit('addItem', {});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstate.basket.forEach((item, i) => {\n\t\t\t\t\t\tcommit('updateItem', {\n\t\t\t\t\t\t\tindex: i,\n\t\t\t\t\t\t\tfields: {sort: i}\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tdispatch('calculateTotal');\n\t\t\t},\n\t\t\tchangeItem: ({dispatch, commit}, payload) =>\n\t\t\t{\n\t\t\t\tcommit('updateItem', payload);\n\t\t\t\tdispatch('calculateTotal');\n\t\t\t},\n\t\t\tsetCurrency: ({commit}, payload) =>\n\t\t\t{\n\t\t\t\tconst currency = payload || '';\n\t\t\t\tcommit('setCurrency', currency);\n\t\t\t},\n\t\t\taddItem: ({dispatch, commit}, payload) =>\n\t\t\t{\n\t\t\t\tconst item = payload.item || {fields: {}};\n\t\t\t\tcommit('addItem', {\n\t\t\t\t\titem,\n\t\t\t\t\tposition: payload.position || FormElementPosition.TOP\n\t\t\t\t});\n\t\t\t\tdispatch('calculateTotal');\n\t\t\t},\n\t\t\tcalculateTotal: ({commit, state}) =>\n\t\t\t{\n\t\t\t\tconst total = {\n\t\t\t\t\tsum: 0,\n\t\t\t\t\ttaxSum: 0,\n\t\t\t\t\tdiscount: 0,\n\t\t\t\t\tresult: 0,\n\t\t\t\t};\n\n\t\t\t\tstate.basket.forEach((item) => {\n\t\t\t\t\tconst basePrice = Text.toNumber(item.fields.basePrice || 0);\n\t\t\t\t\tconst quantity = Text.toNumber(item.fields.quantity || 0);\n\t\t\t\t\tconst discount = Text.toNumber(item.fields.discount || 0);\n\t\t\t\t\tconst taxSum = Text.toNumber(item.fields.taxSum || 0);\n\t\t\t\t\ttotal.sum += basePrice * quantity;\n\t\t\t\t\ttotal.result += Text.toNumber(item.sum);\n\t\t\t\t\ttotal.discount += discount * quantity;\n\t\t\t\t\ttotal.taxSum += taxSum * quantity;\n\t\t\t\t});\n\n\t\t\t\ttotal.discount = (total.discount > total.sum) ? total.sum : total.discount;\n\n\t\t\t\tcommit('setTotal', total)\n\t\t\t}\n\t\t}\n\t}\n\n\tgetGetters()\n\t{\n\t\treturn {\n\t\t\tgetBasket: state => (): Array<BasketItem> =>\n\t\t\t{\n\t\t\t\treturn state.basket;\n\t\t\t},\n\t\t\tgetBaseProduct: () => (): BasketItem =>\n\t\t\t{\n\t\t\t\treturn ProductList.getBaseProduct();\n\t\t\t},\n\t\t}\n\t}\n\n\tgetMutations()\n\t{\n\t\treturn {\n\t\t\taddItem: (state, payload) =>\n\t\t\t{\n\t\t\t\tlet item = ProductList.getBaseProduct();\n\n\t\t\t\titem = Object.assign(item, payload.item);\n\t\t\t\tif (payload.position === FormElementPosition.BOTTOM)\n\t\t\t\t{\n\t\t\t\t\tstate.basket.push(item);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstate.basket.unshift(item);\n\t\t\t\t}\n\n\t\t\t\tstate.basket.forEach((item, index) => {\n\t\t\t\t\titem.fields.sort = index;\n\t\t\t\t});\n\t\t\t},\n\t\t\tupdateItem: (state, payload) =>\n\t\t\t{\n\t\t\t\tif (Type.isNil(state.basket[payload.index]))\n\t\t\t\t{\n\t\t\t\t\tVue.set(state.basket, payload.index, ProductList.getBaseProduct());\n\t\t\t\t}\n\n\t\t\t\tstate.basket[payload.index] = Object.assign(\n\t\t\t\t\tstate.basket[payload.index],\n\t\t\t\t\tpayload.product\n\t\t\t\t);\n\t\t\t},\n\t\t\tclearBasket: (state) =>\n\t\t\t{\n\t\t\t\tstate.basket = [];\n\t\t\t},\n\t\t\tdeleteItem: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.basket.splice(payload.index, 1);\n\t\t\t\tstate.basket.forEach((item, index) => {\n\t\t\t\t\titem.fields.sort = index;\n\t\t\t\t});\n\t\t\t},\n\t\t\tsetErrors: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.errors = payload;\n\t\t\t},\n\t\t\tclearErrors: (state) =>\n\t\t\t{\n\t\t\t\tstate.errors = [];\n\t\t\t},\n\t\t\tsetCurrency: (state, payload) =>\n\t\t\t{\n\t\t\t\tstate.currency = payload;\n\t\t\t},\n\t\t\tsetTotal: (state, payload) =>\n\t\t\t{\n\t\t\t\tconst formattedTotal = payload;\n\t\t\t\tif (Type.isStringFilled(state.currency))\n\t\t\t\t{\n\t\t\t\t\tfor (const key in payload)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (payload.hasOwnProperty(key))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tformattedTotal[key] = CurrencyCore.currencyFormat(payload[key], state.currency)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tstate.total = Object.assign(\n\t\t\t\t\tstate.total,\n\t\t\t\t\tformattedTotal\n\t\t\t\t);\n\t\t\t},\n\t\t}\n\t}\n}\n","export const config = Object.freeze({\n\tdatabaseConfig: {\n\t\tname: 'catalog.product-form',\n\t},\n\ttemplateName: 'bx-form',\n\ttemplatePanelButtons: 'bx-panel-buttons',\n\ttemplatePanelCompilation: 'bx-panel-compilation',\n\ttemplateRowName: 'bx-form-row',\n\ttemplateFieldInlineSelector: 'bx-field-inline-selector',\n\ttemplateFieldPrice: 'bx-field-price',\n\ttemplateFieldResultSum: 'bx-field-result-sum',\n\ttemplateFieldQuantity: 'bx-field-quantity',\n\ttemplateFieldDiscount: 'bx-field-discount',\n\ttemplateFieldTax: 'bx-field-tax',\n\ttemplateFieldBrand: 'bx-field-brand',\n\ttemplateSummaryTotal: 'bx-summary-total',\n\tmoduleId: 'catalog',\n});\n","export class FormInputCode\n{\n\tstatic PRODUCT_SELECTOR = 'product-selector';\n\tstatic IMAGE_EDITOR = 'image-editor';\n\tstatic QUANTITY = 'quantity';\n\tstatic PRICE = 'price';\n\tstatic RESULT = 'result';\n\tstatic DISCOUNT = 'discount';\n\tstatic TAX = 'tax';\n\tstatic BRAND = 'brand';\n\tstatic MEASURE = 'measure';\n}","export class FormErrorCode\n{\n\tstatic EMPTY_PRODUCT_SELECTOR = 0;\n\tstatic EMPTY_IMAGE = 1;\n\tstatic EMPTY_QUANTITY = 2;\n\tstatic EMPTY_PRICE = 3;\n\tstatic EMPTY_BRAND = 4;\n\tstatic IS_NULLABLE_PRICE = 5;\n}","export class FormMode\n{\n\tstatic REGULAR: string = 'REGULAR';\n\tstatic READ_ONLY: string = 'READ_ONLY';\n\tstatic COMPILATION: string = 'COMPILATION';\n\tstatic COMPILATION_READ_ONLY: string = 'COMPILATION_READ_ONLY';\n}","import {Menu, MenuItem} from 'main.popup';\nimport {Runtime, Type, Text} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\n\nVue.component(config.templateFieldQuantity,\n{\n\t/**\n\t * @emits 'onChangeQuantity' {quantity: number}\n\t * @emits 'onSelectMeasure' {quantity: number, }\n\t */\n\n\tprops: {\n\t\tmeasureCode: Number,\n\t\tmeasureRatio: Number,\n\t\tmeasureName: String,\n\t\tquantity: Number,\n\t\teditable: Boolean,\n\t\tsaveableMeasure: Boolean,\n\t\thasError: Boolean,\n\t\toptions: Object,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputQuantityHandler = Runtime.debounce(this.onInputQuantity, 500, this);\n\t},\n\tmethods:\n\t{\n\t\tonInputQuantity(event: BaseEvent): void\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.target.value = event.target.value.replace(/[^.\\d]/g,'.');\n\t\t\tconst newQuantity = Text.toNumber(event.target.value);\n\t\t\tconst lastSymbol = event.target.value.substr(-1);\n\n\t\t\tif (lastSymbol === '.')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.changeQuantity(newQuantity);\n\t\t},\n\t\tcalculateCorrectionFactor(quantity, measureRatio)\n\t\t{\n\t\t\tlet factoredQuantity = quantity;\n\t\t\tlet factoredRatio = measureRatio;\n\t\t\tlet correctionFactor = 1;\n\n\t\t\twhile (!(Number.isInteger(factoredQuantity) && Number.isInteger(factoredRatio)))\n\t\t\t{\n\t\t\t\tcorrectionFactor *= 10;\n\t\t\t\tfactoredQuantity = quantity * correctionFactor;\n\t\t\t\tfactoredRatio = measureRatio * correctionFactor;\n\t\t\t}\n\n\t\t\treturn correctionFactor;\n\t\t},\n\t\tincrementValue()\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst correctionFactor = this.calculateCorrectionFactor(this.quantity, this.measureRatio);\n\t\t\tconst quantity = (this.quantity * correctionFactor + this.measureRatio * correctionFactor) / correctionFactor;\n\t\t\tthis.changeQuantity(quantity);\n\t\t},\n\t\tdecrementValue()\n\t\t{\n\t\t\tif (this.quantity > this.measureRatio && this.editable)\n\t\t\t{\n\t\t\t\tconst correctionFactor = this.calculateCorrectionFactor(this.quantity, this.measureRatio);\n\t\t\t\tconst quantity = (this.quantity * correctionFactor - this.measureRatio * correctionFactor) / correctionFactor;\n\t\t\t\tthis.changeQuantity(quantity);\n\t\t\t}\n\t\t},\n\t\tchangeQuantity(value: number)\n\t\t{\n\t\t\tthis.$emit('onChangeQuantity', value);\n\t\t},\n\t\tshowPopupMenu(target: HTMLElement)\n\t\t{\n\t\t\tif (!this.editable || !Type.isArray(this.options.measures))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuItems = [];\n\t\t\tthis.options.measures.forEach((item) => {\n\t\t\t\tmenuItems.push({\n\t\t\t\t\ttext: item.SYMBOL,\n\t\t\t\t\titem: item,\n\t\t\t\t\tonclick: this.selectMeasure,\n\t\t\t\t})\n\t\t\t});\n\n\n\t\t\tif (menuItems.length > 0)\n\t\t\t{\n\t\t\t\tthis.popupMenu = new Menu({\n\t\t\t\t\tbindElement: target,\n\t\t\t\t\titems: menuItems\n\t\t\t\t});\n\n\t\t\t\tthis.popupMenu.show();\n\t\t\t}\n\t\t},\n\t\tselectMeasure(event: BaseEvent, params: MenuItem)\n\t\t{\n\t\t\tthis.$emit('onSelectMeasure', {\n\t\t\t\tcode: params.options?.item.CODE,\n\t\t\t\tname: params.options?.item.SYMBOL,\n\t\t\t});\n\n\t\t\tif (this.popupMenu)\n\t\t\t{\n\t\t\t\tthis.popupMenu.close();\n\t\t\t}\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper\" v-bind:class=\"{ 'ui-ctl-danger': hasError }\">\n\t\t\t<input \t\n\t\t\t\ttype=\"text\" class=\"catalog-pf-product-input\"\n\t\t\t\tv-bind:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t:value=\"quantity\"\n\t\t\t\t@input=\"onInputQuantityHandler\"\n\t\t\t\t:disabled=\"!editable\"\n\t\t\t\tdata-name=\"quantity\"\n\t\t\t\t:data-value=\"quantity\"\n\t\t\t>\n\t\t\t<div \n\t\t\t\tclass=\"catalog-pf-product-input-info catalog-pf-product-input-info--action\" \n\t\t\t\t@click=\"showPopupMenu($event.target)\"\n\t\t\t>\n\t\t\t\t<span :title=\"measureName\">{{ measureName }}</span>\n\t\t\t</div>\n\t\t</div>\n\t`\n});","import {Loc, Runtime, Text} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\n\nVue.component(config.templateFieldPrice,\n{\n\t/**\n\t * @emits 'onChangePrice' {price: number}\n\t * @emits 'saveCatalogField' {}\n\t */\n\n\tprops: {\n\t\tselectorId: String,\n\t\tprice: Number,\n\t\teditable: Boolean,\n\t\thasError: Boolean,\n\t\toptions: Object,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputPriceHandler = Runtime.debounce(this.onInputPrice, 500, this);\n\t},\n\tmounted()\n\t{\n\t\tBX.UI.Hint.init();\n\t},\n\tmethods:\n\t{\n\t\tonInputPrice(event: BaseEvent): void\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.target.value = event.target.value.replace(/[^.,\\d]/g,'');\n\t\t\tif (event.target.value === '')\n\t\t\t{\n\t\t\t\tevent.target.value = 0;\n\t\t\t}\n\t\t\tconst lastSymbol = event.target.value.substr(-1);\n\t\t\tif (lastSymbol === ',')\n\t\t\t{\n\t\t\t\tevent.target.value = event.target.value.replace(',', \".\");\n\t\t\t}\n\n\t\t\tlet newPrice = Text.toNumber(event.target.value);\n\t\t\tif (lastSymbol === '.' || lastSymbol === ',')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (newPrice < 0)\n\t\t\t{\n\t\t\t\tnewPrice *= -1;\n\t\t\t}\n\n\t\t\tthis.$emit('onChangePrice', newPrice);\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t\tcurrencySymbol()\n\t\t{\n\t\t\treturn this.options.currencySymbol || '';\n\t\t},\n\t\thintText()\n\t\t{\n\t\t\tif (!this.editable && !this.options?.isCatalogPriceEditEnabled)\n\t\t\t{\n\t\t\t\treturn Loc.getMessage('CATALOG_FORM_PRICE_ACCESS_DENIED_HINT');\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div \n\t\t\tclass=\"catalog-pf-product-input-wrapper\" \n\t\t\t:class=\"{ 'ui-ctl-danger': hasError, '.catalog-pf-product-input-wrapper--disabled': !editable }\"\n\t\t\t:data-hint=\"hintText\"\n\t\t\tdata-hint-no-icon\n\t\t>\n\t\t\t<input \ttype=\"text\" class=\"catalog-pf-product-input catalog-pf-product-input--align-right\"\n\t\t\t\t\tv-bind:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t\tv-model.lazy=\"price\"\n\t\t\t\t\t@input=\"onInputPriceHandler\"\n\t\t\t\t\t:disabled=\"!editable\"\n\t\t\t\t\tdata-name=\"price\"\n\t\t\t\t\t:data-value=\"price\"\n\t\t\t>\n\t\t\t<div class=\"catalog-pf-product-input-info\" v-html=\"currencySymbol\"></div>\n\t\t</div>\n\t`\n});\n","import {Menu} from 'main.popup';\nimport {Loc, Runtime, Text, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport {DiscountType} from \"catalog.product-calculator\";\n\nVue.component(config.templateFieldDiscount,\n{\n\t/**\n\t * @emits 'changeDiscountType' {type: Y|N}\n\t * @emits 'changeDiscount' {discountValue: number}\n\t */\n\n\tprops: {\n\t\teditable: Boolean,\n\t\toptions: Object,\n\t\tdiscount: Number,\n\t\tdiscountType: Number,\n\t\tdiscountRate: Number,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputDiscount = Runtime.debounce(this.onChangeDiscount, 500, this);\n\t\tthis.currencySymbol = this.options.currencySymbol;\n\t},\n\tmounted()\n\t{\n\t\tBX.UI.Hint.init();\n\t},\n\tmethods:\n\t{\n\t\tonChangeType(event, params)\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst type = (Text.toNumber(params?.options?.type) === DiscountType.MONETARY) ?  DiscountType.MONETARY : DiscountType.PERCENTAGE;\n\t\t\tthis.$emit('changeDiscountType', type);\n\n\t\t\tif (this.popupMenu)\n\t\t\t{\n\t\t\t\tthis.popupMenu.close();\n\t\t\t}\n\t\t},\n\t\tonChangeDiscount(event)\n\t\t{\n\t\t\tconst discountValue = Text.toNumber(event.target.value) || 0;\n\t\t\tif (discountValue === Text.toNumber(this.discount) || !this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$emit('changeDiscount', discountValue);\n\t\t},\n\t\tshowPopupMenu(target)\n\t\t{\n\t\t\tif (!this.editable || !Type.isArray(this.options.allowedDiscountTypes))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst menuItems = [];\n\t\t\tif (this.options.allowedDiscountTypes.includes(DiscountType.PERCENTAGE))\n\t\t\t{\n\t\t\t\tmenuItems.push({\n\t\t\t\t\ttext: '%',\n\t\t\t\t\tonclick: this.onChangeType,\n\t\t\t\t\ttype: DiscountType.PERCENTAGE,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (this.options.allowedDiscountTypes.includes(DiscountType.MONETARY))\n\t\t\t{\n\t\t\t\tmenuItems.push({\n\t\t\t\t\ttext: this.currencySymbol,\n\t\t\t\t\tonclick: this.onChangeType,\n\t\t\t\t\ttype: DiscountType.MONETARY,\n\t\t\t\t})\n\t\t\t}\n\n\t\t\tif (menuItems.length > 0)\n\t\t\t{\n\t\t\t\tthis.popupMenu = new Menu({\n\t\t\t\t\tbindElement: target,\n\t\t\t\t\titems: menuItems\n\t\t\t\t});\n\n\t\t\t\tthis.popupMenu.show();\n\t\t\t}\n\t\t},\n\t},\n\tcomputed: {\n\t\tgetDiscountInputValue()\n\t\t{\n\t\t\tif (Text.toNumber(this.discountType) === DiscountType.PERCENTAGE)\n\t\t\t{\n\t\t\t\treturn Text.toNumber(this.discountRate);\n\t\t\t}\n\t\t\treturn Text.toNumber(this.discount);\n\t\t},\n\t\tgetDiscountSymbol()\n\t\t{\n\t\t\treturn Text.toNumber(this.discountType) === DiscountType.PERCENTAGE ? '%' : this.currencySymbol;\n\t\t},\n\t\twrapperClasses()\n\t\t{\n\t\t\treturn {\n\t\t\t\t'catalog-pf-product-input-wrapper--disabled': !this.editable,\n\t\t\t};\n\t\t},\n\t\thintText()\n\t\t{\n\t\t\tif (!this.editable && !this.options?.isCatalogDiscountSetEnabled)\n\t\t\t{\n\t\t\t\treturn Loc.getMessage('CATALOG_FORM_DISCOUNT_ACCESS_DENIED_HINT');\n\t\t\t}\n\n\t\t\treturn null;\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div\n\t\t\tclass=\"catalog-pf-product-input-wrapper catalog-pf-product-input-wrapper--left\"\n\t\t\t:class=\"wrapperClasses\"\n\t\t\t:data-hint=\"hintText\"\n\t\t\tdata-hint-no-icon\n\t\t>\n\t\t\t<input class=\"catalog-pf-product-input catalog-pf-product-input--align-right catalog-pf-product-input--right\"\n\t\t\t\tref=\"discountInput\"\n\t\t\t\tv-bind:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t:value=\"getDiscountInputValue\"\n\t\t\t\t:v-model=\"discountRate\"\n\t\t\t\t@input=\"onInputDiscount\"\n\t\t\t\tplaceholder=\"0\"\n\t\t\t\t:disabled=\"!editable\"\n\t\t\t\tdata-name=\"discount\"\n\t\t\t\t:data-value=\"getDiscountInputValue\"\n\t\t\t/>\n\t\t\t<div class=\"catalog-pf-product-input-info catalog-pf-product-input-info--action\"\n\t\t\t\t@click=\"showPopupMenu\">\n\t\t\t\t<span v-html=\"getDiscountSymbol\"></span>\n\t\t\t</div>\n\t\t</div>\n\t`\n});\n","import {Menu} from 'main.popup';\nimport {Text, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\n\nVue.component(config.templateFieldTax,\n{\n\t/**\n\t * @emits 'changeTax' {taxValue: number}\n\t */\n\n\tprops: {\n\t\ttaxId: Number,\n\t\teditable: Boolean,\n\t\toptions: Object,\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\ttaxValue: this.getTaxList()[this.taxId] || 0\n\t\t};\n\t},\n\tmethods:\n\t{\n\t\tonChangeValue(event, params)\n\t\t{\n\t\t\tconst taxValue = Text.toNumber(params?.options?.item);\n\t\t\tif (taxValue === Text.toNumber(this.taxValue) || !this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.$emit('changeTax', {\n\t\t\t\ttaxValue,\n\t\t\t\ttaxId: params?.options?.id\n\t\t\t});\n\n\t\t\tif (this.popupMenu)\n\t\t\t{\n\t\t\t\tthis.popupMenu.close();\n\t\t\t}\n\t\t},\n\t\tgetTaxList()\n\t\t{\n\t\t\treturn Type.isArray(this.options.taxList) ? this.options.taxList : [];\n\t\t},\n\t\tshowPopupMenu(target)\n\t\t{\n\t\t\tif (!this.editable || !Type.isArray(this.options.taxList))\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst menuItems = [];\n\t\t\tthis.options.taxList.forEach((item, id) => {\n\t\t\t\tmenuItems.push({\n\t\t\t\t\tid,\n\t\t\t\t\ttext: item + '%',\n\t\t\t\t\titem: item,\n\t\t\t\t\tonclick: this.onChangeValue,\n\t\t\t\t})\n\t\t\t});\n\n\n\t\t\tif (menuItems.length > 0)\n\t\t\t{\n\t\t\t\tthis.popupMenu = new Menu({\n\t\t\t\t\tbindElement: target,\n\t\t\t\t\titems: menuItems\n\t\t\t\t});\n\n\t\t\t\tthis.popupMenu.show();\n\t\t\t}\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper catalog-pf-product-input-wrapper--right\" @click=\"showPopupMenu\">\n\t\t\t<div class=\"catalog-pf-product-input\">{{this.taxValue}}%</div>\n\t\t\t<div class=\"catalog-pf-product-input-info catalog-pf-product-input-info--dropdown\"></div>\n\t\t</div>\n\t`\n});","import { Type } from 'main.core';\nimport { Vue } from 'ui.vue';\nimport { config } from '../../config';\nimport { FormInputCode } from '../../types/form-input-code';\nimport { ProductSelector } from 'catalog.product-selector';\nimport { EventEmitter } from 'main.core.events';\nimport type { BaseEvent } from 'main.core.events';\n\nVue.component(\n\tconfig.templateFieldInlineSelector,\n\t{\n\t\t/**\n\t\t * @emits 'onProductChange' {fields: object}\n\t\t */\n\t\tprops: {\n\t\t\teditable: Boolean,\n\t\t\tbasketLength: Number,\n\t\t\toptions: Object,\n\t\t\tbasketItem: Object,\n\t\t\tmodel: Object,\n\t\t},\n\t\tdata()\n\t\t{\n\t\t\treturn {\n\t\t\t\tcurrencySymbol: null,\n\t\t\t\tproductSelector: null,\n\t\t\t\timageControlId: null,\n\t\t\t\tselectorId: this.basketItem.selectorId,\n\t\t\t};\n\t\t},\n\t\tcreated()\n\t\t{\n\t\t\tEventEmitter.subscribe('BX.Catalog.ProductSelector:onProductSelect', this.onProductSelect.bind(this));\n\t\t\tEventEmitter.subscribe('BX.Catalog.ProductSelector:onChange', this.onProductChange.bind(this));\n\t\t\tEventEmitter.subscribe('BX.Catalog.ProductSelector:onClear', this.onProductClear.bind(this));\n\t\t\tEventEmitter.subscribe(\n\t\t\t\tthis.$root.$app,\n\t\t\t\t'onChangeCompilationMode',\n\t\t\t\tthis.changeProductSelectorImageRequire.bind(this),\n\t\t\t);\n\t\t},\n\t\tmounted()\n\t\t{\n\t\t\tthis.productSelector = new ProductSelector(this.selectorId, this.prepareSelectorParams());\n\t\t\tthis.productSelector.renderTo(this.$refs.selectorWrapper);\n\t\t},\n\t\tmethods:\n\t\t{\n\t\t\tchangeProductSelectorImageRequire(event: BaseEvent)\n\t\t\t{\n\t\t\t\tconst isCompilationMode = event.getData()?.isCompilationMode;\n\t\t\t\tconst isFacebookForm = event.getData()?.isFacebookForm;\n\n\t\t\t\tthis.productSelector.setConfig(\n\t\t\t\t\t'ENABLE_EMPTY_IMAGES_ERROR',\n\t\t\t\t\tisCompilationMode && isFacebookForm,\n\t\t\t\t);\n\n\t\t\t\tthis.productSelector.checkEmptyImageError();\n\t\t\t\tthis.productSelector.layoutErrors();\n\t\t\t},\n\t\t\tprepareSelectorParams(): Object\n\t\t\t{\n\t\t\t\tconst fields = {\n\t\t\t\t\tNAME: this.getField('name') || '',\n\t\t\t\t};\n\n\t\t\t\tif (!Type.isNil(this.getField('basePrice')))\n\t\t\t\t{\n\t\t\t\t\tfields.PRICE = this.getField('basePrice');\n\t\t\t\t\tfields.CURRENCY = this.options.currency;\n\t\t\t\t}\n\n\t\t\t\tconst basketItemOfferId = this.basketItem.offerId;\n\t\t\t\tconst facebookFailProducts = this.options.facebookFailProducts;\n\t\t\t\tconst hasFacebookError = (\n\t\t\t\t\tType.isObject(facebookFailProducts)\n\t\t\t\t\t&& facebookFailProducts.hasOwnProperty(basketItemOfferId)\n\t\t\t\t);\n\n\t\t\t\tconst selectorOptions = {\n\t\t\t\t\tiblockId: this.options.iblockId,\n\t\t\t\t\tbasePriceId: this.options.basePriceId,\n\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t\tskuTree: this.getDefaultSkuTree(),\n\t\t\t\t\tfileInputId: '',\n\t\t\t\t\tmorePhotoValues: [],\n\t\t\t\t\tfileInput: '',\n\t\t\t\t\tmodel: this.model,\n\t\t\t\t\tconfig: {\n\t\t\t\t\t\tDETAIL_PATH: this.basketItem.detailUrl || '',\n\t\t\t\t\t\tENABLE_SEARCH: true,\n\t\t\t\t\t\tENABLE_INPUT_DETAIL_LINK: true,\n\t\t\t\t\t\tENABLE_IMAGE_CHANGE_SAVING: true,\n\t\t\t\t\t\tENABLE_EMPTY_PRODUCT_ERROR: (\n\t\t\t\t\t\t\tthis.options.enableEmptyProductError\n\t\t\t\t\t\t\t|| this.isRequiredField(FormInputCode.PRODUCT_SELECTOR)\n\t\t\t\t\t\t),\n\t\t\t\t\t\tENABLE_EMPTY_IMAGES_ERROR: this.isRequiredField(FormInputCode.IMAGE_EDITOR),\n\t\t\t\t\t\tROW_ID: this.selectorId,\n\t\t\t\t\t\tENABLE_SKU_SELECTION: this.editable,\n\t\t\t\t\t\tHIDE_UNSELECTED_ITEMS: this.options.hideUnselectedProperties,\n\t\t\t\t\t\tURL_BUILDER_CONTEXT: this.options.urlBuilderContext,\n\t\t\t\t\t\tVIEW_FORMAT: this.options.isShortProductViewFormat\n\t\t\t\t\t\t\t? ProductSelector.SHORT_VIEW_FORMAT\n\t\t\t\t\t\t\t: ProductSelector.FULL_VIEW_FORMAT\n\t\t\t\t\t\t,\n\t\t\t\t\t},\n\t\t\t\t\tfailedProduct: hasFacebookError,\n\t\t\t\t\tmode: this.editable ? ProductSelector.MODE_EDIT : ProductSelector.MODE_VIEW,\n\t\t\t\t\tfields,\n\t\t\t\t};\n\n\t\t\t\tconst formImage = this.basketItem.image;\n\t\t\t\tif (Type.isObject(formImage))\n\t\t\t\t{\n\t\t\t\t\tselectorOptions.fileView = formImage.preview;\n\t\t\t\t\tselectorOptions.fileInput = formImage.input;\n\t\t\t\t\tselectorOptions.fileInputId = formImage.id;\n\t\t\t\t\tselectorOptions.morePhotoValues = formImage.values;\n\t\t\t\t}\n\n\t\t\t\treturn selectorOptions;\n\t\t\t},\n\t\t\tisEnabledSaving(): boolean\n\t\t\t{\n\t\t\t\treturn this.options.enableCatalogSaving && this.basketItem.hasEditRights;\n\t\t\t},\n\t\t\tisRequiredField(code: string): boolean\n\t\t\t{\n\t\t\t\treturn Type.isArray(this.options.requiredFields) && this.options.requiredFields.includes(code);\n\t\t\t},\n\t\t\tgetDefaultSkuTree(): Object\n\t\t\t{\n\t\t\t\tlet skuTree = this.basketItem.skuTree || {};\n\t\t\t\tif (Type.isStringFilled(skuTree))\n\t\t\t\t{\n\t\t\t\t\tskuTree = JSON.parse(skuTree);\n\t\t\t\t}\n\n\t\t\t\treturn skuTree;\n\t\t\t},\n\t\t\tgetField(name, defaultValue = null): any\n\t\t\t{\n\t\t\t\treturn this.basketItem.fields[name] || defaultValue;\n\t\t\t},\n\t\t\tonProductSelect(event: BaseEvent)\n\t\t\t{\n\t\t\t\tconst data = event.getData();\n\t\t\t\tif (Type.isStringFilled(data.selectorId) && data.selectorId === this.productSelector.getId())\n\t\t\t\t{\n\t\t\t\t\tthis.$emit('onProductSelect');\n\t\t\t\t}\n\t\t\t},\n\t\t\tonProductChange(event: BaseEvent): void\n\t\t\t{\n\t\t\t\tconst data = event.getData();\n\t\t\t\tif (Type.isStringFilled(data.selectorId) && data.selectorId === this.productSelector.getId())\n\t\t\t\t{\n\t\t\t\t\tconst basePrice = data.fields.BASE_PRICE;\n\n\t\t\t\t\tconst fields = {\n\t\t\t\t\t\tBASE_PRICE: basePrice,\n\t\t\t\t\t\tMODULE: 'catalog',\n\t\t\t\t\t\tNAME: data.fields.NAME,\n\t\t\t\t\t\tID: data.fields.ID,\n\t\t\t\t\t\tPRODUCT_ID: data.fields.PRODUCT_ID,\n\t\t\t\t\t\tTYPE: data.fields.TYPE,\n\t\t\t\t\t\tSKU_ID: data.fields.SKU_ID,\n\t\t\t\t\t\tPROPERTIES: data.fields.PROPERTIES,\n\t\t\t\t\t\tURL_BUILDER_CONTEXT: this.options.urlBuilderContext,\n\t\t\t\t\t\tCUSTOMIZED: (Type.isNil(data.fields.PRICE) || data.fields.CUSTOMIZED === 'Y') ? 'Y' : 'N',\n\t\t\t\t\t\tMEASURE_CODE: data.fields.MEASURE_CODE,\n\t\t\t\t\t\tMEASURE_NAME: data.fields.MEASURE_NAME,\n\t\t\t\t\t\tMORE_PHOTO: data.morePhoto,\n\t\t\t\t\t\tBRANDS: data.fields.BRANDS,\n\t\t\t\t\t\tIS_NEW: data.isNew,\n\t\t\t\t\t};\n\n\t\t\t\t\tthis.$emit('onProductChange', fields);\n\t\t\t\t}\n\t\t\t},\n\t\t\tonProductClear(event: BaseEvent)\n\t\t\t{\n\t\t\t\tconst data = event.getData();\n\n\t\t\t\tif (Type.isStringFilled(data.selectorId) && data.selectorId === this.productSelector.getId())\n\t\t\t\t{\n\t\t\t\t\tthis.$emit('onProductClear');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\t// language=Vue\n\t\ttemplate: `\n\t\t\t<div class='catalog-pf-product-item-section' :id='selectorId' ref='selectorWrapper'></div>\n\t\t`,\n\t},\n);\n","import {ajax, Cache, Dom, Loc, Tag, Text, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\nimport {EventEmitter} from 'main.core.events';\nimport {Dialog, TagSelector} from \"ui.entity-selector\";\n\nVue.component(config.templateFieldBrand,\n{\n\t/**\n\t * @emits 'changeBrand' {values: Array<any>}\n\t */\n\n\tprops: {\n\t\tbrands: [Array, String],\n\t\toptions: Object,\n\t\teditable: Boolean,\n\t\thasError: Boolean,\n\t\tselectorId: String,\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tcache: new Cache.MemoryCache(),\n\t\t}\n\t},\n\tcreated()\n\t{\n\t\tif (this.editable)\n\t\t{\n\t\t\tthis.selector = new TagSelector({\n\t\t\t\tid: this.selectorId,\n\t\t\t\tdialogOptions: {\n\t\t\t\t\tid: this.selectorId,\n\t\t\t\t\tcontext: 'CATALOG_BRANDS',\n\t\t\t\t\t// enableSearch: true,\n\t\t\t\t\tpreselectedItems: this.getPreselectedBrands(),\n\t\t\t\t\tevents: {\n\t\t\t\t\t\t'Item:onSelect': this.onBrandChange.bind(this),\n\t\t\t\t\t\t'Item:onDeselect': this.onBrandChange.bind(this),\n\t\t\t\t\t\t'Search:onItemCreateAsync': this.createBrand.bind(this)\n\t\t\t\t\t},\n\t\t\t\t\tsearchTabOptions: {\n\t\t\t\t\t\tstub: true,\n\t\t\t\t\t\tstubOptions: {\n\t\t\t\t\t\t\ttitle: Tag.message`${'CATALOG_FORM_BRAND_SELECTOR_IS_EMPTY_TITLE'}`,\n\t\t\t\t\t\t\tsubtitle: Tag.message`${'CATALOG_FORM_BRAND_SELECTOR_IS_EMPTY_SUBTITLE'}`,\n\t\t\t\t\t\t\tarrow: true\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t\tsearchOptions: {\n\t\t\t\t\t\tallowCreateItem: true\n\t\t\t\t\t},\n\t\t\t\t\tentities: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tid: 'brand',\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tiblockId: this.options.iblockId,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tdynamicSearch: true,\n\t\t\t\t\t\t\tdynamicLoad: true\n\t\t\t\t\t\t},\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t});\n\t\t\tthis.isSelectedByProductChange = false;\n\n\t\t\tthis.$parent.$on('onInlineSelectorProductChange', this.selectCurrentBrands.bind(this));\n\t\t}\n\t},\n\tmounted()\n\t{\n\t\tif (this.editable)\n\t\t{\n\t\t\tthis.selector.renderTo(this.$refs.brandSelectorWrapper);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.brands.forEach((brand, brandIndex, brands) => {\n\t\t\t\tconst separator = (brandIndex < brands.length - 1) ? ',&nbsp;' : '';\n\t\t\t\tthis.$refs.brandSelectorWrapper.appendChild(Tag.render`\n\t\t\t\t\t<span>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclass=\"catalog-pf-product-input-brand-read-only-item\"\n\t\t\t\t\t\t\tstyle=\"background-image:url('${brand['IMAGE_SRC']}');\"\n\t\t\t\t\t\t></span>\n\t\t\t\t\t\t${brand['NAME'] + separator}\n\t\t\t\t\t</span>\n\t\t\t\t`);\n\t\t\t});\n\t\t}\n\t},\n\tmethods:\n\t{\n\t\tselectCurrentBrands(brands: Array)\n\t\t{\n\t\t\tthis.isSelectedByProductChange = true;\n\t\t\tthis.brands = brands;\n\t\t\tif (this.selector.getDialog().isLoaded())\n\t\t\t{\n\t\t\t\tthis.selector.getDialog().deselectAll();\n\t\t\t\tthis.selectDialogItems();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.selector.getDialog().load();\n\t\t\t\tEventEmitter.subscribe(this.selector.getDialog(), 'onLoad', this.selectDialogItems.bind(this));\n\t\t\t}\n\t\t},\n\t\tselectDialogItems()\n\t\t{\n\t\t\tthis.brands.forEach(brand => {\n\t\t\t\tconst item = this.selector.getDialog().getItem({id: brand['VALUE'], entityId: 'brand'});\n\t\t\t\titem.select();\n\t\t\t});\n\t\t\tthis.isSelectedByProductChange = false;\n\t\t},\n\t\tgetPreselectedBrands()\n\t\t{\n\t\t\tif (!Type.isArray(this.brands) || this.brands.length === 0)\n\t\t\t{\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\treturn this.brands.map((item) => {\n\t\t\t\treturn ['brand', item['VALUE']]\n\t\t\t});\n\t\t},\n\t\tonBrandChange(event: BaseEvent)\n\t\t{\n\t\t\tconst items = event.getTarget().getSelectedItems();\n\t\t\tconst resultValues = [];\n\t\t\tif (Type.isArray(items))\n\t\t\t{\n\t\t\t\titems.forEach((item) => {\n\t\t\t\t\tresultValues.push({\n\t\t\t\t\t\t'VALUE': item.getId(),\n\t\t\t\t\t\t'NAME': item.getTitle(),\n\t\t\t\t\t\t'IMAGE_SRC': item.getAvatar(),\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst eventData = {\n\t\t\t\tresultValues: resultValues,\n\t\t\t\tisSelectedByProductChange: this.isSelectedByProductChange,\n\t\t\t};\n\n\t\t\tthis.$emit('changeBrand', eventData);\n\t\t},\n\t\tcreateBrand(event): Promise\n\t\t{\n\t\t\tconst {searchQuery} = event.getData();\n\t\t\tconst iblockId = this.options.iblockId;\n\n\t\t\treturn new Promise(\n\t\t\t\t(resolve, reject) => {\n\t\t\t\t\tconst dialog: Dialog = event.getTarget();\n\t\t\t\t\tconst fields = {\n\t\t\t\t\t\tname: searchQuery.getQuery(),\n\t\t\t\t\t\tiblockId,\n\t\t\t\t\t};\n\n\t\t\t\t\tdialog.showLoader();\n\t\t\t\t\tajax.runAction(\n\t\t\t\t\t\t'catalog.productForm.createBrand',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tfields\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t\t.then(response => {\n\t\t\t\t\t\t\tdialog.hideLoader();\n\t\t\t\t\t\t\tconst item = dialog.addItem({\n\t\t\t\t\t\t\t\tid: response.data.id,\n\t\t\t\t\t\t\t\tentityId: 'brand',\n\t\t\t\t\t\t\t\ttitle: searchQuery.getQuery(),\n\t\t\t\t\t\t\t\ttabs: dialog.getRecentTab().getId(),\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tif (item)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\titem.select();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tdialog.hide();\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => reject());\n\t\t\t\t});\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-control ui-ctl-w100\" v-bind:class=\"{ 'ui-ctl-danger': hasError }\">\n\t\t\t<div class=\"catalog-pf-product-input-wrapper\" ref=\"brandSelectorWrapper\" :id=\"selectorId\"></div>\n\t\t</div>\n\t`\n});\n","import {Runtime, Text} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport type {BaseEvent} from \"main.core.events\";\n\nVue.component(config.templateFieldResultSum,\n{\n\t/**\n\t * @emits 'onChangeSum' {sum: number}\n\t */\n\n\tprops: {\n\t\tsum: Number,\n\t\teditable: Boolean,\n\t\toptions: Object,\n\t},\n\tcreated()\n\t{\n\t\tthis.onInputSumHandler = Runtime.debounce(this.onInputSum, 500, this);\n\t},\n\tmethods:\n\t{\n\t\tonInputSum(event: BaseEvent): void\n\t\t{\n\t\t\tif (!this.editable)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tevent.target.value = event.target.value.replace(/[^.,\\d]/g,'');\n\t\t\tif (event.target.value === '')\n\t\t\t{\n\t\t\t\tevent.target.value = 0;\n\t\t\t}\n\t\t\tconst lastSymbol = event.target.value.substr(-1);\n\t\t\tif (lastSymbol === ',')\n\t\t\t{\n\t\t\t\tevent.target.value = event.target.value.replace(',', \".\");\n\t\t\t}\n\t\t\tlet newSum = Text.toNumber(event.target.value);\n\t\t\tif (lastSymbol === '.' || lastSymbol === ',')\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (newSum < 0)\n\t\t\t{\n\t\t\t\tnewSum *= -1;\n\t\t\t}\n\n\t\t\tthis.$emit('onChangeSum', newSum);\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t\tcurrencySymbol()\n\t\t{\n\t\t\treturn this.options.currencySymbol || '';\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div class=\"catalog-pf-product-input-wrapper\">\n\t\t\t<input \ttype=\"text\" \n\t\t\t\t\tclass=\"catalog-pf-product-input catalog-pf-product-input--align-right\"\n\t\t\t\t\t:class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t\t:value=\"sum\"\n\t\t\t\t\t@input=\"onInputSumHandler\"\n\t\t\t\t\t:disabled=\"!editable\"\n\t\t\t\t\tdata-name=\"sum\"\n\t\t\t\t\t:data-value=\"sum\"\n\t\t\t>\n\t\t\t<div class=\"catalog-pf-product-input-info\"\n\t\t\t\t :class=\"{ 'catalog-pf-product-input--disabled': !editable }\"\n\t\t\t\t v-html=\"currencySymbol\"\n\t\t\t></div>\n\t\t</div>\n\t`\n});","import {config} from \"../config\";\nimport {Vue} from \"ui.vue\";\nimport {Text, Type, Tag, Loc, Event} from \"main.core\";\nimport {EventEmitter} from \"main.core.events\";\n\nimport \"catalog.product-selector\";\nimport \"ui.common\";\nimport \"ui.alerts\";\nimport \"ui.notification\";\nimport {ProductCalculator, DiscountType, FieldScheme} from \"catalog.product-calculator\";\nimport {FormInputCode} from \"../types/form-input-code\";\nimport {FormErrorCode} from \"../types/form-error-code\";\nimport {FormMode} from \"../types/form-mode\";\nimport \"./fields/quantity\";\nimport \"./fields/price\";\nimport \"./fields/discount\";\nimport \"./fields/tax\";\nimport \"./fields/inline-selector\";\nimport \"./fields/brand\";\nimport \"./fields/result-sum\";\nimport {ProductModel} from \"catalog.product-model\";\n\n\nVue.component(config.templateRowName,\n\t{\n\t\t/**\n\t\t * @emits 'changeProduct' {index: number, fields: object}\n\t\t * @emits 'changeRowData' {index: number, fields: object}\n\t\t * @emits 'emitErrorsChange' {index: number, errors: object}\n\t\t * @emits 'refreshBasket'\n\t\t * @emits 'removeItem' {index: number}\n\t\t */\n\n\t\tprops: {\n\t\t\tbasketItem: Object,\n\t\t\tbasketItemIndex: Number,\n\t\t\tbasketLength: Number,\n\t\t\tcountItems: Number,\n\t\t\toptions: Object,\n\t\t\tmode: String,\n\t\t},\n\n\t\tdata()\n\t\t{\n\t\t\treturn {\n\t\t\t\tmodel: null,\n\t\t\t\tcurrencySymbol: null,\n\t\t\t\tproductSelector: null,\n\t\t\t\timageControlId: null,\n\t\t\t\tselectorId: this.basketItem.selectorId,\n\t\t\t\tdefaultMeasure: {\n\t\t\t\t\tname: '',\n\t\t\t\t\tid: null,\n\t\t\t\t},\n\t\t\t\tblocks: {\n\t\t\t\t\tproductSelector: FormInputCode.PRODUCT_SELECTOR,\n\t\t\t\t\tquantity: FormInputCode.QUANTITY,\n\t\t\t\t\tprice: FormInputCode.PRICE,\n\t\t\t\t\tresult: FormInputCode.RESULT,\n\t\t\t\t\tdiscount: FormInputCode.DISCOUNT,\n\t\t\t\t\ttax: FormInputCode.TAX,\n\t\t\t\t\tbrand: FormInputCode.BRAND,\n\t\t\t\t\tmeasure: FormInputCode.MEASURE,\n\t\t\t\t},\n\t\t\t\terrorCodes: {\n\t\t\t\t\temptyProductSelector: FormErrorCode.EMPTY_PRODUCT_SELECTOR,\n\t\t\t\t\temptyImage: FormErrorCode.EMPTY_IMAGE,\n\t\t\t\t\temptyQuantity: FormErrorCode.EMPTY_QUANTITY,\n\t\t\t\t\temptyPrice: FormErrorCode.EMPTY_PRICE,\n\t\t\t\t\temptyBrand: FormErrorCode.EMPTY_BRAND,\n\t\t\t\t}\n\t\t\t};\n\t\t},\n\t\tcreated()\n\t\t{\n\t\t\tthis.currencySymbol = this.options.currencySymbol;\n\n\t\t\tthis.model = this.initModel();\n\t\t\tif (Type.isArray(this.options.measures))\n\t\t\t{\n\t\t\t\tthis.options.measures.map((measure) => {\n\t\t\t\t\tif (measure['IS_DEFAULT'] === 'Y')\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.defaultMeasure.name = measure.SYMBOL;\n\t\t\t\t\t\tthis.defaultMeasure.code = measure.CODE;\n\n\t\t\t\t\t\tif (!this.basketItem.fields.measureName && !this.basketItem.fields.measureCode)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.changeProductFields({\n\t\t\t\t\t\t\t\tmeasureCode: this.defaultMeasure.code,\n\t\t\t\t\t\t\t\tmeasureName: this.defaultMeasure.name\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\tmethods:\n\t\t\t{\n\t\t\t\tprepareModelFields(): {}\n\t\t\t\t{\n\t\t\t\t\tconst defaultFields = this.basketItem.fields;\n\t\t\t\t\tconst defaultPrice = Text.toNumber(defaultFields.price);\n\t\t\t\t\tlet basePrice = defaultFields.basePrice ? defaultFields.basePrice : defaultFields.price;\n\t\t\t\t\tif (!Type.isNil(basePrice))\n\t\t\t\t\t{\n\t\t\t\t\t\tbasePrice = Text.toNumber(basePrice);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tNAME: this.basketItem.fields?.name || '',\n\t\t\t\t\t\tMODULE: this.basketItem.fields?.module || '',\n\t\t\t\t\t\tPROPERTIES: this.basketItem.fields?.properties || {},\n\t\t\t\t\t\tBRAND: this.basketItem.fields?.brand || {},\n\t\t\t\t\t\tPRODUCT_ID: this.basketItem.fields?.productId,\n\t\t\t\t\t\tID: this.basketItem.fields?.skuId || this.basketItem.fields?.productId,\n\t\t\t\t\t\tSKU_ID: this.basketItem.fields?.skuId,\n\t\t\t\t\t\tQUANTITY: Text.toNumber(defaultFields.quantity),\n\t\t\t\t\t\tBASE_PRICE: basePrice,\n\t\t\t\t\t\tPRICE: defaultPrice,\n\t\t\t\t\t\tPRICE_NETTO: basePrice,\n\t\t\t\t\t\tPRICE_BRUTTO: defaultPrice,\n\t\t\t\t\t\tPRICE_EXCLUSIVE: this.basketItem.fields.priceExclusive || defaultPrice,\n\t\t\t\t\t\tDISCOUNT_TYPE_ID: Text.toNumber(defaultFields.discountType) || DiscountType.PERCENTAGE,\n\t\t\t\t\t\tDISCOUNT_RATE: Text.toNumber(defaultFields.discountRate),\n\t\t\t\t\t\tDISCOUNT_SUM: Text.toNumber(defaultFields.discount),\n\t\t\t\t\t\tTAX_INCLUDED: defaultFields.taxIncluded || this.options.taxIncluded,\n\t\t\t\t\t\tTAX_RATE: defaultFields.tax || 0,\n\t\t\t\t\t\tCUSTOMIZED: defaultFields.isCustomPrice || 'N',\n\t\t\t\t\t\tMEASURE_CODE: defaultFields.measureCode || this.defaultMeasure.code,\n\t\t\t\t\t\tMEASURE_NAME: defaultFields.measureName || this.defaultMeasure.name,\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tinitModel(): ProductModel\n\t\t\t\t{\n\t\t\t\t\tconst productId = Text.toNumber(this.basketItem.fields?.productId);\n\t\t\t\t\tconst skuId = Text.toNumber(this.basketItem.fields?.skuId);\n\t\t\t\t\tconst model = new ProductModel(\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tiblockId: Text.toNumber(this.options.iblockId),\n\t\t\t\t\t\t\tbasePriceId: Text.toNumber(this.options.basePriceId),\n\t\t\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t\t\t\tisStoreCollectable: false,\n\t\t\t\t\t\t\tisSimpleModel: (\n\t\t\t\t\t\t\t\tType.isStringFilled(this.basketItem.fields?.name)\n\t\t\t\t\t\t\t\t&& productId <= 0\n\t\t\t\t\t\t\t\t&& skuId <= 0\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tfields: this.prepareModelFields(),\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\n\t\t\t\t\tEventEmitter.subscribe(model, 'onErrorsChange', this.onErrorsChange);\n\n\t\t\t\t\treturn model;\n\t\t\t\t},\n\t\t\t\tonErrorsChange()\n\t\t\t\t{\n\t\t\t\t\tconst errors = Object.values(this.model.getErrorCollection().getErrors());\n\t\t\t\t\tthis.changeRowData({errors});\n\t\t\t\t\tthis.$emit('emitErrorsChange', {\n\t\t\t\t\t\tindex: this.basketItemIndex,\n\t\t\t\t\t\terrors,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tsetCalculatedFields(fields: {}): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields(fields);\n\t\t\t\t\tconst map = {calculatedFields: fields};\n\t\t\t\t\tif (Text.toNumber(fields.SUM) >= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tmap.sum = Text.toNumber(fields.SUM);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!Type.isNil(fields.ID))\n\t\t\t\t\t{\n\t\t\t\t\t\tmap.offerId = Text.toNumber(fields.ID);\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.changeRowData(map);\n\t\t\t\t},\n\t\t\t\tgetProductFieldsFromModel()\n\t\t\t\t{\n\t\t\t\t\tconst modelFields = this.model.getFields();\n\t\t\t\t\treturn {\n\t\t\t\t\t\tproductId: modelFields.PRODUCT_ID,\n\t\t\t\t\t\tskuId: modelFields.SKU_ID,\n\t\t\t\t\t\tname: modelFields.NAME,\n\t\t\t\t\t\tmodule: modelFields.MODULE,\n\t\t\t\t\t\tbasePrice: modelFields.BASE_PRICE,\n\t\t\t\t\t\tprice: modelFields.PRICE,\n\t\t\t\t\t\tpriceExclusive: modelFields.PRICE_EXCLUSIVE,\n\t\t\t\t\t\tquantity: modelFields.QUANTITY,\n\t\t\t\t\t\tdiscountRate: modelFields.DISCOUNT_RATE,\n\t\t\t\t\t\tdiscount: modelFields.DISCOUNT_SUM,\n\t\t\t\t\t\tdiscountType: modelFields.DISCOUNT_TYPE_ID,\n\t\t\t\t\t\tisCustomPrice: modelFields.CUSTOMIZED || 'N',\n\t\t\t\t\t\tmeasureCode: modelFields.MEASURE_CODE || '',\n\t\t\t\t\t\tmeasureName: modelFields.MEASURE_NAME || '',\n\t\t\t\t\t\tproperties: modelFields.PROPERTIES || {},\n\t\t\t\t\t\tbrands: modelFields.BRANDS || [],\n\t\t\t\t\t\ttaxId: modelFields.TAX_ID,\n\t\t\t\t\t\ttype: modelFields.TYPE,\n\t\t\t\t\t\tmorePhoto: modelFields.MORE_PHOTO,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\tchangeRowData(product: {}): void\n\t\t\t\t{\n\t\t\t\t\tthis.$emit('changeRowData', {\n\t\t\t\t\t\tindex: this.basketItemIndex,\n\t\t\t\t\t\tproduct\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tchangeProductFields(fields: {}): void\n\t\t\t\t{\n\t\t\t\t\tfields = Object.assign(this.basketItem.fields, fields);\n\t\t\t\t\tthis.$emit('changeProduct', {\n\t\t\t\t\t\tindex: this.basketItemIndex,\n\t\t\t\t\t\tproduct: {fields},\n\t\t\t\t\t\tskipFieldChecking: this.model.isSimple() && this.basketLength === 1,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tsaveCatalogField(changedFields: []): ?Promise\n\t\t\t\t{\n\t\t\t\t\treturn this.model.save(changedFields);\n\t\t\t\t},\n\t\t\t\tonProductChange(fields: {})\n\t\t\t\t{\n\t\t\t\t\tfields = Object.assign(\n\t\t\t\t\t\tthis.model.getCalculator().calculateBasePrice(fields.BASE_PRICE),\n\t\t\t\t\t\tfields\n\t\t\t\t\t);\n\n\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t{catalogPrice: fields.BASE_PRICE}\n\t\t\t\t\t);\n\t\t\t\t\tthis.processFields(fields);\n\t\t\t\t\tthis.setCalculatedFields(fields);\n\t\t\t\t\tthis.$emit('onInlineSelectorProductChange', this.basketItem.fields.brands);\n\t\t\t\t},\n\t\t\t\tonProductSelect()\n\t\t\t\t{\n\t\t\t\t\tthis.changeProductFields({\n\t\t\t\t\t\tadditionalFields: {\n\t\t\t\t\t\t\toriginBasketId: '',\n\t\t\t\t\t\t\toriginProductId: '',\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tonProductClear()\n\t\t\t\t{\n\t\t\t\t\tif (Type.isPlainObject(this.options.facebookFailProducts))\n\t\t\t\t\t{\n\t\t\t\t\t\tdelete this.options.facebookFailProducts[this.basketItem.offerId];\n\t\t\t\t\t}\n\t\t\t\t\t/*const fields = this.model.getCalculator().calculatePrice(0);\n\n\t\t\t\t\tfields.BASE_PRICE = 0;\n\t\t\t\t\tfields.NAME = '';\n\t\t\t\t\tfields.ID = 0;\n\t\t\t\t\tfields.PRODUCT_ID = 0;\n\t\t\t\t\tfields.SKU_ID = 0;\n\t\t\t\t\tfields.MODULE = '';\n\n\t\t\t\t\tthis.setCalculatedFields(fields);*/\n\t\t\t\t},\n\t\t\t\tonChangeSum(sum: number)\n\t\t\t\t{\n\t\t\t\t\tconst priceItem = (sum / Text.toNumber(this.basketItem.fields.quantity));\n\t\t\t\t\tif (this.isEditablePrice())\n\t\t\t\t\t{\n\t\t\t\t\t\tconst price = priceItem + Text.toNumber(this.basketItem.fields.discount);\n\t\t\t\t\t\tthis.onChangePrice(price);\n\t\t\t\t\t}\n\t\t\t\t\telse if (this.isEditableDiscount())\n\t\t\t\t\t{\n\t\t\t\t\t\tconst discount = this.basketItem.fields.basePrice - priceItem;\n\t\t\t\t\t\tthis.toggleDiscount('Y');\n\t\t\t\t\t\tthis.changeDiscountType(DiscountType.MONETARY);\n\t\t\t\t\t\tthis.changeDiscount(discount);\n\t\t\t\t\t}\n\n\t\t\t\t},\n\t\t\t\tonChangePrice(newPrice)\n\t\t\t\t{\n\t\t\t\t\tthis.changeBasePrice(newPrice);\n\t\t\t\t\tif (this.isSaveablePrice())\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.saveCatalogField(['BASE_PRICE']).then(()=>{\n\t\t\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t\t\t{catalogPrice: newPrice}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonSelectMeasure(measure: {})\n\t\t\t\t{\n\t\t\t\t\tthis.changeMeasure(measure);\n\t\t\t\t\tthis.model.showSaveNotifier(\n\t\t\t\t\t\t'measureChanger_' + this.selectorId,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttitle: Loc.getMessage('CATALOG_PRODUCT_MODEL_SAVING_NOTIFICATION_MEASURE_CHANGED_QUERY'),\n\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\tonSave: () => {\n\t\t\t\t\t\t\t\t\tthis.saveCatalogField(['MEASURE_CODE', 'MEASURE_NAME']);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttoggleDiscount(value: string): void\n\t\t\t\t{\n\t\t\t\t\tif (this.isReadOnly)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t{showDiscount: value}\n\t\t\t\t\t);\n\n\t\t\t\t\tif (value === 'Y')\n\t\t\t\t\t{\n\t\t\t\t\t\tsetTimeout(\n\t\t\t\t\t\t\t() => this.$refs?.discountWrapper?.$refs?.discountInput?.focus()\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttoggleTax(value: string): void\n\t\t\t\t{\n\t\t\t\t\tthis.changeRowData(\n\t\t\t\t\t\t{showTax: value}\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tprocessFields(fields: {}): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields(fields);\n\t\t\t\t\tthis.model.setFields(fields);\n\t\t\t\t\tthis.changeProductFields({...this.basketItem.fields, ...this.getProductFieldsFromModel()});\n\n\t\t\t\t\tif (!Type.isNil(fields.SUM))\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.changeRowData({sum: fields.SUM});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tchangeBrand(eventData): void\n\t\t\t\t{\n\t\t\t\t\tconst brands = Type.isArray(eventData.resultValues) ? eventData.resultValues : [];\n\t\t\t\t\tconst isSelectedByProductChange = eventData.isSelectedByProductChange;\n\t\t\t\t\tthis.processFields({ BRANDS: brands });\n\n\t\t\t\t\tif (!isSelectedByProductChange)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.saveCatalogField(['BRANDS']);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tonChangeQuantity(quantity: number): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields();\n\t\t\t\t\tthis.processFields(\n\t\t\t\t\t\tthis.model.getCalculator().calculateQuantity(quantity)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tchangeMeasure(measure: {}): void\n\t\t\t\t{\n\t\t\t\t\tconst productFields = this.basketItem.fields;\n\t\t\t\t\tproductFields['measureCode'] = measure.code;\n\t\t\t\t\tproductFields['measureName'] = measure.name;\n\t\t\t\t\tthis.processFields({\n\t\t\t\t\t\tMEASURE_CODE: measure.code,\n\t\t\t\t\t\tMEASURE_NAME: measure.name,\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tchangeBasePrice(price: number): void\n\t\t\t\t{\n\t\t\t\t\tthis.model.setField('BASE_PRICE', price);\n\t\t\t\t\tthis.processFields(\n\t\t\t\t\t\tthis.model.getCalculator().calculateBasePrice(price)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tchangePrice(price: number): FieldScheme\n\t\t\t\t{\n\t\t\t\t\tthis.model.getCalculator().setFields(\n\t\t\t\t\t\tthis.model.getCalculator().calculateBasePrice(this.basketItem.catalogPrice)\n\t\t\t\t\t);\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculatePrice(price);\n\t\t\t\t\tthis.processFields(calculatedFields);\n\t\t\t\t\treturn calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeDiscountType(discountType: string): FieldScheme\n\t\t\t\t{\n\t\t\t\t\tconst type = (Text.toNumber(discountType) === DiscountType.MONETARY) ?  DiscountType.MONETARY : DiscountType.PERCENTAGE;\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateDiscountType(type);\n\t\t\t\t\tthis.processFields(calculatedFields);\n\t\t\t\t\treturn calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeDiscount(discount: number): FieldScheme\n\t\t\t\t{\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateDiscount(discount);\n\t\t\t\t\tthis.processFields(calculatedFields);\n\t\t\t\t\treturn  calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeTax(fields)\n\t\t\t\t{\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateTax(fields.taxValue);\n\t\t\t\t\tcalculatedFields.TAX_ID = fields.taxId;\n\t\t\t\t\tthis.processFields(calculatedFields)\n\t\t\t\t\treturn  calculatedFields;\n\t\t\t\t},\n\t\t\t\tchangeTaxIncluded(taxIncluded)\n\t\t\t\t{\n\t\t\t\t\tif (taxIncluded === this.basketItem.taxIncluded || !this.isEditableField(this.blocks.tax))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst calculatedFields = this.model.getCalculator().calculateTaxIncluded(taxIncluded);\n\t\t\t\t\tthis.processFields(calculatedFields)\n\t\t\t\t\treturn  calculatedFields;\n\t\t\t\t},\n\t\t\t\tremoveItem()\n\t\t\t\t{\n\t\t\t\t\tif (Type.isPlainObject(this.options.facebookFailProducts))\n\t\t\t\t\t{\n\t\t\t\t\t\tdelete this.options.facebookFailProducts[this.basketItem.offerId];\n\t\t\t\t\t}\n\t\t\t\t\tthis.$emit('removeItem', {\n\t\t\t\t\t\tindex: this.basketItemIndex\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t\tisRequiredField(code: string): boolean\n\t\t\t\t{\n\t\t\t\t\treturn Type.isArray(this.options.requiredFields) && this.options.requiredFields.includes(code);\n\t\t\t\t},\n\t\t\t\tisVisibleBlock(code): boolean\n\t\t\t\t{\n\t\t\t\t\treturn Type.isArray(this.options.visibleBlocks) && this.options.visibleBlocks.includes(code)\n\t\t\t\t},\n\t\t\t\tisCompilationMode(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.mode === FormMode.COMPILATION_READ_ONLY || this.mode === FormMode.COMPILATION;\n\t\t\t\t},\n\t\t\t\tgetPriceValue()\n\t\t\t\t{\n\t\t\t\t\tif (this.isCompilationMode())\n\t\t\t\t\t{\n\t\t\t\t\t\treturn this.isEditableField(this.blocks.price)\n\t\t\t\t\t\t\t? this.basketItem.fields.basePrice\n\t\t\t\t\t\t\t: this.basketItem.catalogPrice\n\t\t\t\t\t\t;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.basketItem.fields.basePrice;\n\t\t\t\t},\n\t\t\t\tgetQuantityValue()\n\t\t\t\t{\n\t\t\t\t\tif ((this.isCompilationMode()))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn this.isEditableField(this.blocks.quantity)\n\t\t\t\t\t\t\t? this.basketItem.fields.quantity\n\t\t\t\t\t\t\t: 1\n\t\t\t\t\t\t;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.basketItem.fields.quantity;\n\t\t\t\t},\n\t\t\t\tgetSumValue()\n\t\t\t\t{\n\t\t\t\t\tif ((this.isCompilationMode()))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn this.isEditableField(this.blocks.result)\n\t\t\t\t\t\t\t? this.basketItem.sum\n\t\t\t\t\t\t\t: this.basketItem.catalogPrice\n\t\t\t\t\t\t;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.basketItem.sum;\n\t\t\t\t},\n\t\t\t\tgetDiscountValue()\n\t\t\t\t{\n\t\t\t\t\tif ((this.isCompilationMode()))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn this.isEditableField(this.blocks.discount)\n\t\t\t\t\t\t\t? this.basketItem.fields.discount\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.basketItem.fields.discount;\n\t\t\t\t},\n\t\t\t\tgetDiscountRateValue()\n\t\t\t\t{\n\t\t\t\t\tif ((this.isCompilationMode()))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn this.isEditableField(this.blocks.discount)\n\t\t\t\t\t\t\t? this.basketItem.fields.discountRate\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t\t;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.basketItem.fields.discountRate;\n\t\t\t\t},\n\t\t\t\thasError(code): boolean\n\t\t\t\t{\n\t\t\t\t\tif (this.basketItem.errors.length === 0 || (this.model.isEmpty() && !this.model.isChanged()))\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst filteredErrors = this.basketItem.errors.filter((error) => {\n\t\t\t\t\t\treturn error.code === code\n\t\t\t\t\t});\n\n\t\t\t\t\treturn filteredErrors.length > 0;\n\t\t\t\t},\n\t\t\t\tisEditablePrice(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options?.editableFields.includes(FormInputCode.PRICE)\n\t\t\t\t\t\t&& (\n\t\t\t\t\t\t\tthis.model.isNew()\n\t\t\t\t\t\t\t|| !this.model.isCatalogExisted()\n\t\t\t\t\t\t\t|| this.options?.isCatalogPriceEditEnabled\n\t\t\t\t\t\t)\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tisEditableDiscount(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options?.isCatalogDiscountSetEnabled;\n\t\t\t\t},\n\t\t\t\tisSaveablePrice(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options.isCatalogPriceEditEnabled\n\t\t\t\t\t\t&& this.options.isCatalogPriceSaveEnabled\n\t\t\t\t\t\t&& this.model.isNew()\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tisEditableField(code): boolean\n\t\t\t\t{\n\t\t\t\t\tif (code === FormInputCode.PRICE && !this.isEditablePrice())\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telse if (code === FormInputCode.DISCOUNT && !this.isEditableDiscount())\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\telse if (\n\t\t\t\t\t\tcode === FormInputCode.RESULT\n\t\t\t\t\t\t&& !this.options?.isCatalogDiscountSetEnabled\n\t\t\t\t\t\t&& !this.isEditablePrice()\n\t\t\t\t\t)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this.options?.editableFields.includes(code);\n\t\t\t\t},\n\t\t\t\tgetHint(code): ?{}\n\t\t\t\t{\n\t\t\t\t\treturn this.options?.fieldHints[code];\n\t\t\t\t},\n\t\t\t\thasHint(code): boolean\n\t\t\t\t{\n\t\t\t\t\tif (code === FormInputCode.PRICE && !this.options?.isCatalogPriceEditEnabled)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn !this.isEditablePrice();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t},\n\t\t\t},\n\t\twatch:\n\t\t\t{\n\t\t\t\ttaxIncluded(value, oldValue){\n\t\t\t\t\tif (value !== oldValue)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.changeTaxIncluded(value);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\tcomputed:\n\t\t\t{\n\t\t\t\tlocalize()\n\t\t\t\t{\n\t\t\t\t\treturn Vue.getFilteredPhrases('CATALOG_FORM_');\n\t\t\t\t},\n\t\t\t\tshowDiscount(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.showDiscountBlock && this.basketItem.showDiscount === 'Y';\n\t\t\t\t},\n\t\t\t\tgetBrandsSelectorId(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.selectorId + '_brands';\n\t\t\t\t},\n\t\t\t\tgetPriceExclusive(): ?number\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.priceExclusive || this.basketItem.fields.price\n\t\t\t\t},\n\t\t\t\tshowDiscountBlock(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options.showDiscountBlock === 'Y'\n\t\t\t\t\t\t&& this.isVisibleBlock(this.blocks.discount)\n\t\t\t\t\t\t&& !this.isReadOnly\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tshowTaxBlock(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.options.showTaxBlock === 'Y'\n\t\t\t\t\t\t&& this.getTaxList.length > 0\n\t\t\t\t\t\t&& this.isVisibleBlock(this.blocks.tax)\n\t\t\t\t\t\t&& !this.isReadOnly\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tshowRemoveIcon(): boolean\n\t\t\t\t{\n\t\t\t\t\tif (this.isReadOnly)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.countItems > 1)\n\t\t\t\t\t{\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn !Type.isNil(this.basketItem.offerId);\n\t\t\t\t},\n\t\t\t\tshowTaxSelector(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.showTax === 'Y';\n\t\t\t\t},\n\t\t\t\tshowBasePrice(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.discount > 0\n\t\t\t\t\t\t|| (Text.toNumber(this.basketItem.fields.price) !== Text.toNumber(this.basketItem.fields.basePrice))\n\t\t\t\t\t;\n\t\t\t\t},\n\t\t\t\tgetMeasureName(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.measureName || this.defaultMeasure.name;\n\t\t\t\t},\n\t\t\t\tgetMeasureCode(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.measureCode || this.defaultMeasure.code;\n\t\t\t\t},\n\t\t\t\tgetTaxList(): []\n\t\t\t\t{\n\t\t\t\t\treturn Type.isArray(this.options.taxList) ? this.options.taxList : [];\n\t\t\t\t},\n\t\t\t\ttaxIncluded(): string\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.fields.taxIncluded;\n\t\t\t\t},\n\t\t\t\tisTaxIncluded(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.taxIncluded === 'Y';\n\t\t\t\t},\n\t\t\t\tisReadOnly(): boolean\n\t\t\t\t{\n\t\t\t\t\treturn this.mode === FormMode.READ_ONLY || this.mode === FormMode.COMPILATION_READ_ONLY;\n\t\t\t\t},\n\t\t\t\tgetErrorsText(): string\n\t\t\t\t{\n\t\t\t\t\tlet errorText = this.basketItem.errors.length !== 0 && !this.model.isEmpty() && this.model.isChanged()\n\t\t\t\t\t\t? Loc.getMessage('CATALOG_PRODUCT_MODEL_ERROR_NOTIFICATION')\n\t\t\t\t\t\t: ''\n\t\t\t\t\t;\n\t\t\t\t\tconst basketItemOfferId = this.basketItem.offerId;\n\t\t\t\t\tconst facebookFailProducts = this.options.facebookFailProducts;\n\t\t\t\t\tconst facebookFailProductErrorText = Type.isObject(facebookFailProducts)\n\t\t\t\t\t\t? facebookFailProducts[basketItemOfferId]\n\t\t\t\t\t\t: null\n\t\t\t\t\t;\n\n\t\t\t\t\tif (facebookFailProductErrorText)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (errorText)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\terrorText += '<br>';\n\t\t\t\t\t\t}\n\t\t\t\t\t\terrorText +=\n\t\t\t\t\t\t\tLoc.getMessage('CATALOG_FORM_FACEBOOK_ERROR')\n\t\t\t\t\t\t\t+ ':<br>'\n\t\t\t\t\t\t\t+ facebookFailProductErrorText\n\t\t\t\t\t\t;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn errorText;\n\t\t\t\t},\n\t\t\t\thasSku()\n\t\t\t\t{\n\t\t\t\t\treturn this.basketItem.skuTree !== '';\n\t\t\t\t},\n\t\t\t},\n\t\t// language=Vue\n\t\ttemplate: `\n\t\t<div>\n\t\t\t<div class=\"catalog-pf-product-item\" v-bind:class=\"{ 'catalog-pf-product-item--borderless': !isReadOnly && basketItemIndex === 0 }\">\n\t\t\t\t<div class=\"catalog-pf-product-item--remove\" @click=\"removeItem\" v-if=\"showRemoveIcon\"></div>\n\t\t\t\t<div class=\"catalog-pf-product-item--num\">\n\t\t\t\t\t<div class=\"catalog-pf-product-index\">{{basketItemIndex + 1}}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"catalog-pf-product-item--left\">\n\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.productSelector)\" class=\"catalog-pf-product-item-inline-selector\">\n\t\t\t\t\t\t<div v-if=\"!this.isReadOnly\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t\t<div class=\"catalog-pf-product-label\">{{localize.CATALOG_FORM_NAME}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<${config.templateFieldInlineSelector}\n\t\t\t\t\t\t\t:basketItem=\"basketItem\"\n\t\t\t\t\t\t\t:basketLength=\"basketLength\"\n\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t:model=\"model\"\n\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.productSelector)\"\n\t\t\t\t\t\t\t@onProductChange=\"onProductChange\"\n\t\t\t\t\t\t\t@onProductSelect=\"onProductSelect\"\n\t\t\t\t\t\t\t@onProductClear=\"onProductClear\"\n\t\t\t\t\t\t\t@saveCatalogField=\"saveCatalogField\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"isVisibleBlock(blocks.brand)\"\n\t\t\t\t\t\tclass=\"catalog-pf-product-input-brand-wrapper\"\n\t\t\t\t\t\tv-bind:class=\"[\n\t\t\t\t\t\t\t{ 'catalog-pf-product-input-brand-wrapper-readonly': this.isReadOnly},\n\t\t\t\t\t\t\t{ 'catalog-pf-product-input-brand-wrapper-readonly-no-sku': this.isReadOnly && !this.hasSku}\n\t\t\t\t\t\t]\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t\t<div class=\"catalog-pf-product-label\">{{localize.CATALOG_FORM_BRAND_TITLE}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<${config.templateFieldBrand}\n\t\t\t\t\t\t\t:brands=\"basketItem.fields.brands\"\n\t\t\t\t\t\t\t:selectorId=\"getBrandsSelectorId\"\n\t\t\t\t\t\t\t:hasError=\"hasError(errorCodes.emptyBrand)\"\n\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.brand)\"\n\t\t\t\t\t\t\t@changeBrand=\"changeBrand\"\n\t\t\t\t\t\t\t@saveCatalogField=\"saveCatalogField\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div v-if=\"hasError(errorCodes.emptyBrand)\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t\t<div class=\"catalog-product-error\">{{localize.CATALOG_FORM_ERROR_EMPTY_BRAND_1}}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\n\t\t\t\t</div>\n\t\t\t\t<div class=\"catalog-pf-product-item--right\">\n\t\t\t\t\t<div class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.price)\" class=\"catalog-pf-product-label\" style=\"width: 94px\">\n\t\t\t\t\t\t\t{{localize.CATALOG_FORM_PRICE}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.quantity)\" class=\"catalog-pf-product-label\" style=\"width: 72px\">\n\t\t\t\t\t\t\t{{localize.CATALOG_FORM_QUANTITY}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.result)\" class=\"catalog-pf-product-label\" style=\"width: 94px\">\n\t\t\t\t\t\t\t{{localize.CATALOG_FORM_RESULT}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"catalog-pf-product-item-section\">\n\t\n\t\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.price)\" class=\"catalog-pf-product-control\" style=\"width: 94px\">\n\t\t\t\t\t\t\t<${config.templateFieldPrice}\n\t\t\t\t\t\t\t\t:selectorId=\"basketItem.selectorId\"\n\t\t\t\t\t\t\t\t:price=\"getPriceValue()\"\n\t\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.price)\"\n\t\t\t\t\t\t\t\t:hasError=\"hasError(errorCodes.emptyPrice)\"\n\t\t\t\t\t\t\t\t@onChangePrice=\"onChangePrice\"\n\t\t\t\t\t\t\t\t@saveCatalogField=\"saveCatalogField\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\n\t\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.quantity)\" class=\"catalog-pf-product-control\" style=\"width: 72px\">\n\t\t\t\t\t\t\t<${config.templateFieldQuantity}\n\t\t\t\t\t\t\t\t:quantity=\"getQuantityValue()\"\n\t\t\t\t\t\t\t\t:measureCode=\"getMeasureCode\"\n\t\t\t\t\t\t\t\t:measureRatio=\"basketItem.fields.measureRatio\"\n\t\t\t\t\t\t\t\t:measureName=\"getMeasureName\"\n\t\t\t\t\t\t\t\t:hasError=\"hasError(errorCodes.emptyQuantity)\"\n\t\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.quantity)\"\n\t\t\t\t\t\t\t\t@onChangeQuantity=\"onChangeQuantity\"\n\t\t\t\t\t\t\t\t@onSelectMeasure=\"onSelectMeasure\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\n\t\t\t\t\t\t<div v-if=\"isVisibleBlock(blocks.result)\" class=\"catalog-pf-product-control\" style=\"width: 94px\">\n\t\t\t\t\t\t\t<${config.templateFieldResultSum}\n\t\t\t\t\t\t\t\t\t:sum=\"getSumValue()\"\n\t\t\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.result)\"\n\t\t\t\t\t\t\t\t\t@onChangeSum=\"onChangeSum\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"hasError(errorCodes.emptyQuantity)\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<div class=\"catalog-product-error\">{{localize.CATALOG_FORM_ERROR_EMPTY_QUANTITY_1}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"hasError(errorCodes.emptyPrice)\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<div v-if=\"isEditableField(blocks.price)\" class=\"catalog-product-error\">{{localize.CATALOG_FORM_ERROR_EMPTY_PRICE_1}}</div>\n\t\t\t\t\t\t<div v-else class=\"catalog-product-error\">{{localize.CATALOG_FORM_ERROR_EMPTY_PRICE_FILL_IN_CARD}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"showDiscountBlock\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<div v-if=\"showDiscount\" class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--hide\" @click=\"toggleDiscount('N')\">{{localize.CATALOG_FORM_DISCOUNT_TITLE}}</div>\n\t\t\t\t\t\t<div v-else class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--show\" @click=\"toggleDiscount('Y')\">{{localize.CATALOG_FORM_DISCOUNT_TITLE}}</div>\n\t\t\t\t\t</div>\n\t\n\t\t\t\t\t<div v-if=\"showDiscount\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<${config.templateFieldDiscount}\n\t\t\t\t\t\t\t:discount=\"getDiscountValue()\"\n\t\t\t\t\t\t\t:discountType=\"basketItem.fields.discountType\"\n\t\t\t\t\t\t\t:discountRate=\"getDiscountRateValue()\"\n\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.discount)\"\n\t\t\t\t\t\t\tref=\"discountWrapper\"\n\t\t\t\t\t\t\t@changeDiscount=\"changeDiscount\"\n\t\t\t\t\t\t\t@changeDiscountType=\"changeDiscountType\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\n\t\t\t\t\t<div v-if=\"showTaxBlock\" class=\"catalog-pf-product-item-section catalog-pf-product-item-section--dashed\">\n\t\t\t\t\t\t<div v-if=\"showTaxSelector\" class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--hide\" @click=\"toggleTax('N')\">{{localize.CATALOG_FORM_TAX_TITLE}}</div>\n\t\t\t\t\t\t<div v-else class=\"catalog-pf-product-link-toggler catalog-pf-product-link-toggler--show\" @click=\"toggleTax('Y')\">{{localize.CATALOG_FORM_TAX_TITLE}}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"showTaxSelector && showTaxBlock\" class=\"catalog-pf-product-item-section\">\n\t\t\t\t\t\t<${config.templateFieldTax}\n\t\t\t\t\t\t\t:taxId=\"basketItem.fields.taxId\"\n\t\t\t\t\t\t\t:options=\"options\"\n\t\t\t\t\t\t\t:editable=\"isEditableField(blocks.tax)\"\n\t\t\t\t\t\t\t@changeProduct=\"changeProduct\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"catalog-pf-product-item-section catalog-pf-product-item-section--dashed\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"catalog-pf-product-item\">\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div>\n\t\t\t\t<div class=\"catalog-product-error\" v-html=\"getErrorsText\"></div>\n\t\t\t</div>\n\t\t</div>\n\t`\n\t});\n","export class FormCompilationType\n{\n\tstatic REGULAR: string = 'REGULAR';\n\tstatic FACEBOOK: string = 'FACEBOOK';\n}","export class FormHelpdeskCode\n{\n\tstatic COMPILATION_FACEBOOK: number = 13856526;\n\tstatic COMMON_COMPILATION: number = 13841876;\n}","import {Vuex} from 'ui.vue.vuex';\nimport {Vue} from 'ui.vue';\nimport {config} from '../../config';\nimport {BaseEvent, EventEmitter} from 'main.core.events';\nimport {Popup} from 'main.popup';\nimport {FormMode} from '../../types/form-mode';\nimport {FormCompilationType} from '../../types/form-compilation-type';\nimport {FormHelpdeskCode} from '../../types/form-helpdesk-code';\nimport {ajax, Event, Tag, Dom, Loc, Type} from 'main.core';\nimport {Loader} from 'main.loader';\nimport {Label, LabelColor} from 'ui.label';\nimport {MessageCard} from 'ui.messagecard';\nimport 'ui.vue.components.hint';\nimport 'ui.notification';\nimport 'ui.info-helper';\nimport 'main.qrcode';\nimport 'clipboard';\nimport 'helper';\n\nVue.component(config.templatePanelCompilation,\n{\n\tprops: {\n\t\tcompilationOptions: Object,\n\t\tmode: String,\n\t},\n\tcreated()\n\t{\n\t\tthis.newLabel = new Label({\n\t\t\ttext: this.localize.CATALOG_FORM_COMPILATION_PRODUCT_NEW_LABEL,\n\t\t\tcolor: LabelColor.PRIMARY,\n\t\t\tfill: true\n\t\t});\n\t\tthis.popup = null;\n\t\tthis.compilationLink = null;\n\n\t\tconst moreMessageButton = Tag.render`\n\t\t\t<a class=\"ui-btn ui-btn-primary\">${this.localize.CATALOG_FORM_COMPILATION_INFO_BUTTON_MORE}</a>\n\t\t`;\n\n\t\tEvent.bind(moreMessageButton, 'click', this.openHelpDesk);\n\n\t\tlet header = '';\n\t\tlet description = '';\n\t\tif (this.isFacebookForm())\n\t\t{\n\t\t\theader = this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE_FACEBOOK;\n\t\t\tdescription = Tag.render`\n\t\t\t\t<p>${this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_FIRST_BLOCK}</p>\n\t\t\t\t<p>${this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_SECOND_BLOCK}</p>\n\t\t\t`;\n\t\t}\n\t\telse\n\t\t{\n\t\t\theader = this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE;\n\t\t\tdescription = this.localize.CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_MARKETING_2;\n\t\t}\n\n\t\tthis.message = new MessageCard({\n\t\t\tid: 'compilationInfo',\n\t\t\theader,\n\t\t\tdescription,\n\t\t\tangle: false,\n\t\t\thidden: true,\n\t\t\tactionElements: [moreMessageButton]\n\t\t});\n\n\t\tEventEmitter.subscribe(this.message, 'onClose', this.hideMessage);\n\t},\n\tmounted()\n\t{\n\t\tthis.$refs.label.appendChild(this.newLabel.render());\n\t\tthis.$refs.message.appendChild(this.message.getLayout());\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tcompilationLink: null,\n\t\t}\n\t},\n\tmethods:\n\t{\n\t\tisFacebookForm()\n\t\t{\n\t\t\treturn this.compilationOptions.type === FormCompilationType.FACEBOOK;\n\t\t},\n\t\topenHelpDesk()\n\t\t{\n\t\t\tthis.helpdeskCode =\n\t\t\t\tthis.isFacebookForm()\n\t\t\t\t\t? FormHelpdeskCode.COMPILATION_FACEBOOK\n\t\t\t\t\t: FormHelpdeskCode.COMMON_COMPILATION\n\t\t\t;\n\n\t\t\ttop.BX.Helper.show('redirect=detail&code=' + this.helpdeskCode);\n\t\t},\n\t\tshowPopup(event: BaseEvent): void\n\t\t{\n\t\t\tif (this.compilationOptions.disabledSwitcher)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.isFacebookForm())\n\t\t\t{\n\t\t\t\tthis.openHelpDesk();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (this.popup instanceof Popup)\n\t\t\t{\n\t\t\t\tthis.popup.setBindElement(this.$refs.qrLink);\n\t\t\t\tthis.popup.show();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst basket = this.$store.getters['productList/getBasket']();\n\t\t\tconst productIds = basket.map((basketItem) => {\n\t\t\t\treturn basketItem?.fields?.skuId\n\t\t\t});\n\n\t\t\treturn new Promise(\n\t\t\t\t(resolve, reject) => {\n\t\t\t\t\tajax.runAction(\n\t\t\t\t\t\t'salescenter.compilation.createCompilation',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdata: {\n\t\t\t\t\t\t\t\tproductIds,\n\t\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\t\townerId: this.$root.$app.options.ownerId,\n\t\t\t\t\t\t\t\t\townerTypeId: this.$root.$app.options.ownerTypeId,\n\t\t\t\t\t\t\t\t\tdialogId: this.$root.$app.options.dialogId,\n\t\t\t\t\t\t\t\t\tsessionId: this.$root.$app.options.sessionId,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t)\n\t\t\t\t\t\t.then(response => {\n\t\t\t\t\t\t\tthis.compilationLink = response.data.link ?? null;\n\t\t\t\t\t\t\tEventEmitter.emit(\n\t\t\t\t\t\t\t\tthis.$root.$app,\n\t\t\t\t\t\t\t\t'ProductForm:onCompilationCreated',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcompilationId: response.data.compilationId ?? null,\n\t\t\t\t\t\t\t\t\townerId: response.data.ownerId ?? null,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tthis.popup = new Popup({\n\t\t\t\t\t\t\t\tbindElement: event.target,\n\t\t\t\t\t\t\t\tcontent: this.getQRPopupContent(),\n\t\t\t\t\t\t\t\twidth: 375,\n\t\t\t\t\t\t\t\tcloseIcon: { top: '5px', right: '5px' },\n\t\t\t\t\t\t\t\tpadding: 0,\n\t\t\t\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\t\t\tcacheable: true,\n\t\t\t\t\t\t\t\tanimation: 'fading-slide',\n\t\t\t\t\t\t\t\tangle: { offset: 30 }\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tthis.popup.show();\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch(() => reject());\n\t\t\t\t});\n\t\t},\n\t\tgetQRPopupContent(): HTMLElement\n\t\t{\n\t\t\tif (!this.compilationLink)\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst buttonCopy = Tag.render`\n\t\t\t\t<div class=\"catalog-pf-product-qr-popup-copy\">${this.localize.CATALOG_FORM_COMPILATION_QR_COPY}</div>\n\t\t\t`;\n\n\t\t\tEvent.bind(buttonCopy, 'click', () => {\n\t\t\t\tBX.clipboard.copy(this.compilationLink);\n\t\t\t\tBX.UI.Notification.Center.notify({\n\t\t\t\t\tcontent: this.localize.CATALOG_FORM_COMPILATION_QR_COPY_NOTIFY_MESSAGE,\n\t\t\t\t\tautoHideDelay: 2000,\n\t\t\t\t});\n\t\t\t});\n\n\t\t\tconst qrWrapper = Tag.render`<div class=\"catalog-pf-product-qr-popup-image\"></div>`;\n\n\t\t\tconst content = Tag.render`\n\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup\">\n\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-content\">\n\t\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-text\">${this.localize.CATALOG_FORM_COMPILATION_QR_POPUP_TITLE}</div>\n\t\t\t\t\t\t\t${qrWrapper}\n\t\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-buttons\">\n\t\t\t\t\t\t\t\t<a href=\"${this.compilationLink}\" target=\"_blank\" class=\"ui-btn ui-btn-light-border ui-btn-round\">${this.localize.CATALOG_FORM_COMPILATION_QR_POPUP_INPUT_TITLE}</a>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"catalog-pf-product-qr-popup-bottom\">\n\t\t\t\t\t\t\t<a href=\"${this.compilationLink}\" target=\"_blank\" class=\"catalog-pf-product-qr-popup--url\">${this.compilationLink}</a>\n\t\t\t\t\t\t\t${buttonCopy}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t`;\n\n\t\t\tnew QRCode(qrWrapper, {\n\t\t\t\ttext: this.compilationLink,\n\t\t\t\twidth: 250,\n\t\t\t\theight: 250\n\t\t\t});\n\n\t\t\treturn content;\n\t\t},\n\t\tsetSetting(event)\n\t\t{\n\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\tthis.$root.$app.changeFormOption('isCompilationMode', value);\n\t\t},\n\t\tgetOnBeforeCreationStorePopupContent()\n\t\t{\n\t\t\tconst loaderContent = Tag.render`\n\t\t\t\t<div class=\"catalog-product-form-popup--loader-block\"></div>\n\t\t\t`;\n\n\t\t\tconst node = Tag.render`\n\t\t\t\t<div class=\"catalog-product-form-popup--container\">\n\t\t\t\t\t<div class=\"catalog-product-form-popup--title\">${Loc.getMessage('CATALOG_FORM_POPUP_BEFORE_MARKET_CREATING1')}</div>\n\t\t\t\t\t${loaderContent}\n\t\t\t\t\t<div class=\"catalog-product-form-popup--text\">${Loc.getMessage('CATALOG_FORM_POPUP_BEFORE_MARKET_CREATING_INFO1')}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tconst loader = new Loader({\n\t\t\t\tcolor: \"#2fc6f6\",\n\t\t\t\ttarget: loaderContent,\n\t\t\t\tsize: 40,\n\t\t\t});\n\n\t\t\tloader.show();\n\n\t\t\treturn node;\n\t\t},\n\t\tgetOnAfterCreationStorePopupContent(creationStorePopup)\n\t\t{\n\t\t\tconst continueButton = Tag.render`\n\t\t\t\t<button class=\"ui-btn ui-btn-md ui-btn-primary\">\n\t\t\t\t\t${Loc.getMessage('CATALOG_FORM_POPUP_AFTER_MARKET_CREATING_CONTINUE')}\n\t\t\t\t</button>\n\t\t\t`;\n\t\t\tEvent.bind(continueButton, 'click', this.closeCreationStorePopup.bind(this, creationStorePopup));\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"catalog-product-form-popup--container\">\n\t\t\t\t\t<div class=\"catalog-product-form-popup--title\">${Loc.getMessage('CATALOG_FORM_POPUP_AFTER_MARKET_CREATING1')}</div>\n\t\t\t\t\t<div class=\"catalog-product-form-popup--loader-block catalog-product-form-popup--done\"></div>\n\t\t\t\t\t<div class=\"catalog-product-form-popup--text\">${Loc.getMessage('CATALOG_FORM_POPUP_AFTER_MARKET_CREATING_INFO1')}</div>\n\t\t\t\t\t<div class=\"catalog-product-form-popup--button-container\">${continueButton}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t},\n\t\tcloseCreationStorePopup(creationStorePopup)\n\t\t{\n\t\t\tcreationStorePopup.close();\n\t\t},\n\t\tonNewLabelClick(event: BaseEvent)\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t},\n\t\tonLabelClick()\n\t\t{\n\t\t\tif (this.compilationOptions.isLimitedStore)\n\t\t\t{\n\t\t\t\tBX.UI.InfoHelper.show('limit_sites_number');\n\t\t\t}\n\t\t},\n\t\tonClickHint(event: BaseEvent)\n\t\t{\n\t\t\tevent.preventDefault();\n\t\t\tevent.stopImmediatePropagation();\n\t\t\tif (!this.message)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (this.message.isShown())\n\t\t\t{\n\t\t\t\tthis.hideMessage()\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.showMessage();\n\t\t\t}\n\t\t},\n\t\tshowMessage()\n\t\t{\n\t\t\tif (this.message)\n\t\t\t{\n\t\t\t\tDom.addClass(this.$refs.hintIcon, 'catalog-pf-product-panel-message-arrow-target');\n\t\t\t\tthis.message.show();\n\t\t\t}\n\t\t},\n\t\thideMessage()\n\t\t{\n\t\t\tif (this.message)\n\t\t\t{\n\t\t\t\tDom.removeClass(this.$refs.hintIcon, 'catalog-pf-product-panel-message-arrow-target');\n\t\t\t}\n\t\t\tthis.message.hide();\n\t\t}\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\n\t\tshowQrLink()\n\t\t{\n\t\t\treturn this.mode === FormMode.COMPILATION;\n\t\t},\n\n\t\t...Vuex.mapState({\n\t\t\tproductList: state => state.productList,\n\t\t})\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div>\n\t\t\t<div class=\"catalog-pf-product-panel-compilation\">\n\t\t\t\t<div class=\"catalog-pf-product-panel-compilation-wrapper\">\n\t\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox catalog-pf-product-panel-compilation-checkbox-container\" @click=\"onLabelClick\">\n\t\t\t\t\t\t<input\n\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t:disabled=\"compilationOptions.disabledSwitcher\"\n\t\t\t\t\t\t\tclass=\"ui-ctl-element\"\n\t\t\t\t\t\t\t@change=\"setSetting\"\n\t\t\t\t\t\t\tdata-setting-id=\"isCompilationMode\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ui-ctl-label-text\">{{localize.CATALOG_FORM_COMPILATION_PRODUCT_SWITCHER_2}}</div>\n\t\t\t\t\t\t<div ref=\"hintIcon\">\n\t\t\t\t\t\t\t<div data-hint-init=\"vue\" class=\"ui-hint\" @click=\"onClickHint\">\n\t\t\t\t\t\t\t\t<span class=\"ui-hint-icon\"></span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div ref=\"label\" @click=\"onNewLabelClick\"></div>\n\t\t\t\t\t\t<div class=\"tariff-lock\" v-if=\"compilationOptions.isLimitedStore\"></div>\n\t\t\t\t\t</label>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"showQrLink\"\n\t\t\t\t\tclass=\"catalog-pf-product-panel-compilation-link --icon-qr\"\n\t\t\t\t\t@click=\"showPopup\"\n\t\t\t\t\tref=\"qrLink\"\n\t\t\t\t>\n\t\t\t\t\t{{localize.CATALOG_FORM_COMPILATION_QR_LINK}}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"catalog-pf-product-panel-compilation-message\" ref=\"message\"></div>\n\t\t\t<div class=\"catalog-pf-product-panel-compilation-price-info\">{{localize.CATALOG_FORM_COMPILATION_PRICE_NOTIFICATION}}</div>\n\t\t</div>\n\t`\n});","import {Vuex} from 'ui.vue.vuex';\nimport {Popup} from 'main.popup';\nimport {ajax, Event, Loc, Tag, Text, Type} from 'main.core';\nimport {Vue} from \"ui.vue\";\nimport {config} from \"../../config\";\nimport \"./panel-compilation\";\nimport {EventEmitter} from \"main.core.events\";\nimport 'ui.hint';\nimport { MessageBox } from 'ui.dialogs.messagebox';\n\nVue.component(config.templatePanelButtons,\n{\n\t/**\n\t * @emits 'changeRowData' {index: number, fields: object}\n\t * @emits 'refreshBasket'\n\t * @emits 'addItem'\n\t */\n\n\tprops: {\n\t\toptions: Object,\n\t\tmode: String,\n\t},\n\tdata()\n\t{\n\t\treturn {\n\t\t\tsettings: []\n\t\t};\n\t},\n\tmethods:\n\t{\n\t\trefreshBasket()\n\t\t{\n\t\t\tthis.$emit('refreshBasket');\n\t\t},\n\t\tchangeBasketItem(item)\n\t\t{\n\t\t\tthis.$emit('changeRowData', item);\n\t\t},\n\t\taddBasketItemForm()\n\t\t{\n\t\t\tthis.$emit('addItem');\n\t\t},\n\t\tgetInternalIndexByProductId(skuId)\n\t\t{\n\t\t\tconst basket = this.$store.getters['productList/getBasket']();\n\t\t\treturn Object\n\t\t\t\t.keys(basket)\n\t\t\t\t.findIndex((inx) =>{\n\t\t\t\t\treturn parseInt(basket[inx].skuId) === parseInt(skuId)\n\t\t\t\t});\n\t\t},\n\t\thandleAddItem(id, params)\n\t\t{\n\t\t\tconst skuType = 4;\n\t\t\tif (Text.toNumber(params.type) === skuType)\n\t\t\t{\n\t\t\t\tajax.runAction(\n\t\t\t\t\t'catalog.productSelector.getSelectedSku',\n\t\t\t\t\t{\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\tvariationId: id,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tpriceId: this.options.basePriceId,\n\t\t\t\t\t\t\t\turlBuilder: this.options.urlBuilder,\n\t\t\t\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t\t\t\t\tresetSku: true\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t).then(response => this.processResponse(response, params.isAddAnyway));\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tajax.runAction(\n\t\t\t\t\t'catalog.productSelector.getProduct',\n\t\t\t\t\t{\n\t\t\t\t\t\tjson: {\n\t\t\t\t\t\t\tproductId: id,\n\t\t\t\t\t\t\toptions: {\n\t\t\t\t\t\t\t\tpriceId: this.options.basePriceId,\n\t\t\t\t\t\t\t\turlBuilder: this.options.urlBuilder,\n\t\t\t\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t).then(response => this.processResponse(response, params.isAddAnyway));\n\t\t\t}\n\t\t},\n\t\tprocessResponse(response, isAddAnyway)\n\t\t{\n\t\t\tconst index = isAddAnyway ? -1 : this.getInternalIndexByProductId(response.data.skuId);\n\t\t\tif (index < 0)\n\t\t\t{\n\t\t\t\tconst productData = response.data;\n\t\t\t\tconst basePrice = Text.toNumber(productData.fields.BASE_PRICE);\n\t\t\t\tproductData.fields = productData.fields || {};\n\t\t\t\tlet newItem = this.$store.getters['productList/getBaseProduct']();\n\t\t\t\tnewItem.fields = Object.assign(newItem.fields, {\n\t\t\t\t\tprice: basePrice,\n\t\t\t\t\tpriceExclusive: basePrice,\n\t\t\t\t\tbasePrice,\n\t\t\t\t\tname: productData.fields.NAME || '',\n\t\t\t\t\tproductId: productData.productId,\n\t\t\t\t\tskuId: productData.skuId,\n\t\t\t\t\tmeasureCode: productData.fields.MEASURE_CODE,\n\t\t\t\t\tmeasureName: productData.fields.MEASURE_NAME,\n\t\t\t\t\tmeasureRatio: productData.fields.MEASURE_RATIO,\n\t\t\t\t\tproperties: productData.fields.PROPERTIES,\n\t\t\t\t\tofferId: productData.skuId > 0 ? productData.skuId : productData.productId,\n\t\t\t\t\tmodule: 'catalog',\n\t\t\t\t\tisCustomPrice: Type.isNil(productData.fields.PRICE) ? 'Y' : 'N',\n\t\t\t\t\tdiscountType: this.options.defaultDiscountType,\n\t\t\t\t});\n\n\t\t\t\tdelete(productData.fields);\n\t\t\t\tnewItem = Object.assign(newItem, productData);\n\t\t\t\tnewItem.sum = basePrice;\n\n\t\t\t\tthis.$root.$app.addProduct(newItem);\n\t\t\t}\n\t\t},\n\t\tonUpdateBasketItem(inx, item)\n\t\t{\n\t\t\tthis.$store.dispatch('productList/changeRowData', {\n\t\t\t\tindex : inx,\n\t\t\t\tfields : item\n\t\t\t});\n\t\t\tthis.$store.dispatch('productList/changeProduct', {\n\t\t\t\tindex : inx,\n\t\t\t\tfields : item.fields\n\t\t\t});\n\t\t},\n\t\t/*\n\t\t* By default, basket collection contains a fake|empty item,\n\t\t*  that is deleted when you select items from the catalog.\n\t\t* Also, products can be added to the form and become an empty string,\n\t\t*  while stay a item of basket collection\n\t\t* */\n\t\tremoveEmptyItems()\n\t\t{\n\t\t\tconst basket = this.$store.getters['productList/getBasket']();\n\t\t\tbasket.forEach((item, i)=>{\n\t\t\t\tif(\n\t\t\t\t\tbasket[i].name === ''\n\t\t\t\t\t&& basket[i].price < 1e-10\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tthis.$store.commit('productList/deleteItem', {\n\t\t\t\t\t\tindex: i\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tmodifyBasketItem(params)\n\t\t{\n\t\t\tconst skuId = parseInt(params.id);\n\t\t\tif(skuId > 0)\n\t\t\t{\n\t\t\t\tconst index = this.getInternalIndexByProductId(skuId);\n\t\t\t\tif(index >= 0)\n\t\t\t\t{\n\t\t\t\t\tthis.showDialogProductExists(params);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.removeEmptyItems();\n\t\t\t\t\tthis.handleAddItem(skuId, params);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tshowDialogProductExists(params)\n\t\t{\n\t\t\tMessageBox.confirm(\n\t\t\t\tLoc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_TEXT_FOR_DOUBLE').replace('#NAME#', params.name),\n\t\t\t\tLoc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_TITLE'),\n\t\t\t\t(messageBox) => {\n\t\t\t\t\tconst productId = parseInt(params.id, 10);\n\t\t\t\t\tconst index = this.getInternalIndexByProductId(productId);\n\t\t\t\t\tif (index >= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.handleAddItem(productId, {\n\t\t\t\t\t\t\t...params,\n\t\t\t\t\t\t\tisAddAnyway: true,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tmessageBox.close();\n\t\t\t\t},\n\t\t\t\tLoc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_OK'),\n\t\t\t\t(messageBox) => messageBox.close(),\n\t\t\t\tLoc.getMessage('CATALOG_FORM_BLOCK_PROD_EXIST_DLG_NO'),\n\t\t\t);\n\t\t},\n\t\tshowDialogProductSearch()\n\t\t{\n\t\t\tconst funcName = 'addBasketItemFromDialogProductSearch';\n\t\t\twindow[funcName] = params => this.modifyBasketItem(params);\n\n\t\t\tconst popup = new BX.CDialog({\n\t\t\t\tcontent_url: '/bitrix/tools/sale/product_search_dialog.php?'+\n\t\t\t\t\t//todo: 'lang='+this._settings.languageId+\n\t\t\t\t\t//todo: '&LID='+this._settings.siteId+\n\t\t\t\t\t'&caller=order_edit'+\n\t\t\t\t\t'&func_name='+funcName+\n\t\t\t\t\t'&STORE_FROM_ID=0'+\n\t\t\t\t\t'&public_mode=Y',\n\t\t\t\theight: Math.max(500, window.innerHeight-400),\n\t\t\t\twidth: Math.max(800, window.innerWidth-400),\n\t\t\t\tdraggable: true,\n\t\t\t\tresizable: true,\n\t\t\t\tmin_height: 500,\n\t\t\t\tmin_width: 800,\n\t\t\t\tzIndex: 3100\n\t\t\t});\n\n\t\t\tpopup.Show();\n\t\t},\n\t\tsetSetting(event)\n\t\t{\n\t\t\tif (event.target.dataset.settingId === 'taxIncludedOption')\n\t\t\t{\n\t\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\t\tthis.$root.$app.changeFormOption('taxIncluded', value);\n\t\t\t}\n\t\t\telse if (event.target.dataset.settingId === 'showDiscountInputOption')\n\t\t\t{\n\t\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\t\tthis.$root.$app.changeFormOption('showDiscountBlock', value);\n\t\t\t}\n\t\t\telse if (event.target.dataset.settingId === 'showTaxInputOption')\n\t\t\t{\n\t\t\t\tconst value = event.target.checked ? 'Y' : 'N';\n\t\t\t\tthis.$root.$app.changeFormOption('showTaxBlock', value);\n\t\t\t}\n\t\t},\n\t\tgetSettingItem(item): HTMLElement\n\t\t{\n\t\t\tconst input = Tag.render`\n\t\t\t\t\t<input type=\"checkbox\"  class=\"ui-ctl-element\">\n\t\t\t\t`;\n\t\t\tinput.checked = item.checked;\n\t\t\tinput.disabled = item.disabled ?? false;\n\t\t\tinput.dataset.settingId = item.id;\n\n\t\t\tconst hintNode = (\n\t\t\t\tType.isStringFilled(item.hint)\n\t\t\t\t\t? Tag.render`<span class=\"catalog-product-form-setting-hint\" data-hint=\"${item.hint}\"></span>`\n\t\t\t\t\t: ''\n\t\t\t);\n\n\t\t\tconst setting = Tag.render`\n\t\t\t\t<label class=\"ui-ctl ui-ctl-checkbox ui-ctl-w100\">\n\t\t\t\t\t${input}\n\t\t\t\t\t<div class=\"ui-ctl-label-text ${item.disabled ? 'catalog-product-form-disabled-setting' : ''}\">${item.title}${hintNode}</div>\n\t\t\t\t</label>\n\t\t\t`;\n\n\t\t\tBX.UI.Hint.init(setting);\n\n\t\t\tEvent.bind(setting, 'change', this.setSetting.bind(this));\n\n\t\t\treturn setting;\n\t\t},\n\t\tgetSettingItems()\n\t\t{\n\t\t\tconst items = [\n\t\t\t\t// {\n\t\t\t\t// \tid: 'taxIncludedOption',\n\t\t\t\t// \tchecked: (this.options.taxIncluded === 'Y'),\n\t\t\t\t// \ttitle: this.localize.CATALOG_FORM_ADD_TAX_INCLUDED,\n\t\t\t\t// },\n\t\t\t\t{\n\t\t\t\t\tid: 'showDiscountInputOption',\n\t\t\t\t\tchecked: (this.options.showDiscountBlock !== 'N'),\n\t\t\t\t\ttitle: this.localize.CATALOG_FORM_ADD_SHOW_DISCOUNTS_OPTION,\n\t\t\t\t},\n\t\t\t\t// {\n\t\t\t\t// \tid: 'showTaxInputOption',\n\t\t\t\t// \tchecked: (this.options.showTaxBlock !== 'N'),\n\t\t\t\t// \ttitle: this.localize.CATALOG_FORM_ADD_SHOW_TAXES_OPTION,\n\t\t\t\t// },\n\t\t\t];\n\n\t\t\treturn items;\n\t\t},\n\n\t\tprepareSettingsContent(): HTMLElement\n\t\t{\n\t\t\tconst content = Tag.render`\n\t\t\t\t\t<div class='catalog-pf-product-config-popup'></div>\n\t\t\t\t`;\n\n\t\t\tthis.settings.forEach(item => {\n\t\t\t\tcontent.append(this.getSettingItem(item));\n\t\t\t});\n\n\t\t\treturn content;\n\t\t},\n\t\tshowConfigPopup(event)\n\t\t{\n\t\t\t// if (!this.popupMenu)\n\t\t\t// {\n\t\t\t\tthis.popupMenu = new Popup(null, event.target,\n\t\t\t\t\t{\n\t\t\t\t\t\tautoHide: true,\n\t\t\t\t\t\tdraggable: false,\n\t\t\t\t\t\toffsetLeft: 0,\n\t\t\t\t\t\toffsetTop: 0,\n\t\t\t\t\t\tnoAllPaddings: true,\n\t\t\t\t\t\tbindOptions: {forceBindPosition: true},\n\t\t\t\t\t\tcloseByEsc: true,\n\t\t\t\t\t\tcontent: this.prepareSettingsContent()\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t// }\n\n\t\t\tthis.popupMenu.show();\n\t\t},\n\t\topenSlider(url, options)\n\t\t{\n\t\t\tif(!Type.isPlainObject(options))\n\t\t\t{\n\t\t\t\toptions = {};\n\t\t\t}\n\t\t\toptions = {...{cacheable: false, allowChangeHistory: false, events: {}}, ...options};\n\t\t\treturn new Promise((resolve) =>\n\t\t\t\t{\n\t\t\t\t\tif(Type.isString(url) && url.length > 1)\n\t\t\t\t\t{\n\t\t\t\t\t\toptions.events.onClose = function(event)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tresolve(event.getSlider());\n\t\t\t\t\t};\n\t\t\t\t\tBX.SidePanel.Instance.open(url, options);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\tcomputed:\n\t{\n\t\thasAccessToCatalog()\n\t\t{\n\t\t\treturn this.options.isCatalogAccess;\n\t\t},\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\t\tcountItems()\n\t\t{\n\t\t\treturn this.order.basket.length;\n\t\t},\n\t\tisCatalogHidden()\n\t\t{\n\t\t\treturn this.options.isCatalogHidden;\n\t\t},\n\t\t...Vuex.mapState({\n\t\t\tproductList: state => state.productList,\n\t\t})\n\t},\n\tmounted()\n\t{\n\t\tthis.settings = this.getSettingItems();\n\n\t\tBX.UI.Hint.init();\n\t},\n\t// language=Vue\n\ttemplate: `\n\t\t<div>\n\t\t\t<div class=\"catalog-pf-product-add\">\n\t\t\t\t<div class=\"catalog-pf-product-add-wrapper\">\n\t\t\t\t\t<span class=\"catalog-pf-product-add-link\" @click=\"addBasketItemForm\">{{localize.CATALOG_FORM_ADD_PRODUCT}}</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tv-if=\"hasAccessToCatalog && !isCatalogHidden\"\n\t\t\t\t\t\tclass=\"catalog-pf-product-add-link catalog-pf-product-add-link--gray\"\n\t\t\t\t\t\t@click=\"showDialogProductSearch\"\n\t\t\t\t\t>{{localize.CATALOG_FORM_ADD_PRODUCT_FROM_CATALOG}}</span>\n\t\t\t\t\t<span\n\t\t\t\t\t\tv-else-if=\"!isCatalogHidden\"\n\t\t\t\t\t\tclass=\"catalog-pf-product-add-link catalog-pf-product-add-link--gray catalog-pf-product-add-link--disabled\"\n\t\t\t\t\t\t:data-hint=\"localize.CATALOG_FORM_ADD_PRODUCT_FROM_CATALOG_DENIED_HINT\"\n\t\t\t\t\t\tdata-hint-no-icon\n\t\t\t\t\t>{{localize.CATALOG_FORM_ADD_PRODUCT_FROM_CATALOG}}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"catalog-pf-product-configure-link\" @click=\"showConfigPopup\">{{localize.CATALOG_FORM_DISCOUNT_EDIT_PAGE_URL_TITLE}}</div>\n\t\t\t</div>\n\t\t</div>\n\t`\n});\n","import {Vue} from 'ui.vue';\nimport {config} from '../../config';\nimport {CurrencyCore} from 'currency.currency-core';\nimport {Tag} from 'main.core';\n\nVue.component(config.templateSummaryTotal,\n{\n\tprops:\n\t{\n\t\tcurrency:\n\t\t{\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\t\tsum:\n\t\t{\n\t\t\trequired: true,\n\t\t},\n\t\tsumAdditionalClass: String,\n\t\tcurrencyAdditionalClass: String,\n\t},\n\tcomputed:\n\t{\n\t\tformattedSum()\n\t\t{\n\t\t\tconst element = Tag.render`<span class=\"catalog-pf-text ${this.sumAdditionalClass ?? ''}\">${this.sum}</span>`;\n\t\t\treturn CurrencyCore.getPriceControl(element, this.currency);\n\t\t},\n\t},\n\t// language=Vue\n\ttemplate: `\n\t<span class=\"catalog-pf-symbol\" :class=\"currencyAdditionalClass\" v-html=\"formattedSum\"></span>\n\t`\n});\n","import {config} from '../config';\n\nimport {Vue} from 'ui.vue';\nimport {Vuex} from 'ui.vue.vuex';\nimport \"currency\";\nimport \"ui.layout-form\";\nimport \"ui.forms\";\nimport \"ui.buttons\";\n\nimport \"./row\";\nimport \"./elements/panel-buttons\";\nimport \"./elements/summary-total\";\nimport {FormElementPosition} from \"../types/form-element-position\";\nimport {FormMode} from \"../types/form-mode\";\n\nVue.component(config.templateName,\n{\n\tprops: {\n\t\toptions: Object,\n\t\tmode: String,\n\t},\n\tcreated()\n\t{\n\t\tBX.ajax.runAction(\n\t\t\t\"catalog.productSelector.getFileInput\",\n\t\t\t{ json: { iblockId: this.options.iblockId } }\n\t\t);\n\t},\n\tmethods:\n\t{\n\t\trefreshBasket()\n\t\t{\n\t\t\tthis.$store.dispatch('productList/refreshBasket');\n\t\t},\n\n\t\tchangeProduct(item)\n\t\t{\n\t\t\tthis.$root.$app.changeProduct(item);\n\t\t},\n\n\t\temitErrorsChange()\n\t\t{\n\t\t\tthis.$root.$app.emitErrorsChange();\n\t\t},\n\n\t\tchangeRowData(item)\n\t\t{\n\t\t\tdelete(item.product.fields);\n\t\t\tthis.$store.commit('productList/updateItem', item);\n\t\t},\n\n\t\tremoveItem(item)\n\t\t{\n\t\t\tthis.$root.$app.removeProduct(item);\n\t\t},\n\n\t\taddItem()\n\t\t{\n\t\t\tthis.$root.$app.addProduct();\n\t\t},\n\t},\n\tcomputed:\n\t{\n\t\tlocalize()\n\t\t{\n\t\t\treturn Vue.getFilteredPhrases('CATALOG_');\n\t\t},\n\n\t\tshowTaxResult()\n\t\t{\n\t\t\treturn this.options.showTaxBlock !== 'N';\n\t\t},\n\n\t\tshowResults()\n\t\t{\n\t\t\treturn this.options.showResults !== false;\n\t\t},\n\n\t\tshowButtonsTop()\n\t\t{\n\t\t\treturn this.options.singleProductMode !== true\n\t\t\t\t&& this.mode !== FormMode.READ_ONLY\n\t\t\t\t&& this.mode !== FormMode.COMPILATION_READ_ONLY\n\t\t\t\t&& this.options.buttonsPosition !== FormElementPosition.BOTTOM\n\t\t\t;\n\t\t},\n\n\t\tshowButtonsBottom()\n\t\t{\n\t\t\treturn this.options.singleProductMode !== true\n\t\t\t\t&& this.mode !== FormMode.READ_ONLY\n\t\t\t\t&& this.mode !== FormMode.COMPILATION_READ_ONLY\n\t\t\t\t&& this.options.buttonsPosition === FormElementPosition.BOTTOM\n\t\t\t;\n\t\t},\n\n\t\tshowResultBlock()\n\t\t{\n\t\t\treturn this.showResults || this.enableAddButtons;\n\t\t},\n\n\t\tcountItems()\n\t\t{\n\t\t\treturn this.productList.basket.length;\n\t\t},\n\n\t\ttotalResultLabel()\n\t\t{\n\t\t\treturn this.options.hasOwnProperty('totalResultLabel') && this.options.totalResultLabel\n\t\t\t\t? this.options.totalResultLabel\n\t\t\t\t: this.localize.CATALOG_FORM_TOTAL_RESULT;\n\t\t},\n\n\t\t...Vuex.mapState({\n\t\t\tproductList: state => state.productList,\n\t\t})\n\t},\n\t// language=Vue\n\ttemplate: `\n\t<div class=\"catalog-product-form-container\">\n\t\t<${config.templatePanelButtons}\n\t\t\t:options=\"options\"\n\t\t\t:mode=\"mode\"\n\t\t\t@refreshBasket=\"refreshBasket\"\n\t\t\t@addItem=\"addItem\"\n\t\t\t@changeRowData=\"changeRowData\"\n\t\t\t@changeProduct=\"changeProduct\"\n\t\t\tv-if=\"showButtonsTop\"\n\t\t/>\n\t\t<div v-for=\"(item, index) in productList.basket\" :key=\"item.selectorId\">\n\t\t\t<${config.templateRowName}\n\t\t\t\t:basketItem=\"item\"\n\t\t\t\t:basketItemIndex=\"index\"\n\t\t\t\t:basketLength=\"productList.basket.length\"\n\t\t\t\t:countItems=\"countItems\"\n\t\t\t\t:options=\"options\"\n\t\t\t\t:mode=\"mode\"\n\t\t\t\t@changeProduct=\"changeProduct\"\n\t\t\t\t@changeRowData=\"changeRowData\"\n\t\t\t\t@removeItem=\"removeItem\"\n\t\t\t\t@refreshBasket=\"refreshBasket\"\n\t\t\t\t@emitErrorsChange=\"emitErrorsChange\"\n\t\t\t/>\n\t\t</div>\n\t\t<${config.templatePanelButtons}\n\t\t\t:options=\"options\"\n\t\t\t:mode=\"mode\"\n\t\t\t@refreshBasket=\"refreshBasket\"\n\t\t\t@addItem=\"addItem\"\n\t\t\t@changeRowData=\"changeRowData\"\n\t\t\t@changeProduct=\"changeProduct\"\n\t\t\tv-if=\"showButtonsBottom\"\n\t\t/>\n\t\t<${config.templatePanelCompilation}\n\t\t\tv-if=\"options.showCompilationModeSwitcher\"\n\t\t\t:compilationOptions=\"options.compilationFormOption\"\n\t\t\t:mode=\"mode\"\n\t\t/>\n\t\t<div class=\"catalog-pf-result-line\"></div>\n\t\t<div class=\"catalog-pf-result-wrapper\" v-if=\"showResultBlock\">\n\t\t\t<table class=\"catalog-pf-result\">\n\t\t\t\t<tr>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<span class=\"catalog-pf-text\">{{localize.CATALOG_FORM_PRODUCTS_PRICE}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<${config.templateSummaryTotal}\n\t\t\t\t\t\t\t:sum=\"productList.total.sum\"\n\t\t\t\t\t\t\t:currency=\"options.currency\"\n\t\t\t\t\t\t\t:sumAdditionalClass=\"productList.total.result !== productList.total.sum ? 'catalog-pf-text--line-through' : ''\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=\"catalog-pf-result-padding-bottom\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--discount\">{{localize.CATALOG_FORM_TOTAL_DISCOUNT}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"catalog-pf-result-padding-bottom\">\n\t\t\t\t\t\t<${config.templateSummaryTotal}\n\t\t\t\t\t\t\t:sum=\"productList.total.discount\"\n\t\t\t\t\t\t\t:currency=\"options.currency\"\n\t\t\t\t\t\t\t:sumAdditionalClass=\"'catalog-pf-text--discount'\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr v-if=\"showTaxResult\">\n\t\t\t\t\t<td class=\"catalog-pf-tax\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--tax\">{{localize.CATALOG_FORM_TAX_TITLE}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"catalog-pf-tax\">\n\t\t\t\t\t\t<${config.templateSummaryTotal}\n\t\t\t\t\t\t\t:sum=\"productList.total.taxSum\"\n\t\t\t\t\t\t\t:currency=\"options.currency\"\n\t\t\t\t\t\t\t:sumAdditionalClass=\"'catalog-pf-text--tax'\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td class=\"catalog-pf-result-padding\">\n\t\t\t\t\t\t<span class=\"catalog-pf-text catalog-pf-text--total catalog-pf-text--border\">{{totalResultLabel}}:</span>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"catalog-pf-result-padding\">\n\t\t\t\t\t\t<${config.templateSummaryTotal}\n\t\t\t\t\t\t\t:sum=\"productList.total.result\"\n\t\t\t\t\t\t\t:currency=\"options.currency\"\n\t\t\t\t\t\t\t:sumAdditionalClass=\"'catalog-pf-text--total'\"\n\t\t\t\t\t\t\t:currencyAdditionalClass=\"'catalog-pf-symbol--total'\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</div>\n\t</div>\n`,\n});\n","import { BitrixVue } from 'ui.vue';\nimport { VuexBuilder } from 'ui.vue.vuex';\nimport { Loc, Type, Text, Tag, ajax, Extension } from 'main.core';\nimport 'ui.notification';\nimport 'ui.design-tokens';\nimport 'ui.fonts.opensans';\nimport { ProductList } from './models/product-list';\nimport { config } from './config';\nimport './templates/form';\nimport './component.css';\nimport { EventEmitter } from 'main.core.events';\nimport { CurrencyCore } from 'currency.currency-core';\nimport type { FormOption } from './types/form-option';\nimport { FormElementPosition } from './types/form-element-position';\nimport { DiscountType } from 'catalog.product-calculator';\nimport { FormInputCode } from './types/form-input-code';\nimport { FormErrorCode } from './types/form-error-code';\nimport { FormMode } from './types/form-mode';\nimport { FormCompilationType } from './types/form-compilation-type';\n\nclass ProductForm\n{\n\tconstructor(options: FormOption = {})\n\t{\n\t\tthis.options = this.prepareOptions(options);\n\t\tthis.defaultOptions = Object.assign({}, this.options);\n\n\t\tthis.editable = true;\n\t\tthis.#setMode(FormMode.REGULAR);\n\n\t\tthis.wrapper = Tag.render`<div class=\"\"></div>`;\n\n\t\tif (Text.toNumber(options.iblockId) <= 0)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tProductForm.initStore()\n\t\t\t.then((result) => this.initTemplate(result))\n\t\t\t.catch((error) => ProductForm.showError(error))\n\t\t;\n\t}\n\n\tstatic initStore(): VuexBuilder\n\t{\n\t\tconst builder = new VuexBuilder();\n\n\t\treturn builder\n\t\t\t.addModel(ProductList.create())\n\t\t\t.build();\n\t}\n\n\tprepareOptions(options: FormOption = {}): FormOption\n\t{\n\t\tconst settingsCollection = Extension.getSettings('catalog.product-form');\n\t\tconst defaultOptions: FormOption = {\n\t\t\tbasket: [],\n\t\t\tmeasures: [],\n\t\t\tiblockId: null,\n\t\t\tbasePriceId: settingsCollection.get('basePriceId'),\n\t\t\ttaxList: [],\n\t\t\tsingleProductMode: false,\n\t\t\tshowResults: true,\n\t\t\tshowCompilationModeSwitcher: false,\n\t\t\tenableEmptyProductError: true,\n\t\t\tisShortProductViewFormat: false,\n\t\t\tpricePrecision: 2,\n\t\t\tcurrency: settingsCollection.get('currency'),\n\t\t\tcurrencySymbol: settingsCollection.get('currencySymbol'),\n\t\t\ttaxIncluded: settingsCollection.get('taxIncluded'),\n\t\t\twarehouseOption: settingsCollection.get('warehouseOption'),\n\t\t\tisCatalogHidden: settingsCollection.get('isCatalogHidden'),\n\t\t\tshowDiscountBlock: settingsCollection.get('showDiscountBlock'),\n\t\t\tshowTaxBlock: settingsCollection.get('showTaxBlock'),\n\t\t\tallowedDiscountTypes: [DiscountType.PERCENTAGE, DiscountType.MONETARY],\n\t\t\tvisibleBlocks: [\n\t\t\t\tFormInputCode.PRODUCT_SELECTOR, FormInputCode.IMAGE_EDITOR, FormInputCode.PRICE,\n\t\t\t\tFormInputCode.QUANTITY, FormInputCode.RESULT,\n\t\t\t\tFormInputCode.DISCOUNT,\n\t\t\t],\n\t\t\trequiredFields: [],\n\t\t\teditableFields: [],\n\t\t\tnewItemPosition: FormElementPosition.TOP,\n\t\t\tbuttonsPosition: FormElementPosition.TOP,\n\t\t\turlBuilderContext: 'SHOP',\n\t\t\thideUnselectedProperties: false,\n\t\t\tisCatalogDiscountSetEnabled: settingsCollection.get('isCatalogDiscountSetEnabled'),\n\t\t\tisCatalogPriceEditEnabled: settingsCollection.get('isCatalogPriceEditEnabled'),\n\t\t\tisCatalogPriceSaveEnabled: settingsCollection.get('isCatalogPriceSaveEnabled'),\n\t\t\tisCatalogSettingAccess: settingsCollection.get('isCatalogSettingAccess'),\n\t\t\tisCatalogAccess: settingsCollection.get('isCatalogAccess'),\n\t\t\tfieldHints: settingsCollection.get('fieldHints'),\n\t\t\tcompilationFormType: FormCompilationType.REGULAR,\n\t\t\tcompilationFormOption: {},\n\t\t\tfacebookFailProducts: null,\n\t\t\townerId: null,\n\t\t\townerTypeId: null,\n\t\t\tdialogId: null,\n\t\t\tsessionId: null,\n\t\t};\n\n\t\tif (options.visibleBlocks && !Type.isArray(options.visibleBlocks))\n\t\t{\n\t\t\tdelete(options.visibleBlocks);\n\t\t}\n\n\t\tif (options.requiredFields && !Type.isArray(options.requiredFields))\n\t\t{\n\t\t\tdelete(options.requiredFields);\n\t\t}\n\n\t\toptions = { ...defaultOptions, ...options };\n\t\toptions.showTaxBlock = 'N';\n\n\t\tif (settingsCollection.get('isEnabledLanding'))\n\t\t{\n\t\t\toptions.compilationFormOption = {\n\t\t\t\ttype: options.compilationFormType,\n\t\t\t\thasStore: settingsCollection.get('hasLandingStore'),\n\t\t\t\tisLimitedStore: settingsCollection.get('isLimitedLandingStore'),\n\t\t\t\tdisabledSwitcher: settingsCollection.get('isLimitedLandingStore'),\n\t\t\t};\n\t\t}\n\t\telse\n\t\t{\n\t\t\toptions.showCompilationModeSwitcher = false;\n\t\t}\n\n\t\toptions.defaultDiscountType = '';\n\t\tif (Type.isArray(options.allowedDiscountTypes))\n\t\t{\n\t\t\tif (options.allowedDiscountTypes.includes(DiscountType.PERCENTAGE))\n\t\t\t{\n\t\t\t\toptions.defaultDiscountType = DiscountType.PERCENTAGE;\n\t\t\t}\n\t\t\telse if (options.allowedDiscountTypes.includes(DiscountType.MONETARY))\n\t\t\t{\n\t\t\t\toptions.defaultDiscountType = DiscountType.MONETARY;\n\t\t\t}\n\t\t}\n\n\t\treturn options;\n\t}\n\n\tlayout(): HTMLElement\n\t{\n\t\treturn this.wrapper;\n\t}\n\n\tinitTemplate(result): Promise\n\t{\n\t\treturn new Promise((resolve) =>\n\t\t{\n\t\t\tconst context = this;\n\t\t\tthis.store = result.store;\n\n\t\t\tthis.templateEngine = BitrixVue.createApp({\n\t\t\t\tel: this.wrapper,\n\t\t\t\tstore: this.store,\n\t\t\t\tdata: {\n\t\t\t\t\toptions: this.options,\n\t\t\t\t\tmode: this.mode,\n\t\t\t\t},\n\t\t\t\tcreated()\n\t\t\t\t{\n\t\t\t\t\tthis.$app = context;\n\t\t\t\t},\n\t\t\t\tmounted()\n\t\t\t\t{\n\t\t\t\t\tresolve();\n\t\t\t\t},\n\t\t\t\ttemplate: `<${config.templateName} :options=\"options\" :mode=\"mode\"/>`,\n\t\t\t});\n\n\t\t\tif (Type.isStringFilled(this.options.currency))\n\t\t\t{\n\t\t\t\tthis.setData({\n\t\t\t\t\tcurrency: this.options.currency,\n\t\t\t\t});\n\t\t\t\tCurrencyCore.loadCurrencyFormat(this.options.currency);\n\t\t\t}\n\n\t\t\tif (this.options.basket.length > 0)\n\t\t\t{\n\t\t\t\tthis.setData(\n\t\t\t\t\t{ basket: this.options.basket },\n\t\t\t\t\t{ newItemPosition: FormElementPosition.BOTTOM },\n\t\t\t\t);\n\n\t\t\t\tif (Type.isObject(this.options.totals))\n\t\t\t\t{\n\t\t\t\t\tthis.store.commit('productList/setTotal', this.options.totals);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/calculateTotal');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst newItem = this.store.getters['productList/getBaseProduct']();\n\t\t\t\tnewItem.fields.discountType = this.options.defaultDiscountType;\n\t\t\t\tthis.addProduct(newItem);\n\t\t\t}\n\n\t\t\tEventEmitter.emit(this, 'onAfterInit');\n\t\t});\n\t}\n\n\taddProduct(item = {}): void\n\t{\n\t\tthis.store.dispatch('productList/addItem', {\n\t\t\titem,\n\t\t\tposition: this.options.newItemPosition,\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tthis.#onBasketChange();\n\t\t\t});\n\t}\n\n\t#onBasketChange(): void\n\t{\n\t\tEventEmitter.emit(this, 'ProductForm:onBasketChange', {\n\t\t\tbasket: this.store.getters['productList/getBasket'](),\n\t\t});\n\t}\n\n\temitErrorsChange(): void\n\t{\n\t\tEventEmitter.emit(this, 'ProductForm:onErrorsChange');\n\t}\n\n\tchangeProduct(item): void\n\t{\n\t\tconst product = item.product;\n\t\tproduct.errors = [];\n\t\tif (item.skipFieldChecking !== true)\n\t\t{\n\t\t\tconst result = this.#checkRequiredFields(product);\n\t\t\tproduct.errors = result?.errors || [];\n\t\t}\n\n\t\tthis.store.dispatch('productList/changeItem', {\n\t\t\tindex: item.index,\n\t\t\tproduct,\n\t\t}).then(() => {\n\t\t\tthis.#onBasketChange();\n\t\t});\n\t}\n\n\t#checkRequiredFields(product): {}\n\t{\n\t\tconst result = {};\n\t\tif (!Type.isArray(this.options.requiredFields) || this.options.requiredFields.length === 0)\n\t\t{\n\t\t\treturn result;\n\t\t}\n\n\t\tresult.errors = [];\n\t\tthis.options.requiredFields.forEach((code) => {\n\t\t\tswitch (code)\n\t\t\t{\n\t\t\t\tcase FormInputCode.PRICE:\n\t\t\t\t\tif (!this.options.isCatalogPriceSaveEnabled && product.catalogPrice <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_PRICE,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_PRICE_FILL_IN_CARD'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\telse if (product.fields.basePrice <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_PRICE,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_PRICE_1'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase FormInputCode.QUANTITY:\n\t\t\t\t\tif (product.fields.quantity <= 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_QUANTITY,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_QUANTITY_1'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase FormInputCode.BRAND:\n\t\t\t\t\tif (!Type.isArray(product.fields.brands) || product.fields.brands.length === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_BRAND,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_BRAND_1'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase FormInputCode.IMAGE_EDITOR:\n\t\t\t\t\tif (!Type.isObject(product.fields.morePhoto) || Object.keys(product.fields.morePhoto).length === 0)\n\t\t\t\t\t{\n\t\t\t\t\t\tresult.errors.push({\n\t\t\t\t\t\t\tcode: FormErrorCode.EMPTY_IMAGE,\n\t\t\t\t\t\t\tmessage: Loc.getMessage('CATALOG_FORM_ERROR_EMPTY_PICTURE_1'),\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tremoveProduct(product): void\n\t{\n\t\tthis.store.dispatch('productList/removeItem', {\n\t\t\tindex: product.index,\n\t\t}).then(() => {\n\t\t\tthis.#onBasketChange();\n\t\t});\n\t}\n\n\tsetData(data, option = {}): void\n\t{\n\t\tif (Type.isObject(data.basket))\n\t\t{\n\t\t\tconst formBasket = this.store.getters['productList/getBasket']();\n\t\t\tdata.basket.forEach((fields) => {\n\t\t\t\tif (!Type.isObject(fields))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst itemPosition = option.newItemPosition || this.options.newItemPosition;\n\n\t\t\t\tconst innerId = fields.selectorId;\n\t\t\t\tif (Type.isNil(innerId))\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/addItem', {\n\t\t\t\t\t\titem: fields,\n\t\t\t\t\t\tposition: itemPosition,\n\t\t\t\t\t});\n\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst basketIndex = formBasket.findIndex(item => item.selectorId === innerId);\n\t\t\t\tif (basketIndex === -1)\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/addItem', {\n\t\t\t\t\t\titem: fields,\n\t\t\t\t\t\tposition: itemPosition,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tthis.store.dispatch('productList/changeItem', { basketIndex, fields });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tif (Type.isStringFilled(data.currency))\n\t\t{\n\t\t\tthis.store.dispatch('productList/setCurrency', data.currency);\n\t\t}\n\n\t\tif (Type.isObject(data.total))\n\t\t{\n\t\t\tthis.store.commit('productList/setTotal', {\n\t\t\t\tsum: data.total.sum,\n\t\t\t\ttaxSum: data.total.taxSum,\n\t\t\t\tdiscount: data.total.discount,\n\t\t\t\tresult: data.total.result,\n\t\t\t});\n\t\t}\n\n\t\tif (Type.isObject(data.errors))\n\t\t{\n\t\t\tthis.store.commit('productList/setErrors', data.errors);\n\t\t}\n\t}\n\n\tchangeFormOption(optionName, value): void\n\t{\n\t\tvalue = (value === 'Y') ? 'Y' : 'N';\n\n\t\tif (optionName === 'isCompilationMode')\n\t\t{\n\t\t\tif (!this.options.showCompilationModeSwitcher)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tEventEmitter.emit(this, 'onChangeCompilationMode', {\n\t\t\t\tisCompilationMode: value === 'Y',\n\t\t\t\tisFacebookForm: this.options.compilationFormType === FormCompilationType.FACEBOOK,\n\t\t\t});\n\t\t\tconst mode = (value === 'Y') ? FormMode.COMPILATION : FormMode.REGULAR;\n\t\t\tthis.#changeCompilationModeSetting(mode);\n\n\t\t\treturn;\n\t\t}\n\n\t\tthis.options[optionName] = value;\n\t\tconst basket = this.store.getters['productList/getBasket']();\n\t\tbasket.forEach((item, index) => {\n\t\t\tif (optionName === 'showDiscountBlock')\n\t\t\t{\n\t\t\t\titem.showDiscountBlock = value;\n\t\t\t}\n\t\t\telse if (optionName === 'showTaxBlock')\n\t\t\t{\n\t\t\t\titem.showTaxBlock = value;\n\t\t\t}\n\t\t\telse if (optionName === 'taxIncluded')\n\t\t\t{\n\t\t\t\titem.fields.taxIncluded = value;\n\t\t\t}\n\n\t\t\tthis.store.dispatch('productList/changeItem', {\n\t\t\t\tindex,\n\t\t\t\tfields: item,\n\t\t\t});\n\t\t});\n\n\t\tajax.runAction(\n\t\t\t'catalog.productForm.setConfig',\n\t\t\t{\n\t\t\t\tdata: {\n\t\t\t\t\tconfigName: optionName,\n\t\t\t\t\tvalue,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t}\n\n\t#changeCompilationModeSetting(mode: FormMode)\n\t{\n\t\tthis.#setMode(mode);\n\n\t\tconst basket = this.store.getters['productList/getBasket']();\n\n\t\tbasket.forEach((item, index) => this.changeProduct({\n\t\t\tindex,\n\t\t\tproduct: item,\n\t\t\tskipFieldChecking: (basket.length === 1 && index === 0 && item.offerId === null),\n\t\t}));\n\t}\n\n\tgetTotal(): void\n\t{\n\t\tthis.store.dispatch('productList/getTotal');\n\t}\n\n\tsetEditable(editable, isCompilationMode): void\n\t{\n\t\tthis.editable = editable;\n\t\tif (!editable && !isCompilationMode)\n\t\t{\n\t\t\tthis.#setMode(FormMode.READ_ONLY);\n\t\t}\n\t\telse if (!editable && isCompilationMode)\n\t\t{\n\t\t\tthis.#setMode(FormMode.COMPILATION_READ_ONLY);\n\t\t}\n\t\telse if (editable && isCompilationMode)\n\t\t{\n\t\t\tthis.#setMode(FormMode.COMPILATION);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.#setMode(FormMode.REGULAR);\n\t\t}\n\t}\n\n\t#setMode(mode: FormMode): void\n\t{\n\t\tthis.mode = mode;\n\t\tif (mode === FormMode.READ_ONLY)\n\t\t{\n\t\t\tthis.options.editableFields = [];\n\t\t}\n\t\telse if (mode === FormMode.COMPILATION_READ_ONLY)\n\t\t{\n\t\t\tthis.options.editableFields = [];\n\t\t\tthis.options.visibleBlocks = [\n\t\t\t\tFormInputCode.PRODUCT_SELECTOR,\n\t\t\t\tFormInputCode.IMAGE_EDITOR,\n\t\t\t\tFormInputCode.PRICE,\n\t\t\t\tFormInputCode.BRAND,\n\t\t\t];\n\t\t\tthis.options.showResults = false;\n\t\t}\n\t\telse if (mode === FormMode.COMPILATION)\n\t\t{\n\t\t\tthis.options.editableFields = [\n\t\t\t\tFormInputCode.PRODUCT_SELECTOR, FormInputCode.BRAND,\n\t\t\t];\n\t\t\tthis.options.visibleBlocks = this.defaultOptions.visibleBlocks;\n\n\t\t\tif (this.options.compilationFormType === FormCompilationType.FACEBOOK)\n\t\t\t{\n\t\t\t\tthis.options.visibleBlocks = [\n\t\t\t\t\tFormInputCode.PRODUCT_SELECTOR,\n\t\t\t\t\tFormInputCode.IMAGE_EDITOR,\n\t\t\t\t\tFormInputCode.PRICE,\n\t\t\t\t\tFormInputCode.BRAND,\n\t\t\t\t];\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.options.visibleBlocks = this.defaultOptions.visibleBlocks;\n\t\t\t}\n\n\t\t\tthis.options.showResults = false;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tmode = FormMode.REGULAR;\n\t\t\tthis.options.visibleBlocks = this.defaultOptions.visibleBlocks;\n\t\t\tthis.options.showResults = this.defaultOptions.showResults;\n\t\t\tthis.options.editableFields = this.defaultOptions.visibleBlocks;\n\t\t}\n\n\t\tif (this.templateEngine)\n\t\t{\n\t\t\tthis.templateEngine.mode = mode;\n\t\t}\n\n\t\tthis.options.requiredFields = [];\n\t\tif (mode === FormMode.COMPILATION)\n\t\t{\n\t\t\tconst compilationRequiredFields = [\n\t\t\t\tFormInputCode.PRODUCT_SELECTOR, FormInputCode.PRICE,\n\t\t\t];\n\t\t\tif (this.options.compilationFormType === FormCompilationType.FACEBOOK)\n\t\t\t{\n\t\t\t\tcompilationRequiredFields.push(FormInputCode.IMAGE_EDITOR, FormInputCode.BRAND);\n\t\t\t}\n\t\t\tthis.options.requiredFields = this.options.visibleBlocks.filter(\n\t\t\t\titem => compilationRequiredFields.includes(item),\n\t\t\t);\n\t\t}\n\n\t\tEventEmitter.emit(this, 'ProductForm:onModeChange', { mode });\n\t}\n\n\thasErrors()\n\t{\n\t\tif (!this.store)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\tconst basket = this.store.getters['productList/getBasket']();\n\t\tconst errorItems = basket.filter(item => item.errors.length > 0);\n\n\t\treturn errorItems.length > 0;\n\t}\n\n\tstatic showError(error): void\n\t{\n\t\tconsole.error(error);\n\t}\n}\n\nexport { ProductForm, FormMode };\n"],"names":["FormElementPosition","TOP","BOTTOM","ProductList","VuexBuilderModel","getName","getState","currency","taxIncluded","basket","total","sum","discount","taxSum","result","getBaseProduct","random","Text","getRandom","offerId","selectorId","fields","innerId","productId","skuId","code","type","module","sort","price","basePrice","priceExclusive","quantity","name","discountRate","discountInfos","discountType","DiscountType","PERCENTAGE","tax","measureCode","measureName","measureRatio","isCustomPrice","additionalFields","properties","brands","weight","dimensions","calculatedFields","catalogFields","showDiscount","showTax","skuTree","image","catalogPrice","discountSum","detailUrl","encodedFields","errors","getActions","resetBasket","commit","removeItem","dispatch","state","payload","length","forEach","item","i","index","changeItem","setCurrency","addItem","position","calculateTotal","toNumber","getGetters","getBasket","getMutations","Object","assign","push","unshift","updateItem","Type","isNil","Vue","set","product","clearBasket","deleteItem","splice","setErrors","clearErrors","setTotal","formattedTotal","isStringFilled","key","hasOwnProperty","CurrencyCore","currencyFormat","config","freeze","databaseConfig","templateName","templatePanelButtons","templatePanelCompilation","templateRowName","templateFieldInlineSelector","templateFieldPrice","templateFieldResultSum","templateFieldQuantity","templateFieldDiscount","templateFieldTax","templateFieldBrand","templateSummaryTotal","moduleId","FormInputCode","PRODUCT_SELECTOR","IMAGE_EDITOR","QUANTITY","PRICE","RESULT","DISCOUNT","TAX","BRAND","MEASURE","FormErrorCode","EMPTY_PRODUCT_SELECTOR","EMPTY_IMAGE","EMPTY_QUANTITY","EMPTY_PRICE","EMPTY_BRAND","IS_NULLABLE_PRICE","FormMode","REGULAR","READ_ONLY","COMPILATION","COMPILATION_READ_ONLY","component","props","Number","String","editable","Boolean","saveableMeasure","hasError","options","created","onInputQuantityHandler","Runtime","debounce","onInputQuantity","methods","event","target","value","replace","newQuantity","lastSymbol","substr","changeQuantity","calculateCorrectionFactor","factoredQuantity","factoredRatio","correctionFactor","isInteger","incrementValue","decrementValue","$emit","showPopupMenu","isArray","measures","menuItems","text","SYMBOL","onclick","selectMeasure","popupMenu","Menu","bindElement","items","show","params","CODE","close","template","onInputPriceHandler","onInputPrice","mounted","BX","UI","Hint","init","newPrice","computed","localize","getFilteredPhrases","currencySymbol","hintText","isCatalogPriceEditEnabled","Loc","getMessage","onInputDiscount","onChangeDiscount","onChangeType","MONETARY","discountValue","allowedDiscountTypes","includes","getDiscountInputValue","getDiscountSymbol","wrapperClasses","isCatalogDiscountSetEnabled","taxId","data","taxValue","getTaxList","onChangeValue","id","taxList","basketLength","basketItem","model","productSelector","imageControlId","EventEmitter","subscribe","onProductSelect","bind","onProductChange","onProductClear","$root","$app","changeProductSelectorImageRequire","ProductSelector","prepareSelectorParams","renderTo","$refs","selectorWrapper","isCompilationMode","getData","isFacebookForm","setConfig","checkEmptyImageError","layoutErrors","NAME","getField","CURRENCY","basketItemOfferId","facebookFailProducts","hasFacebookError","isObject","selectorOptions","iblockId","basePriceId","getDefaultSkuTree","fileInputId","morePhotoValues","fileInput","DETAIL_PATH","ENABLE_SEARCH","ENABLE_INPUT_DETAIL_LINK","ENABLE_IMAGE_CHANGE_SAVING","ENABLE_EMPTY_PRODUCT_ERROR","enableEmptyProductError","isRequiredField","ENABLE_EMPTY_IMAGES_ERROR","ROW_ID","ENABLE_SKU_SELECTION","HIDE_UNSELECTED_ITEMS","hideUnselectedProperties","URL_BUILDER_CONTEXT","urlBuilderContext","VIEW_FORMAT","isShortProductViewFormat","SHORT_VIEW_FORMAT","FULL_VIEW_FORMAT","failedProduct","mode","MODE_EDIT","MODE_VIEW","formImage","fileView","preview","input","values","isEnabledSaving","enableCatalogSaving","hasEditRights","requiredFields","JSON","parse","defaultValue","getId","BASE_PRICE","MODULE","ID","PRODUCT_ID","TYPE","SKU_ID","PROPERTIES","CUSTOMIZED","MEASURE_CODE","MEASURE_NAME","MORE_PHOTO","morePhoto","BRANDS","IS_NEW","isNew","Array","cache","Cache","MemoryCache","selector","TagSelector","dialogOptions","context","preselectedItems","getPreselectedBrands","events","onBrandChange","createBrand","searchTabOptions","stub","stubOptions","title","Tag","message","subtitle","arrow","searchOptions","allowCreateItem","entities","dynamicSearch","dynamicLoad","isSelectedByProductChange","$parent","$on","selectCurrentBrands","brandSelectorWrapper","brand","brandIndex","separator","appendChild","render","getDialog","isLoaded","deselectAll","selectDialogItems","load","getItem","entityId","select","map","getTarget","getSelectedItems","resultValues","getTitle","getAvatar","eventData","searchQuery","Promise","resolve","reject","dialog","getQuery","showLoader","ajax","runAction","then","response","hideLoader","tabs","getRecentTab","hide","catch","onInputSumHandler","onInputSum","newSum","basketItemIndex","countItems","defaultMeasure","blocks","measure","errorCodes","emptyProductSelector","emptyImage","emptyQuantity","emptyPrice","emptyBrand","initModel","changeProductFields","prepareModelFields","defaultFields","defaultPrice","PRICE_NETTO","PRICE_BRUTTO","PRICE_EXCLUSIVE","DISCOUNT_TYPE_ID","DISCOUNT_RATE","DISCOUNT_SUM","TAX_INCLUDED","TAX_RATE","ProductModel","isStoreCollectable","isSimpleModel","onErrorsChange","getErrorCollection","getErrors","changeRowData","setCalculatedFields","getCalculator","setFields","SUM","getProductFieldsFromModel","modelFields","getFields","TAX_ID","skipFieldChecking","isSimple","saveCatalogField","changedFields","save","calculateBasePrice","processFields","originBasketId","originProductId","isPlainObject","onChangeSum","priceItem","isEditablePrice","onChangePrice","isEditableDiscount","toggleDiscount","changeDiscountType","changeDiscount","changeBasePrice","isSaveablePrice","onSelectMeasure","changeMeasure","showSaveNotifier","onSave","isReadOnly","setTimeout","discountWrapper","discountInput","focus","toggleTax","changeBrand","onChangeQuantity","calculateQuantity","productFields","setField","changePrice","calculatePrice","calculateDiscountType","calculateDiscount","changeTax","calculateTax","changeTaxIncluded","isEditableField","calculateTaxIncluded","isVisibleBlock","visibleBlocks","getPriceValue","getQuantityValue","getSumValue","getDiscountValue","getDiscountRateValue","isEmpty","isChanged","filteredErrors","filter","error","editableFields","isCatalogExisted","isCatalogPriceSaveEnabled","getHint","fieldHints","hasHint","watch","oldValue","showDiscountBlock","getBrandsSelectorId","getPriceExclusive","showTaxBlock","showRemoveIcon","showTaxSelector","showBasePrice","getMeasureName","getMeasureCode","isTaxIncluded","getErrorsText","errorText","facebookFailProductErrorText","hasSku","FormCompilationType","FACEBOOK","FormHelpdeskCode","COMPILATION_FACEBOOK","COMMON_COMPILATION","compilationOptions","newLabel","Label","CATALOG_FORM_COMPILATION_PRODUCT_NEW_LABEL","color","LabelColor","PRIMARY","fill","popup","compilationLink","moreMessageButton","CATALOG_FORM_COMPILATION_INFO_BUTTON_MORE","Event","openHelpDesk","header","description","CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE_FACEBOOK","CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_FIRST_BLOCK","CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_FACEBOOK_SECOND_BLOCK","CATALOG_FORM_COMPILATION_INFO_MESSAGE_TITLE","CATALOG_FORM_COMPILATION_INFO_MESSAGE_BODY_MARKETING_2","MessageCard","angle","hidden","actionElements","hideMessage","label","getLayout","helpdeskCode","top","Helper","showPopup","disabledSwitcher","Popup","setBindElement","qrLink","$store","getters","productIds","ownerId","ownerTypeId","dialogId","sessionId","link","emit","compilationId","content","getQRPopupContent","width","closeIcon","right","padding","closeByEsc","autoHide","cacheable","animation","offset","buttonCopy","CATALOG_FORM_COMPILATION_QR_COPY","clipboard","copy","Notification","Center","notify","CATALOG_FORM_COMPILATION_QR_COPY_NOTIFY_MESSAGE","autoHideDelay","qrWrapper","CATALOG_FORM_COMPILATION_QR_POPUP_TITLE","CATALOG_FORM_COMPILATION_QR_POPUP_INPUT_TITLE","QRCode","height","setSetting","checked","changeFormOption","getOnBeforeCreationStorePopupContent","loaderContent","node","loader","Loader","size","getOnAfterCreationStorePopupContent","creationStorePopup","continueButton","closeCreationStorePopup","onNewLabelClick","preventDefault","onLabelClick","isLimitedStore","InfoHelper","onClickHint","stopImmediatePropagation","isShown","showMessage","Dom","addClass","hintIcon","removeClass","showQrLink","Vuex","mapState","productList","settings","refreshBasket","changeBasketItem","addBasketItemForm","getInternalIndexByProductId","keys","findIndex","inx","parseInt","handleAddItem","skuType","json","variationId","priceId","urlBuilder","resetSku","processResponse","isAddAnyway","productData","newItem","MEASURE_RATIO","defaultDiscountType","addProduct","onUpdateBasketItem","removeEmptyItems","modifyBasketItem","showDialogProductExists","MessageBox","confirm","messageBox","showDialogProductSearch","funcName","window","CDialog","content_url","Math","max","innerHeight","innerWidth","draggable","resizable","min_height","min_width","zIndex","Show","dataset","settingId","getSettingItem","disabled","hintNode","hint","setting","getSettingItems","CATALOG_FORM_ADD_SHOW_DISCOUNTS_OPTION","prepareSettingsContent","append","showConfigPopup","offsetLeft","offsetTop","noAllPaddings","bindOptions","forceBindPosition","openSlider","url","allowChangeHistory","isString","onClose","getSlider","SidePanel","Instance","open","hasAccessToCatalog","isCatalogAccess","order","isCatalogHidden","required","sumAdditionalClass","currencyAdditionalClass","formattedSum","element","getPriceControl","changeProduct","emitErrorsChange","removeProduct","showTaxResult","showResults","showButtonsTop","singleProductMode","buttonsPosition","showButtonsBottom","showResultBlock","enableAddButtons","totalResultLabel","CATALOG_FORM_TOTAL_RESULT","ProductForm","constructor","prepareOptions","defaultOptions","wrapper","initStore","initTemplate","showError","builder","VuexBuilder","addModel","create","build","settingsCollection","Extension","getSettings","get","showCompilationModeSwitcher","pricePrecision","warehouseOption","newItemPosition","isCatalogSettingAccess","compilationFormType","compilationFormOption","hasStore","layout","store","templateEngine","BitrixVue","createApp","el","setData","loadCurrencyFormat","totals","option","formBasket","itemPosition","basketIndex","optionName","configName","getTotal","setEditable","hasErrors","errorItems","console","compilationRequiredFields"],"mappings":"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"}

Youez - 2016 - github.com/yon3zu
LinuXploit