zwave-js-ui
Version:
Z-Wave Control Panel and MQTT Gateway
2 lines (1 loc) • 8.51 kB
JavaScript
import{bn as T,a5 as b,a4 as I,d2 as B,cm as x,cA as k,bF as J,bl as S,d3 as Q,c_ as C,d4 as N,d5 as F,d6 as G,d7 as V,d8 as A,d9 as U,bI as X,cK as Y,da as D}from"./index-DwzE-W2i.js";const re=I({expandOnClick:Boolean,showExpand:Boolean,expanded:{type:Array,default:()=>[]}},"DataTable-expand"),M=Symbol.for("vuetify:datatable:expanded");function le(e){const t=T(()=>e.expandOnClick),n=b(e,"expanded",e.expanded,u=>new Set(u),u=>[...u.values()]);function a(u,o){const s=new Set(n.value),c=B(u.value);if(o)s.add(c);else{const d=[...n.value].find(i=>B(i)===c);s.delete(d)}n.value=s}function r(u){const o=B(u.value);return[...n.value].some(s=>B(s)===o)}function v(u){a(u,!r(u))}const l={expand:a,expanded:n,expandOnClick:t,isExpanded:r,toggleExpand:v};return k(M,l),l}function se(){const e=x(M);if(!e)throw new Error("foo");return e}const ue=I({groupBy:{type:Array,default:()=>[]}},"DataTable-group"),j=Symbol.for("vuetify:data-table-group");function oe(e){return{groupBy:b(e,"groupBy")}}function ce(e){const{disableSort:t,groupBy:n,sortBy:a}=e,r=J(new Set),v=S(()=>n.value.map(c=>({...c,order:c.order??!1})).concat(t?.value?[]:a.value));function l(c){return r.value.has(c.id)}function u(c){const d=new Set(r.value);l(c)?d.delete(c.id):d.add(c.id),r.value=d}function o(c){function d(i){const m=[];for(const h of i.items)"type"in h&&h.type==="group"?m.push(...d(h)):m.push(h);return[...new Set(m)]}return d({items:c})}const s={sortByWithGroups:v,toggleGroup:u,opened:r,groupBy:n,extractRows:o,isGroupOpen:l};return k(j,s),s}function ie(){const e=x(j);if(!e)throw new Error("Missing group!");return e}function Z(e,t){if(!e.length)return[];const n=new Map;for(const a of e){const r=C(a.raw,t);n.has(r)||n.set(r,[]),n.get(r).push(a)}return n}function K(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"root";if(!t.length)return[];const r=Z(e,t[0]),v=[],l=t.slice(1);return r.forEach((u,o)=>{const s=t[0],c=`${a}_${s}_${o}`;v.push({depth:n,id:c,key:s,value:o,items:l.length?K(u,l,n+1,c):u,type:"group"})}),v}function L(e,t,n){const a=[];for(const r of e)"type"in r&&r.type==="group"?(r.value!=null&&a.push(r),(t.has(r.id)||r.value==null)&&(a.push(...L(r.items,t,n)),n&&a.push({...r,type:"group-summary"}))):a.push(r);return a}function de(e,t,n,a){return{flatItems:S(()=>{if(!t.value.length)return e.value;const v=K(e.value,t.value.map(l=>l.key));return L(v,n.value,Q(a))})}}function fe(e){let{page:t,itemsPerPage:n,sortBy:a,groupBy:r,search:v}=e;const l=N("VDataTable"),u=()=>({page:t.value,itemsPerPage:n.value,sortBy:a.value,groupBy:r.value,search:v.value});let o=null;F(u,s=>{G(o,s)||(o&&o.search!==s.search&&(t.value=1),l.emit("update:options",s),o=s)},{deep:!0,immediate:!0})}const ve=I({page:{type:[Number,String],default:1},itemsPerPage:{type:[Number,String],default:10}},"DataTable-paginate"),_=Symbol.for("vuetify:data-table-pagination");function me(e){const t=b(e,"page",void 0,a=>Number(a??1)),n=b(e,"itemsPerPage",void 0,a=>Number(a??10));return{page:t,itemsPerPage:n}}function ge(e){const{page:t,itemsPerPage:n,itemsLength:a}=e,r=S(()=>n.value===-1?0:n.value*(t.value-1)),v=S(()=>n.value===-1?a.value:Math.min(a.value,r.value+n.value)),l=S(()=>n.value===-1||a.value===0?1:Math.ceil(a.value/n.value));F([t,l],()=>{t.value>l.value&&(t.value=l.value)});function u(i){n.value=i,t.value=1}function o(){t.value=V(t.value+1,1,l.value)}function s(){t.value=V(t.value-1,1,l.value)}function c(i){t.value=V(i,1,l.value)}const d={page:t,itemsPerPage:n,startIndex:r,stopIndex:v,pageCount:l,itemsLength:a,nextPage:o,prevPage:s,setPage:c,setItemsPerPage:u};return k(_,d),d}function pe(){const e=x(_);if(!e)throw new Error("Missing pagination!");return e}function ye(e){const t=N("usePaginatedItems"),{items:n,startIndex:a,stopIndex:r,itemsPerPage:v}=e,l=S(()=>v.value<=0?n.value:n.value.slice(a.value,r.value));return F(l,u=>{t.emit("update:currentItems",u)},{immediate:!0}),{paginatedItems:l}}const ee={showSelectAll:!1,allSelected:()=>[],select:e=>{let{items:t,value:n}=e;return new Set(n?[t[0]?.value]:[])},selectAll:e=>{let{selected:t}=e;return t}},$={showSelectAll:!0,allSelected:e=>{let{currentPage:t}=e;return t},select:e=>{let{items:t,value:n,selected:a}=e;for(const r of t)n?a.add(r.value):a.delete(r.value);return a},selectAll:e=>{let{value:t,currentPage:n,selected:a}=e;return $.select({items:n,value:t,selected:a})}},te={showSelectAll:!0,allSelected:e=>{let{allItems:t}=e;return t},select:e=>{let{items:t,value:n,selected:a}=e;for(const r of t)n?a.add(r.value):a.delete(r.value);return a},selectAll:e=>{let{value:t,allItems:n}=e;return new Set(t?n.map(a=>a.value):[])}},Se=I({showSelect:Boolean,selectStrategy:{type:[String,Object],default:"page"},modelValue:{type:Array,default:()=>[]},valueComparator:Function},"DataTable-select"),q=Symbol.for("vuetify:data-table-selection");function he(e,t){let{allItems:n,currentPage:a}=t;const r=b(e,"modelValue",e.modelValue,f=>{const g=e.valueComparator;return g?new Set(A(f).map(y=>n.value.find(w=>g(y,w.value))?.value??y)):new Set(A(f).map(y=>U(y)?n.value.find(w=>y===w.value)?.value??y:n.value.find(w=>G(y,w.value))?.value??y))},f=>[...f.values()]),v=S(()=>n.value.filter(f=>f.selectable)),l=S(()=>a.value.filter(f=>f.selectable)),u=S(()=>{if(typeof e.selectStrategy=="object")return e.selectStrategy;switch(e.selectStrategy){case"single":return ee;case"all":return te;case"page":default:return $}}),o=X(null);function s(f){return A(f).every(g=>r.value.has(g.value))}function c(f){return A(f).some(g=>r.value.has(g.value))}function d(f,g){const y=u.value.select({items:f,value:g,selected:new Set(r.value)});r.value=y}function i(f,g,y){const w=[];if(g=g??a.value.findIndex(E=>E.value===f.value),e.selectStrategy!=="single"&&y?.shiftKey&&o.value!==null){const[E,W]=[o.value,g].sort((R,H)=>R-H);w.push(...a.value.slice(E,W+1).filter(R=>R.selectable))}else w.push(f),o.value=g;d(w,!s([f]))}function m(f){const g=u.value.selectAll({value:f,allItems:v.value,currentPage:l.value,selected:new Set(r.value)});r.value=g}const h=S(()=>r.value.size>0),P=S(()=>{const f=u.value.allSelected({allItems:v.value,currentPage:l.value});return!!f.length&&s(f)}),p=T(()=>u.value.showSelectAll),O={toggleSelect:i,select:d,selectAll:m,isSelected:s,isSomeSelected:c,someSelected:h,allSelected:P,showSelectAll:p,lastSelectedIndex:o,selectStrategy:u};return k(q,O),O}function we(){const e=x(q);if(!e)throw new Error("Missing selection!");return e}const be=I({sortBy:{type:Array,default:()=>[]},customKeySort:Object,multiSort:Boolean,mustSort:Boolean},"DataTable-sort"),z=Symbol.for("vuetify:data-table-sort");function Pe(e){const t=b(e,"sortBy"),n=T(()=>e.mustSort),a=T(()=>e.multiSort);return{sortBy:t,mustSort:n,multiSort:a}}function Ie(e){const{sortBy:t,mustSort:n,multiSort:a,page:r}=e,v=o=>{if(o.key==null)return;let s=t.value.map(d=>({...d}))??[];const c=s.find(d=>d.key===o.key);c?c.order==="desc"?n.value&&s.length===1?c.order="asc":s=s.filter(d=>d.key!==o.key):c.order="desc":a.value?s.push({key:o.key,order:"asc"}):s=[{key:o.key,order:"asc"}],t.value=s,r&&(r.value=1)};function l(o){return!!t.value.find(s=>s.key===o.key)}const u={sortBy:t,toggleSort:v,isSorted:l};return k(z,u),u}function xe(){const e=x(z);if(!e)throw new Error("Missing sort!");return e}function ke(e,t,n,a){const r=Y();return{sortedItems:S(()=>n.value.length?ae(t.value,n.value,r.current.value,{transform:a?.transform,sortFunctions:{...e.customKeySort,...a?.sortFunctions?.value},sortRawFunctions:a?.sortRawFunctions?.value}):t.value)}}function ae(e,t,n,a){const r=new Intl.Collator(n,{sensitivity:"accent",usage:"sort"});return e.map(l=>[l,a?.transform?a.transform(l):l]).sort((l,u)=>{for(let o=0;o<t.length;o++){let s=!1;const c=t[o].key,d=t[o].order??"asc";if(d===!1)continue;let i=C(l[1],c),m=C(u[1],c),h=l[0].raw,P=u[0].raw;if(d==="desc"&&([i,m]=[m,i],[h,P]=[P,h]),a?.sortRawFunctions?.[c]){const p=a.sortRawFunctions[c](h,P);if(p==null)continue;if(s=!0,p)return p}if(a?.sortFunctions?.[c]){const p=a.sortFunctions[c](i,m);if(p==null)continue;if(s=!0,p)return p}if(!s&&(i instanceof Date&&m instanceof Date&&(i=i.getTime(),m=m.getTime()),[i,m]=[i,m].map(p=>p!=null?p.toString().toLocaleLowerCase():p),i!==m))return D(i)&&D(m)?0:D(i)?-1:D(m)?1:!isNaN(i)&&!isNaN(m)?Number(i)-Number(m):r.compare(i,m)}return 0}).map(l=>{let[u]=l;return u})}export{me as a,ce as b,Pe as c,de as d,ge as e,ye as f,he as g,le as h,fe as i,re as j,ve as k,be as l,ue as m,Se as n,pe as o,Ie as p,xe as q,we as r,ie as s,se as t,ke as u,oe as v};