From 4e19a24833cf512f8b824e7bf3d9ec3f213f368d Mon Sep 17 00:00:00 2001 From: J-Klinke Date: Sat, 6 Jul 2024 14:26:57 +0200 Subject: [PATCH] local authorship is now stored --- src/main/resources/static/add.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/resources/static/add.js b/src/main/resources/static/add.js index 280eb67..c1f11cb 100644 --- a/src/main/resources/static/add.js +++ b/src/main/resources/static/add.js @@ -1,3 +1,5 @@ +import Dataset from "./dataset.js"; + const form = document.forms[0]; const { title: titleEntry, @@ -23,7 +25,7 @@ const validationListener = () => { fullDescriptionEntry, ].forEach(input => input.addEventListener("input", validationListener)); -form.addEventListener("submit", e => { +form.addEventListener("submit", async e => { e.preventDefault(); if (!form.reportValidity()) return; @@ -43,17 +45,20 @@ form.addEventListener("submit", e => { // Don't allow several requests to be sent at the same time addBtn.disabled = true; - fetch("/api/v1/datasets", { + let response = await fetch("/api/v1/datasets", { method: "POST", body: JSON.stringify(newContent), headers: { "Content-Type": "application/json;charset=utf-8" } - }).then(response => { - if (response.status == 200) { - location.assign("/"); - } else { - addBtn.disabled = !form.checkValidity(); - } + }); + let data = await response.json(); + let dataset = new Dataset(data); + dataset.storageSetKey("createdLocally", true); + if (response.status == 200) { + location.assign("/"); + } else { + addBtn.disabled = !form.checkValidity(); + } });