ScopeSentry/static/assets/Waterfall-BSKOOnzc.js

2 lines
2.8 MiB
JavaScript
Raw Normal View History

2024-07-20 11:19:39 +00:00
import{d as a,z as e,r as i,R as n,K as r,a as o,dK as l,dL as t,o as s,c as u,aE as d,F as m,S as c,n as k,f as h,t as g,j as v,k as b,ay as p,l as y,i as z,w as f,e as S,ds as M}from"./index-C75x1W_q.js";import{d as A}from"./debounce-B1dqoIRt.js";import{_ as B}from"./ContentWrap.vue_vue_type_script_setup_true_lang-BM7LKSVD.js";import"./el-card-B54lVHaN.js";import"./el-tooltip-l0sNRNKZ.js";import"./el-popper-B4X-nZEc.js";const j=["src"],C=["src"],K=a({__name:"Waterfall",props:{data:e.arrayOf(e.any),reset:e.bool.def(!0),width:e.number.def(200),gap:e.number.def(20),props:e.objectOf(e.string).def({src:"src",height:"height"}),cols:e.number.def(void 0),loadingText:e.string.def("加载中..."),loading:e.bool.def(!1),end:e.bool.def(!1),endText:e.string.def("没有更多了"),autoCenter:e.bool.def(!0),layout:e.oneOf(["javascript","flex"]).def("flex")},emits:["loadMore"],setup(a,{emit:e}){const{getPrefixCls:y}=b(),z=y("waterfall"),f=e,S=a,M=i(),B=i([]),K=i(0),P=i(0),T=i(),L=i(0),N=i([]),w=()=>{const{layout:a}=S;"javascript"===a?(async()=>{N.value=[];const{props:a,width:e,gap:i}=S,n=S.data;await p();const r=o(M);if(!r)return;L.value=S.cols??Math.floor(r.clientWidth/(e+i));const l=n.length;for(let t=0;t<l;t++)if(t<o(L))B.value[t]=n[t][a.height],N.value.push({...n[t],top:0,left:t*(e+i)});else{let r=B.value[0],l=0;for(let a=1;a<o(L);a++)o(B)[a]<r&&(r=o(B)[a],l=a);B.value[l]+=n[t][a.height]+i,N.value.push({...n[t],top:r+i,left:l*(e+i)})}K.value=Math.max(...o(B)),P.value=o(L)*(e+i)-i})():"flex"===a&&(async()=>{const{width:a,gap:e}=S,i=S.data;await p();const n=o(M);if(!n)return;L.value=S.cols??Math.floor(n.clientWidth/(a+e));const r=i.length,l=new Array(o(L)).fill([]);for(let t=0;t<r;t++){const a=t%o(L);l[a]=[...l[a],i[t]]}N.value=l})()};return n((()=>[S.data,S.cols]),(()=>{w()}),{immediate:!0}),r((()=>{o(S.reset)&&l(window,"resize",A(w,300)),t(o(T),(([{isIntersecting:a}])=>{!a||S.loading||S.end||f("loadMore")}),{threshold:.1})})),(e,i)=>(s(),u("div",{class:k([o(z),"flex","items-center",{"justify-center":a.autoCenter}]),ref_key:"wrapEl",ref:M,style:d({height:`${"javascript"===a.layout?K.value+40:"auto"}px`})},["javascript"===a.layout?(s(),u("div",{key:0,class:"relative",style:d({width:`${P.value}px`,height:`${K.value+40}px`})},[(s(!0),u(m,null,c(N.value,((e,i)=>(s(),u("div",{class:k([`${o(z)}-item__${i}`,{absolute:"javascript"===a.layout}]),key:`water-${i}`,style:d({width:`${a.width}px`,height:`${e[a.props.height]}px`,top:`${e.top}px`,left:`${e.left}px`})},[h("img",{src:e[a.props.src],class:"w-full h-full block",alt:"",srcset:""},null,8,j)],6)))),128)),h("div",{ref_key:"loadMore",ref:T,class:"h-40px flex justify-center absolute w-full",style:d({top:`${K.value+a.gap}px`})},g(a.end?a.endText:a.loadingText),5)],4)):"flex"===a.layout?(s(),u("div",{key:1,class:"relative flex pb-40px",style:d({width:a.cols?"100%":"auto"})},[(s(!0),u(m,null,c(N.value,((e,i)=>(s(),u("div",{key:`waterWrap-${i}`,class:"flex-1",style:d({marginRight:i===N.value.length-1?"0":`${a.gap}px`})},[(s(!0),u(m,null,c(e,((e,n)=>(s(),u("div",{key:`waterWrap-${i}-${n}`,style:d({marginBottom:`${a.gap}px`,width:a.cols?"100%":`${a.width}px`,height:a.cols?"auto":`${e[a.props.height]}px`})},[h("img",{src:e[a.props.src],class:"w-full h-full block",alt:"",srcset:""},null,8,C)],4)))),128))],4)))),128)),h("div",{ref_key:"loadMore",ref:T,class:"h-40px flex justify-center absolute w-full items-center",style:{bottom:0}},g(a.end?a.endText:a.loadingText),513)],4)):v("",!0)],6))}});var P=["Mrs.","Ms.","Miss","Dr."],T=["Mr.","Dr."];function L(...a){return[...new Set(a.flat())].sort()}var N={airline:{airline:[{name:"Aegean Airlines",iataCode:"A3"},{name:"Aeroflot",iataCode:"SU"},{name:"Aerolineas Argentinas",iataCode:"AR"},{name:"Aeromexico",iataCode:"AM"},{name:"Air Algerie",iataCode:"AH"},{name:"Air Arabia",iataCode:"G9"},{name:"Air Canada",iataCode:"AC"},{name:"Air China",iataCode:"CA"},{name:"Air Europa",iataCode:"UX"},{name:"Air France-KLM",iataCode:"AF"},{name:"Air India",iataCode:"AI"},{name:"Air Mauritius",iataCode:"MK"},{name:"Air New Zealand",iataCode:"NZ"},{name:"Air Niugini",iata