File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/modules/catalog/install/js/catalog/product-model/dist/product-model.bundle.js.map
Back
{"version":3,"file":"product-model.bundle.js","sources":["../src/error-collection.js","../src/image-collection.js","../src/field-collection.js","../src/right-action-dictionary.js","../src/store-collection.js","../src/product-model.js"],"sourcesContent":["import {ProductModel} from \"catalog.product-model\";\n\nexport class ErrorCollection\n{\n\terrors: Map = new Map();\n\n\tconstructor(model: ProductModel = {})\n\t{\n\t\tthis.model = model;\n\t}\n\n\tgetErrors()\n\t{\n\t\treturn Object.fromEntries(this.errors);\n\t}\n\n\tsetError(code: string, text: string): ErrorCollection\n\t{\n\t\tthis.errors.set(code, {\n\t\t\tcode,\n\t\t\ttext\n\t\t});\n\t\tthis.model.onErrorCollectionChange();\n\n\t\treturn this;\n\t}\n\n\tremoveError(code: string): ErrorCollection\n\t{\n\t\tif (this.errors.has(code))\n\t\t{\n\t\t\tthis.errors.delete(code);\n\t\t}\n\t\tthis.model.onErrorCollectionChange();\n\n\t\treturn this;\n\t}\n\n\tclearErrors(): ErrorCollection\n\t{\n\t\tthis.errors.clear();\n\t\tthis.model.onErrorCollectionChange();\n\n\t\treturn this;\n\t}\n\n\thasErrors()\n\t{\n\t\treturn this.errors.size > 0;\n\t}\n}\n","import {Text, Type} from 'main.core';\nimport {ProductModel} from \"catalog.product-model\";\n\nexport class ImageCollection\n{\n\t#isEnabledSaving = false;\n\t#preview = '';\n\t#editInput = '';\n\n\tconstructor(model: ProductModel = {})\n\t{\n\t\tthis.model = model;\n\t}\n\n\tisEnableFileSaving(): boolean\n\t{\n\t\treturn this.#isEnabledSaving;\n\t}\n\n\tenableFileSaving(): void\n\t{\n\t\tthis.#isEnabledSaving = true;\n\t}\n\n\tgetMorePhotoValues(): {}\n\t{\n\t\treturn this.morePhoto;\n\t}\n\n\tsetMorePhotoValues(values): void\n\t{\n\t\tthis.morePhoto = Type.isPlainObject(values) ? values : {};\n\t}\n\n\tremoveMorePhotoItem(fileId): boolean\n\t{\n\t\tfor (const index in this.morePhoto)\n\t\t{\n\t\t\tlet value = this.morePhoto[index];\n\n\t\t\tif (!Type.isObject(value))\n\t\t\t{\n\t\t\t\tvalue = Text.toInteger(value);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t(Type.isNumber(value) && value === Text.toInteger(fileId))\n\t\t\t\t|| (Type.isObject(value) && value.fileId === fileId)\n\t\t\t)\n\t\t\t{\n\t\t\t\tdelete this.morePhoto[index];\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tsetPreview(html: string): ImageCollection\n\t{\n\t\tthis.#preview = Type.isStringFilled(html) ? html : '';\n\n\t\treturn this;\n\t}\n\n\tsetEditInput(html: string): ImageCollection\n\t{\n\t\tthis.#editInput = Type.isStringFilled(html) ? html : '';\n\n\t\treturn this;\n\t}\n\n\tgetPreview(): string\n\t{\n\t\treturn this.#preview || '';\n\t}\n\n\tgetEditInput(): string\n\t{\n\t\treturn this.#editInput || '';\n\t}\n\n\taddMorePhotoItem(fileId, value): void\n\t{\n\t\tthis.morePhoto[fileId] = value;\n\t}\n}\n","import {Type} from 'main.core';\nimport {ProductModel} from \"catalog.product-model\";\n\nexport class FieldCollection\n{\n\tchangedFields: Map = new Map();\n\tfields: Map = new Map();\n\n\tconstructor(model: ProductModel = {})\n\t{\n\t\tthis.model = model;\n\t}\n\n\tgetFields(): {}\n\t{\n\t\treturn Object.fromEntries(this.fields);\n\t}\n\n\tgetField(fieldName: string): any\n\t{\n\t\treturn this.fields.get(fieldName);\n\t}\n\n\tsetField(fieldName: string, value: any): FieldCollection\n\t{\n\t\tconst oldValue = this.fields.get(fieldName);\n\t\tthis.fields.set(fieldName, value);\n\t\tif (!this.changedFields.has(fieldName) && oldValue !== value)\n\t\t{\n\t\t\tthis.changedFields.set(fieldName, oldValue);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tisChanged(): boolean\n\t{\n\t\treturn (this.changedFields.size > 0);\n\t}\n\n\tclearChanged(savingFieldNames: [] = null): FieldCollection\n\t{\n\t\tif (Type.isNil(savingFieldNames))\n\t\t{\n\t\t\tthis.changedFields.clear();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tsavingFieldNames.forEach((name) => {\n\t\t\t\tthis.removeFromChanged(name)\n\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tremoveFromChanged(fieldName): FieldCollection\n\t{\n\t\tthis.changedFields.delete(fieldName);\n\n\t\treturn this;\n\t}\n\n\tgetChangedFields(): {}\n\t{\n\t\tconst changedFieldValues = {};\n\n\t\tthis.fields.forEach((value, key) => {\n\t\t\tif (this.changedFields.has(key))\n\t\t\t{\n\t\t\t\tchangedFieldValues[key] = value;\n\t\t\t}\n\t\t})\n\n\t\treturn {...changedFieldValues};\n\t}\n\n\tgetChangedValues(): {}\n\t{\n\t\tconst changedFieldValues = {};\n\n\t\tthis.changedFields.forEach((value, key) => {\n\t\t\tchangedFieldValues[key] = value;\n\t\t})\n\n\t\treturn {...changedFieldValues};\n\t}\n\n\tinitFields(fields): FieldCollection\n\t{\n\t\tthis.fields.clear();\n\t\tthis.clearChanged();\n\t\tif (Type.isObject(fields))\n\t\t{\n\t\t\tObject.keys(fields).forEach((key) => {\n\t\t\t\tthis.fields.set(key, fields[key])\n\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n}\n","export class RightActionDictionary\n{\n\tstatic ACTION_PRODUCT_VIEW: string = 'catalog_product_view';\n\tstatic ACTION_PRODUCT_EDIT: string = 'catalog_product_edit';\n\tstatic ACTION_PRODUCT_ADD: string = 'catalog_product_add';\n}","import {ajax, Text, Type} from \"main.core\";\nimport {ProductModel} from \"catalog.product-model\";\nimport {RightActionDictionary} from \"./right-action-dictionary\";\n\nexport class StoreCollection\n{\n\t#map: Map = new Map();\n\t#inited: boolean = false;\n\n\tconstructor(model: ProductModel = {})\n\t{\n\t\tthis.model = model;\n\t}\n\n\tinit(map: {})\n\t{\n\t\tthis.#setInited(true);\n\t\tObject.keys(map).forEach((key) => {\n\t\t\tconst item = map[key];\n\t\t\tif (item['STORE_ID'] > 0)\n\t\t\t{\n\t\t\t\tthis.#map.set(\n\t\t\t\t\tText.toNumber(item['STORE_ID']),\n\t\t\t\t\t{\n\t\t\t\t\t\tAMOUNT: Text.toNumber(item['AMOUNT']),\n\t\t\t\t\t\tQUANTITY_RESERVED: Text.toNumber(item['QUANTITY_RESERVED']),\n\t\t\t\t\t\tSTORE_ID: Text.toNumber(item['STORE_ID']),\n\t\t\t\t\t\tSTORE_TITLE: Text.encode(item['STORE_TITLE']),\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t}\n\n\trefresh(): {}\n\t{\n\t\tthis.clear();\n\t\tif (this.model.getSkuId() > 0 && this.model.checkAccess(RightActionDictionary.ACTION_PRODUCT_VIEW))\n\t\t{\n\t\t\tajax.runAction(\n\t\t\t\t'catalog.storeSelector.getProductStores',\n\t\t\t\t{\n\t\t\t\t\tjson: {\n\t\t\t\t\t\tproductId: this.model.getSkuId(),\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t)\n\t\t\t\t.then((response) => {\n\t\t\t\t\tthis.#setInited(true);\n\t\t\t\t\tresponse.data.forEach((item) => {\n\t\t\t\t\t\tif (!Type.isNil(item['STORE_ID']))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tthis.#map.set(\n\t\t\t\t\t\t\t\tText.toNumber(item['STORE_ID']),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tAMOUNT: Text.toNumber(item['AMOUNT']),\n\t\t\t\t\t\t\t\t\tQUANTITY_RESERVED: Text.toNumber(item['QUANTITY_RESERVED']),\n\t\t\t\t\t\t\t\t\tSTORE_ID: Text.toNumber(item['STORE_ID']),\n\t\t\t\t\t\t\t\t\tSTORE_TITLE: item['STORE_TITLE'],\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\n\t\t\t\t\tthis.model.onChangeStoreData();\n\t\t\t\t});\n\t\t}\n\t}\n\n\tgetStoreAmount(storeId): any\n\t{\n\t\treturn this.#map.get(Text.toNumber(storeId))?.AMOUNT || 0;\n\t}\n\n\tgetStoreReserved(storeId): any\n\t{\n\t\treturn this.#map.get(Text.toNumber(storeId))?.QUANTITY_RESERVED || 0;\n\t}\n\n\tgetStoreAvailableAmount(storeId): any\n\t{\n\t\treturn this.getStoreAmount(storeId) - this.getStoreReserved(storeId);\n\t}\n\n\tgetMaxFilledStore(): {}\n\t{\n\t\tlet result = {\n\t\t\t'STORE_ID': 0,\n\t\t\t'AMOUNT': 0,\n\t\t\t'STORE_TITLE': '',\n\t\t\t'QUANTITY_RESERVED': 0,\n\t\t};\n\t\tthis.#map.forEach((item) => {\n\t\t\tresult =\n\t\t\t\titem.AMOUNT > result.AMOUNT\n\t\t\t\t\t? item\n\t\t\t\t\t: result\n\t\t\t;\n\t\t});\n\n\t\treturn result;\n\t}\n\n\t#setInited(inited: boolean): void\n\t{\n\t\tthis.#inited = inited;\n\t}\n\n\tisInited(): boolean\n\t{\n\t\treturn this.#inited;\n\t}\n\n\tclear(): StoreCollection\n\t{\n\t\tthis.#map.clear();\n\t\tthis.#setInited(false);\n\n\t\treturn this;\n\t}\n}\n","import {ajax, Extension, Loc, Tag, Text, Type} from 'main.core';\nimport {EventEmitter} from \"main.core.events\";\nimport {ErrorCollection} from \"./error-collection\";\nimport {ImageCollection} from \"./image-collection\";\nimport {ProductOption} from \"./product-option\";\nimport {DiscountType, ProductCalculator, TaxForPriceStrategy} from \"catalog.product-calculator\";\nimport {FieldCollection} from \"./field-collection\";\nimport {StoreCollection} from \"./store-collection\";\nimport {RightActionDictionary} from \"./right-action-dictionary\";\n\nconst instances = new Map();\n\nclass ProductModel\n{\n\t#fieldCollection = null;\n\t#errorCollection = null;\n\t#imageCollection = null;\n\t#storeCollection = null;\n\t#productRights = null;\n\t#calculator = null;\n\t#offerId = null;\n\t#skuTree = null;\n\n\tstatic SAVE_NOTIFICATION_CATEGORY = 'MODEL_SAVE'\n\n\tstatic getById(id: string): ?ProductModel\n\t{\n\t\treturn instances.get(id) || null;\n\t}\n\n\tconstructor(options: ProductOption = {})\n\t{\n\t\tthis.options = options || {};\n\t\tthis.id = this.options.id || Text.getRandom();\n\n\t\tthis.#errorCollection = new ErrorCollection(this);\n\t\tthis.#imageCollection = new ImageCollection(this);\n\t\tthis.#fieldCollection = new FieldCollection(this);\n\t\tthis.#storeCollection = new StoreCollection(this);\n\n\t\tconst settings = Extension.getSettings('catalog.product-model');\n\t\tthis.#productRights = settings.get('catalogProductRights');\n\n\t\tif (Type.isObject(options.fields))\n\t\t{\n\t\t\tthis.initFields(options.fields, false);\n\t\t}\n\n\t\tif (Type.isNil(options.storeMap))\n\t\t{\n\t\t\tthis.#storeCollection.refresh();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.#storeCollection.init(options.storeMap);\n\t\t}\n\n\t\tif (Type.isObject(options.skuTree))\n\t\t{\n\t\t\tthis.setSkuTree(options.skuTree);\n\t\t}\n\n\t\tif (Type.isObject(options.imageInfo))\n\t\t{\n\t\t\t// this.getImageCollection().setMorePhotoValues(options.imageInfo.morePhoto);\n\t\t}\n\n\t\tthis.#calculator = new ProductCalculator(this.#getDefaultCalculationFields(), {\n\t\t\tcurrencyId: this.options.currency,\n\t\t\tpricePrecision: this.options.pricePrecision || 2,\n\t\t\tcommonPrecision: this.options.pricePrecision || 2,\n\t\t});\n\t\tthis.#calculator.setCalculationStrategy(new TaxForPriceStrategy(this.#calculator));\n\n\t\tinstances.set(this.id, this);\n\t}\n\n\t#getDefaultCalculationFields(): {}\n\t{\n\t\tconst defaultPrice = Text.toNumber(this.#fieldCollection.getField('PRICE'));\n\t\tconst basePrice = Type.isNumber(this.#fieldCollection.getField('BASE_PRICE'))\n\t\t\t? Text.toNumber(this.#fieldCollection.getField('BASE_PRICE'))\n\t\t\t: defaultPrice;\n\n\t\treturn {\n\t\t\t'QUANTITY': Text.toNumber(this.#fieldCollection.getField('QUANTITY')),\n\t\t\t'BASE_PRICE': basePrice,\n\t\t\t'PRICE': defaultPrice,\n\t\t\t'PRICE_NETTO': basePrice,\n\t\t\t'PRICE_BRUTTO': defaultPrice,\n\t\t\t'PRICE_EXCLUSIVE': this.#fieldCollection.getField('PRICE_EXCLUSIVE') || defaultPrice,\n\t\t\t'DISCOUNT_TYPE_ID': this.#fieldCollection.getField('DISCOUNT_TYPE_ID') || DiscountType.PERCENTAGE,\n\t\t\t'DISCOUNT_RATE': Text.toNumber(this.#fieldCollection.getField('DISCOUNT_RATE')),\n\t\t\t'DISCOUNT_SUM': Text.toNumber(this.#fieldCollection.getField('DISCOUNT_SUM')),\n\t\t\t'TAX_INCLUDED': this.#fieldCollection.getField('TAX_INCLUDED') || 'N',\n\t\t\t'TAX_RATE': Text.toNumber(this.#fieldCollection.getField('TAX_RATE')) || 0,\n\t\t\t'CUSTOMIZED': this.#fieldCollection.getField('CUSTOMIZED') || 'N',\n\t\t};\n\t}\n\n\tcheckAccess(action: RightActionDictionary): boolean\n\t{\n\t\treturn Text.toBoolean(this.#productRights[action] ?? false);\n\t}\n\n\tgetOption(name: string, defaultValue: any = null): any\n\t{\n\t\treturn this.options[name] || defaultValue\n\t}\n\n\tsetOption(name: string, value: any = null): this\n\t{\n\t\tthis.options[name] = value;\n\n\t\treturn this;\n\t}\n\n\tsetSkuTree(skuTree: {} = null): this\n\t{\n\t\tthis.#skuTree = skuTree;\n\n\t\treturn this;\n\t}\n\n\tclearSkuTree(): this\n\t{\n\t\tthis.#skuTree = null;\n\n\t\treturn this;\n\t}\n\n\tgetSkuTree(): ?{}\n\t{\n\t\treturn this.#skuTree;\n\t}\n\n\tgetCalculator(): ProductCalculator\n\t{\n\t\treturn this.#calculator;\n\t}\n\n\tgetErrorCollection(): ErrorCollection\n\t{\n\t\treturn this.#errorCollection;\n\t}\n\n\tgetImageCollection(): ImageCollection\n\t{\n\t\treturn this.#imageCollection;\n\t}\n\n\tgetFields(): {}\n\t{\n\t\treturn this.#fieldCollection.getFields();\n\t}\n\n\tgetStoreCollection(): StoreCollection\n\t{\n\t\treturn this.#storeCollection;\n\t}\n\n\tgetField(fieldName: string): any\n\t{\n\t\treturn this.#fieldCollection.getField(fieldName);\n\t}\n\n\tsetField(fieldName: string, value: any): ProductModel\n\t{\n\t\tthis.#fieldCollection.setField(fieldName, value);\n\n\t\tif (\n\t\t\t(\n\t\t\t\tfieldName === 'SKU_ID' || fieldName === 'PRODUCT_ID'\n\t\t\t)\n\t\t\t&& this.getSkuId() !== this.#offerId\n\t\t)\n\t\t{\n\t\t\tthis.#offerId = this.getSkuId();\n\t\t\tif (this.#offerId > 0)\n\t\t\t{\n\t\t\t\tthis.#storeCollection.refresh();\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetFields(fields): ProductModel\n\t{\n\t\tObject.keys(fields).forEach((key) => {\n\t\t\tthis.setField(key, fields[key]);\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tinitFields(fields: {}, refreshStoreInfo: boolean = true): ProductModel\n\t{\n\t\tthis.#fieldCollection.initFields(fields);\n\t\tthis.#offerId = this.getSkuId();\n\t\tif (refreshStoreInfo)\n\t\t{\n\t\t\tthis.#storeCollection.refresh();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tremoveField(fieldName): ProductModel\n\t{\n\t\tthis.#fieldCollection.removeField(fieldName);\n\n\t\treturn this;\n\t}\n\n\tisChanged(): boolean\n\t{\n\t\treturn this.#fieldCollection.isChanged();\n\t}\n\n\tisNew(): boolean\n\t{\n\t\treturn this.getOption('isNew', false);\n\t}\n\n\tgetSkuId(): ?number\n\t{\n\t\treturn this.getField('SKU_ID') || this.getProductId();\n\t}\n\n\tgetProductId(): ?number\n\t{\n\t\treturn this.getField('PRODUCT_ID') || null;\n\t}\n\n\tisCatalogExisted(): boolean\n\t{\n\t\treturn this.getSkuId() > 0;\n\t}\n\n\tisEmpty(): boolean\n\t{\n\t\treturn this.getProductId() === null && !this.isSimple();\n\t}\n\n\tisSimple(): boolean\n\t{\n\t\treturn this.getOption('isSimpleModel', false);\n\t}\n\n\tgetIblockId(): boolean\n\t{\n\t\treturn this.getOption('iblockId', 0);\n\t}\n\n\tgetBasePriceId(): number\n\t{\n\t\treturn this.getOption('basePriceId', 0);\n\t}\n\n\tgetCurrency(): number\n\t{\n\t\treturn this.getOption('currency', null);\n\t}\n\n\tgetDetailPath(): string\n\t{\n\t\treturn this.getOption('detailPath', '');\n\t}\n\n\tsetDetailPath(value: string): void\n\t{\n\t\tthis.options['detailPath'] = value || '';\n\t}\n\n\tisService(): boolean\n\t{\n\t\tconst type = parseInt(this.getField('TYPE'));\n\t\treturn type === 7; // \\Bitrix\\Catalog\\ProductTable::TYPE_SERVICE\n\t}\n\n\tshowSaveNotifier(id: string, options: {})\n\t{\n\t\tif (!this.isCatalogExisted())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst title = options.title || '';\n\t\tconst closeEventName = BX.UI.Notification.Event.getFullName('onClose');\n\t\tconst cancelEventName = BX.UI.Notification.Event.getFullName('onCancel');\n\n\t\tnew Promise((resolve) => {\n\t\t\tconst currentBalloon = BX.UI.Notification.Center.getBalloonByCategory(ProductModel.SAVE_NOTIFICATION_CATEGORY);\n\t\t\tif (currentBalloon && currentBalloon.getId() !== id)\n\t\t\t{\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tcurrentBalloon.close();\n\t\t\t\t\tsetTimeout(resolve, 400);\n\t\t\t\t}, 200);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tresolve();\n\t\t\t}\n\t\t})\n\t\t\t.then(() => {\n\t\t\t\tlet notify = BX.UI.Notification.Center.getBalloonById(id);\n\t\t\t\tif (!notify)\n\t\t\t\t{\n\t\t\t\t\tconst notificationOptions = {\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tcloseButton: true,\n\t\t\t\t\t\tcategory: ProductModel.SAVE_NOTIFICATION_CATEGORY,\n\t\t\t\t\t\tautoHideDelay: 4000,\n\t\t\t\t\t\tcontent: Tag.render`<div>${title}</div>`,\n\n\t\t\t\t\t};\n\n\t\t\t\t\tif (options.disableCancel !== true)\n\t\t\t\t\t{\n\t\t\t\t\t\tnotificationOptions.actions = [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttitle: options.declineCancelTitle || Loc.getMessage('CATALOG_PRODUCT_MODEL_SAVING_NOTIFICATION_DECLINE_SAVE'),\n\t\t\t\t\t\t\t\tevents: {\n\t\t\t\t\t\t\t\t\tclick: (event, balloon) => {\n\t\t\t\t\t\t\t\t\t\tBX.removeAllCustomEvents(notify, closeEventName);\n\t\t\t\t\t\t\t\t\t\tballoon.fireEvent('onCancel');\n\t\t\t\t\t\t\t\t\t\tballoon.close();\n\t\t\t\t\t\t\t\t\t}\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\n\t\t\t\t\tnotify = BX.UI.Notification.Center.notify(notificationOptions);\n\t\t\t\t}\n\n\t\t\t\tBX.removeAllCustomEvents(notify, closeEventName);\n\t\t\t\tnotify.addEvent('onClose', () => {\n\t\t\t\t\tif (Type.isFunction(options?.events?.onSave))\n\t\t\t\t\t{\n\t\t\t\t\t\t(options.events.onSave)();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tBX.removeAllCustomEvents(notify, cancelEventName);\n\t\t\t\tnotify.addEvent('onCancel', () => {\n\t\t\t\t\tif (Type.isFunction(options?.events?.onCancel))\n\t\t\t\t\t{\n\t\t\t\t\t\t(options.events.onCancel)();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tnotify.show();\n\t\t\t});\n\t}\n\n\tstatic getLastActiveSaveNotification(): ?BX.UI.Notification.Balloon\n\t{\n\t\treturn BX.UI.Notification.Center.getBalloonByCategory(ProductModel.SAVE_NOTIFICATION_CATEGORY);\n\t}\n\n\tsave(savingFieldNames: []): ?Promise\n\t{\n\t\tif (!this.isSaveable())\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tlet ajaxResult;\n\t\t\tif (this.isSimple())\n\t\t\t{\n\t\t\t\tajaxResult = this.#createProduct();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tajaxResult = this.#updateProduct(savingFieldNames);\n\t\t\t}\n\n\t\t\tajaxResult\n\t\t\t\t.then((event) => {\n\t\t\t\t\tthis.#fieldCollection.clearChanged(savingFieldNames);\n\t\t\t\t\tresolve(event);\n\t\t\t\t})\n\t\t\t\t.catch(reject)\n\t\t});\n\t}\n\n\tisSaveable(): boolean\n\t{\n\t\tif (!this.getOption('isSaveable', true) || this.isEmpty())\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.isSimple()\n\t\t\t? this.checkAccess(RightActionDictionary.ACTION_PRODUCT_ADD)\n\t\t\t: this.checkAccess(RightActionDictionary.ACTION_PRODUCT_EDIT)\n\t\t;\n\t}\n\n\tonErrorCollectionChange()\n\t{\n\t\tEventEmitter.emit(this,'onErrorsChange');\n\t}\n\n\tonChangeStoreData()\n\t{\n\t\tEventEmitter.emit(this,'onChangeStoreData');\n\t}\n\n\t#updateProduct(savingFieldNames: [])\n\t{\n\t\tif (this.getIblockId() <= 0)\n\t\t{\n\t\t\treturn Promise.reject({\n\t\t\t\tstatus: 'error',\n\t\t\t\terrors: [\n\t\t\t\t\t'The iblock id is not set for the model.'\n\t\t\t\t],\n\t\t\t});\n\t\t}\n\n\t\tif (!this.#fieldCollection.isChanged())\n\t\t{\n\t\t\treturn Promise.resolve({\n\t\t\t\tstatus: 'success',\n\t\t\t\tdata: {\n\t\t\t\t\tid: this.getSkuId(),\n\t\t\t\t},\n\t\t\t});\n\t\t}\n\n\t\tlet savedFields = {};\n\t\tif (!Type.isArray(savingFieldNames) || savingFieldNames.length === 0)\n\t\t{\n\t\t\tsavedFields = this.#fieldCollection.getChangedFields();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst changedFields = this.#fieldCollection.getChangedFields();\n\t\t\tObject.keys(changedFields).forEach((key) => {\n\t\t\t\tif (savingFieldNames.includes(key))\n\t\t\t\t{\n\t\t\t\t\tif (key === 'PRICE' || key === 'BASE_PRICE')\n\t\t\t\t\t{\n\t\t\t\t\t\tsavedFields['PRICES'] = savedFields['PRICES'] || {};\n\t\t\t\t\t\tsavedFields['PRICES'][this.getBasePriceId()] = {\n\t\t\t\t\t\t\tPRICE: changedFields[key],\n\t\t\t\t\t\t\tCURRENCY: this.getCurrency(),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tsavedFields[key] = changedFields[key];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\treturn ajax.runAction(\n\t\t\t'catalog.productSelector.updateSku',\n\t\t\t{\n\t\t\t\tjson: {\n\t\t\t\t\tid: this.getSkuId(),\n\t\t\t\t\tupdateFields: savedFields,\n\t\t\t\t\toldFields: this.#fieldCollection.getChangedValues(),\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\t#createProduct(): Promise\n\t{\n\t\tconst fields = {\n\t\t\tNAME: this.#fieldCollection.getField('NAME', ''),\n\t\t\tIBLOCK_ID: this.getIblockId()\n\t\t};\n\n\t\tconst price = this.#fieldCollection.getField('BASE_PRICE', null);\n\t\tif (!Type.isNil(price))\n\t\t{\n\t\t\tfields['PRICE'] = price;\n\t\t}\n\n\t\tconst barcode = this.#fieldCollection.getField('BARCODE', null);\n\t\tif (!Type.isNil(barcode))\n\t\t{\n\t\t\tfields['BARCODE'] = barcode;\n\t\t}\n\n\t\tfields['CURRENCY'] = this.getCurrency();\n\t\tconst currency = this.#fieldCollection.getField('CURRENCY', null);\n\t\tif (Type.isStringFilled(currency))\n\t\t{\n\t\t\tfields['CURRENCY'] = currency;\n\t\t}\n\n\t\treturn ajax.runAction(\n\t\t\t'catalog.productSelector.createProduct',\n\t\t\t{\n\t\t\t\tjson: {\n\t\t\t\t\tfields\n\t\t\t\t}\n\t\t\t}\n\t\t)\n\t}\n}\n\nexport {ProductModel, RightActionDictionary}\n"],"names":["ErrorCollection","model","Map","Object","fromEntries","errors","code","text","set","onErrorCollectionChange","has","clear","size","ImageCollection","morePhoto","values","Type","isPlainObject","fileId","index","value","isObject","Text","toInteger","isNumber","html","isStringFilled","FieldCollection","fields","fieldName","get","oldValue","changedFields","savingFieldNames","isNil","forEach","name","removeFromChanged","changedFieldValues","key","clearChanged","keys","RightActionDictionary","StoreCollection","map","item","toNumber","AMOUNT","QUANTITY_RESERVED","STORE_ID","STORE_TITLE","encode","getSkuId","checkAccess","ACTION_PRODUCT_VIEW","ajax","runAction","json","productId","then","response","data","onChangeStoreData","storeId","getStoreAmount","getStoreReserved","result","inited","instances","ProductModel","id","options","getRandom","settings","Extension","getSettings","initFields","storeMap","refresh","init","skuTree","setSkuTree","imageInfo","ProductCalculator","currencyId","currency","pricePrecision","commonPrecision","setCalculationStrategy","TaxForPriceStrategy","action","toBoolean","defaultValue","getFields","getField","setField","refreshStoreInfo","removeField","isChanged","getOption","getProductId","isSimple","type","parseInt","isCatalogExisted","title","closeEventName","BX","UI","Notification","Event","getFullName","cancelEventName","Promise","resolve","currentBalloon","Center","getBalloonByCategory","SAVE_NOTIFICATION_CATEGORY","getId","setTimeout","close","notify","getBalloonById","notificationOptions","closeButton","category","autoHideDelay","content","Tag","render","disableCancel","actions","declineCancelTitle","Loc","getMessage","events","click","event","balloon","removeAllCustomEvents","fireEvent","addEvent","isFunction","onSave","onCancel","show","isSaveable","reject","ajaxResult","isEmpty","ACTION_PRODUCT_ADD","ACTION_PRODUCT_EDIT","EventEmitter","emit","defaultPrice","basePrice","DiscountType","PERCENTAGE","getIblockId","status","savedFields","isArray","length","getChangedFields","includes","getBasePriceId","PRICE","CURRENCY","getCurrency","updateFields","oldFields","getChangedValues","NAME","IBLOCK_ID","price","barcode"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.26 |
proxy
|
phpinfo
|
Settings