proceeded implementing query improvements:
query methods are now uniform and with one central function
This commit is contained in:
parent
907487c22c
commit
fcd24c2abc
@ -105,6 +105,11 @@ function filter(filterString) {
|
|||||||
fetchQuery(fetchURL);
|
fetchQuery(fetchURL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getFilterQuery() {
|
||||||
|
let filterString = filterButton.value.toUpperCase();
|
||||||
|
return "?type=" + filterString;
|
||||||
|
}
|
||||||
|
|
||||||
function search(searchString) {
|
function search(searchString) {
|
||||||
updateSections();
|
updateSections();
|
||||||
let fetchURL = new URL(apiEndpoint + "/search", baseURL);
|
let fetchURL = new URL(apiEndpoint + "/search", baseURL);
|
||||||
@ -113,6 +118,11 @@ function search(searchString) {
|
|||||||
fetchQuery(fetchURL);
|
fetchQuery(fetchURL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getSearchQuery() {
|
||||||
|
let searchString = searchBar.value;
|
||||||
|
return "?search=" + (searchString.length === 0 ? "%" : searchString);
|
||||||
|
}
|
||||||
|
|
||||||
function sort(sortString) {
|
function sort(sortString) {
|
||||||
let query = sortString.toLowerCase().split(" ");
|
let query = sortString.toLowerCase().split(" ");
|
||||||
if (query[1] === "a-z" || query[1] === "↑" || query[1] === "oldest-newest") {
|
if (query[1] === "a-z" || query[1] === "↑" || query[1] === "oldest-newest") {
|
||||||
@ -128,9 +138,26 @@ function sort(sortString) {
|
|||||||
fetchQuery(fetchURL);
|
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
|
// creates query for the whole toolbar, so that searching, sorting and filtering are always combined
|
||||||
function createQuery() {
|
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) {
|
export function vote(entryID, up) {
|
||||||
|
Loading…
Reference in New Issue
Block a user