From a340d59ca2520088177e2fef88ba1e5f98428107 Mon Sep 17 00:00:00 2001 From: Elias Schriefer Date: Tue, 25 Jun 2024 09:59:39 +0200 Subject: [PATCH] Fix voting event listeners in search --- src/main/resources/static/dataset.js | 12 ++++++++++++ src/main/resources/static/main.js | 4 +++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/resources/static/dataset.js b/src/main/resources/static/dataset.js index 8f454ec..27245e5 100644 --- a/src/main/resources/static/dataset.js +++ b/src/main/resources/static/dataset.js @@ -1,3 +1,5 @@ +import { vote } from "./main.js"; + export default class Dataset { #abstract; #author; @@ -34,6 +36,16 @@ export default class Dataset { clone.querySelector("h3").innerText = this.#title; clone.querySelector("p").innerText = this.#description; clone.querySelector("span").innerText = this.#upvotes; + + // Event Listeners + clone.querySelector(".upvote-btn").addEventListener("click", () => { + vote(this.#id, true); + }); + + clone.querySelector(".downvote-btn").addEventListener("click", () => { + vote(this.#id, false); + }) + return clone; } } diff --git a/src/main/resources/static/main.js b/src/main/resources/static/main.js index be21842..8acde0a 100644 --- a/src/main/resources/static/main.js +++ b/src/main/resources/static/main.js @@ -61,6 +61,7 @@ sortButton.addEventListener("change", () => { sort(sortString); }); +// Consider moving this to datasets.js completely const upvoteButtonClickListener = e => { const entryID = e.target.parentElement.parentElement.dataset.id; vote(entryID, true); @@ -69,6 +70,7 @@ for (const upvoteButton of upvoteButtons) { upvoteButton.addEventListener("click", upvoteButtonClickListener); } +// Consider moving this to datasets.js completely const downvoteButtonClickListener = e => { const entryID = e.target.parentElement.parentElement.dataset.id; vote(entryID, false); @@ -115,7 +117,7 @@ function sort(sortString) { fetchQuery(fetchURL); } -function vote(entryID, up) { +export function vote(entryID, up) { const fetchURL = new URL( `${apiEndpoint}/id/${entryID}/${up ? "up" : "down"}vote`, baseURL,