1import{x as ke,r,s as Se,E as b,v as _e,H as $,P as k,D as i,A as f,C as n,L as Q,S as X,G as P,K as S,W as F,B as y,T as M,u as O,R,c as be,n as Y}from"./inertia-prototypes-_0KFShPv.js";import{a as Z}from"./index-DLgy2mg4.js";import{i as q}from"./isEmpty-Bn1fYr_B.js";import{d as ee}from"./debounce-CQaEZzkU.js";import{o as ye}from"./index-DdHpPoOf.js";import Le from"./StockPhotoPreview-CjwJHsKJ.js";import we from"./StockphotoCategoryButton-DdQCuCFx.js";import oe from"./CssSpinner-B0a0ZVio.js";import Ce from"./LoaderProgress-Dz9m5p7C.js";import Te from"./HorizontalSlider-1aq54MS0.js";import{u as ze,a as Pe,c as xe}from"./articleStore-hB4tM4vH.js";import{u as Be}from"./appPropertiesStore-C4AJNSeW.js";import{u as De}from"./commonComponentStateStore-CqGEfmWh.js";import{u as Ee}from"./filesmetaStore-DLIp82wQ.js";import{u as Ae}from"./commonComponentFunctionsStore-CWr9jnR3.js";/* empty css *//* empty css */import"./_commonjsHelpers-D6-XlEtG.js";import"./isSymbol-DvzfyB44.js";import"./index-DyiQYywk.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./pinia-CmWmgzNP.js";import"./orderConstants-DMIQn6Zf.js";import"./useRollbar-DH-CgsqF.js";const $e=["onClick"],Fe={key:0,class:"stockphoto-modal__loader"},Me={key:0},Oe={class:"stockphotos-bottom"},Re={key:0,class:"stockphoto-bottom__loader"},qe={class:"menu__footer"},Ge=["disabled"],po={__name:"StockPhotos",props:{article_type:{type:String,required:!0}},setup(te){const G=te,{roundToPrecision:ae}=xe(),{proxy:H}=ke(),c=H.trans,d=H.$constants,s=Be(),N=De(),u=ze(),se=Ee(),V=Pe(),le=Ae(),x=r(null),W=r(null),L=r([]),_=r([]),l=r(""),p=r({}),m=r(0),w=r(!1),B=r(!1),I=r(null),t=r({batchSize:d.stockphotos.imageGridBatchSize,bottomLoader:!1,modalLoader:!1,batchLoaded:!1,allLoaded:!1,imagesLoadedPerCategory:{}});ye(W,()=>{w.value&&z(!1)});const re={slidesToShow:2,mobileFirst:!0,infinite:!1,dots:!1,responsive:[{breakpoint:d.breakpoints.mobile_sm,settings:{slidesToShow:2}},{breakpoint:500,settings:{slidesToShow:3}},{breakpoint:600,settings:{slidesToShow:4}},{breakpoint:700,settings:{slidesToShow:5}},{breakpoint:d.breakpoints.desktop,settings:{slidesToShow:4}}]},ie=be(()=>`${(I.value-8)/4}px`);function ne(){window.hol.isMobile&&!s.is_landscape&&x.value&&x.value.reload(),K()}const J=ee(ne,100),D=ee(()=>{const e=document.querySelector(".stockphotos-thumbs");e&&!t.value.allLoaded&&e.scrollTop+e.clientHeight>=e.scrollHeight-4&&(j(!0),t.value.batchLoaded=!1,t.value.batchSize+=d.stockphotos.imageGridBatchSize)},d.stockphotos.onScrollDebounceDelay);let v=null,C=null,T=null;async function ce(){if(!q(_.value))return;const e=await Z.get(window.locale_route("vue/article.stockphotos",{product_type:G.article_type}));L.value=e.data.categories,l.value=L.value[0],_.value=e.data.sorted_stockphotos}function K(){w.value&&Y(()=>{const e=document.querySelector(".stockphotos");e&&(I.value=e.clientWidth)})}function de(){p.value={},m.value=0}function z(e){w.value=e,s.stockphotos=e,s.app_overlay_active=e,de(),e&&(K(),ue(),t.value.modalLoader=!0,E())}function E(){const e=[],a=document.querySelectorAll(".stock-photo-preview img");a.forEach(o=>{const h=new Promise((g,A)=>{o.complete?g():(o.onload=()=>g(),o.onerror=()=>A())});e.push(h)}),Promise.all(e).finally(()=>{pe({images:a})})}function ue(){Y(()=>{v&&v.removeEventListener("scroll",D),v=document.querySelector(".stockphotos-thumbs"),v&&v.addEventListener("scroll",D)})}function pe(e){t.value.batchLoaded=!0,j(!1),l.value&&_.value[l.value.id]&&_.value[l.value.id].length===e.images.length&&(t.value.allLoaded=!0),t.value.imagesLoadedPerCategory[l.value.description]=e.images.length,window.setTimeout(()=>{t.value.modalLoader=!1},d.stockphotos.removeModalLoaderDelay)}function j(e){e?window.setTimeout(()=>{t.value.batchLoaded||(t.value.bottomLoader=!0,E())},d.stockphotos.showBottomLoaderDelay):t.value.bottomLoader=!1}function me(e){l.value!==e&&!t.value.modalLoader&&(l.value=e,t.value.allLoaded=!1,t.value.batchLoaded=!1,t.value.modalLoader=!0,t.value.imagesLoadedPerCategory[l.value.description]>d.stockphotos.imageGridBatchSize?t.value.batchSize=t.value.imagesLoadedPerCategory[l.value.description]:t.value.batchSize=d.stockphotos.imageGridBatchSize,E())}function ve(e){const a=e.id,o={...p.value};
1q(o[a])?(o[a]=e,m.value+=1):(delete o[a],m.value-=1),p.value=o}async function fe(){B.value=!0,s.loader_progress=0,s.loader_progress_active=!0,s.loader_message=m.value===1?c("app.stockphotos.loader-message.save-one"):c("app.stockphotos.loader-message.save-multiple"),t.value.modalLoader=!0;let e=0;for(const a in p.value)if(Object.prototype.hasOwnProperty.call(p.value,a)){const o=new FormData,h=p.value[a];o.append("stockphoto_id",h.id),o.append("producttype",G.article_type),o.append("cropping_ratios",JSON.stringify(V.cropping_ratios)),o.append("active_cropping_ratio",V.aspect_ratio),o.append("active_article",JSON.stringify(u.active_article)),u.articles!==void 0&&u.active_article!==void 0&&!q(u.articles[u.active_article.type])&&s.type_variation==="single"&&Object.keys(u.articles[u.active_article.type]).includes("single")&&o.append("articles",JSON.stringify(u.articles[u.active_article.type].single));try{const g=await Z.post(window.locale_route("vue/file.add-stockphoto"),o,{headers:{"Content-Type":"multipart/form-data"}});if(g.data===!1)await N.setAlert({header:c("app.alert.header.oops"),message:c("app.alert.saveFailed"),btn_text:c("app.alert.btn.try-again")});else{await se.addFile(g.data),e+=1;const A=ae(99*(e/m.value),0);s.loader_progress=A}}catch{await N.setAlert({header:c("app.alert.header.oops"),message:c("app.alert.saveFailed"),btn_text:c("app.alert.btn.try-again")})}}await le.updateLargestArticleDimensions(),z(!1),t.value.modalLoader=!1,s.loader_progress_active=!1,s.loader_message="",s.loader_progress=0,b.emit("scrollToLastPreview"),B.value=!1}function he(){const e=document.querySelector(".stock-photo-preview");if(!e)return;const a=-1*e.offsetHeight;U(".stockphotos-thumbs",a)}function ge(){const e=document.querySelector(".stock-photo-preview");if(!e)return;const a=e.offsetHeight;U(".stockphotos-thumbs",a)}function U(e,a){const o=document.querySelector(e);o&&(o.scrollTop+=a)}return Se(async()=>{await ce(),C=e=>{z(e)},T=e=>{ve(e)},b.on("toggleStockPhotoModal",C),b.on("togglestockphotoselect",T),window.addEventListener("resize",J)}),_e(()=>{C&&b.off("toggleStockPhotoModal",C),T&&b.off("togglestockphotoselect",T),window.removeEventListener("resize",J),v&&v.removeEventListener("scroll",D)}),(e,a)=>(i(),$(M,{name:"stockphotosTrans"},{default:k(()=>[w.value?(i(),f("div",{key:0,ref_key:"stockphotosRef",ref:W,class:"stockphotos"},[n("div",null,[L.value.length?(i(),$(Te,{key:0,ref_key:"sliderRef",ref:x,class:"stockphotos-categories",options:re},{prevButton:k(()=>[...a[3]||(a[3]=[F("Â ",-1)])]),nextButton:k(()=>[...a[4]||(a[4]=[F("Â ",-1)])]),default:k(()=>[(i(!0),f(Q,null,X(L.value,o=>(i(),f("li",{key:o.id,class:P({active:o.id===l.value.id}),onClick:h=>me(o)},[S(we,{active:o.id===l.value.id,category:o,class:P({"loader-active":t.value.modalLoader})},null,8,["active","category","class"])],10,$e))),128))]),_:1},512)):y("",!0)]),n("div",{class:P(["stockphotos-thumbs",{"all-loaded":t.value.allLoaded}])},[(i(!0),f(Q,null,X(_.value[l.value.id],(o,h)=>(i(),$(Le,{key:o.id,currentKey:h,stockphoto:o,activeCategory:l.value,selectedStockphotos:p.value,thumbSize:ie.value,batchSize:t.value.batchSize,loading:t.value.modalLoader},null,8,["currentKey","stockphoto","activeCategory","selectedStockphotos","thumbSize","batchSize","loading"]))),128)),n("button",{class:"btn-circle md scroll-up",onClick:a[0]||(a[0]=o=>he())}),n("button",{class:"btn-circle md scroll-down",onClick:a[1]||(a[1]=o=>ge())}),S(M,{name:"fadeout"},{default:k(()=>[t.value.modalLoader?(i(),f("div",Fe,[O(s).loader_message!==""?(i(),f("p",Me,R(O(s).loader_message),1)):y("",!0),S(oe),S(Ce)])):y("",!0)]),_:1})],2),n("div",Oe,[S(M,{name:"fadeout"},{default:k(()=>[t.value.bottomLoader?(i(),f("div",Re,[S(oe)])):y("",!0)]),_:1}),n("div",qe,[n("button",{class:"btn-cancel",onClick:a[2]||(a[2]=o=>z(!1))}),n("span",null,[n("span",null,"("+R(m.value)+")",1),F(" "+R(O(c)("app.stockphotos.selected")),1)]),n("button",{class:P(["btn-save",{"in-active":m.value===0}]),disabled:B.value,onClick:fe},null,10,Ge)])])],512)):y("",!0)]),_:1}))}};export{po as default};
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.