1import{Ai as e,Ir as t,Si as n,Vi as r,Xi as i,xi as a}from"./src-D9GYhO4rRw.js";import{Bt as ee,Dt as te,It as o,Jt as ne,Kt as re,Ot as s,St as c,Vt as ie,Xt as l,Zt as ae,an as u,at as oe,bt as d,ct as se,dn as f,fn as p,ft as m,gt as h,hn as ce,mt as le,pt as g}from"./vue-DR-_0DQxXA.js";import{t as ue}from"./GridList-BC9Hzio9pO.js";var de={class:`pac-multi-level-cate-list__tagCollapse`},fe={class:`pac-multi-level-cate-list__container`},pe={class:`pac-multi-level-cate-list__container__all`},me=[`id`],he={class:`pac-multi-level-cate-list__container__cate__list`},ge=[`id`,`cate`],_=i(c({__name:`MultiLevelCateList`,props:{activeTag:{},cates:{},getDataListFunc:{},pageInfo:{},hoverMaskText:{default:`Switch`},singleItemLoading:{type:Boolean},cateTrackEvent:{},customSkeletonData:{},skeletonTotal:{default:4},isSearch:{type:Boolean},mode:{},autoShowMask:{type:Boolean},nativeScroll:{type:Boolean},gtm:{}},emits:[`on-click`,`on-mousedown`,`update:activeTag`,`update:singleItemLoading`],setup(i,{expose:c,emit:_}){let v=i,y=Math.random().toString(36).substring(2,15),b=re(),_e=u(-1),ve=u(v.activeTag??-1),ye=u(!1),x=m({get(){return ve.value??_e.value},set(e){_(`update:activeTag`,e),ve.value=e,_e.value=e}}),S=u(),be=(e,t=!1)=>{if(!e||!S.value)return;let n=S.value.getScrollPanelElm();if(!n)return;let r=n.getBoundingClientRect(),i=e.getBoundingClientRect(),a=n.scrollTop,ee=i.top-r.top+a-32;S.value.scrollTo({y:Math.max(0,ee)},t?300:0)},xe=e=>new Promise(t=>{w.value=`up`;let n=Oe(L(M.value.key));n?(q(n),W(!0,n),s(async()=>{be(document.getElementById(`${y}-multi-level-cate-${e}`)),W(!1,n),await G(!0,n,!1),s(()=>{be(document.getElementById(`${y}-multi-level-cate-${e}`))}),t(`down`)})):t(`previous Cate do not exit`)}),Se=async()=>{try{w.value=`down`,q(),await G(!0);let e=j.value[0];if(!e.list[0])return;await xe(e.key)}catch(e){console.error(e)}},Ce=async(e,t,n)=>{var r,i;let a=F.value.find(t=>(t==null?void 0:t.key)===e);a&&R(a),H(),j.value=[],S.value.scrollToTop(0),I(e)?await J():await Se(),(r=(i=window).$track)==null||r.call(i,{event:v.cateTrackEvent,name:t,type:n})},we=u(0),C=u({current:1,pageSize:20,...v.pageInfo});ne(()=>v.pageInfo,()=>{C.value={...C.value,...v.pageInfo}});let w=u(`down`),T=m(()=>w.value===`down`),E=m(()=>w.value===`down`?`push`:`unshift`),D=u(0),O=u(new Set),k=u(!1),A=m({get:()=>v.singleItemLoading||k.value,set:e=>{k.value=e,_(`update:singleItemLoading`,e)}}),j=u([]),M=m(()=>j.value[T.value?j.value.length-1:0]),Te=m(()=>M.value.list[T.value?M.value.list.length-1:0]),Ee=m(()=>M.value&&M.value.isContinuable),N=u({key:0,label:``,total:0}),P=m(()=>v.cates.filter(e=>e.total>0).map(e=>{var t;return{...e,subOptions:(t=e.subOptions)==null?void 0:t.filter(e=>e.total>0)}})),De=e=>P.value.some(t=>t.key===e),F=m(()=>P.value.map(e=>{var t;return e.subOptions&&((t=e.subOptions)==null?void 0:t.length)>0?e.subOptions:[e]}).flat()),I=e=>{var t;return((t=F.value[0])==null?void 0:t.key)===e},L=e=>F.value.find(t=>t.key===e),R=e=>N.value=e,Oe=(e=N.value)=>{let t=F.value.findIndex(t=>(t==null?void 0:t.key)===e.key);return T.value?F.value[t+1]:t>0?F.value[t-1]:void 0},ke=(e,n=(()=>{var e;return(e=S.value)==null?void 0:e.getScrollContentElm()})())=>{let r=(n==null?void 0:n.scrollHeight)||0;e(),!(T.value||!t||!n)&&requestAnimationFrame(()=>{let e=n.scrollHeight;S.value.scrollTo({x:0,y:S.value.getScrollPosition().scrollTop+e-r},0)})},Ae=()=>{var e;let{height:t,top:n}=S.value.getScrollPanelElm().getBoundingClientRect(),r=(e=Ke.value)==null?void 0:e.filter(e=>{let{top:r,height:i}=e.getBoundingClientRect();return!e.id.includes(`skeleton`)&&r>n&&r+i<n+t});if(r.length===0)return;let i=r[0].getAttribute(`cate`),a=L(Number(i));a&&(x.value=a.key)}
1,z=async(e,t=w.value,n=!0)=>{try{if(U.value||(e==null||e(!0),C.value.current*C.value.pageSize>we.value&&Y.value))return;if(w.value=t,T.value){var r;C.value.current=M.value.list&&((r=Te.value)==null?void 0:r.current)||1,C.value.current++}else{var i;if(C.value.current=((i=M.value)==null?void 0:i.list[0].current)||1,C.value.current===1){if(I(M.value.key))return}else C.value.current--}await G(!1,L(M.value.key),n)}catch(e){console.error(e)}finally{e==null||e(!1)}},je=e=>{let t=[...e.list];return t[E.value](...e.skeletonData||[]),t},B=e=>String(e.id),V=e=>String(e.id).includes(`skeleton`),H=()=>{O.value=new Set},Me=e=>{if(V(e))return;let t=new Set(O.value);t.add(B(e)),O.value=t},Ne=e=>V(e)||!e.url?!1:!O.value.has(B(e)),Pe=e=>{if(ye.value)return v.getDataListFunc({...C.value});var t;return v.getDataListFunc({...C.value,searchKey:Y.value||(t=L(e))==null?void 0:t.searchKey})},U=u(!1),W=(e,t,n=!1)=>{let r=j.value.find(e=>e.key===t.key);if(e){U.value=e;let n=Math.min(t.total-C.value.pageSize*(C.value.current-1),C.value.pageSize),i=Array.from({length:Y.value?Ue.value:n}).map((e,t)=>({url:``,id:`skeleton-${t}`,...v.customSkeletonData}));r?r.skeletonData=i:j.value[E.value]({...t,list:[],isContinuable:!0,skeletonData:i})}else U.value=!1,r?r.skeletonData=[]:j.value[T.value?j.value.length-1:0]&&(j.value[T.value?j.value.length-1:0].skeletonData=[]),n&&(Z.value=!1,j.value=[])},Fe=async e=>{let t=S.value.checkHasScrollToTop(),n=S.value.checkHasScrollToBottom();if(t&&!I(e.key)||n){let e=`${y}-multi-level-cate-${M.value.key}-${Te.value.id}`;await z(void 0,w.value,!1),S.value.scrollIntoView(document.getElementById(e),!1)}},Ie=async e=>{T.value&&!Y.value&&j.value.reduce((e,t)=>e+t.list.length,0)<C.value.pageSize&&await G(!1,e)},Le=async(e=N.value,t)=>{ke(()=>W(!0,e));let{data:n,total:r}=await Pe(e==null?void 0:e.key);we.value=r;let i=j.value.findIndex(t=>t.key===e.key),a=T.value?C.value.current*C.value.pageSize<r:C.value.current>1;i===-1?n.length>0&&j.value[E.value]({...e,list:n,isContinuable:a,skeletonData:[]}):(j.value[i].list[E.value](...n),j.value[i].isContinuable=a),W(!1,e),await Ie(e),t&&await Fe(e)},G=async(e=!1,t=N.value,n=!1)=>{if(Ee.value||e||Y.value)await Le(t,n);else{let e=Oe(t);e&&(R(e),q(e),await Le(e,n))}},K=e=>A.value||V(e)||Ne(e),Re=e=>{K(e)||(D.value=e.id,_(`on-click`,e,e=>{A.value=e}))},ze=(e,t)=>{K(t)||(D.value=t.id,_(`on-mousedown`,e,t,e=>{A.value=e}))},q=(e=N.value)=>{C.value.current=T.value?1:Math.ceil(e.total/C.value.pageSize)},Be=e=>{for(let n of P.value){var t;let r=(t=n.subOptions)==null?void 0:t.find(t=>t.key===e);if(r)return r}let n=P.value.find(t=>t.key===e);if(n)return n.subOptions&&n.subOptions.length>0?n.subOptions[0]:n;let r=P.value[0];return r?r.subOptions&&r.subOptions.length>0?r.subOptions[0]:r:null};u(!0);let Ve,He=new Promise(e=>{Ve=e}),J=async(e=!0)=>{H(),w.value=`down`,q(),e&&(R(F.value[0]),x.value=N.value.key),await G(!0)},Y=u(v.isSearch??!1),Ue=m(()=>C.value.current===1?v.skeletonTotal:C.value.pageSize),We=()=>!![`add`,`replace`,`mockup`].includes(v.mode),Ge=async t=>{t.type===`text`?(C.value.keyword=t.value,delete C.value.imageUrl,delete C.value.currentModeNo,delete C.value.mockup):(C.value.imageUrl=t.value,C.value.currentModeNo=t.currentModeNo,C.value.mockup=t.imageSearchMockup??We()),S.value.scrollToTop(0),C.value.current=1;try{await He,H(),j.value=[],t.value?await J():(W(!0,Q,!0),$(),s(()=>{var e;(e=X.value)==null||e.scrollToTag()}))}catch(t){e({type:`error`,text:t})}},X=u(),Ke=u(),Z=u(!0),Q={label:``,key:-2,total:v.skeletonTotal};W(!0,Q,!0);let $=async()=>{if(v.isSearch)return;W(!1,Q,!0);let e;if(v.activeTag){let t=Be(v.activeTag);t&&(e=t.key,R(t),x.value=e)}e?I(e)?J(!1):Se():J()};return ne(()=>P.value,()=>{Ve(!0),$()}),c({handleSearch(e){Y.value=v.isSearch||!!e.value,ye.value=e.type===`img`,Ge(e)},init:()=>{H(),$(),s(()=>{var e;(e=X.value)==null||e.scrollToTag()})},showSkeleton(){C.value.current=1,H(),j.value=[],Z.value=!0,W(!0,Q,!0)}}),(e,t)=>(o(),h(`div`,{class:p([`pac-multi-level-cate-list`,{"pac-multi-level-cate-list--search":Y.value}])},[g(`div`,de,[Z.value&&!e.isSearch?(o(),le(f(r),{key:0,"loading-num":1,value:``})):ae((o(),le(f(a),{key:1,ref_key:`TagCollapseRef`,ref:X,options:P.value,gtm:e.gtm,value:x.value,"onUpdate:value":t[0]||(t[0]=e=>x.value=e),onOnChange:Ce},null,8,[`options`,`gtm`,`value`])),[[oe,!Y.value]])]),d(f(n),te({class:`pac-multi-level-cate-list__scrollBar`,ref_key:`MultiLevelScrollBar`,ref:S,placeholderHeight:20,maskHeight:20,autoShowMask:e.autoShowMask,"native-mode":e.nativeScroll,topMaskVisible:``,topPlaceholderVisible:Y.value,onOnScrollEnd:t[1]||(t[1]=e=>z(e,`down`)),onOnScrollStart:t[2]||(t[2]=e=>z(e,`up`)),onOnScroll:Ae},f(b)),{default:l(()=>[g(`div`,fe,[g(`div`,pe,[(o(!0),h(se,null,ee(j.value,t=>(o(),h(`div`,{class:`pac-multi-level-cate-list__container__cate`,key:t.key},[ae(g(`div`,{class:p([`pac-multi-level-cate-list__container__cate__title`,{"pac-multi-level-cate-list__container__cate__title--hidden":De(t.key)}]),id:`${f(y)}-multi-level-cate-${t.key}`},[d(f(r),{value:t.label,"loading-num":1},null,8,[`value`])],10,me),[[oe,!Y.value]]),g(`div`,he,[d(ue,te({...f(b)},{"data-list":je(t),"image-loading":A.value,activeId:D.value,"nodata-visible":Y.value,onOnMousedown:ze,onOnClick:Re,onOnImageLoaded:Me,onOnImageError:Me}),{itemExtra:l(t=>[ie(e.$slots,`itemExtra`,{item:t.item,disabled:K(t.item)},void 0,!0)]),imgExtra:l(n=>[g(`div`,{ref_for:!0,ref_key:`MultiLevelCateItemRef`,ref:Ke,class:p([`pac-multi-level-cate-list__mask`,{"pac-multi-level-cate-list__mask--disabled":K(n.item)}]),id:`${f(y)}-multi-level-cate-${t.key}-${n.item.id}`,cate:n.item.id&&t.key},ce(e.hoverMaskText),11,ge)]),_:2},1040,[`data-list`,`image-loading`,`activeId`,`nodata-visible`])])]))),128))])])]),_:3},16,[`autoShowMask`,`native-mode`,`topPlaceholderVisible`])],2))}}),[[`__scopeId`,`data-v-620f214c`]]);export{_ as t};
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.