UNPKG

@progress/kendo-react-grid

Version:

React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package

9 lines (8 loc) 3.47 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 U=require("react"),s=require("@progress/kendo-react-common"),W=require("@progress/kendo-react-data-tools"),G=require("./utils/index.js"),X=require("./cells/datacell/GridCell.js"),Y=require("./cells/datacell/GridCellServer.js"),Z=require("./cells/editcell/GridEditCell.js"),ee=require("./cells/editcell/GridEditCellServer.js");function te(l){const d=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const t in l)if(t!=="default"){const g=Object.getOwnPropertyDescriptor(l,t);Object.defineProperty(d,t,g.get?g:{enumerable:!0,get:()=>l[t]})}}return d.default=l,Object.freeze(d)}const le=te(U);function oe(l,d,t,g,O,q,i){const{leafColumns:C,columnsState:R,idPrefix:_,gridClasses:A,unstyled:D,localization:N,intl:P,cells:j,isRowReorderable:x,sort:H,editable:K,isClient:v,isEditDialog:V,dataItemKey:o,select:b,highlight:S}=l;let T=!1;const c=b&&o&&s.getter(o)(t.dataItem)!==void 0?b[s.getter(o)(t.dataItem)]:void 0,f=S&&o&&s.getter(o)(t.dataItem)!==void 0?S[s.getter(o)(t.dataItem)]:void 0;return{row:(l.hasDynamicColSpan?l.getCellsToRender(t.dataItem):l.cellsToRender).map(({columnIndex:a,colSpan:z})=>{var h,I,k,m,E,w;const e=C[a],y=R[a],B=(I=(h=e.locked)!=null?h:y==null?void 0:y.locked)!=null?I:!1;let u;if((k=e.rowSpannable)!=null&&k.enabled&&t.rowType==="data"&&e.field&&i){const r=e.field?(E=(m=e.rowSpannable).valueGetter)==null?void 0:E.call(m,t.dataItem,e.field):null;u={value:r,count:1},i[e.field]&&((w=i[e.field])==null?void 0:w.value)===r&&i[e.field]!==null?(i[e.field].count++,u.count=null):i[e.field]=u}const M=e.id?e.id:a,$=s.classNames(A.contentSticky({locked:B}),e.className),F=e.left!==void 0?{left:e.left,right:e.right}:{};let p=!1;if(e.editable&&K){const r=d&&o?d[s.getter(o)(t.dataItem)]:void 0;let n;typeof r=="boolean"?n=r:Array.isArray(r)?n=e.field?r.indexOf(e.field)>-1:!1:n=e.field!==void 0&&r===e.field,n&&e.columnType==="data"&&(n===!0||n===e.field)&&(T=!0,V||(p=!0))}const L=e._type==="expand",J={locked:e.locked,id:W.tableKeyboardNavigationTools.generateNavigatableId(`${g}-${String(a)}`,_,L||t.rowType==="groupHeader"||t.rowType==="groupFooter"||e.field==="value"?"nodata":"cell"),colSpan:z,dataItem:t.dataItem,field:e.field,editor:e.editor,format:e.format,columnType:e.columnType,rowReorderable:x,className:$,cells:G.resolveCells(j,e.cells),columnIndex:a,columnsCount:C.length,rowType:t.rowType,level:t.level,expanded:t.expanded,dataIndex:t.dataIndex,rowDataIndex:O,columnPosition:F,style:{},ariaColumnIndex:e.ariaColumnIndex,isSelected:!!((e==null?void 0:e._type)==="edit"?c:Array.isArray(c)&&c.indexOf(a)>-1),isHighlighted:!!((e==null?void 0:e._type)==="edit"?f:Array.isArray(f)&&f.indexOf(a)>-1),isSorted:!!G.isSorted(e.field,H),isInEdit:p,isAlt:q,unstyled:D,group:t.group,localization:N,intl:P,_rowSpan:u},Q=e.defaultCell||p&&(v?Z.GridEditCell:ee.GridEditCellServer)||(v?X.GridCell:Y.GridCellServer);return le.createElement(Q,{key:M,cellProps:J})}),isInEdit:T,isSelected:typeof c=="boolean"&&c,isHighlighted:typeof f=="boolean"&&f}}exports.getRowContents=oe;