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/ilovecveti.ru/bitrix/js/catalog/product-model/dist/ |
Upload File : |
this.BX=this.BX||{};(function(e,t,i,l,r){"use strict";var s=function(){function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"errors",new Map);this.model=t}babelHelpers.createClass(e,[{key:"getErrors",value:function e(){return Object.fromEntries(this.errors)}},{key:"setError",value:function e(t,i){this.errors.set(t,{code:t,text:i});this.model.onErrorCollectionChange();return this}},{key:"removeError",value:function e(t){if(this.errors.has(t)){this.errors["delete"](t)}this.model.onErrorCollectionChange();return this}},{key:"clearErrors",value:function e(){this.errors.clear();this.model.onErrorCollectionChange();return this}},{key:"hasErrors",value:function e(){return this.errors.size>0}}]);return e}();function a(e,t,i){n(e,t);t.set(e,i)}function n(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}var o=new WeakMap;var u=new WeakMap;var c=new WeakMap;var h=function(){function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};babelHelpers.classCallCheck(this,e);a(this,o,{writable:true,value:false});a(this,u,{writable:true,value:""});a(this,c,{writable:true,value:""});this.model=t}babelHelpers.createClass(e,[{key:"isEnableFileSaving",value:function e(){return babelHelpers.classPrivateFieldGet(this,o)}},{key:"enableFileSaving",value:function e(){babelHelpers.classPrivateFieldSet(this,o,true)}},{key:"getMorePhotoValues",value:function e(){return this.morePhoto}},{key:"setMorePhotoValues",value:function e(t){this.morePhoto=l.Type.isPlainObject(t)?t:{}}},{key:"removeMorePhotoItem",value:function e(t){for(var i in this.morePhoto){var r=this.morePhoto[i];if(!l.Type.isObject(r)){r=l.Text.toInteger(r)}if(l.Type.isNumber(r)&&r===l.Text.toInteger(t)||l.Type.isObject(r)&&r.fileId===t){delete this.morePhoto[i];return true}}return false}},{key:"setPreview",value:function e(t){babelHelpers.classPrivateFieldSet(this,u,l.Type.isStringFilled(t)?t:"");return this}},{key:"setEditInput",value:function e(t){babelHelpers.classPrivateFieldSet(this,c,l.Type.isStringFilled(t)?t:"");return this}},{key:"getPreview",value:function e(){return babelHelpers.classPrivateFieldGet(this,u)||""}},{key:"getEditInput",value:function e(){return babelHelpers.classPrivateFieldGet(this,c)||""}},{key:"addMorePhotoItem",value:function e(t,i){this.morePhoto[t]=i}}]);return e}();function d(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);t&&(l=l.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,l)}return i}function v(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?d(Object(i),!0).forEach((function(t){babelHelpers.defineProperty(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):d(Object(i)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))}))}return e}var b=function(){function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};babelHelpers.classCallCheck(this,e);babelHelpers.defineProperty(this,"changedFields",new Map);babelHelpers.defineProperty(this,"fields",new Map);this.model=t}babelHelpers.createClass(e,[{key:"getFields",value:function e(){return Object.fromEntries(this.fields)}},{key:"getField",value:function e(t){return this.fields.get(t)}},{key:"setField",value:function e(t,i){var l=this.fields.get(t);this.fields.set(t,i);if(!this.changedFields.has(t)&&l!==i){this.changedFields.set(t,l)}return this}},{key:"isChanged",value:function e(){return this.changedFields.size>0}},{key:"clearChanged",value:function e(){var t=this;var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;if(l.Type.isNil(i)){this.changedFields.clear()}else{i.forEach((function(e){t.removeFromChanged(e)}))}return this}},{key:"removeFromChanged",value:function e(t){this.changedFields["delete"](t);return this}},{key:"getChangedFields",value:function e(){var t=this;var i={};this.fields.forEach((function(e,l){if(t.changedFields.has(l)){i[l]=e}}));return v({},i)}},{key:"getChangedValues",value:function e(){var t={};this.changedFields.forEach((function(e,i){t[i]=e}));return v({},t)}},{key:"initFields",value:function e(t){var i=this;this.fields.clear();this.clearChanged();if(l.Type.isObject(t)){Object.keys(t).forEach((function(e){i.fields.set(e,t[e])}))}return this}}]);return e}();var f=function e(){babelHelpers.classCallCheck(this,e)};babelHelpers.defineProperty(f,"ACTION_PRODUCT_VIEW","catalog_product_view");babelHelpers.defineProperty(f,"ACTION_PRODUCT_EDIT","catalog_product_edit");babelHelpers.defineProperty(f,"ACTION_PRODUCT_ADD","catalog_product_add");function p(e,t){T(e,t);t.add(e)}function g(e,t,i){T(e,t);t.set(e,i)}function T(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function E(e,t,i){if(!t.has(e)){throw new TypeError("attempted to get private field on non-instance")}return i}var C=new WeakMap;var P=new WeakMap;var y=new WeakSet;var F=function(){function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};babelHelpers.classCallCheck(this,e);p(this,y);g(this,C,{writable:true,value:new Map});g(this,P,{writable:true,value:false});this.model=t}babelHelpers.createClass(e,[{key:"init",value:function e(t){var i=this;E(this,y,I).call(this,true);Object.keys(t).forEach((function(e){var r=t[e];if(r["STORE_ID"]>0){babelHelpers.classPrivateFieldGet(i,C).set(l.Text.toNumber(r["STORE_ID"]),{AMOUNT:l.Text.toNumber(r["AMOUNT"]),QUANTITY_RESERVED:l.Text.toNumber(r["QUANTITY_RESERVED"]),STORE_ID:l.Text.toNumber(r["STORE_ID"]),STORE_TITLE:l.Text.encode(r["STORE_TITLE"])})}}))}},{key:"refresh",value:function e(){var t=this;this.clear();if(this.model.getSkuId()>0&&this.model.checkAccess(f.ACTION_PRODUCT_VIEW)){l.ajax.runAction("catalog.storeSelector.getProductStores",{json:{productId:this.model.getSkuId()}}).then((function(e){E(t,y,I).call(t,true);e.data.forEach((function(e){if(!l.Type.isNil(e["STORE_ID"])){babelHelpers.classPrivateFieldGet(t,C).set(l.Text.toNumber(e["STORE_ID"]),{AMOUNT:l.Text.toNumber(e["AMOUNT"]),QUANTITY_RESERVED:l.Text.toNumber(e["QUANTITY_RESERVED"]),STORE_ID:l.Text.toNumber(e["STORE_ID"]),STORE_TITLE:e["STORE_TITLE"]})}}));t.model.onChangeStoreData()}))}}},{key:"getStoreAmount",value:function e(t){var i;return((i=babelHelpers.classPrivateFieldGet(this,C).get(l.Text.toNumber(t)))===null||i===void 0?void 0:i.AMOUNT)||0}},{key:"getStoreReserved",value:function e(t){var i;return((i=babelHelpers.classPrivateFieldGet(this,C).get(l.Text.toNumber(t)))===null||i===void 0?void 0:i.QUANTITY_RESERVED)||0}},{key:"getStoreAvailableAmount",value:function e(t){return this.getStoreAmount(t)-this.getStoreReserved(t)}},{key:"getMaxFilledStore",value:function e(){var t={STORE_ID:0,AMOUNT:0,STORE_TITLE:"",QUANTITY_RESERVED:0};babelHelpers.classPrivateFieldGet(this,C).forEach((function(e){t=e.AMOUNT>t.AMOUNT?e:t}));return t}},{key:"isInited",value:function e(){return babelHelpers.classPrivateFieldGet(this,P)}},{key:"clear",value:function e(){babelHelpers.classPrivateFieldGet(this,C).clear();E(this,y,I).call(this,false);return this}}]);return e}();function I(e){babelHelpers.classPrivateFieldSet(this,P,e)}var k;function S(e,t){m(e,t);t.add(e)}function O(e,t,i){m(e,t);t.set(e,i)}function m(e,t){if(t.has(e)){throw new TypeError("Cannot initialize the same private elements twice on an object")}}function N(e,t,i){if(!t.has(e)){throw new TypeError("attempted to get private field on non-instance")}return i}var H=new Map;var _=new WeakMap;var A=new WeakMap;var R=new WeakMap;var w=new WeakMap;var D=new WeakMap;var G=new WeakMap;var U=new WeakMap;var M=new WeakMap;var B=new WeakSet;var j=new WeakSet;var x=new WeakSet;var X=new WeakSet;var V=function(){babelHelpers.createClass(e,null,[{key:"getById",value:function e(t){return H.get(t)||null}}]);function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};babelHelpers.classCallCheck(this,e);S(this,X);S(this,x);S(this,j);S(this,B);O(this,_,{writable:true,value:null});O(this,A,{writable:true,value:null});O(this,R,{writable:true,value:null});O(this,w,{writable:true,value:null});O(this,D,{writable:true,value:null});O(this,G,{writable:true,value:null});O(this,U,{writable:true,value:null});O(this,M,{writable:true,value:null});this.options=t||{};this.id=this.options.id||l.Text.getRandom();babelHelpers.classPrivateFieldSet(this,A,new s(this));babelHelpers.classPrivateFieldSet(this,R,new h(this));babelHelpers.classPrivateFieldSet(this,_,new b(this));babelHelpers.classPrivateFieldSet(this,w,new F(this));var r=l.Extension.getSettings("catalog.product-model");babelHelpers.classPrivateFieldSet(this,D,r.get("catalogProductRights"));if(r.get("isExternalCatalog")){this.setOption("isSaveable",false)}if(l.Type.isObject(t.fields)){this.initFields(t.fields,false)}if(N(this,j,Y).call(this)){if(l.Type.isNil(t.storeMap)){babelHelpers.classPrivateFieldGet(this,w).refresh()}else{babelHelpers.classPrivateFieldGet(this,w).init(t.storeMap)}}if(l.Type.isObject(t.skuTree)){this.setSkuTree(t.skuTree)}if(l.Type.isObject(t.imageInfo));babelHelpers.classPrivateFieldSet(this,G,new i.ProductCalculator(N(this,B,W).call(this),{currencyId:this.options.currency,pricePrecision:this.options.pricePrecision||2,commonPrecision:this.options.pricePrecision||2}));babelHelpers.classPrivateFieldGet(this,G).setCalculationStrategy(new i.TaxForPriceStrategy(babelHelpers.classPrivateFieldGet(this,G)));H.set(this.id,this)}babelHelpers.createClass(e,[{key:"checkAccess",value:function e(t){var i;return l.Text.toBoolean((i=babelHelpers.classPrivateFieldGet(this,D)[t])!==null&&i!==void 0?i:false)}},{key:"getOption",value:function e(t){var i;var l=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;return(i=this.options[t])!==null&&i!==void 0?i:l}},{key:"setOption",value:function e(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;this.options[t]=i;return this}},{key:"setSkuTree",value:function e(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:null;babelHelpers.classPrivateFieldSet(this,M,t);return this}},{key:"clearSkuTree",value:function e(){babelHelpers.classPrivateFieldSet(this,M,null);return this}},{key:"getSkuTree",value:function e(){return babelHelpers.classPrivateFieldGet(this,M)}},{key:"getCalculator",value:function e(){return babelHelpers.classPrivateFieldGet(this,G)}},{key:"getErrorCollection",value:function e(){return babelHelpers.classPrivateFieldGet(this,A)}},{key:"getImageCollection",value:function e(){return babelHelpers.classPrivateFieldGet(this,R)}},{key:"getFields",value:function e(){return babelHelpers.classPrivateFieldGet(this,_).getFields()}},{key:"getStoreCollection",value:function e(){return babelHelpers.classPrivateFieldGet(this,w)}},{key:"getField",value:function e(t){return babelHelpers.classPrivateFieldGet(this,_).getField(t)}},{key:"setField",value:function e(t,i){babelHelpers.classPrivateFieldGet(this,_).setField(t,i);if((t==="SKU_ID"||t==="PRODUCT_ID")&&this.getSkuId()!==babelHelpers.classPrivateFieldGet(this,U)){babelHelpers.classPrivateFieldSet(this,U,this.getSkuId());if(babelHelpers.classPrivateFieldGet(this,U)>0&&N(this,j,Y).call(this)){babelHelpers.classPrivateFieldGet(this,w).refresh()}}return this}},{key:"setFields",value:function e(t){var i=this;Object.keys(t).forEach((function(e){i.setField(e,t[e])}));return this}},{key:"initFields",value:function e(t){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;babelHelpers.classPrivateFieldGet(this,_).initFields(t);babelHelpers.classPrivateFieldSet(this,U,this.getSkuId());if(i&&N(this,j,Y).call(this)){babelHelpers.classPrivateFieldGet(this,w).refresh()}return this}},{key:"removeField",value:function e(t){babelHelpers.classPrivateFieldGet(this,_).removeField(t);return this}},{key:"isChanged",value:function e(){return babelHelpers.classPrivateFieldGet(this,_).isChanged()}},{key:"isNew",value:function e(){return this.getOption("isNew",false)}},{key:"getSkuId",value:function e(){return this.getField("SKU_ID")||this.getProductId()}},{key:"getProductId",value:function e(){return this.getField("PRODUCT_ID")||null}},{key:"isCatalogExisted",value:function e(){return this.getSkuId()>0}},{key:"isEmpty",value:function e(){return this.getProductId()===null&&!this.isSimple()}},{key:"isSimple",value:function e(){return this.getOption("isSimpleModel",false)}},{key:"getIblockId",value:function e(){return this.getOption("iblockId",0)}},{key:"getBasePriceId",value:function e(){return this.getOption("basePriceId",0)}},{key:"getCurrency",value:function e(){return this.getOption("currency",null)}},{key:"getDetailPath",value:function e(){return this.getOption("detailPath","")}},{key:"setDetailPath",value:function e(t){this.options["detailPath"]=t||""}},{key:"isService",value:function e(){var t=parseInt(this.getField("TYPE"));return t===7}},{key:"showSaveNotifier",value:function t(i,r){if(!this.isCatalogExisted()){return}var s=r.title||"";var a=BX.UI.Notification.Event.getFullName("onClose");var n=BX.UI.Notification.Event.getFullName("onCancel");new Promise((function(t){var l=BX.UI.Notification.Center.getBalloonByCategory(e.SAVE_NOTIFICATION_CATEGORY);if(l&&l.getId()!==i){setTimeout((function(){l.close();setTimeout(t,400)}),200)}else{t()}})).then((function(){var t=BX.UI.Notification.Center.getBalloonById(i);if(!t){var o={id:i,closeButton:true,category:e.SAVE_NOTIFICATION_CATEGORY,autoHideDelay:4e3,content:l.Tag.render(k||(k=babelHelpers.taggedTemplateLiteral(["<div>","</div>"])),s)};if(r.disableCancel!==true){o.actions=[{title:r.declineCancelTitle||l.Loc.getMessage("CATALOG_PRODUCT_MODEL_SAVING_NOTIFICATION_DECLINE_SAVE"),events:{click:function e(i,l){BX.removeAllCustomEvents(t,a);l.fireEvent("onCancel");l.close()}}}]}t=BX.UI.Notification.Center.notify(o)}BX.removeAllCustomEvents(t,a);t.addEvent("onClose",(function(){var e;if(l.Type.isFunction(r===null||r===void 0?void 0:(e=r.events)===null||e===void 0?void 0:e.onSave)){r.events.onSave()}}));BX.removeAllCustomEvents(t,n);t.addEvent("onCancel",(function(){var e;if(l.Type.isFunction(r===null||r===void 0?void 0:(e=r.events)===null||e===void 0?void 0:e.onCancel)){r.events.onCancel()}}));t.show()}))}},{key:"save",value:function e(t){var i=this;if(!this.isSaveable()){return}return new Promise((function(e,l){var r;if(i.isSimple()){r=N(i,X,Q).call(i)}else{r=N(i,x,L).call(i,t)}r.then((function(l){babelHelpers.classPrivateFieldGet(i,_).clearChanged(t);e(l)}))["catch"](l)}))}},{key:"isSaveable",value:function e(){if(!this.getOption("isSaveable",true)||this.isEmpty()){return false}return this.isSimple()?this.checkAccess(f.ACTION_PRODUCT_ADD):this.checkAccess(f.ACTION_PRODUCT_EDIT)}},{key:"onErrorCollectionChange",value:function e(){t.EventEmitter.emit(this,"onErrorsChange")}},{key:"onChangeStoreData",value:function e(){t.EventEmitter.emit(this,"onChangeStoreData")}}],[{key:"getLastActiveSaveNotification",value:function t(){return BX.UI.Notification.Center.getBalloonByCategory(e.SAVE_NOTIFICATION_CATEGORY)}}]);return e}();function W(){var e=l.Text.toNumber(babelHelpers.classPrivateFieldGet(this,_).getField("PRICE"));var t=l.Type.isNumber(babelHelpers.classPrivateFieldGet(this,_).getField("BASE_PRICE"))?l.Text.toNumber(babelHelpers.classPrivateFieldGet(this,_).getField("BASE_PRICE")):e;return{QUANTITY:l.Text.toNumber(babelHelpers.classPrivateFieldGet(this,_).getField("QUANTITY")),BASE_PRICE:t,PRICE:e,PRICE_NETTO:t,PRICE_BRUTTO:e,PRICE_EXCLUSIVE:babelHelpers.classPrivateFieldGet(this,_).getField("PRICE_EXCLUSIVE")||e,DISCOUNT_TYPE_ID:babelHelpers.classPrivateFieldGet(this,_).getField("DISCOUNT_TYPE_ID")||i.DiscountType.PERCENTAGE,DISCOUNT_RATE:l.Text.toNumber(babelHelpers.classPrivateFieldGet(this,_).getField("DISCOUNT_RATE")),DISCOUNT_SUM:l.Text.toNumber(babelHelpers.classPrivateFieldGet(this,_).getField("DISCOUNT_SUM")),TAX_INCLUDED:babelHelpers.classPrivateFieldGet(this,_).getField("TAX_INCLUDED")||"N",TAX_RATE:l.Text.toNumber(babelHelpers.classPrivateFieldGet(this,_).getField("TAX_RATE"))||0,CUSTOMIZED:babelHelpers.classPrivateFieldGet(this,_).getField("CUSTOMIZED")||"N"}}function Y(){return this.getOption("isStoreCollectable",true)}function L(e){var t=this;if(this.getIblockId()<=0){return Promise.reject({status:"error",errors:["The iblock id is not set for the model."]})}if(!babelHelpers.classPrivateFieldGet(this,_).isChanged()){return Promise.resolve({status:"success",data:{id:this.getSkuId()}})}var i={};if(!l.Type.isArray(e)||e.length===0){i=babelHelpers.classPrivateFieldGet(this,_).getChangedFields()}else{var r=babelHelpers.classPrivateFieldGet(this,_).getChangedFields();Object.keys(r).forEach((function(l){if(e.includes(l)){if(l==="PRICE"||l==="BASE_PRICE"){i["PRICES"]=i["PRICES"]||{};i["PRICES"][t.getBasePriceId()]={PRICE:r[l],CURRENCY:t.getCurrency()}}else{i[l]=r[l]}}}))}return l.ajax.runAction("catalog.productSelector.updateSku",{json:{id:this.getSkuId(),updateFields:i,oldFields:babelHelpers.classPrivateFieldGet(this,_).getChangedValues()}})}function Q(){var e={NAME:babelHelpers.classPrivateFieldGet(this,_).getField("NAME",""),IBLOCK_ID:this.getIblockId()};var t=babelHelpers.classPrivateFieldGet(this,_).getField("BASE_PRICE",null);if(!l.Type.isNil(t)){e["PRICE"]=t}var i=babelHelpers.classPrivateFieldGet(this,_).getField("BARCODE",null);if(!l.Type.isNil(i)){e["BARCODE"]=i}e["CURRENCY"]=this.getCurrency();var r=babelHelpers.classPrivateFieldGet(this,_).getField("CURRENCY",null);if(l.Type.isStringFilled(r)){e["CURRENCY"]=r}return l.ajax.runAction("catalog.productSelector.createProduct",{json:{fields:e}})}babelHelpers.defineProperty(V,"SAVE_NOTIFICATION_CATEGORY","MODEL_SAVE");e.ProductModel=V;e.RightActionDictionary=f})(this.BX.Catalog=this.BX.Catalog||{},BX.Event,BX.Catalog,BX,BX.Catalog); //# sourceMappingURL=product-model.bundle.map.js