UNPKG

@progress/kendo-react-grid

Version:

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

10 lines (9 loc) 1.79 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 client"; "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const G=require("react"),K=require("../../utils/GridContext.js"),i=require("@progress/kendo-react-common");function R(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const l=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(n,r,l.get?l:{enumerable:!0,get:()=>e[r]})}}return n.default=e,Object.freeze(n)}const a=R(G),f=a.createContext(void 0),k=e=>{const n=a.useContext(K.GridContext),r=a.useRef(null),[l,s]=a.useState(),u=(t,o)=>{e.sortable&&o.sortable&&(t.preventDefault(),n.sortChange&&n.headerCellClick(t,o))},C=(t,o)=>{if(t.isDefaultPrevented())return;const{keyCode:c,metaKey:g,ctrlKey:y,altKey:m}=t,x=e.sortable&&o.sortable,d=t.target;if(x&&t.keyCode===i.Keys.enter&&d.className.indexOf("k-table-th")!==-1&&u(t,o),e.navigatable){if(e.groupable&&(g&&c===i.Keys.enter||y&&c===i.Keys.space)){t.preventDefault();const h=e.columns.findIndex(w=>w.field===o.field);n.columnGroupChange&&n.columnGroupChange(h,t)}m&&c===i.Keys.down&&(t.preventDefault(),s(o.field),r.current=d)}},b=()=>{s(void 0),r.current&&r.current.getAttribute("tabindex")!=="-1"&&r.current.focus()};return a.createElement(f.Provider,{value:{cellClick:u,cellKeyDown:C,handleCloseMenu:b,showColumnMenuField:l}},e.children)};exports.GridHeaderRowContainer=k;exports.GridHeaderRowContext=f;