UNPKG

zwave-js-ui

Version:

Z-Wave Control Panel and MQTT Gateway

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