37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
const SORT_ORDER_BY_PARAM = "order_by"
|
|
const SORT_ORDER_ASC_PARAM = "order_asc"
|
|
const SORT_PAGE_PARAM = "page"
|
|
const SORT_LIMIT_PARAM = "limit"
|
|
|
|
function setTableSort(field) {
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
|
|
if (urlParams.get(SORT_ORDER_BY_PARAM) == field) {
|
|
if (urlParams.has(SORT_ORDER_ASC_PARAM)) {
|
|
urlParams.delete(SORT_ORDER_ASC_PARAM);
|
|
} else {
|
|
urlParams.set(SORT_ORDER_ASC_PARAM, true);
|
|
}
|
|
} else {
|
|
urlParams.set(SORT_ORDER_BY_PARAM, field);
|
|
urlParams.delete(SORT_ORDER_ASC_PARAM);
|
|
}
|
|
//Reset Pagination
|
|
urlParams.delete(SORT_PAGE_PARAM);
|
|
window.location.search = urlParams;
|
|
}
|
|
|
|
function setLimit(number) {
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
urlParams.set(SORT_LIMIT_PARAM, number);
|
|
|
|
//Reset Pagination
|
|
urlParams.delete(SORT_PAGE_PARAM);
|
|
window.location.search = urlParams;
|
|
}
|
|
|
|
function setPage(number) {
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
urlParams.set(SORT_PAGE_PARAM, number);
|
|
window.location.search = urlParams;
|
|
}
|