ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
62 lines • 1.67 kB
TypeScript
import { SortPayload } from '../types';
export interface SortProps {
setSortField: (field: SortPayload['field']) => void;
setSortOrder: (order: SortPayload['order']) => void;
setSort: (sort: SortPayload) => void;
sort: SortPayload;
}
export declare const defaultSort: {
readonly field: "";
readonly order: "ASC";
};
/**
* Set the sort { field, order }
* @name setSort
* @function
* @param {SortPayload} sort the sort object
*/
/**
* Set the sort field, swap the order if the field is the same
* @name setSortField
* @function
* @param {string} field the sort field
*/
/**
* Set the sort order
* @name setSortOrder
* @function
* @param {string} order The sort order, either ASC or DESC
*/
/**
* @typedef SortProps
* @type {Object}
* @property {Object} sort: the sort object.
* @property {string} sort.field: the sort object.
* @property {'ASC' | 'DESC'} sort.order: the sort object.
* @property {setSort} setSort
* @property {setSortField} setSortField
* @property {setSortOrder} setSortOrder
*/
/**
* Hooks to provide sort state
*
* @example
*
* const { sort, setSort, setSortField, setSortOrder } = useSort({
* field: 'name',
* order: 'ASC',
* });
*
* setSort({ field: 'name', order: 'ASC' });
* // is the same as
* setSortField('name');
* setSortOrder('ASC');
*
* @param {Object} initialSort
* @param {string} initialSort.field The initial sort field
* @param {string} initialSort.order The initial sort order
* @returns {SortProps} The sort props
*/
declare const useSortState: (initialSort?: SortPayload) => SortProps;
export default useSortState;
//# sourceMappingURL=useSortState.d.ts.map