@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
10 lines (9 loc) • 2.57 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
"use client";
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("react"),m=require("@progress/kendo-react-data-tools"),x=require("../../GridClientWrapper.js"),I=require("@progress/kendo-react-common"),c=require("../../utils/index.js");function b(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const d=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,d.get?d:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const o=b(g),h=e=>{var s;const{cellProps:t}=e,n=o.useContext(x.GridContext),d=m.useTableKeyboardNavigation(t.id),C=o.useCallback(l=>{l.isDefaultPrevented()||l.keyCode===I.Keys.enter&&(n!=null&&n.itemChange)&&(l.preventDefault(),n.itemChange({dataItem:t.dataItem,dataIndex:t.dataIndex,syntheticEvent:l,field:void 0,value:!t.expanded}),n==null||n.dispatchGroupExpand({type:m.GROUP_EXPAND_ACTION.TOGGLE,group:t.group},l))},[n,t.dataItem,t.dataIndex,t.expanded,t.group]),f=e.addKeyDownHandler?{onKeyDown:C}:{},r=o.useCallback(l=>{n!=null&&n.onContextMenu&&n.onContextMenu.call(void 0,l,t.dataItem,t.field)},[n,t.dataItem,t.field]),P=n.getCellPositionStyle(t.columnPosition),y={style:{...(s=e.tdProps)==null?void 0:s.style,...P}},a={...d,...f,onContextMenu:r,...y},i={onContextMenu:n.onContextMenu,onChange:n.itemChange,selectionChange:l=>{n.selectionChange({event:l,dataItem:t.dataItem,dataIndex:t.rowDataIndex,columnIndex:t.columnIndex})}};if(e.isCustom)return n.isClient||e.isClient?c.cloneReactElement(e.children,{tdProps:e.tdProps?{...e.tdProps,...a}:null,td2Props:e.td2Props?{...e.td2Props,onContextMenu:r}:null,...i}):c.cloneReactElement(e.children,{...a});const u=e.renderSecondCell?o.createElement("td",{...e.td2Props,onContextMenu:r}):null;if(t.render){let l=null;return e.renderFirstCell&&(e.renderSecondCell?l=o.createElement(o.Fragment,null,o.createElement("td",{...e.tdProps,...a},e.content),e.renderSecondCell&&u):l=o.createElement("td",{...e.tdProps,...a},e.content)),t.render.call(void 0,l,{...t,...i})}return o.createElement(o.Fragment,null,e.children&&c.cloneReactElement(e.children,{...a}),u)};exports.GridGroupCellContainer=h;