@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
JavaScript
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' };
}