@progress/kendo-vue-grid
Version:
9 lines (8 loc) • 4.29 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("vue"),oe=require("./cells/GridCell.js"),ie=require("./cells/GridEditCell.js"),n=require("@progress/kendo-vue-common"),R=require("./utils/main.js"),ce=require("@progress/kendo-vue-data-tools"),m=({leafColumns:a,editField:l,item:o})=>{if(!l)return!1;for(const d of a)if(d.editable){const i=n.getNestedValue(l,o.dataItem);if(i===!0||i===d.field)return!0}return!1},G=({selectedField:a,dataItemKey:l,select:o,item:d})=>{if(a){const i=n.getNestedValue(a,d.dataItem);return typeof i=="boolean"&&i}if(o&&l&&n.getter(l)(d.dataItem)!==void 0){const i=o[n.getter(l)(d.dataItem)];return typeof i=="boolean"&&i}return!1},$=({highlight:a,dataItemKey:l,item:o})=>{if(a&&l&&n.getter(l)(o.dataItem)!==void 0){const d=a[n.getter(l)(o.dataItem)];return typeof d=="boolean"&&d}return!1},se=(a,l,o,d,i,s)=>{const{leafColumns:p,selectedField:I,dataItemKey:c,select:y,highlight:h,editField:v,cellRender:A,cells:D,itemChange:P,selectionChangeHandler:B,editHandler:O,removeHandler:_,saveHandler:j,cancelHandler:M,cellClickHandler:z,cellKeydownHandler:J,computedCollapsed:C,uniqueField:K,columnsRef:L,isRtl:H,idPrefix:Q}=a,U=y&&c&&n.getter(c)(l.dataItem)!==void 0?y[n.getter(c)(l.dataItem)]:void 0,S=I?n.getNestedValue(I,l.dataItem):U,b=h&&c&&n.getter(c)(l.dataItem)!==void 0?h[n.getter(c)(l.dataItem)]:void 0,W=m({leafColumns:p,editField:v,item:l}),X=G({selectedField:I,dataItemKey:c,select:y,item:l}),Y=$({highlight:h,dataItemKey:c,item:l});return{row:(a.hasDynamicColSpan?a.getCellsToRender(l.dataItem,p):a.cellsToRender).map(({columnIndex:u,colSpan:Z})=>{var w,x,E,F,q;const e=p[u];let f;if((w=e.rowSpannable)!=null&&w.enabled&&l.rowType==="data"&&e.field&&s){const r=e.field?(E=(x=e.rowSpannable).valueGetter)==null?void 0:E.call(x,l.dataItem,e.field):null;f={value:r,count:1},s[e.field]&&((F=s[e.field])==null?void 0:F.value)===r&&s[e.field]!==null?(s[e.field].count++,f.count=null):s[e.field]=f}const ee=`${e.className?e.className+" ":""}${e.locked?"k-grid-content-sticky":""}`,le=H?{left:e.right+"px",right:e.left+"px"}:{left:e.left+"px",right:e.right+"px"},te=e.locked&&(e.left!==void 0||e.right!==void 0)?le:void 0;let N=!1;if(e.editable&&v){const r=n.getNestedValue(v,l.dataItem);(r===!0||r===e.field)&&(N=!0)}const t=R.resolveCells(D,e.cells);let g;l.rowType==="groupFooter"?g=(t==null?void 0:t.groupFooter)||e.cell:l.rowType==="groupHeader"?g=(t==null?void 0:t.groupHeader)||e.cell:(e.cell||t!=null&&t.data)&&(g=e.cell||(t==null?void 0:t.data));const k=(q=C==null?void 0:C[l.level])==null?void 0:q.some(r=>r===R.groupedFirstItemValue(l.dataItem,K)),ae=e.id?e.id:u,ne=k?!k:l.expanded||l.dataItem.expanded,de=e._type==="expand",re=ce.tableKeyboardNavigationTools.generateNavigatableId(`${o}-${String(u)}`,Q,de||l.rowType==="groupHeader"||l.rowType==="groupFooter"||e.field==="value"?"nodata":"cell"),T={locked:e.locked,key:ae,id:re,colSpan:Z,dataItem:l.dataItem,field:e.field||"",editor:e.editor,format:e.format,readFormat:e.readFormat,type:e.type,columnType:e.columnType,className:ee,render:g||A,onChange:P,onSelectionchange:r=>B({event:r,dataItem:l.dataItem,dataIndex:d,columnIndex:u}),onCellclick:z,onCellkeydown:J,onEdit:O,onRemove:_,onSave:j,onCancel:M,cells:t,columnIndex:u,columnsCount:L.filter(r=>!r.children.length).length,rowType:l.rowType,level:l.level,expanded:ne,dataIndex:l.dataIndex,style:te,ariaColumnIndex:e.ariaColumnIndex,isRtl:H,isSelected:!!((e==null?void 0:e._type)==="edit"?S:Array.isArray(S)&&S.indexOf(u)>-1),isHighlighted:!!(typeof b!="boolean"&&b&&(e!=null&&e.field)&&b[e.field]===!0),group:l.group,rowSpan:f};return e.defaultCell?V.createVNode(e.defaultCell,T,null):N?V.createVNode(ie.GridEditCell,T,null):V.createVNode(oe.GridCell,T,null)}),isInEdit:W,isSelected:X,isHighlighted:Y}};exports.calculateIsHighlighted=$;exports.calculateIsInEdit=m;exports.calculateIsSelected=G;exports.getRowContents=se;