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/sku-tree/dist/ |
Upload File : |
{"version":3,"file":"sku-tree.bundle.js","sources":["../src/sku-property.js","../src/sku-tree.js"],"sourcesContent":["import {Dom, Tag, Text, Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {SkuTree} from 'catalog.sku-tree';\n\nexport default class SkuProperty\n{\n\tparent: ?SkuTree;\n\n\tskuSelectHandler = this.handleSkuSelect.bind(this);\n\n\tconstructor(options)\n\t{\n\t\tthis.parent = options.parent || null;\n\t\tif (!this.parent)\n\t\t{\n\t\t\tthrow new Error('Parent is not defined.');\n\t\t}\n\n\t\tthis.property = options.property || {};\n\t\tthis.offers = options.offers || [];\n\t\tthis.existingValues = options.existingValues || [];\n\t\tthis.nodeDescriptions = [];\n\t\tthis.hideUnselected = options.hideUnselected;\n\t}\n\n\tgetId()\n\t{\n\t\treturn this.property.ID;\n\t}\n\n\tgetSelectedSkuId()\n\t{\n\t\treturn this.parent.getSelectedSkuId();\n\t}\n\n\thasSkuValues()\n\t{\n\t\treturn this.property.VALUES.length;\n\t}\n\n\trenderPictureSku(propertyValue, uniqueId)\n\t{\n\t\tconst propertyName = Type.isStringFilled(propertyValue.NAME) ? Text.encode(propertyValue.NAME) : '';\n\n\t\tlet nameNode = '';\n\t\tif (Type.isStringFilled(propertyName))\n\t\t{\n\t\t\tnameNode = Tag.render`<span class=\"ui-ctl-label-text\">${propertyName}</span>`;\n\t\t}\n\n\t\tlet iconNode = '';\n\t\tif (propertyValue.PICT && propertyValue.PICT.SRC)\n\t\t{\n\t\t\tconst style = \"background-image: url('\" + propertyValue.PICT.SRC + \"');\";\n\t\t\ticonNode = Tag.render`<span class=\"ui-ctl-label-img\" style=\"${style}\"></span>`;\n\t\t}\n\t\telse if (nameNode)\n\t\t{\n\t\t\tnameNode.style.paddingLeft = '0';\n\t\t}\n\t\telse\n\t\t{\n\t\t\tnameNode = Tag.render`<span class=\"ui-ctl-label-text\">-</span>`;\n\t\t}\n\n\t\tconst titleItem =\n\t\t\tthis.parent.isShortView && Type.isStringFilled(this.property.NAME)\n\t\t\t\t? Text.encode(this.property.NAME)\n\t\t\t\t: propertyName\n\t\t;\n\n\t\treturn Tag.render`\n\t\t\t<label \tclass=\"ui-ctl ui-ctl-radio-selector\"\n\t\t\t\t\tonclick=\"${this.skuSelectHandler}\"\n\t\t\t\t\ttitle=\"${titleItem}\"\n\t\t\t\t\tdata-property-id=\"${this.getId()}\"\n\t\t\t\t\tdata-property-value=\"${propertyValue.ID}\">\n\t\t\t\t<input type=\"radio\"\n\t\t\t\t\tdisabled=\"${!this.parent.isSelectable()}\"\n\t\t\t\t\tname=\"property-${this.getSelectedSkuId()}-${this.getId()}-${uniqueId}\"\n\t\t\t\t\tclass=\"ui-ctl-element\">\n\t\t\t\t<span class=\"ui-ctl-inner\">\n\t\t\t\t\t${iconNode}\n\t\t\t\t\t${nameNode}\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t`;\n\t}\n\n\trenderTextSku(propertyValue, uniqueId)\n\t{\n\t\tconst propertyName = Type.isStringFilled(propertyValue.NAME) ? Text.encode(propertyValue.NAME) : '-';\n\t\tconst titleItem =\n\t\t\tthis.parent.isShortView && Type.isStringFilled(this.property.NAME)\n\t\t\t\t? Text.encode(this.property.NAME)\n\t\t\t\t: propertyName\n\t\t;\n\n\t\treturn Tag.render`\n\t\t\t<label \tclass=\"ui-ctl ui-ctl-radio-selector\"\n\t\t\t\t\tonclick=\"${this.skuSelectHandler}\"\n\t\t\t\t\ttitle=\"${titleItem}\"\n\t\t\t\t\tdata-property-id=\"${this.getId()}\"\n\t\t\t\t\tdata-property-value=\"${propertyValue.ID}\">\n\t\t\t\t<input type=\"radio\"\n\t\t\t\t\tdisabled=\"${!this.parent.isSelectable()}\"\n\t\t\t\t\tname=\"property-${this.getSelectedSkuId()}-${this.getId()}-${uniqueId}\"\n\t\t\t\t\tclass=\"ui-ctl-element\">\n\t\t\t\t<span class=\"ui-ctl-inner\">\n\t\t\t\t\t<span class=\"ui-ctl-label-text\">${propertyName}</span>\n\t\t\t\t</span>\n\t\t\t</label>\n\t\t`;\n\t}\n\n\tlayout()\n\t{\n\t\tif (!this.hasSkuValues())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.skuList = this.renderProperties();\n\t\tthis.toggleSkuPropertyValues();\n\n\t\tconst title = !this.parent.isShortView\n\t\t\t? Tag.render`<div class=\"product-item-detail-info-container-title\">${Text.encode(this.property.NAME)}</div>`\n\t\t\t: ''\n\t\t;\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"product-item-detail-info-container\">\n\t\t\t\t${title}\n\t\t\t\t<div class=\"product-item-scu-container\">\n\t\t\t\t\t${this.skuList}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\trenderProperties()\n\t{\n\t\tconst skuList = Tag.render`<div class=\"product-item-scu-list ui-ctl-spacing-right\"></div>`;\n\n\t\tthis.property.VALUES.forEach((propertyValue) => {\n\t\t\tlet propertyValueId = propertyValue.ID;\n\t\t\tlet node;\n\t\t\tlet uniqueId = Text.getRandom();\n\n\t\t\tif (!propertyValueId || this.existingValues.includes(propertyValueId))\n\t\t\t{\n\t\t\t\tif (this.property.SHOW_MODE === 'PICT')\n\t\t\t\t{\n\t\t\t\t\tDom.addClass(skuList, 'product-item-scu-list--pick-color');\n\t\t\t\t\tnode = this.renderPictureSku(propertyValue, uniqueId);\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tDom.addClass(skuList, 'product-item-scu-list--pick-size');\n\t\t\t\t\tnode = this.renderTextSku(propertyValue, uniqueId);\n\t\t\t\t}\n\n\t\t\t\tthis.nodeDescriptions.push({propertyValueId, node});\n\t\t\t\tskuList.appendChild(node);\n\t\t\t}\n\t\t});\n\n\t\treturn skuList;\n\t}\n\n\ttoggleSkuPropertyValues()\n\t{\n\t\tconst selectedSkuProperty = this.parent.getSelectedSkuProperty(this.getId());\n\t\tconst activeSkuProperties = this.parent.getActiveSkuProperties(this.getId());\n\n\t\tthis.nodeDescriptions.forEach((item) => {\n\t\t\tlet id = Text.toNumber(item.propertyValueId);\n\t\t\tlet input = item.node.querySelector('input[type=\"radio\"]');\n\n\t\t\tif (selectedSkuProperty === id)\n\t\t\t{\n\t\t\t\tinput.checked = true;\n\t\t\t\tDom.addClass(item.node, 'selected');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tinput.checked = false;\n\t\t\t\tDom.removeClass(item.node, 'selected');\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(this.hideUnselected && selectedSkuProperty !== id)\n\t\t\t\t|| !activeSkuProperties.includes(item.propertyValueId)\n\t\t\t)\n\t\t\t{\n\t\t\t\tDom.style(item.node, {display: 'none'});\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.style(item.node, {display: null});\n\t\t\t}\n\t\t});\n\t}\n\n\thandleSkuSelect(event)\n\t{\n\t\tevent.stopPropagation();\n\n\t\tconst selectedSkuProperty = event.target.closest('[data-property-id]');\n\t\tif (!this.parent.isSelectable() || Dom.hasClass(selectedSkuProperty, 'selected'))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst propertyId = Text.toNumber(selectedSkuProperty.getAttribute('data-property-id'));\n\t\tconst propertyValue = Text.toNumber(selectedSkuProperty.getAttribute('data-property-value'));\n\t\tthis.parent.setSelectedProperty(propertyId, propertyValue);\n\n\t\tthis.parent.getSelectedSku().then((selectedSkuData) => {\n\t\t\tEventEmitter.emit('SkuProperty::onChange', [selectedSkuData, this.property]);\n\t\t\tif (this.parent)\n\t\t\t{\n\t\t\t\tthis.parent.emit('SkuProperty::onChange', [selectedSkuData, this.property]);\n\t\t\t}\n\t\t});\n\n\t\tthis.parent.toggleSkuProperties();\n\t}\n}\n","import {Tag, Type, Text, Dom, ajax} from 'main.core';\nimport 'ui.design-tokens';\nimport './sku-tree.css';\nimport SkuProperty from './sku-property';\nimport {EventEmitter} from 'main.core.events';\nimport 'ui.forms';\nimport 'ui.buttons';\n\nconst iblockSkuProperties = new Map();\nconst iblockSkuList = new Map();\nconst propertyPromises = new Map();\n\nexport class SkuTree extends EventEmitter\n{\n\tselectedValues = {};\n\n\tstatic DEFAULT_IBLOCK_ID = 0;\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Catalog.SkuTree');\n\n\t\tthis.id = Text.getRandom();\n\t\tthis.skuTree = options.skuTree || {};\n\n\t\tthis.productId = this.skuTree?.PRODUCT_ID;\n\n\t\tthis.skuTreeOffers = this.skuTree.OFFERS || [];\n\n\t\tif (!Type.isNil(options.skuTree.OFFERS_JSON) && !Type.isArrayFilled(this.skuTreeOffers))\n\t\t{\n\t\t\tthis.skuTreeOffers = JSON.parse(this.skuTree.OFFERS_JSON);\n\t\t}\n\n\t\tthis.iblockId = this.skuTree.IBLOCK_ID || SkuTree.DEFAULT_IBLOCK_ID;\n\t\tif (!iblockSkuProperties.has(this.iblockId))\n\t\t{\n\t\t\tif (Type.isObject(this.skuTree.OFFERS_PROP))\n\t\t\t{\n\t\t\t\tiblockSkuProperties.set(this.iblockId, this.skuTree.OFFERS_PROP);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tiblockSkuProperties.set(this.iblockId, {});\n\t\t\t\tconst promise = new Promise((resolve) => {\n\t\t\t\t\tajax\n\t\t\t\t\t\t.runAction(\t'catalog.skuTree.getIblockProperties', {\n\t\t\t\t\t\t\tjson:{\n\t\t\t\t\t\t\t\tiblockId: this.iblockId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((result) => {\n\t\t\t\t\t\t\tiblockSkuProperties.set(this.iblockId, result.data);\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t\tpropertyPromises.delete(SkuTree.#getIblockPropertiesRequestName(this.iblockId));\n\t\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tpropertyPromises.set(SkuTree.#getIblockPropertiesRequestName(this.iblockId), promise);\n\t\t\t}\n\t\t}\n\n\t\tthis.selectable = (options.selectable !== false);\n\t\tthis.isShortView = (options.isShortView === true);\n\t\tthis.hideUnselected = (options.hideUnselected === true);\n\n\t\tif (this.hasSku())\n\t\t{\n\t\t\tthis.selectedValues = this.skuTree.SELECTED_VALUES || {...this.skuTreeOffers[0].TREE};\n\t\t}\n\n\t\tthis.existingValues = this.skuTree.EXISTING_VALUES || {};\n\t\tif (!Type.isNil(options.skuTree.EXISTING_VALUES_JSON) && Type.isNil(options.skuTree.EXISTING_VALUES))\n\t\t{\n\t\t\tthis.existingValues = JSON.parse(options.skuTree.EXISTING_VALUES_JSON);\n\t\t}\n\n\t\tfor (const key in this.existingValues)\n\t\t{\n\t\t\tif (this.existingValues[key].length === 1 && this.existingValues[key][0] === 0)\n\t\t\t{\n\t\t\t\tdelete this.existingValues[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tstatic #getIblockPropertiesRequestName(iblockId: number): string\n\t{\n\t\treturn 'IblockPropertiesRequest_' + iblockId;\n\t}\n\n\tgetProperties(): {}\n\t{\n\t\treturn iblockSkuProperties.get(this.iblockId);\n\t}\n\n\tisSelectable(): boolean\n\t{\n\t\treturn this.selectable;\n\t}\n\n\tgetSelectedValues(): {}\n\t{\n\t\treturn this.selectedValues;\n\t}\n\n\tsetSelectedProperty(propertyId, propertyValue)\n\t{\n\t\tthis.selectedValues[propertyId] = Text.toNumber(propertyValue);\n\n\t\tconst remainingProperties = this.getRemainingProperties(propertyId);\n\t\tif (remainingProperties.length)\n\t\t{\n\t\t\tfor (const remainingPropertyId of remainingProperties)\n\t\t\t{\n\t\t\t\tconst filterProperties = this.getFilterProperties(remainingPropertyId);\n\t\t\t\tconst skuItems = this.filterSku(filterProperties);\n\n\t\t\t\tif (skuItems.length)\n\t\t\t\t{\n\t\t\t\t\tlet found = false;\n\t\t\t\t\tfor (const sku of skuItems)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (sku.TREE[remainingPropertyId] === this.selectedValues[remainingPropertyId])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfound = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!found)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.selectedValues[remainingPropertyId] = skuItems[0].TREE[remainingPropertyId];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tgetRemainingProperties(propertyId): []\n\t{\n\t\tconst filter = [];\n\t\tlet found = false;\n\n\t\tfor (const prop of Object.values(this.getProperties()))\n\t\t{\n\t\t\tif (prop.ID === propertyId)\n\t\t\t{\n\t\t\t\tfound = true;\n\t\t\t}\n\t\t\telse if (found)\n\t\t\t{\n\t\t\t\tfilter.push(prop.ID);\n\t\t\t}\n\t\t}\n\n\t\treturn filter;\n\t}\n\n\thasSku(): boolean\n\t{\n\t\treturn Type.isArrayFilled(this.skuTreeOffers);\n\t}\n\n\thasSkuProps(): boolean\n\t{\n\t\treturn Object.values(this.getProperties()).length > 0;\n\t}\n\n\tgetSelectedSkuId(): ?number\n\t{\n\t\tif (!this.hasSku())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst item = this.skuTreeOffers.filter(item => {\n\t\t\treturn JSON.stringify(item.TREE) === JSON.stringify(this.selectedValues);\n\t\t})[0]\n\n\t\treturn item?.ID;\n\t}\n\n\tgetSelectedSku(): Promise\n\t{\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tconst skuId = this.getSelectedSkuId();\n\n\t\t\tif (skuId <= 0)\n\t\t\t{\n\t\t\t\treject();\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (iblockSkuList.has(skuId))\n\t\t\t{\n\t\t\t\tconst skuData = iblockSkuList.get(skuId);\n\t\t\t\tresolve(skuData);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (propertyPromises.has(SkuTree.#getSkuRequestName(skuId)))\n\t\t\t\t{\n\t\t\t\t\tpropertyPromises\n\t\t\t\t\t\t.get(SkuTree.#getSkuRequestName(skuId))\n\t\t\t\t\t\t.then((skuFields) => {\n\t\t\t\t\t\t\tresolve(skuFields);\n\t\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\tconst skuRequest = ajax\n\t\t\t\t\t\t.runAction(\t'catalog.skuTree.getSku', {\n\t\t\t\t\t\t\tjson: {\tskuId }\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.then((result) => {\n\t\t\t\t\t\t\tconst skuData = result.data;\n\t\t\t\t\t\t\tiblockSkuList.set(skuId, skuData);\n\t\t\t\t\t\t\tresolve(skuData);\n\n\t\t\t\t\t\t\tpropertyPromises.delete(SkuTree.#getSkuRequestName(skuId), skuRequest);\n\t\t\t\t\t\t});\n\n\t\t\t\t\tpropertyPromises.set(SkuTree.#getSkuRequestName(skuId), skuRequest)\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\tstatic #getSkuRequestName(skuId: number): string\n\t{\n\t\treturn 'SkuFieldsRequest_' + skuId;\n\t}\n\n\tgetActiveSkuProperties(propertyId): {}\n\t{\n\t\tconst activeSkuProperties = [];\n\t\tconst filterProperties = this.getFilterProperties(propertyId);\n\n\t\tthis.filterSku(filterProperties)\n\t\t\t.forEach(item => {\n\t\t\t\tif (!activeSkuProperties.includes(item.TREE[propertyId]))\n\t\t\t\t{\n\t\t\t\t\tactiveSkuProperties.push(item.TREE[propertyId]);\n\t\t\t\t}\n\t\t\t})\n\t\t;\n\n\t\treturn activeSkuProperties;\n\t}\n\n\tgetFilterProperties(propertyId): []\n\t{\n\t\tconst filter = [];\n\n\t\tfor (const prop of Object.values(this.getProperties()))\n\t\t{\n\t\t\tif (prop.ID === propertyId)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tfilter.push(prop.ID);\n\t\t}\n\n\t\treturn filter;\n\t}\n\n\tfilterSku(filter): []\n\t{\n\t\tif (filter.length === 0)\n\t\t{\n\t\t\treturn this.skuTreeOffers;\n\t\t}\n\n\t\tconst selectedValues = this.getSelectedValues();\n\n\t\treturn this.skuTreeOffers.filter(sku => {\n\t\t\tfor (const propertyId of filter)\n\t\t\t{\n\t\t\t\tif (sku.TREE[propertyId] !== selectedValues[propertyId])\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t});\n\t}\n\n\tgetSelectedSkuProperty(propertyId)\n\t{\n\t\treturn Text.toNumber(this.selectedValues[propertyId]);\n\t}\n\n\tlayout(): HTMLElement\n\t{\n\t\tconst container = Tag.render`<div class=\"product-item-scu-wrapper\" id=\"${this.id}\"></div>`;\n\n\t\tif (this.isShortView)\n\t\t{\n\t\t\tDom.addClass(container, '--short-format');\n\t\t}\n\n\t\tthis.skuProperties = [];\n\t\tif (this.hasSku())\n\t\t{\n\t\t\tnew Promise(\n\t\t\t\t(resolve) => {\n\t\t\t\t\tif (propertyPromises.has(SkuTree.#getIblockPropertiesRequestName(this.iblockId)))\n\t\t\t\t\t{\n\t\t\t\t\t\tpropertyPromises\n\t\t\t\t\t\t\t.get(SkuTree.#getIblockPropertiesRequestName(this.iblockId))\n\t\t\t\t\t\t\t.then(resolve);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.then(() => {\n\t\t\t\t\tif (!this.hasSkuProps())\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 skuProperties = this.getProperties();\n\t\t\t\t\tfor (const i in skuProperties)\n\t\t\t\t\t{\n\t\t\t\t\t\tif (skuProperties.hasOwnProperty(i) && !Type.isNil(this.existingValues[i]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tconst skuProperty = new SkuProperty({\n\t\t\t\t\t\t\t\tparent: this,\n\t\t\t\t\t\t\t\tproperty: skuProperties[i],\n\t\t\t\t\t\t\t\texistingValues:\n\t\t\t\t\t\t\t\t\tType.isArray(this.existingValues[i])\n\t\t\t\t\t\t\t\t\t\t? this.existingValues[i]\n\t\t\t\t\t\t\t\t\t\t:\tObject.values(this.existingValues[i])\n\t\t\t\t\t\t\t\t,\n\t\t\t\t\t\t\t\toffers: this.skuTreeOffers,\n\t\t\t\t\t\t\t\thideUnselected: this.hideUnselected,\n\t\t\t\t\t\t\t});\n\n\t\t\t\t\t\t\tDom.append(skuProperty.layout(), container);\n\t\t\t\t\t\t\tthis.skuProperties.push(skuProperty);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tEventEmitter.emit('BX.Catalog.SkuTree::onSkuLoaded', { id: this.id });\n\t\t\t\t});\n\t\t}\n\n\t\treturn container;\n\t}\n\n\ttoggleSkuProperties()\n\t{\n\t\tthis.skuProperties.forEach(property => property.toggleSkuPropertyValues());\n\t}\n}\n"],"names":["SkuProperty","options","handleSkuSelect","bind","parent","Error","property","offers","existingValues","nodeDescriptions","hideUnselected","ID","getSelectedSkuId","VALUES","length","propertyValue","uniqueId","propertyName","Type","isStringFilled","NAME","Text","encode","nameNode","Tag","render","iconNode","PICT","SRC","style","paddingLeft","titleItem","isShortView","skuSelectHandler","getId","isSelectable","hasSkuValues","skuList","renderProperties","toggleSkuPropertyValues","title","forEach","propertyValueId","node","getRandom","includes","SHOW_MODE","Dom","addClass","renderPictureSku","renderTextSku","push","appendChild","selectedSkuProperty","getSelectedSkuProperty","activeSkuProperties","getActiveSkuProperties","item","id","toNumber","input","querySelector","checked","removeClass","display","event","stopPropagation","target","closest","hasClass","propertyId","getAttribute","setSelectedProperty","getSelectedSku","then","selectedSkuData","EventEmitter","emit","toggleSkuProperties","iblockSkuProperties","Map","iblockSkuList","propertyPromises","SkuTree","setEventNamespace","skuTree","productId","PRODUCT_ID","skuTreeOffers","OFFERS","isNil","OFFERS_JSON","isArrayFilled","JSON","parse","iblockId","IBLOCK_ID","DEFAULT_IBLOCK_ID","has","isObject","OFFERS_PROP","set","promise","Promise","resolve","ajax","runAction","json","result","data","selectable","hasSku","selectedValues","SELECTED_VALUES","TREE","EXISTING_VALUES","EXISTING_VALUES_JSON","key","get","remainingProperties","getRemainingProperties","remainingPropertyId","filterProperties","getFilterProperties","skuItems","filterSku","found","sku","filter","Object","values","getProperties","prop","stringify","reject","skuId","skuData","skuFields","skuRequest","getSelectedValues","container","skuProperties","hasSkuProps","i","hasOwnProperty","skuProperty","isArray","append","layout"],"mappings":"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"}