mirror of
https://github.com/ZeroCatDev/Classworks.git
synced 2025-12-08 13:49:37 +00:00
2 lines
31 KiB
JavaScript
2 lines
31 KiB
JavaScript
import{bP as ht,az as yt,p as C,$ as K,a1 as T,a2 as be,bQ as Oe,bx as fe,bE as U,bJ as J,g as M,U as se,c as Q,i as y,d as w,E as H,aV as N,bR as xt,aH as _,e as Y,W as z,b8 as pt,bS as St,bT as Pt,a0 as te,bU as wt,ae as Ae,X as kt,ax as E,bV as oe,bW as ae,bX as It,aE as Dt,aq as he,bY as Tt,F as q,bZ as Vt,bC as ye,aI as ue,v as De,n as Ne,b_ as Ft,y as Re,t as Te,b$ as le,O as ne,C as Ct,b5 as ge,aJ as ve,bc as Bt,aD as Et,aS as _t,m as Ot,h as At,c0 as re,c1 as Nt,aG as Rt,K as $t}from"./index-B-g1bwIy.js";import{V as Ve,e as $e,u as Ht,d as Gt}from"./filter-BnFUC4G9.js";import{V as Lt}from"./VChip-DhGhfbhx.js";import{V as xe}from"./VCheckboxBtn-SKiGGMMe.js";function Fe(e,l,a){return Object.keys(e).filter(t=>ht(t)&&t.endsWith(l)).reduce((t,n)=>(t[n.slice(0,-l.length)]=r=>yt(e[n],r,a(r)),t),{})}const Mt=C({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),He=Symbol.for("vuetify:data-table-pagination");function jt(e){const l=K(e,"page",void 0,t=>Number(t??1)),a=K(e,"itemsPerPage",void 0,t=>Number(t??10));return{page:l,itemsPerPage:a}}function Wt(e){const{page:l,itemsPerPage:a,itemsLength:t}=e,n=T(()=>a.value===-1?0:a.value*(l.value-1)),r=T(()=>a.value===-1?t.value:Math.min(t.value,n.value+a.value)),o=T(()=>a.value===-1||t.value===0?1:Math.ceil(t.value/a.value));be([l,o],()=>{l.value>o.value&&(l.value=o.value)});function d(m){a.value=m,l.value=1}function s(){l.value=fe(l.value+1,1,o.value)}function i(){l.value=fe(l.value-1,1,o.value)}function c(m){l.value=fe(m,1,o.value)}const g={page:l,itemsPerPage:a,startIndex:n,stopIndex:r,pageCount:o,itemsLength:t,nextPage:s,prevPage:i,setPage:c,setItemsPerPage:d};return J(He,g),g}function zt(){const e=U(He);if(!e)throw new Error("Missing pagination!");return e}function Kt(e){const l=Oe("usePaginatedItems"),{items:a,startIndex:t,stopIndex:n,itemsPerPage:r}=e,o=T(()=>r.value<=0?a.value:a.value.slice(t.value,n.value));return be(o,d=>{l.emit("update:currentItems",d)},{immediate:!0}),{paginatedItems:o}}const Ge=C({prevIcon:{type:N,default:"$prev"},nextIcon:{type:N,default:"$next"},firstIcon:{type:N,default:"$first"},lastIcon:{type:N,default:"$last"},itemsPerPageText:{type:String,default:"$vuetify.dataFooter.itemsPerPageText"},pageText:{type:String,default:"$vuetify.dataFooter.pageText"},firstPageLabel:{type:String,default:"$vuetify.dataFooter.firstPage"},prevPageLabel:{type:String,default:"$vuetify.dataFooter.prevPage"},nextPageLabel:{type:String,default:"$vuetify.dataFooter.nextPage"},lastPageLabel:{type:String,default:"$vuetify.dataFooter.lastPage"},itemsPerPageOptions:{type:Array,default:()=>[{value:10,title:"10"},{value:25,title:"25"},{value:50,title:"50"},{value:100,title:"100"},{value:-1,title:"$vuetify.dataFooter.itemsPerPageAll"}]},showCurrentPage:Boolean},"VDataTableFooter"),Ce=M()({name:"VDataTableFooter",props:Ge(),setup(e,l){let{slots:a}=l;const{t}=se(),{page:n,pageCount:r,startIndex:o,stopIndex:d,itemsLength:s,itemsPerPage:i,setItemsPerPage:c}=zt(),g=T(()=>e.itemsPerPageOptions.map(m=>typeof m=="number"?{value:m,title:m===-1?t("$vuetify.dataFooter.itemsPerPageAll"):String(m)}:{...m,title:isNaN(Number(m.title))?t(m.title):m.title}));return Q(()=>{var P;const m=Ve.filterProps(e);return y("div",{class:"v-data-table-footer"},[(P=a.prepend)==null?void 0:P.call(a),y("div",{class:"v-data-table-footer__items-per-page"},[y("span",{"aria-label":t(e.itemsPerPageText)},[t(e.itemsPerPageText)]),w($e,{items:g.value,modelValue:i.value,"onUpdate:modelValue":b=>c(Number(b)),density:"compact",variant:"outlined",hideDetails:!0},null)]),y("div",{class:"v-data-table-footer__info"},[y("div",null,[t(e.pageText,s.value?o.value+1:0,d.value,s.value)])]),y("div",{class:"v-data-table-footer__pagination"},[w(Ve,H({modelValue:n.value,"onUpdate:modelValue":b=>n.value=b,density:"comfortable",firstAriaLabel:e.firstPageLabel,lastAriaLabel:e.lastPageLabel,length:r.value,nextAriaLabel:e.nextPageLabel,previousAriaLabel:e.prevPageLabel,rounded:!0,showFirstLastPage:!0,totalVisible:e.showCurrentPage?1:0,variant:"plain"},m),null)])])}),{}}}),Z=xt({align:{type:String,default:"start"},fixed:{type:[Boolean,String],default:!1},fixedOffset:[Number,String],fixedEndOffset:[Number,String],height:[Number,String],lastFixed:Boolean,firstFixedEnd:Boolean,noPadding:Boolean,indent:[Number,String],empty:Boolean,tag:String,width:[Number,String],maxWidth:[Number,String],nowrap:Boolean},(e,l)=>{let{slots:a}=l;const t=e.tag??"td",n=typeof e.fixed=="string"?e.fixed:e.fixed?"start":"none";return w(t,{class:Y(["v-data-table__td",{"v-data-table-column--fixed":n==="start","v-data-table-column--fixed-end":n==="end","v-data-table-column--last-fixed":e.lastFixed,"v-data-table-column--first-fixed-end":e.firstFixedEnd,"v-data-table-column--no-padding":e.noPadding,"v-data-table-column--nowrap":e.nowrap,"v-data-table-column--empty":e.empty},`v-data-table-column--align-${e.align}`]),style:{height:_(e.height),width:_(e.width),maxWidth:_(e.maxWidth),left:n==="start"?_(e.fixedOffset||null):void 0,right:n==="end"?_(e.fixedEndOffset||null):void 0,paddingInlineStart:e.indent?_(e.indent):void 0}},{default:()=>{var r;return[(r=a.default)==null?void 0:r.call(a)]}})}),qt=C({headers:Array},"DataTable-header"),Le=Symbol.for("vuetify:data-table-headers"),Me={title:"",sortable:!1},Ut={...Me,width:48};function Jt(){const l=(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]).map(a=>({element:a,priority:0}));return{enqueue:(a,t)=>{let n=!1;for(let r=0;r<l.length;r++)if(l[r].priority>t){l.splice(r,0,{element:a,priority:t}),n=!0;break}n||l.push({element:a,priority:t})},size:()=>l.length,count:()=>{let a=0;if(!l.length)return 0;const t=Math.floor(l[0].priority);for(let n=0;n<l.length;n++)Math.floor(l[n].priority)===t&&(a+=1);return a},dequeue:()=>l.shift()}}function me(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];if(!e.children)l.push(e);else for(const a of e.children)me(a,l);return l}function je(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:new Set;for(const a of e)a.key&&l.add(a.key),a.children&&je(a.children,l);return l}function Qt(e){if(e.key){if(e.key==="data-table-group")return Me;if(["data-table-expand","data-table-select"].includes(e.key))return Ut}}function pe(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;return e.children?Math.max(l,...e.children.map(a=>pe(a,l+1))):l}function Xt(e){let l=!1;function a(r,o){let d=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"none";if(r)if(d!=="none"&&(r.fixed=d),r.fixed===!0&&(r.fixed="start"),r.fixed===o)if(r.children)if(o==="start")for(let s=r.children.length-1;s>=0;s--)a(r.children[s],o,o);else for(let s=0;s<r.children.length;s++)a(r.children[s],o,o);else!l&&o==="start"?r.lastFixed=!0:!l&&o==="end"?r.firstFixedEnd=!0:isNaN(Number(r.width))?Pt(`Multiple fixed columns should have a static width (key: ${r.key})`):r.minWidth=Math.max(Number(r.width)||0,Number(r.minWidth)||0),l=!0;else if(r.children)if(o==="start")for(let s=r.children.length-1;s>=0;s--)a(r.children[s],o);else for(let s=0;s<r.children.length;s++)a(r.children[s],o);else l=!1}for(let r=e.length-1;r>=0;r--)a(e[r],"start");for(let r=0;r<e.length;r++)a(e[r],"end");let t=0;for(let r=0;r<e.length;r++)t=We(e[r],t);let n=0;for(let r=e.length-1;r>=0;r--)n=ze(e[r],n)}function We(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return l;if(e.children){e.fixedOffset=l;for(const a of e.children)l=We(a,l)}else e.fixed&&e.fixed!=="end"&&(e.fixedOffset=l,l+=parseFloat(e.width||"0")||0);return l}function ze(e){let l=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;if(!e)return l;if(e.children){e.fixedEndOffset=l;for(const a of e.children)l=ze(a,l)}else e.fixed==="end"&&(e.fixedEndOffset=l,l+=parseFloat(e.width||"0")||0);return l}function Yt(e,l){const a=[];let t=0;const n=Jt(e);for(;n.size()>0;){let o=n.count();const d=[];let s=1;for(;o>0;){const{element:i,priority:c}=n.dequeue(),g=l-t-pe(i);if(d.push({...i,rowspan:g??1,colspan:i.children?me(i).length:1}),i.children)for(const m of i.children){const P=c%1+s/Math.pow(10,t+2);n.enqueue(m,t+g+P)}s+=1,o-=1}t+=1,a.push(d)}return{columns:e.map(o=>me(o)).flat(),headers:a}}function Ke(e){const l=[];for(const a of e){const t={...Qt(a),...a},n=t.key??(typeof t.value=="string"?t.value:null),r=t.value??n??null,o={...t,key:n,value:r,sortable:t.sortable??(t.key!=null||!!t.sort),children:t.children?Ke(t.children):void 0};l.push(o)}return l}function Zt(e,l){const a=z([]),t=z([]),n=z({}),r=z({}),o=z({});pt(()=>{var h,f,x;const i=(e.headers||Object.keys(e.items[0]??{}).map(u=>({key:u,title:St(u)}))).slice(),c=je(i);(h=l==null?void 0:l.groupBy)!=null&&h.value.length&&!c.has("data-table-group")&&i.unshift({key:"data-table-group",title:"Group"}),(f=l==null?void 0:l.showSelect)!=null&&f.value&&!c.has("data-table-select")&&i.unshift({key:"data-table-select"}),(x=l==null?void 0:l.showExpand)!=null&&x.value&&!c.has("data-table-expand")&&i.push({key:"data-table-expand"});const g=Ke(i);Xt(g);const m=Math.max(...g.map(u=>pe(u)))+1,P=Yt(g,m);a.value=P.headers,t.value=P.columns;const b=P.headers.flat(1);for(const u of b)u.key&&(u.sortable&&(u.sort&&(n.value[u.key]=u.sort),u.sortRaw&&(r.value[u.key]=u.sortRaw)),u.filter&&(o.value[u.key]=u.filter))});const d={headers:a,columns:t,sortFunctions:n,sortRawFunctions:r,filterFunctions:o};return J(Le,d),d}function de(){const e=U(Le);if(!e)throw new Error("Missing headers!");return e}const ea={showSelectAll:!1,allSelected:()=>[],select:e=>{var t;let{items:l,value:a}=e;return new Set(a?[(t=l[0])==null?void 0:t.value]:[])},selectAll:e=>{let{selected:l}=e;return l}},qe={showSelectAll:!0,allSelected:e=>{let{currentPage:l}=e;return l},select:e=>{let{items:l,value:a,selected:t}=e;for(const n of l)a?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:l,currentPage:a,selected:t}=e;return qe.select({items:a,value:l,selected:t})}},ta={showSelectAll:!0,allSelected:e=>{let{allItems:l}=e;return l},select:e=>{let{items:l,value:a,selected:t}=e;for(const n of l)a?t.add(n.value):t.delete(n.value);return t},selectAll:e=>{let{value:l,allItems:a}=e;return new Set(l?a.map(t=>t.value):[])}},aa=C({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),Ue=Symbol.for("vuetify:data-table-selection");function la(e,l){let{allItems:a,currentPage:t}=l;const n=K(e,"modelValue",e.modelValue,u=>{const p=e.valueComparator;return p?new Set(te(u).map(k=>{var S;return((S=a.value.find(V=>p(k,V.value)))==null?void 0:S.value)??k})):new Set(te(u).map(k=>{var S,V;return wt(k)?((S=a.value.find(F=>k===F.value))==null?void 0:S.value)??k:((V=a.value.find(F=>Ae(k,F.value)))==null?void 0:V.value)??k}))},u=>[...u.values()]),r=T(()=>a.value.filter(u=>u.selectable)),o=T(()=>t.value.filter(u=>u.selectable)),d=T(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return ea;case"all":return ta;case"page":default:return qe}}),s=kt(null);function i(u){return te(u).every(p=>n.value.has(p.value))}function c(u){return te(u).some(p=>n.value.has(p.value))}function g(u,p){const k=d.value.select({items:u,value:p,selected:new Set(n.value)});n.value=k}function m(u,p,k){const S=[];if(p=p??t.value.findIndex(V=>V.value===u.value),e.selectStrategy!=="single"&&(k!=null&&k.shiftKey)&&s.value!==null){const[V,F]=[s.value,p].sort((R,D)=>R-D);S.push(...t.value.slice(V,F+1).filter(R=>R.selectable))}else S.push(u),s.value=p;g(S,!i([u]))}function P(u){const p=d.value.selectAll({value:u,allItems:r.value,currentPage:o.value,selected:new Set(n.value)});n.value=p}const b=T(()=>n.value.size>0),h=T(()=>{const u=d.value.allSelected({allItems:r.value,currentPage:o.value});return!!u.length&&i(u)}),f=E(()=>d.value.showSelectAll),x={toggleSelect:m,select:g,selectAll:P,isSelected:i,isSomeSelected:c,someSelected:b,allSelected:h,showSelectAll:f,lastSelectedIndex:s,selectStrategy:d};return J(Ue,x),x}function ie(){const e=U(Ue);if(!e)throw new Error("Missing selection!");return e}const na=C({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),Je=Symbol.for("vuetify:data-table-sort");function ra(e){const l=K(e,"sortBy"),a=E(()=>e.mustSort),t=E(()=>e.multiSort);return{sortBy:l,mustSort:a,multiSort:t}}function oa(e){const{sortBy:l,mustSort:a,multiSort:t,page:n}=e,r=s=>{if(s.key==null)return;let i=l.value.map(g=>({...g}))??[];const c=i.find(g=>g.key===s.key);c?c.order==="desc"?a.value&&i.length===1?c.order="asc":i=i.filter(g=>g.key!==s.key):c.order="desc":t.value?i.push({key:s.key,order:"asc"}):i=[{key:s.key,order:"asc"}],l.value=i,n&&(n.value=1)};function o(s){return!!l.value.find(i=>i.key===s.key)}const d={sortBy:l,toggleSort:r,isSorted:o};return J(Je,d),d}function Qe(){const e=U(Je);if(!e)throw new Error("Missing sort!");return e}function sa(e,l,a,t){const n=se();return{sortedItems:T(()=>{var o,d;return a.value.length?ua(l.value,a.value,n.current.value,{transform:t==null?void 0:t.transform,sortFunctions:{...e.customKeySort,...(o=t==null?void 0:t.sortFunctions)==null?void 0:o.value},sortRawFunctions:(d=t==null?void 0:t.sortRawFunctions)==null?void 0:d.value}):l.value})}}function ua(e,l,a,t){const n=new Intl.Collator(a,{sensitivity:"accent",usage:"sort"});return e.map(o=>[o,t!=null&&t.transform?t.transform(o):o]).sort((o,d)=>{var s,i;for(let c=0;c<l.length;c++){let g=!1;const m=l[c].key,P=l[c].order??"asc";if(P===!1)continue;let b=oe(o[1],m),h=oe(d[1],m),f=o[0].raw,x=d[0].raw;if(P==="desc"&&([b,h]=[h,b],[f,x]=[x,f]),(s=t==null?void 0:t.sortRawFunctions)!=null&&s[m]){const u=t.sortRawFunctions[m](f,x);if(u==null)continue;if(g=!0,u)return u}if((i=t==null?void 0:t.sortFunctions)!=null&&i[m]){const u=t.sortFunctions[m](b,h);if(u==null)continue;if(g=!0,u)return u}if(!g&&(b instanceof Date&&h instanceof Date&&(b=b.getTime(),h=h.getTime()),[b,h]=[b,h].map(u=>u!=null?u.toString().toLocaleLowerCase():u),b!==h))return ae(b)&&ae(h)?0:ae(b)?-1:ae(h)?1:!isNaN(b)&&!isNaN(h)?Number(b)-Number(h):n.compare(b,h)}return 0}).map(o=>{let[d]=o;return d})}const Xe=C({color:String,disableSort:Boolean,fixedHeader:Boolean,multiSort:Boolean,sortAscIcon:{type:N,default:"$sortAsc"},sortDescIcon:{type:N,default:"$sortDesc"},headerProps:{type:Object},sticky:Boolean,...ue(),...ye(),...Vt()},"VDataTableHeaders"),Be=M()({name:"VDataTableHeaders",props:Xe(),setup(e,l){let{slots:a}=l;const{t}=se(),{toggleSort:n,sortBy:r,isSorted:o}=Qe(),{someSelected:d,allSelected:s,selectAll:i,showSelectAll:c}=ie(),{columns:g,headers:m}=de(),{loaderClasses:P}=It(e);function b(D,v){if(!(e.sticky||e.fixedHeader)&&!D.fixed)return;const I=typeof D.fixed=="string"?D.fixed:D.fixed?"start":"none";return{position:"sticky",left:I==="start"?_(D.fixedOffset):void 0,right:I==="end"?_(D.fixedEndOffset):void 0,top:e.sticky||e.fixedHeader?`calc(var(--v-table-header-height) * ${v})`:void 0}}function h(D,v){D.key==="Enter"&&!e.disableSort&&n(v)}function f(D){const v=r.value.find(I=>I.key===D.key);return v?v.order==="asc"?e.sortAscIcon:e.sortDescIcon:e.sortAscIcon}const{backgroundColorClasses:x,backgroundColorStyles:u}=Dt(()=>e.color),{displayClasses:p,mobile:k}=he(e),S=T(()=>({headers:m.value,columns:g.value,toggleSort:n,isSorted:o,sortBy:r.value,someSelected:d.value,allSelected:s.value,selectAll:i,getSortIcon:f})),V=T(()=>["v-data-table__th",{"v-data-table__th--sticky":e.sticky||e.fixedHeader},p.value,P.value]),F=D=>{let{column:v,x:I,y:B}=D;const $=v.key==="data-table-select"||v.key==="data-table-expand",L=v.key==="data-table-group"&&v.width===0&&!v.title,j=H(e.headerProps??{},v.headerProps??{});return w(Z,H({tag:"th",align:v.align,class:[{"v-data-table__th--sortable":v.sortable&&!e.disableSort,"v-data-table__th--sorted":o(v),"v-data-table__th--fixed":v.fixed},...V.value],style:{width:_(v.width),minWidth:_(v.minWidth),maxWidth:_(v.maxWidth),...b(v,B)},colspan:v.colspan,rowspan:v.rowspan,fixed:v.fixed,nowrap:v.nowrap,lastFixed:v.lastFixed,firstFixedEnd:v.firstFixedEnd,noPadding:$,empty:L,tabindex:v.sortable?0:void 0,onClick:v.sortable?()=>n(v):void 0,onKeydown:v.sortable?O=>h(O,v):void 0},j),{default:()=>{var ee;const O=`header.${v.key}`,W={column:v,selectAll:i,isSorted:o,toggleSort:n,sortBy:r.value,someSelected:d.value,allSelected:s.value,getSortIcon:f};return a[O]?a[O](W):L?"":v.key==="data-table-select"?((ee=a["header.data-table-select"])==null?void 0:ee.call(a,W))??(c.value&&w(xe,{density:e.density,modelValue:s.value,indeterminate:d.value&&!s.value,"onUpdate:modelValue":i},null)):y("div",{class:"v-data-table-header__content"},[y("span",null,[v.title]),v.sortable&&!e.disableSort&&w(De,{key:"icon",class:"v-data-table-header__sort-icon",icon:f(v)},null),e.multiSort&&o(v)&&y("div",{key:"badge",class:Y(["v-data-table-header__sort-badge",...x.value]),style:Ne(u.value)},[r.value.findIndex(ce=>ce.key===v.key)+1])])}})},R=()=>{const D=T(()=>g.value.filter(I=>(I==null?void 0:I.sortable)&&!e.disableSort)),v=T(()=>{if(g.value.find(B=>B.key==="data-table-select")!=null)return s.value?"$checkboxOn":d.value?"$checkboxIndeterminate":"$checkboxOff"});return w(Z,H({tag:"th",class:[...V.value],colspan:m.value.length+1},e.headerProps),{default:()=>[y("div",{class:"v-data-table-header__content"},[w($e,{chips:!0,class:"v-data-table__td-sort-select",clearable:!0,density:"default",items:D.value,label:t("$vuetify.dataTable.sortBy"),multiple:e.multiSort,variant:"underlined","onClick:clear":()=>r.value=[],appendIcon:v.value,"onClick:append":()=>i(!s.value)},{chip:I=>{var B;return w(Lt,{onClick:(B=I.item.raw)!=null&&B.sortable?()=>n(I.item.raw):void 0,onMousedown:$=>{$.preventDefault(),$.stopPropagation()}},{default:()=>[I.item.title,w(De,{class:Y(["v-data-table__td-sort-icon",o(I.item.raw)&&"v-data-table__td-sort-icon-active"]),icon:f(I.item.raw),size:"small"},null)]})}})])]})};Q(()=>k.value?y("tr",null,[w(R,null,null)]):y(q,null,[a.headers?a.headers(S.value):m.value.map((D,v)=>y("tr",null,[D.map((I,B)=>w(F,{column:I,x:B,y:v},null))])),e.loading&&y("tr",{class:"v-data-table-progress"},[y("th",{colspan:g.value.length},[w(Tt,{name:"v-data-table-progress",absolute:!0,active:!0,color:typeof e.loading=="boolean"?void 0:e.loading,indeterminate:!0},{default:a.loader})])])]))}}),da=C({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),Ye=Symbol.for("vuetify:data-table-group");function ia(e){return{groupBy:K(e,"groupBy")}}function ca(e){const{disableSort:l,groupBy:a,sortBy:t}=e,n=z(new Set),r=T(()=>a.value.map(c=>({...c,order:c.order??!1})).concat(l!=null&&l.value?[]:t.value));function o(c){return n.value.has(c.id)}function d(c){const g=new Set(n.value);o(c)?g.delete(c.id):g.add(c.id),n.value=g}function s(c){function g(m){const P=[];for(const b of m.items)"type"in b&&b.type==="group"?P.push(...g(b)):P.push(b);return[...new Set(P)]}return g({items:c})}const i={sortByWithGroups:r,toggleGroup:d,opened:n,groupBy:a,extractRows:s,isGroupOpen:o};return J(Ye,i),i}function Ze(){const e=U(Ye);if(!e)throw new Error("Missing group!");return e}function fa(e,l){if(!e.length)return[];const a=new Map;for(const t of e){const n=oe(t.raw,l);a.has(n)||a.set(n,[]),a.get(n).push(t)}return a}function et(e,l){let a=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,t=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!l.length)return[];const n=fa(e,l[0]),r=[],o=l.slice(1);return n.forEach((d,s)=>{const i=l[0],c=`${t}_${i}_${s}`;r.push({depth:a,id:c,key:i,value:s,items:o.length?et(d,o,a+1,c):d,type:"group"})}),r}function tt(e,l,a){const t=[];for(const n of e)"type"in n&&n.type==="group"?(n.value!=null&&t.push(n),(l.has(n.id)||n.value==null)&&(t.push(...tt(n.items,l,a)),a&&t.push({...n,type:"group-summary"}))):t.push(n);return t}function ga(e,l,a,t){return{flatItems:T(()=>{if(!l.value.length)return e.value;const r=et(e.value,l.value.map(o=>o.key));return tt(r,a.value,Ft(t))})}}const at=C({item:{type:Object,required:!0},groupCollapseIcon:{type:N,default:"$tableGroupCollapse"},groupExpandIcon:{type:N,default:"$tableGroupExpand"},...ue()},"VDataTableGroupHeaderRow"),va=M()({name:"VDataTableGroupHeaderRow",props:at(),setup(e,l){let{slots:a}=l;const{isGroupOpen:t,toggleGroup:n,extractRows:r}=Ze(),{isSelected:o,isSomeSelected:d,select:s}=ie(),{columns:i}=de(),c=T(()=>r([e.item])),g=E(()=>i.value.length-(i.value.some(m=>m.key==="data-table-select")?1:0));return()=>y("tr",{class:"v-data-table-group-header-row",style:{"--v-data-table-group-header-row-depth":e.item.depth}},[i.value.map(m=>{var P,b;if(m.key==="data-table-group"){const h=t(e.item)?e.groupCollapseIcon:e.groupExpandIcon,f=()=>n(e.item);return((P=a["data-table-group"])==null?void 0:P.call(a,{item:e.item,count:c.value.length,props:{icon:h,onClick:f}}))??w(Z,{class:"v-data-table-group-header-row__column",colspan:g.value},{default:()=>[w(Re,{size:"small",variant:"text",icon:h,onClick:f},null),y("span",null,[e.item.value]),y("span",null,[Te("("),c.value.length,Te(")")])]})}else if(m.key==="data-table-select"){const h=o(c.value),f=d(c.value)&&!h,x=u=>s(c.value,u);return((b=a["data-table-select"])==null?void 0:b.call(a,{props:{modelValue:h,indeterminate:f,"onUpdate:modelValue":x}}))??w(Z,{class:"v-data-table__td--select-row",noPadding:!0},{default:()=>[w(xe,{density:e.density,modelValue:h,indeterminate:f,"onUpdate:modelValue":x},null)]})}return""})])}}),ma=C({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),lt=Symbol.for("vuetify:datatable:expanded");function ba(e){const l=E(()=>e.expandOnClick),a=K(e,"expanded",e.expanded,d=>new Set(d),d=>[...d.values()]);function t(d,s){const i=new Set(a.value),c=le(d.value);if(s)i.add(c);else{const g=[...a.value].find(m=>le(m)===c);i.delete(g)}a.value=i}function n(d){const s=le(d.value);return[...a.value].some(i=>le(i)===s)}function r(d){t(d,!n(d))}const o={expand:t,expanded:a,expandOnClick:l,isExpanded:n,toggleExpand:r};return J(lt,o),o}function nt(){const e=U(lt);if(!e)throw new Error("foo");return e}const rt=C({index:Number,item:Object,cellProps:[Object,Function],collapseIcon:{type:N,default:"$collapse"},expandIcon:{type:N,default:"$expand"},onClick:ge(),onContextmenu:ge(),onDblclick:ge(),...ue(),...ye()},"VDataTableRow"),ha=M()({name:"VDataTableRow",props:rt(),setup(e,l){let{slots:a}=l;const{displayClasses:t,mobile:n}=he(e,"v-data-table__tr"),{isSelected:r,toggleSelect:o,someSelected:d,allSelected:s,selectAll:i}=ie(),{isExpanded:c,toggleExpand:g}=nt(),{toggleSort:m,sortBy:P,isSorted:b}=Qe(),{columns:h}=de();Q(()=>y("tr",{class:Y(["v-data-table__tr",{"v-data-table__tr--clickable":!!(e.onClick||e.onContextmenu||e.onDblclick)},t.value]),onClick:e.onClick,onContextmenu:e.onContextmenu,onDblclick:e.onDblclick},[e.item&&h.value.map((f,x)=>{const u=e.item,p=`item.${f.key}`,k=`header.${f.key}`,S={index:e.index,item:u.raw,internalItem:u,value:oe(u.columns,f.key),column:f,isSelected:r,toggleSelect:o,isExpanded:c,toggleExpand:g},V={column:f,selectAll:i,isSorted:b,toggleSort:m,sortBy:P.value,someSelected:d.value,allSelected:s.value,getSortIcon:()=>""},F=typeof e.cellProps=="function"?e.cellProps({index:S.index,item:S.item,internalItem:S.internalItem,value:S.value,column:f}):e.cellProps,R=typeof f.cellProps=="function"?f.cellProps({index:S.index,item:S.item,internalItem:S.internalItem,value:S.value}):f.cellProps,D=f.key==="data-table-select"||f.key==="data-table-expand",v=f.key==="data-table-group"&&f.width===0&&!f.title;return w(Z,H({align:f.align,indent:f.intent,class:{"v-data-table__td--expanded-row":f.key==="data-table-expand","v-data-table__td--select-row":f.key==="data-table-select"},fixed:f.fixed,fixedOffset:f.fixedOffset,fixedEndOffset:f.fixedEndOffset,lastFixed:f.lastFixed,firstFixedEnd:f.firstFixedEnd,maxWidth:n.value?void 0:f.maxWidth,noPadding:D,empty:v,nowrap:f.nowrap,width:n.value?void 0:f.width},F,R),{default:()=>{var B,$,L,j;if(f.key==="data-table-select")return((B=a["item.data-table-select"])==null?void 0:B.call(a,{...S,props:{disabled:!u.selectable,modelValue:r([u]),onClick:ne(()=>o(u),["stop"])}}))??w(xe,{disabled:!u.selectable,density:e.density,modelValue:r([u]),onClick:ne(O=>o(u,e.index,O),["stop"])},null);if(f.key==="data-table-expand")return(($=a["item.data-table-expand"])==null?void 0:$.call(a,{...S,props:{icon:c(u)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ne(()=>g(u),["stop"])}}))??w(Re,{icon:c(u)?e.collapseIcon:e.expandIcon,size:"small",variant:"text",onClick:ne(()=>g(u),["stop"])},null);if(a[p]&&!n.value)return a[p](S);const I=Ct(S.value);return n.value?y(q,null,[y("div",{class:"v-data-table__td-title"},[((L=a[k])==null?void 0:L.call(a,V))??f.title]),y("div",{class:"v-data-table__td-value"},[((j=a[p])==null?void 0:j.call(a,S))??I])]):I}})})]))}}),ot=C({loading:[Boolean,String],loadingText:{type:String,default:"$vuetify.dataIterator.loadingText"},hideNoData:Boolean,items:{type:Array,default:()=>[]},noDataText:{type:String,default:"$vuetify.noDataText"},rowProps:[Object,Function],cellProps:[Object,Function],...ve(rt(),["collapseIcon","expandIcon","density"]),...ve(at(),["groupCollapseIcon","groupExpandIcon","density"]),...ye()},"VDataTableRows"),Ee=M()({name:"VDataTableRows",inheritAttrs:!1,props:ot(),setup(e,l){let{attrs:a,slots:t}=l;const{columns:n}=de(),{expandOnClick:r,toggleExpand:o,isExpanded:d}=nt(),{isSelected:s,toggleSelect:i}=ie(),{toggleGroup:c,isGroupOpen:g}=Ze(),{t:m}=se(),{mobile:P}=he(e);return Q(()=>{var h,f;const b=ve(e,["groupCollapseIcon","groupExpandIcon","density"]);return e.loading&&(!e.items.length||t.loading)?y("tr",{class:"v-data-table-rows-loading",key:"loading"},[y("td",{colspan:n.value.length},[((h=t.loading)==null?void 0:h.call(t))??m(e.loadingText)])]):!e.loading&&!e.items.length&&!e.hideNoData?y("tr",{class:"v-data-table-rows-no-data",key:"no-data"},[y("td",{colspan:n.value.length},[((f=t["no-data"])==null?void 0:f.call(t))??m(e.noDataText)])]):y(q,null,[e.items.map((x,u)=>{var S,V;if(x.type==="group"){const F={index:u,item:x,columns:n.value,isExpanded:d,toggleExpand:o,isSelected:s,toggleSelect:i,toggleGroup:c,isGroupOpen:g};return t["group-header"]?t["group-header"](F):w(va,H({key:`group-header_${x.id}`,item:x},Fe(a,":groupHeader",()=>F),b),t)}if(x.type==="group-summary"){const F={index:u,item:x,columns:n.value,toggleGroup:c};return((S=t["group-summary"])==null?void 0:S.call(t,F))??""}const p={index:u,item:x.raw,internalItem:x,columns:n.value,isExpanded:d,toggleExpand:o,isSelected:s,toggleSelect:i},k={...p,props:H({key:`item_${x.key??x.index}`,onClick:r.value?()=>{o(x)}:void 0,index:u,item:x,cellProps:e.cellProps,collapseIcon:e.collapseIcon,expandIcon:e.expandIcon,density:e.density,mobile:P.value},Fe(a,":row",()=>p),typeof e.rowProps=="function"?e.rowProps({item:p.item,index:p.index,internalItem:p.internalItem}):e.rowProps)};return y(q,{key:k.props.key},[t.item?t.item(k):w(ha,k.props,t),d(x)&&((V=t["expanded-row"])==null?void 0:V.call(t,p))])})])}),{}}}),st=C({fixedHeader:Boolean,fixedFooter:Boolean,height:[Number,String],hover:Boolean,striped:{type:String,default:null,validator:e=>["even","odd"].includes(e)},...At(),...ue(),...Ot(),..._t()},"VTable"),_e=M()({name:"VTable",props:st(),setup(e,l){let{slots:a,emit:t}=l;const{themeClasses:n}=Bt(e),{densityClasses:r}=Et(e);return Q(()=>w(e.tag,{class:Y(["v-table",{"v-table--fixed-height":!!e.height,"v-table--fixed-header":e.fixedHeader,"v-table--fixed-footer":e.fixedFooter,"v-table--has-top":!!a.top,"v-table--has-bottom":!!a.bottom,"v-table--hover":e.hover,"v-table--striped-even":e.striped==="even","v-table--striped-odd":e.striped==="odd"},n.value,r.value,e.class]),style:Ne(e.style)},{default:()=>{var o,d,s;return[(o=a.top)==null?void 0:o.call(a),a.default?y("div",{class:"v-table__wrapper",style:{height:_(e.height)}},[y("table",null,[a.default()])]):(d=a.wrapper)==null?void 0:d.call(a),(s=a.bottom)==null?void 0:s.call(a)]}})),{}}}),ya=C({items:{type:Array,default:()=>[]},itemValue:{type:[String,Array,Function],default:"id"},itemSelectable:{type:[String,Array,Function],default:null},rowProps:[Object,Function],cellProps:[Object,Function],returnObject:Boolean},"DataTable-items");function xa(e,l,a,t){const n=e.returnObject?l:re(l,e.itemValue),r=re(l,e.itemSelectable,!0),o=t.reduce((d,s)=>(s.key!=null&&(d[s.key]=re(l,s.value)),d),{});return{type:"item",key:e.returnObject?re(l,e.itemValue):n,index:a,value:n,selectable:r,columns:o,raw:l}}function pa(e,l,a){return l.map((t,n)=>xa(e,t,n,a))}function Sa(e,l){return{items:T(()=>pa(e,e.items,l.value))}}function Pa(e){let{page:l,itemsPerPage:a,sortBy:t,groupBy:n,search:r}=e;const o=Oe("VDataTable"),d=()=>({page:l.value,itemsPerPage:a.value,sortBy:t.value,groupBy:n.value,search:r.value});let s=null;be(d,i=>{Ae(s,i)||(s&&s.search!==i.search&&(l.value=1),o.emit("update:options",i),s=i)},{deep:!0,immediate:!0})}const wa=C({...ot(),hideDefaultBody:Boolean,hideDefaultFooter:Boolean,hideDefaultHeader:Boolean,width:[String,Number],search:String,...ma(),...da(),...qt(),...ya(),...aa(),...na(),...Xe(),...st()},"DataTable"),ka=C({...Mt(),...wa(),...Gt(),...Ge()},"VDataTable"),Fa=M()({name:"VDataTable",props:ka(),emits:{"update:modelValue":e=>!0,"update:page":e=>!0,"update:itemsPerPage":e=>!0,"update:sortBy":e=>!0,"update:options":e=>!0,"update:groupBy":e=>!0,"update:expanded":e=>!0,"update:currentItems":e=>!0},setup(e,l){let{attrs:a,slots:t}=l;const{groupBy:n}=ia(e),{sortBy:r,multiSort:o,mustSort:d}=ra(e),{page:s,itemsPerPage:i}=jt(e),{disableSort:c}=Nt(e),{columns:g,headers:m,sortFunctions:P,sortRawFunctions:b,filterFunctions:h}=Zt(e,{groupBy:n,showSelect:E(()=>e.showSelect),showExpand:E(()=>e.showExpand)}),{items:f}=Sa(e,g),x=E(()=>e.search),{filteredItems:u}=Ht(e,f,x,{transform:G=>G.columns,customKeyFilter:h}),{toggleSort:p}=oa({sortBy:r,multiSort:o,mustSort:d,page:s}),{sortByWithGroups:k,opened:S,extractRows:V,isGroupOpen:F,toggleGroup:R}=ca({groupBy:n,sortBy:r,disableSort:c}),{sortedItems:D}=sa(e,u,k,{transform:G=>({...G.raw,...G.columns}),sortFunctions:P,sortRawFunctions:b}),{flatItems:v}=ga(D,n,S,()=>!!t["group-summary"]),I=T(()=>v.value.length),{startIndex:B,stopIndex:$,pageCount:L,setItemsPerPage:j}=Wt({page:s,itemsPerPage:i,itemsLength:I}),{paginatedItems:O}=Kt({items:v,startIndex:B,stopIndex:$,itemsPerPage:i}),W=T(()=>V(O.value)),{isSelected:ee,select:ce,selectAll:ut,toggleSelect:dt,someSelected:it,allSelected:ct}=la(e,{allItems:f,currentPage:W}),{isExpanded:ft,toggleExpand:gt}=ba(e);Pa({page:s,itemsPerPage:i,sortBy:r,groupBy:n,search:x}),Rt({VDataTableRows:{hideNoData:E(()=>e.hideNoData),noDataText:E(()=>e.noDataText),loading:E(()=>e.loading),loadingText:E(()=>e.loadingText)}});const A=T(()=>({page:s.value,itemsPerPage:i.value,sortBy:r.value,pageCount:L.value,toggleSort:p,setItemsPerPage:j,someSelected:it.value,allSelected:ct.value,isSelected:ee,select:ce,selectAll:ut,toggleSelect:dt,isExpanded:ft,toggleExpand:gt,isGroupOpen:F,toggleGroup:R,items:W.value.map(G=>G.raw),internalItems:W.value,groupedItems:O.value,columns:g.value,headers:m.value}));return Q(()=>{const G=Ce.filterProps(e),vt=Be.filterProps(e),mt=Ee.filterProps(e),bt=_e.filterProps(e);return w(_e,H({class:["v-data-table",{"v-data-table--show-select":e.showSelect,"v-data-table--loading":e.loading},e.class],style:e.style},bt,{fixedHeader:e.fixedHeader||e.sticky}),{top:()=>{var X;return(X=t.top)==null?void 0:X.call(t,A.value)},default:()=>{var X,Se,Pe,we,ke,Ie;return t.default?t.default(A.value):y(q,null,[(X=t.colgroup)==null?void 0:X.call(t,A.value),!e.hideDefaultHeader&&y("thead",{key:"thead"},[w(Be,vt,t)]),(Se=t.thead)==null?void 0:Se.call(t,A.value),!e.hideDefaultBody&&y("tbody",null,[(Pe=t["body.prepend"])==null?void 0:Pe.call(t,A.value),t.body?t.body(A.value):w(Ee,H(a,mt,{items:O.value}),t),(we=t["body.append"])==null?void 0:we.call(t,A.value)]),(ke=t.tbody)==null?void 0:ke.call(t,A.value),(Ie=t.tfoot)==null?void 0:Ie.call(t,A.value)])},bottom:()=>t.bottom?t.bottom(A.value):!e.hideDefaultFooter&&y(q,null,[w($t,null,null),w(Ce,G,{prepend:t["footer.prepend"]})])})}),{}}});export{Fa as V,_e as a};
|