UNPKG

@vlsergey/react-bootstrap-pagetable

Version:

Complex solution to work with pageable data, including sorting, filtering, actions, changing displayed columns, etc.

25 lines (24 loc) 805 B
export default function strToSort(str) { if (!str) return undefined; if (typeof str === 'string') { var sortBy = strToSortBy(str); if (!sortBy) return undefined; return [sortBy]; } var strAsArray = str; var resultArray = strAsArray.map(strToSortBy).filter(function (x) { return !!x; }); return !resultArray ? undefined : resultArray; } function strToSortBy(str) { if (!str) return undefined; var commaIndex = str.indexOf(','); if (commaIndex === -1) { return { field: str, direction: 'ASC' }; } var field = str.substring(0, commaIndex); var strDir = str.substring(commaIndex + 1); return { field: field, direction: strDir.toUpperCase() === 'DESC' ? 'DESC' : 'ASC' }; }