PageSourceSearch

https://www.pixartprinting.fr/js/multiArtworks.0b9c5ebd273e2d7b2228.js

js pixartprinting.fr collected 2026-10-01 12:15:46 UTC 14,537 bytes, 1 lines download raw bytes

1export const __webpack_esm_id__=769;export const __webpack_esm_ids__=[769];export const __webpack_esm_modules__={96752(t,a,e){e.d(a,{default:()=>x}),e.r(a);var i=e(41425);const s={key:0,class:"multi-artwork d-flex flex-column gap-2"},n={class:"d-flex flex-column"},r={class:"title"},l={class:"text"},u={key:0,class:"form-text text-danger"},o={class:"validation-overlay"};e(44114),e(98992),e(54520),e(3949),e(81454),e(8872);var d=e(82124);const h={class:"d-flex gap-1"},c=["placeholder","value"],y=["value"],m=["value"],v={class:"d-flex flex-column"},p={key:0,class:"d-flex form-text text-danger"},g={key:1,class:"d-flex form-text text-danger"};var Q=e(7374),V=e(16838),f=e(25760);const I={emits:["change","error","user-changed-qty"],props:{id:Number,qtyValidationFunc:{type:Function,required:!0},maxChar:{type:Number,required:!1,default:80},minChar:{type:Number,required:!1,default:1},variationPlaceholderName:{type:String,required:!1,default:""},userSelectionNameInputValue:{required:!1,default:void 0},userSelectionQtyInputValue:{required:!1,default:void 0},forceValidation:{type:Boolean,required:!1,default:!1},stepQuantityList:{type:Array,required:!0,default:()=>[]}},data(){return{name:this.userSelectionNameInputValue??this.variationPlaceholderName,qty:this.userSelectionQtyInputValue??0,invalidQtyMessage:"",invalidNameMessage:"",userInteractedWithQty:!1,userChangedQtyAtLeastOnce:!1}},setup:()=>({uiSettings:(0,f.z)()}),computed:{...(0,d.L8)("dictionary",["getDictionaryVoice"]),placeholderName(){return(0,Q.A)(this.variationPlaceholderName)?this.variationPlaceholderName:this.getDictionaryVoice("product","nome_lavorazione")},didUserInteractWithQuantity(){return!0===this.userInteractedWithQty},layoutClass(){return this.uiSettings.customStyle}},methods:{safeParseInt:V.A,isStringFilled:Q.A,isNameValid(t){const a=t&&t.trim();if(!a||a.length<this.minChar||a.length>this.maxChar)return!1;return/^[\p{L}\p{N}\s.,;:'"!?-]+$/u.test(a)},qtyOnChange(t){this.userChangedQtyAtLeastOnce=!0,this.userInteractedWithQty=!0,this.qty=t.target.value,t.target.blur()},nameOnChange(t){this.name=t.target.value},onInvalidName({name:t}){this.invalidNameMessage=this.getDictionaryVoice("multi-artworks","error_name_input").replace("#MAX#",`${this.maxChar}`),this.$emit("error",{value:t,type:"name-error"})},onInvalidQty({qty:t,msg:a}){this.invalidQtyMessage=a.replace("NaN","0"),this.$emit("error",{value:t,type:"qty-error"})},clearErrorMessages(){this.invalidQtyMessage="",this.invalidNameMessage=""},onQtyInput(){this.$emit("qty-input")},onUserInteractedWithQty(){this.userInteractedWithQty=!0},validateAll(){this.clearErrorMessages(),this.isNameValid(this.name)||this.onInvalidName({name:this.name});const{hasError:t,errorMessage:a}=this.qtyValidationFunc(this.qty);t&&this.onInvalidQty({qty:this.qty,msg:a})},onNameChange(t){const a=t;this.invalidNameMessage="",this.isNameValid(a)||this.onInvalidName({name:a}),this.$emit("change",{id:this.id,qty:this.qty,name:a})},onQtyChange(t){const a=(0,V.A)(t);this.invalidQtyMessage="";const{hasError:e,errorMessage:i}=this.qtyValidationFunc(t);this.$emit("change",{id:this.id,qty:a,name:this.name}),!1===e?this.didUserInteractWithQuantity&&this.userChangedQtyAtLeastOnce&&this.$emit("user-changed-qty"):this.onInvalidQty({qty:t,msg:i})}},watch:{name(t){this.onNameChange(t)},qty(t){this.didUserInteractWithQuantity&&this.userChangedQtyAtLeastOnce&&this.onQtyChange(t)},userSelectionQtyInputValue(t){this.qty=t},forceValidation(t){t&&this.validateAll()}}};var q=e(66262);const C=(0,q.A)(I,[["render",function(t,a,e,s,n,r){return(0,i.uX)(),(0,i.CE)("div",{class:(0,i.C4)(["d-flex flex-column variant",r.layoutClass])},[(0,i.Lk)("div",h,[(0,i.Lk)("div",{class:(0,i.C4)(["form-group flex-3 d-flex flex-column",{"form-group-error":n.invalidNameMessage}])},[(0,i.Lk)("label",null,(0,i.v_)(t.getDictionaryVoice("multi-artworks","variants-name")),1),(0,i.Lk)("input",{class:"form-control",type:"text",placeholder:r.placeholderName,value:n.name,onChange:a[0]||(a[0]=(...t)=>r.nameOnChange&&r.nameOnChange(...t))},null,40,c)],2),(0,i.Lk)("div",{class:(0,i.C4)(["form-group flex-1 d-flex flex-column",{"form-group-error":n.invalidQtyMessage}])},[(0,i.Lk)("label",null,(0,i.v_)(t.getDictionaryVoice("multi-artworks","variant_quantity")),1),e.stepQuantityList.length>0?((0,i.uX)(),(0,i.CE)("select",(0,i.v6)({key:0,class:"form-select"}
1,n.qty,{onChange:a[1]||(a[1]=(...t)=>r.qtyOnChange&&r.qtyOnChange(...t)),onInput:a[2]||(a[2]=(...t)=>r.onQtyInput&&r.onQtyInput(...t)),onFocusout:a[3]||(a[3]=(...t)=>r.onUserInteractedWithQty&&r.onUserInteractedWithQty(...t))}),[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(e.stepQuantityList,a=>((0,i.uX)(),(0,i.CE)("option",{value:a,key:t.index},(0,i.v_)(a),9,y))),128))],16)):((0,i.uX)(),(0,i.CE)("input",{key:1,class:"form-control",type:"number",value:n.qty,onChange:a[4]||(a[4]=(...t)=>r.qtyOnChange&&r.qtyOnChange(...t)),onInput:a[5]||(a[5]=(...t)=>r.onQtyInput&&r.onQtyInput(...t)),onFocusout:a[6]||(a[6]=(...t)=>r.onUserInteractedWithQty&&r.onUserInteractedWithQty(...t))},null,40,m))],2)]),(0,i.Lk)("div",v,[n.invalidNameMessage?((0,i.uX)(),(0,i.CE)("small",p,[a[7]||(a[7]=(0,i.Lk)("span",{class:"icon icon-alert_32px"},null,-1)),(0,i.eW)((0,i.v_)(n.invalidNameMessage),1)])):(0,i.Q3)("",!0),n.invalidQtyMessage?((0,i.uX)(),(0,i.CE)("small",g,[a[8]||(a[8]=(0,i.Lk)("span",{class:"icon icon-alert_32px"},null,-1)),(0,i.eW)((0,i.v_)(n.invalidQtyMessage),1)])):(0,i.Q3)("",!0)])],2)}],["__scopeId","data-v-2461ed85"]]);var _=e(11528),A=e(95666),N=e(85575),k=e(39030);const b={components:{MultiArtworkVariation:C},emits:["variants-update","deactivate","is-active","validation-failure","validation-success"],props:{quantityValidationFunc:{type:Function,required:!0},sets:{required:!0},selectedQuantity:{required:!0},stepQuantityList:{type:Array,required:!0},minQuantity:{required:!0},lineItemVariants:{type:Array,required:!1,default:()=>[]},isReady:{type:Boolean,required:!1,default:!1},forceValidation:{type:Boolean,required:!1,default:!1},merchantProductId:{type:String,required:!0},resetQtyInteraction:{type:Boolean,required:!0},upsellQuantityDelta:{type:Number,required:!1,default:null}},data:()=>({hasError:!0,previousValue:0,variants:[],errorMessage:"",userInteractedWithVariantQuantity:!1}),setup:()=>({uiSettings:(0,f.z)()}),computed:{minimumNumberOfSets:()=>2,hasQuantitySteps(){return this.stepQuantityList?.length>0},hasVariants(){return this.variantsSize>0},variantsSize(){return this.variants.length},variantsSumQuantity(){return this.variants.reduce((t,a)=>t+(0,V.A)(a.qty),0)},didUserInteractWithVariantQuantity(){return!0===this.userInteractedWithVariantQuantity},isInterestedInUpdates(){return this.hasVariants||this.sets>=this.minimumNumberOfSets},totalQuantityChanged(){return this.variantsSumQuantity!==(0,V.A)(this.selectedQuantity)},hasUpsellDelta(){return this.upsellQuantityDelta&&0!==this.upsellQuantityDelta},layoutClass(){return this.uiSettings.customStyle},...(0,d.L8)("dictionary",["getDictionaryVoice"])},methods:{safeParseInt:V.A,debounce:_.A,isStringFilled:Q.A,deactivate(){this.forgetVariants(),this.clearErrorMessages(),this.userInteractedWithVariantQuantity=!1,this.$emit("deactivate",this.hasQuantitySteps)},onUserInteractedWithVariantQuantity(){this.userInteractedWithVariantQuantity=!0},onQtyInput(){this.$emit("qty-input")}
1,forgetVariants(){this.variants.forEach((t,a)=>{this.variants=this.variants.filter((t,e)=>e!==a)}),this.variants=[]},addNVariants(t){const a=this.variants.length+1;for(let e=a;e<a+t;e+=1)this.variants.push({id:e,name:"",qty:0})},removeLastVariant(){if(this.hasVariants){const t=this.variantsSize-1;this.variants=this.variants.filter((a,e)=>e!==t)}},removeLastNVariants(t){for(let a=0;a<t;a+=1)this.removeLastVariant()},hasVariantId(t){return this.variants.filter(a=>t===a.id).length>0},getVariantIdxById(t){return this.variants.findIndex(a=>t===a.id)},updateVariantAndTriggerValidation({id:t,name:a,qty:e}){this.updateVariant({id:t,name:a,qty:e}),this.allQuantitiesAreValid()&&this.$emit("variants-update",this.variantsSumQuantity),this.validateVariants(this.variants)},updateVariant({id:t,name:a,qty:e}){const i=this.getVariantIdxById(t);-1!==i&&(void 0!==a&&(this.variants[i].name=a),void 0!==e&&(this.variants[i].qty=e))},isVariantFilled({name:t,qty:a},e=!1){return((0,Q.A)(t)||e)&&this.isNumber(a)},isNumber:t=>!Number.isNaN((0,V.A)(t)),clearErrorMessages(){this.errorMessage=""},onVariantsErrors(){this.onValidationFailure()},onValidationFailure(t){N.A.log("validateVariants","failure"),this.hasError=!0,t&&(this.errorMessage=t),this.$emit("validation-failure")},distributeQuantityIfUserDidNotInteractYet(t){this.hasQuantitySteps?this.distributeWithQuantitySteps():this.hasUpsellDelta&&this.didUserInteractWithVariantQuantity?this.distributeProportionalDelta(this.upsellQuantityDelta):this.didUserInteractWithVariantQuantity?this.validateVariants(this.variants):this.distributeWithRemainderToFirst(t,this.sets)},distributeWithRemainderToFirst(t,a){let e=Math.floor(t/a),i=t%a;const s=(0,A.A)(this.minQuantity)?0:this.minQuantity;let n=!1;s>
1e&&(e=s,i=0,n=!0),this.variants.forEach((t,a)=>{const s=0===a?e+i:e;this.updateVariant({id:t.id,qty:s})}),this.validateVariants(this.variants),n&&this.$emit("variants-update",this.variantsSumQuantity)},distributeWithQuantitySteps(){const t=this.stepQuantityList[0];this.variants.forEach(a=>{0===a.qty&&this.updateVariant({id:a.id,qty:t})}),this.validateVariants(this.variants),this.$emit("variants-update",this.variantsSumQuantity)},onVariantsChange(t){this.validateVariants(t)},allQuantitiesAreValid(){return this.variants.reduce((t,a)=>{const{hasError:e}=this.quantityValidationFunc(a.qty);return t&&this.isVariantFilled(a,!0)&&!e})},allVariantsAreValid(){return this.variants.reduce((t,a)=>{const{hasError:e}=this.quantityValidationFunc(a.qty);return t&&this.isVariantFilled(a)&&!e},!this.hasError)},validateVariants(t){this.hasError=!1;const a=this.variantsSumQuantity,e=this.allVariantsAreValid(),i=(0,V.A)(this.selectedQuantity);this.clearErrorMessages(),N.A.log("validateVariants",a,e,i),e?(N.A.log("validateVariants","success"),this.$store.dispatch("product/setMultiArtworkDetails",{variants:t,totalVariants:this.sets,totalQty:this.variantsSumQuantity}),N.A.log("variants totalQuantityChanged",this.totalQuantityChanged),this.totalQuantityChanged&&this.userInteractedWithVariantQuantity&&this.$emit("variants-update",this.variantsSumQuantity),this.$emit("validation-success")):this.onValidationFailure()},onSetsChange(t){if(t<this.minimumNumberOfSets)this.deactivate();else{const a=this.variantsSize;t>a?this.addNVariants(t-a):t<a&&this.removeLastNVariants(a-t),this.$emit("is-active",!0)}},fireAnalyticsEvents(t,a,e){(0,k.A)("product page – multiartwork selection","ga4_event",{action:"product_page_multiartwork",additional_params:[{multiartwork_parameter:["sets",t,a].join(" - ")}]});const i=e.reduce((t,a)=>[...t,`${a.name}-${a.qty}`],["custom_quantity"]).join(" - ");(0,k.A)("product page – multiartwork selection","ga4_event",{action:"product_page_multiartwork",additional_params:[{multiartwork_parameter:i}]})},distributeProportionalDelta(t){if(!t)return;const a=this.variantsSumQuantity,e=this.variants.map(e=>{const i=(0,V.A)(e.qty),s=i/a,n=Math.round(t*s);return N.A.info("Proportional delta distribution",i,s,n),{...e,qty:i+n}}),i=e.reduce((t,a)=>t+(0,V.A)(a.qty),0),s=a+t,n=s-i;0!==n&&e.length>0&&(N.A.info("Proportional delta distribution with rounding management",i,s,n),e[0].qty+=n),this.variants=e,this.validateVariants(this.variants)}},watch:{sets:{handler(t){this.onSetsChange(t)}},selectedQuantity:{handler(t,a){this.isInterestedInUpdates&&t!==a&&this.distributeQuantityIfUserDidNotInteractYet(t)},immediate:!0},variants:{handler(t){this.isInterestedInUpdates&&this.onVariantsChange(t)},deep:!0},isReady:{handler(t){t&&this.isInterestedInUpdates&&this.distributeQuantityIfUserDidNotInteractYet(this.selectedQuantity)},deep:!0},forceValidation(t){t&&this.validateVariants(this.variants)},resetQtyInteraction(t){t&&(this.userInteractedWithVariantQuantity=!1)},upsellQuantityDelta:{handler(t,a){this.isInterestedInUpdates&&t&&0!==t&&t!==a&&(this.distributeProportionalDelta(t),this.$nextTick(()=>{this.$emit("reset-upsell-delta")}))}}},beforeMount(){this.isInterestedInUpdates&&(this.addNVariants(this.sets),this.lineItemVariants&&this.lineItemVariants.length>0?(this.userInteractedWithVariantQuantity=!0,this.lineItemVariants.forEac
1h(t=>{this.updateVariant({id:Number(t.id),name:t.name,qty:t.qty})}),this.validateVariants(this.variants)):this.distributeWithRemainderToFirst(this.selectedQuantity,this.sets),this.sets>=this.minimumNumberOfSets&&this.$emit("is-active",!0))},created(){this.unsubscribe=this.$store.subscribeAction((0,_.A)(t=>{"product/setMultiArtworkDetails"===t.type&&this.fireAnalyticsEvents(this.sets,this.merchantProductId,t.payload.variants)},75))},beforeUnmount(){this.unsubscribe()}},x=(0,q.A)(b,[["render",function(t,a,e,d,h,c){const y=(0,i.g2)("MultiArtworkVariation");return c.isInterestedInUpdates?((0,i.uX)(),(0,i.CE)("div",s,[(0,i.Lk)("div",n,[(0,i.Lk)("p",r,(0,i.v_)(t.getDictionaryVoice("multi-artworks","variants-title")),1),(0,i.Lk)("span",l,(0,i.v_)(t.getDictionaryVoice("multi-artworks","variants-disclaimer-1"))+" "+(0,i.v_)(t.getDictionaryVoice("multi-artworks","variants-disclaimer-2")),1)]),(0,i.Lk)("div",{class:(0,i.C4)(["variants-container d-flex justify-content-between flex-column gap-1",{"flex-md-row":"layout-packaging"!==c.layoutClass,"flex-wrap":"layout-packaging"!==c.layoutClass}])},[((0,i.uX)(!0),(0,i.CE)(i.FK,null,(0,i.pI)(h.variants,({id:t,name:a,qty:s})=>((0,i.uX)(),(0,i.Wv)(y,{key:t,id:t,"qty-validation-func":e.quantityValidationFunc,"user-selection-name-input-value":a,"user-selection-qty-input-value":s,"force-validation":e.forceValidation,"step-quantity-list":e.stepQuantityList,onQtyInput:c.onQtyInput,onChange:c.updateVariantAndTriggerValidation,onError:c.onVariantsErrors,onUserChangedQty:c.onUserInteractedWithVariantQuantity},null,8,["id","qty-validation-func","user-selection-name-input-value","user-selection-qty-input-value","force-validation","step-quantity-list","onQtyInput","onChange","onError","onUserChangedQty"]))),128))],2),h.errorMessage?((0,i.uX)(),(0,i.CE)("small",u,[a[0]||(a[0]=(0,i.Lk)("span",{class:"icon icon-alert_32px"},null,-1)),(0,i.eW)((0,i.v_)(h.errorMessage),1)])):(0,i.Q3)("",!0),(0,i.bF)(i.eB,{name:"fade"},{default:(0,i.k6)(()=>[(0,i.bo)((0,i.Lk)("div",o,null,512),[[i.aG,!e.isReady]])]),_:1})])):(0,i.Q3)("",!0)}],["__scopeId","data-v-05a6dd74"]])}};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.