From c19459ad01db096bd3c51495ed80edf8e1dc487d Mon Sep 17 00:00:00 2001 From: Elias Schriefer Date: Fri, 21 Jun 2024 12:03:10 +0200 Subject: [PATCH] Little fixes --- src/main/resources/static/contentUtility.js | 2 +- src/main/resources/static/main.js | 31 +++++++++++---------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/src/main/resources/static/contentUtility.js b/src/main/resources/static/contentUtility.js index e3adfe5..61c9f36 100644 --- a/src/main/resources/static/contentUtility.js +++ b/src/main/resources/static/contentUtility.js @@ -1,4 +1,4 @@ -import {searchBarTimeout} from "./main.js" +import { searchBarTimeout } from "./main.js" export function fetchQuery(fetchString) { clearTimeout(searchBarTimeout); diff --git a/src/main/resources/static/main.js b/src/main/resources/static/main.js index 08adb7c..2f1d526 100644 --- a/src/main/resources/static/main.js +++ b/src/main/resources/static/main.js @@ -1,6 +1,6 @@ import { fetchQuery } from "./contentUtility.js"; -const baseURL = "http://" + window.location.host + "/api/v1/datasets"; +const apiEndpoint = "/api/v1/datasets"; const defaultPagingValue = 20; const lastQuery = { url: "", @@ -10,24 +10,31 @@ const lastQuery = { // definition of all buttons const addButton = document.getElementById("add-btn"); +const filterButton = document.getElementById("filter-btn"); +const searchButton = document.getElementById("search-btn"); +const searchBar = document.getElementById("search-entry"); +const sortButton = document.getElementById("sort-btn"); +const upvoteButtons = document.getElementsByClassName("upvote-btn"); +const downvoteButtons = document.getElementsByClassName("downvote-btn"); + +// ID of the timeout, because we need to cancel it at some point +export let searchBarTimeout; + +// Event listeners addButton.addEventListener("click", () => { navigateToAdd(); }); -const filterButton = document.getElementById("filter-btn"); filterButton.addEventListener("change", () => { const filterString = filterButton.value; filter(filterString); }); -const searchButton = document.getElementById("search-btn"); searchButton.addEventListener("click", () => { const searchString = searchBar.value; search(searchString); }); -const searchBar = document.getElementById("search-entry"); -export let searchBarTimeout; searchBar.addEventListener("input", () => { clearTimeout(searchBarTimeout); searchBarTimeout = setTimeout(() => { @@ -35,6 +42,7 @@ searchBar.addEventListener("input", () => { search(searchString); }, 1000); }); + searchBar.addEventListener('keypress', function (e) { if (e.key === 'Enter') { const searchString = searchBar.value; @@ -42,13 +50,11 @@ searchBar.addEventListener('keypress', function (e) { } }) -const sortButton = document.getElementById("sort-btn"); sortButton.addEventListener("change", () => { const sortString = sortButton.value; sort(sortString); }); -const upvoteButtons = document.getElementsByClassName("upvote-btn"); const upvoteButtonClickListener = e => { const entryID = e.target.parentElement.parentElement.dataset.id; vote(entryID, true); @@ -57,7 +63,6 @@ for (const upvoteButton of upvoteButtons) { upvoteButton.addEventListener("click", upvoteButtonClickListener); } -const downvoteButtons = document.getElementsByClassName("downvote-btn"); const downvoteButtonClickListener = e => { const entryID = e.target.parentElement.parentElement.dataset.id; vote(entryID, false); @@ -91,20 +96,16 @@ function sort(sortString) { } else { query[1] = "desc"; } - const fetchURL = baseURL + "?sort=" + query[0] + "&direction=" + query[1]; + const fetchURL = apiEndpoint + "?sort=" + query[0] + "&direction=" + query[1]; console.log(fetchURL); // TODO: remove fetchQuery(fetchURL); } function vote(entryID, up) { - console.log(baseURL + "/id/" + entryID + "/" + (up?"upvote":"downvote")); // TODO: remove - fetch(baseURL + "/id/" + entryID + "/" + up?"upvote":"downvote"); + console.log(apiEndpoint + "/id/" + entryID + "/" + (up ? "upvote" : "downvote")); // TODO: remove + fetch(apiEndpoint + "/id/" + entryID + "/" + (up ? "upvote" : "downvote")); } function incrementPageCount() { lastQuery.currentPage++; } - - - -