proceeded implementing query improvements:

query methods are now uniform and with one central function
This commit is contained in:
J-Klinke 2024-07-01 11:11:29 +02:00
parent 907487c22c
commit fcd24c2abc

View File

@ -105,6 +105,11 @@ function filter(filterString) {
fetchQuery(fetchURL);
}
function getFilterQuery() {
let filterString = filterButton.value.toUpperCase();
return "?type=" + filterString;
}
function search(searchString) {
updateSections();
let fetchURL = new URL(apiEndpoint + "/search", baseURL);
@ -113,6 +118,11 @@ function search(searchString) {
fetchQuery(fetchURL);
}
function getSearchQuery() {
let searchString = searchBar.value;
return "?search=" + (searchString.length === 0 ? "%" : searchString);
}
function sort(sortString) {
let query = sortString.toLowerCase().split(" ");
if (query[1] === "a-z" || query[1] === "↑" || query[1] === "oldest-newest") {
@ -128,9 +138,26 @@ function sort(sortString) {
fetchQuery(fetchURL);
}
function getSortQuery() {
let sortString = sortButton.value.toLowerCase().split(" ");
if (sortString[1] === "a-z" || sortString[1] === "↑" || sortString[1] === "oldest-newest") {
sortString[1] = "asc";
} else {
sortString[1] = "desc";
}
return "?sort=" + sortString[0] + "&direction=" + sortString[1];
}
// creates query for the whole toolbar, so that searching, sorting and filtering are always combined
function createQuery() {
updateSections();
let queryURL = new URL(apiEndpoint + "/search", baseURL);
queryURL.append(getSearchQuery());
queryURL.append(getFilterQuery());
queryURL.append(getSortQuery());
queryURL.append("&size=" + defaultPagingValue);
console.log(queryURL); // TODO: remove
fetchQuery(queryURL);
}
export function vote(entryID, up) {