File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
import type {SearchParams} from "../../type/searchParams.ts";
export const useTableSort = <T extends SearchParams>(
params: T,
onChange: (params: T) => void
) => {
const handleSort = (field: string) => {
const nextOrder =
params.searchSortCnd === field &&
params.searchSortOrd === 'ASC'
? 'DESC'
: 'ASC';
onChange({
...params,
searchSortCnd: field,
searchSortOrd: nextOrder,
pageIndex: 1,
});
};
const getSortIcon = (field: string) => {
if (params.searchSortCnd !== field) {
return '-';
}
return params.searchSortOrd === 'ASC'
? '▲'
: '▼';
};
const isSorted = (field: string) =>
params.searchSortCnd === field;
return {
handleSort,
getSortIcon,
isSorted,
};
};