UNPKG

@progress/kendo-vue-grid

Version:
9 lines (8 loc) 6.03 kB
/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2025 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 u=require("@progress/kendo-vue-data-tools"),S=require("@progress/kendo-vue-common"),c="string";function g(e,t){const n=e.split(".");let a=t;return n.forEach(o=>{a=a?a[o]:void 0}),a}function w(e,t,n,a,o,l,h=0){let r=h;for(let i=0;i<t.length;i++){if(!o||t[i].value===void 0||t[i].items===void 0){e[e.length]={dataIndex:++a.index,dataItem:t[i],rowType:"data",level:h,expanded:l===void 0||g(l,t[i])};continue}r=Math.max(r,h+1);const d=l===void 0||g(l,t[i])===void 0||g(l,t[i]);e[e.length]={dataIndex:-1,dataItem:t[i],level:h,rowType:"groupHeader",expanded:d},d&&(r=Math.max(w(e,t[i].items,n,a,o,l,h+1),r)),(n==="always"||d&&n==="visible")&&(e[e.length]={dataIndex:-1,dataItem:t[i],rowType:"groupFooter",level:h,expanded:d})}return r}function m(e){return e&&getComputedStyle(e).direction==="rtl"||!1}function E(e,t){if(!t||!e||!e.originalEvent||!S.canUseDOM)return-1;let n=document.elementFromPoint(e.clientX,e.originalEvent.clientY);for(;n&&n.parentElement!==t;)n=n.parentElement;const a=t.children;for(let o=0;o<a.length;o++)if(a[o]===n)return o;return-1}const x=["sortChange","filterChange","groupChange","pageChange","expandChange","selectionChange","headerSelectionChange","rowClick","itemChange","dataStateChange","columnResize","columnReorder"],y={filterable:!0,editable:!0,sortable:!0,resizable:!0,reorderable:!0,groupable:!0},k=(e,t)=>`The ${e} event handler property is deprecated, use https://www.telerik.com/kendo-vue-ui/components/grid/api/GridProps/#toc-${t} instead`;function F(e){for(let t=0;t<x.length;t++){const n=x[t];if(e[n]!==void 0){const a="on"+n.charAt(0).toUpperCase()+n.slice(1);console.warn(k(n,a))}}}function M(e,t){const n=e[t].depth;let a=null;for(let o=t+1;o<e.length;o++)if(e[o].depth===n){a=e[o];break}return a}function N(e){const t=[[]];let n=0;for(let r=e.length-1;r>=0;r--)n=Math.max(n,e[r].depth),e[r].colSpan=e[r].colSpan||1,e[r].children.length>0&&(e[r].colSpan=e[r].children.reduce((i,d)=>d.hidden?i:i+d.colSpan,0));let a=1;e.forEach((r,i)=>{t[r.depth]=t[r.depth]||[];let d=!1;t[r.depth].length===0&&(a<=1?a=1+(r.children.length>0?0:n-r.depth):(a--,d=!0)),r.rowSpan=1+(r.children.length>0?0:n-r.depth),r.kFirst=d,r.index=t[r.depth].length,t[r.depth].push(i)});const o=new Array(t.length).fill(0);let l=0;e.forEach(r=>{if(r.locked)if(r.left=o[r.depth],l=r.width?parseFloat(r.width.toString()):0,r.children.length===0)for(let i=r.depth;i<o.length;i++)o[i]+=l;else o[r.depth]+=l});const h=new Array(t.length).fill(0);for(let r=e.length-1;r>=0;r--){const i=e[r];if(i.locked){if(i.right=h[i.depth],l=i.width?parseFloat(i.width.toString()):0,i.children.length===0)for(let s=i.depth;s<h.length;s++)h[s]+=l;else h[i.depth]+=l;const d=M(e,r);i.rightBorder=!(d&&d.locked)}}return t}function C(e,t,n,a=0){const o=[],l=e&&e.length?e.length===t.length:!1;if(!e)return[];e&&e.length===void 0&&(e=[e]),e.forEach((r,i)=>{r=r;const d=l&&t[i]||null,s=r.children?r.children.filter(b=>!b.hidden):r.children,f=C(s,d&&d.children||[],n,a+1);o.push(Object.assign({depth:a},y,f.length?{cell:()=>null,filterCell:()=>null}:{},d?{width:d.width,orderIndex:d.orderIndex}:{},r,{id:u.tableKeyboardNavigationTools.generateNavigatableId(`${n.prevId++}`,n.idPrefix,"column"),declarationIndex:o.length,children:f,rowSpan:0,colSpan:0,isAccessible:!0}))});const h=(r,i)=>r.orderIndex===i.orderIndex?r.declarationIndex-i.declarationIndex:(r.orderIndex||0)-(i.orderIndex||0);if(o.sort(h),a===0){const r=[],i=(d,s)=>d.forEach(f=>{f.parentIndex=s,i(f.children,r.push(f)-1)});return i(o,-1),r}return o}function T(e,t,n,a){let o=[];Array.isArray(e)?o=e:e&&(o=e.data),o.length||console.warn("Kendo Grid autogeneration of columns is only possible if some items are defined when the component is created.");const l=[];if(o.length>0){let h=o[0];if(t)for(let i=0;i<t.length;i++)h=h.items&&h.items[0];Object.getOwnPropertyNames(h).forEach(i=>{i!==n&&i!=="__ob__"&&l.push(Object.assign({id:u.tableKeyboardNavigationTools.generateNavigatableId(`${a.prevId++}`,a.idPrefix,"column"),declarationIndex:-1,parentIndex:-1,depth:0,colSpan:0,rowSpan:0,index:0,left:0,right:0,children:[],rightBorder:!1,ariaColumnIndex:1,isAccessible:!0},y,{field:i}))})}return l}const A=(e,t)=>{let n=e[t.parentIndex];for(;n;){if(n.footerCell)return!0;n=e[n.parentIndex]}return!1},D=e=>e.filter(t=>A(e,t)?!1:!!t.footerCell||!(t.children&&t.children.length>0)),L={number:function(e,t,n){return typeof e===c&&e.toLowerCase()==="null"?null:t.parseNumber(e,n)},date:function(e,t,n){return typeof e===c&&e.toLowerCase()==="null"?null:t.parseDate(e,n)},boolean:function(e){return typeof e===c?e.toLowerCase()==="null"?null:e.toLowerCase()==="true":e!=null?!!e:e},string:function(e){return typeof e===c&&e.toLowerCase()==="null"?null:e!=null?e+"":e},default:function(e){return e}};function I(e,t,n,a){return e.forEach(o=>{o.expanded=t[a]&&!t[a].includes(p(o,n)),o.items&&o.items.length&&(o.items=I(o.items,t,n,a+1))}),e}function G(e,t,n){return t&&t.length&&e.data.forEach(a=>{a.expanded=a.expanded!==void 0?a.expanded:t[0]&&!t[0].includes(p(a,n)),a.items&&a.items.length&&(a.items=I(a.items,t,n,1))}),e}function p(e,t){let n=e;for(;n.items&&n.items.length;)n=n.items[0];return t?n[t]:e.value}const K=typeof window!="undefined"&&/Firefox/.test(window.navigator.userAgent),O=17895697;exports.applyExpandedState=G;exports.autoGenerateColumns=T;exports.checkPropCompatibility=F;exports.firefox=K;exports.firefoxMaxHeight=O;exports.flatData=w;exports.footerColumns=D;exports.getIndex=E;exports.getNestedValue=g;exports.groupedFirstItemValue=p;exports.isRtl=m;exports.mapColumns=N;exports.parsers=L;exports.readColumns=C;