@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
JavaScript
/**
* @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
};