UNPKG

@progress/kendo-vue-grid

Version:
9 lines (8 loc) 2.49 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("vue"),b=require("@progress/kendo-vue-common"),D=r.defineComponent({name:"KendoVueGridStatusBar",props:{data:{type:Array,default:()=>[]}},setup(a){return()=>r.createVNode("div",{class:"k-selection-aggregates k-grid-selection-aggregates"},[a.data.map((s,o)=>r.createVNode("div",{key:`${s.type}-${o}`},[r.createVNode("span",{class:"k-selection-aggregates-item-text"},[s.type,r.createTextVNode(": ")]),r.createVNode("span",{class:"k-selection-aggregates-item-value"},[s.formattedValue])]))])}}),y=a=>{var o,c,l,d;const s=a.slice();for(let t=0;t<s.length;t++)for(;(c=(o=s[t])==null?void 0:o.children)!=null&&c.length;)s.splice(t,1,...(d=(l=s[t])==null?void 0:l.children)!=null?d:[]);return s},x=a=>{const{dataItems:s,target:o}=a,l=y(o.columns).map(e=>e.field).filter(e=>e&&typeof e=="string").map(e=>b.getter(e)),d=e=>{var n;return(n=a.select)==null?void 0:n[b.getter(a.dataItemKey)(e)]},t={dates:[],numbers:[],booleans:[],others:[]},S=e=>{typeof e=="number"?t.numbers.push(e):typeof e=="boolean"?t.booleans.push(e):e instanceof Date?t.dates.push(e):t.others.push(e)};s.forEach(e=>{const n=d(e);Array.isArray(n)&&n.forEach(u=>{S(l[u](e))})});const m=t.dates.map(e=>e.getTime()),i=t.booleans.filter(Boolean).length,f=t.booleans.length-i,g=t.numbers.length?t.numbers.reduce((e,n)=>e+n,0):void 0,h={sum:g,average:typeof g=="number"?g/t.numbers.length:void 0,min:t.numbers.length?Math.min(...t.numbers):void 0,max:t.numbers.length?Math.max(...t.numbers):void 0,count:t.numbers.length+t.booleans.length+t.dates.length+t.others.length,isTrue:i>0?i:void 0,isFalse:f>0?f:void 0,earliest:t.dates.length?new Date(Math.min(...m)):void 0,latest:t.dates.length?new Date(Math.max(...m)):void 0},V=(e,n)=>(n==="sum"||n==="average")&&typeof e=="number"?e.toFixed(2):(n==="earliest"||n==="latest")&&e instanceof Date?e.toLocaleDateString():String(e),p=[];return Object.keys(h).forEach(e=>{const n=e,u=h[n];u!==void 0&&p.push({type:n,value:u,formattedValue:V(u,n)})}),p};exports.StatusBar=D;exports.getStatusData=x;exports.leafColumns=y;