File manager - Edit - /home/web/vm-3fadc827.na4u.ru/www/bitrix/modules/catalog/install/js/catalog/sku-tree/dist/sku-tree.bundle.js.map
Back
{"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\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=\"${propertyName}\"\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\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=\"${propertyName}\"\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\treturn Tag.render`\n\t\t\t<div class=\"product-item-detail-info-container\">\n\t\t\t\t<div class=\"product-item-detail-info-container-title\">${Text.encode(this.property.NAME)}</div>\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\tconst innerText = selectedSkuProperty.querySelector('.ui-ctl-inner');\n\t\tDom.addClass(innerText, ['ui-ctl-before','ui-ctl-icon-loader']);\n\n\t\tthis.parent.setSelectedProperty(propertyId, propertyValue);\n\n\t\tthis.parent.getSelectedSku().then((selectedSkuData) => {\n\t\t\tDom.removeClass(innerText, ['ui-ctl-before','ui-ctl-icon-loader']);\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 SkuProperty from './sku-property';\nimport './sku-tree.css';\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.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\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\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});\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}"],"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","skuSelectHandler","getId","isSelectable","hasSkuValues","skuList","renderProperties","toggleSkuPropertyValues","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","innerText","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","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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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.25 |
proxy
|
phpinfo
|
Settings