UNPKG

@hitachivantara/uikit-react-core

Version:
30 lines (29 loc) 1.03 kB
import { ensurePluginOrder } from "react-table"; //#region src/Table/hooks/useHvSortBy.ts var getHeaderPropsHook = (props, { instance, column }) => { const { isMultiSortEvent = (e) => e.shiftKey } = instance; const sortDirection = column.isSortedDesc ? "descending" : "ascending"; return [props, { sortable: column.canSort, sorted: column.isSorted, sortDirection: column.isSorted ? sortDirection : void 0, onClick: column.canSort ? (e) => { e.persist(); column.toggleSortBy(void 0, !instance.disableMultiSort && isMultiSortEvent(e)); } : void 0 }]; }; var getCellPropsHook = (props, { cell }) => { return [props, { sorted: cell.column.isSorted }]; }; var useInstanceHook = (instance) => { ensurePluginOrder(instance.plugins, ["useSortBy"], "useHvSortBy"); }; var useHvSortBy = (hooks) => { hooks.getHeaderProps.push(getHeaderPropsHook); hooks.getCellProps.push(getCellPropsHook); hooks.useInstance.push(useInstanceHook); }; useHvSortBy.pluginName = "useHvSortBy"; //#endregion export { useHvSortBy };