UNPKG

@progress/kendo-react-grid

Version:

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

69 lines (68 loc) 2.42 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 client"; import * as u from "react"; function i(s) { const p = u.useMemo(() => { var l; if (s != null && s.columnsRef && Array.isArray(s.columnsRef)) { const f = s.columnsRef, h = (l = s.hiddenColumnsRef) != null ? l : []; return [...f, ...h].map((a) => { var c; return { id: a.id, field: a.field, values: (c = a.values) != null ? c : [] }; }); } return []; }, [s == null ? void 0 : s.columnsRef, s == null ? void 0 : s.hiddenColumnsRef]), m = u.useMemo( () => s ? { sort: s.sort, filter: s.filter, group: s.group, highlight: s.highlight, select: s.select, columnsState: s.columnsState, skip: s.skip, take: s.take } : void 0, [s] ), k = u.useMemo( () => s ? { getTotal: () => s.getTotal(), getLeafDataItems: () => s.getLeafDataItems(), exportAsPdf: () => s.exportAsPdf(), props: { dataItemKey: s.dataItemKey } } : null, [s] ), v = u.useCallback( (l) => { var f, h; s && (l.sort !== void 0 && l.sort !== s.sort && s.sortChange(l.sort, {}), l.filter !== s.filter && s.filterChange(l.filter, {}), l.group !== void 0 && l.group !== s.group && s.groupChange(l.group, {}), l.highlight !== void 0 && l.highlight !== s.highlight && s.applyHighlightDescriptor(l.highlight), l.select !== void 0 && l.select !== s.select && s.applySelectionDescriptor(l.select), l.columnsState !== void 0 && l.columnsState !== s.columnsState && s.onColumnsStateChange(l.columnsState), (l.skip !== void 0 && l.skip !== s.skip || l.take !== void 0 && l.take !== s.take) && s.pagerPageChange({ skip: (f = l.skip) != null ? f : 0, take: (h = l.take) != null ? h : 0, syntheticEvent: {} })); }, [s] ), R = u.useCallback(() => { s == null || s.exportAsPdf(); }, [s]); return { columns: p, gridState: m, gridRef: k, handleStateChange: v, exportAsPdf: R }; } export { i as useSmartBoxGridState };