Add Task Sorting and Pagination

This commit is contained in:
speatzle 2024-06-25 17:16:57 +02:00
parent 1c48a43738
commit 1a46eaf51b
4 changed files with 119 additions and 9 deletions

37
static/js/table_sort.js Normal file
View file

@ -0,0 +1,37 @@
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;
}