@hitachivantara/uikit-react-core
Version:
Core React components for the NEXT Design System.
38 lines (37 loc) • 979 B
JavaScript
import { ensurePluginOrder } from "react-table";
const getHeaderPropsHook = (props, { column }) => {
const resizerProps = column.getResizerProps?.() || {};
resizerProps.onClick = (e) => {
e.preventDefault();
e.stopPropagation();
};
const nextProps = {
resizable: column.canResize,
resizing: column.isResizing,
resizerProps
};
return [props, nextProps];
};
const getCellPropsHook = (props, { cell }) => {
const nextProps = {
resizable: cell.column.canResize,
resizing: cell.column.isResizing
};
return [props, nextProps];
};
const useInstanceHook = (instance) => {
ensurePluginOrder(
instance.plugins,
["useResizeColumns"],
"useHvResizeColumns"
);
};
const useHvResizeColumns = (hooks) => {
hooks.getHeaderProps.push(getHeaderPropsHook);
hooks.getCellProps.push(getCellPropsHook);
hooks.useInstance.push(useInstanceHook);
};
useHvResizeColumns.pluginName = "useHvResizeColumns";
export {
useHvResizeColumns
};