diff --git a/front/js/main.js b/front/js/main.js index fc8fdae..2971a67 100644 --- a/front/js/main.js +++ b/front/js/main.js @@ -9,6 +9,7 @@ import {colorPicker} from "./recordEditor/colorPicker.js"; import {sortReferences} from "./recordEditor/sortReferences.js"; import {recordDialog} from "./recordEditor/recordDialog.js"; import {createRecordEntry} from "./recordEditor/createRecordEntry.js"; +import {editRecordEntry} from "./recordEditor/editRecordEntry.js"; addEventListener("load", (event) => { dropdown() @@ -16,6 +17,7 @@ addEventListener("load", (event) => { sortReferences() recordDialog() createRecordEntry() + editRecordEntry() }); Mustache.escape = function (value) { diff --git a/front/js/recordEditor/createRecordEntry.js b/front/js/recordEditor/createRecordEntry.js index dc14bf4..8683a5e 100644 --- a/front/js/recordEditor/createRecordEntry.js +++ b/front/js/recordEditor/createRecordEntry.js @@ -2,6 +2,9 @@ import axios from "axios"; export function createRecordEntry() { const createButton = document.getElementById("record-create-button"); + if(!createButton){ + return; + } createButton.addEventListener("click", save) } @@ -17,28 +20,30 @@ function save(e) { let formData = new FormData(recordForm) - axios - .post("/lucent/records", { - schema: schemaName, - data: Object.fromEntries(formData), - status: "draft", - // edges: graph.edges, - isCreateMode: true, - }) - .then(function (response) { - console.log("SAVE: SAVED"); - window.location.href = "/lucent/records/" + record.id; - }) - .catch(function (error) { - if (!error?.response) { - } - if (typeof error?.response.data.error === "string") { - errorMessage = error.response.data.error; - } else { - validationErrors = error.response.data.error; - console.log(validationErrors) - } + axios + .post("/lucent/records", { + schema: schemaName, + data: Object.fromEntries(formData), + status: "draft", + // edges: graph.edges, + isCreateMode: true, + }) + .then(function (response) { + console.log("SAVE: SAVED"); + window.location = "/lucent/recordss/" + record.id; + return; + }) + .catch(function (error) { + if (!error?.response) { + } + if (typeof error?.response.data.error === "string") { + errorMessage = error.response.data.error; + } else { + validationErrors = error.response.data.error; + console.log(validationErrors) + } - }); + }); + } \ No newline at end of file diff --git a/front/js/recordEditor/editRecordEntry.js b/front/js/recordEditor/editRecordEntry.js new file mode 100644 index 0000000..139749c --- /dev/null +++ b/front/js/recordEditor/editRecordEntry.js @@ -0,0 +1,44 @@ +import axios from "axios"; + +export function editRecordEntry() { + const saveButton = document.getElementById("record-save-button"); + if(!saveButton){ + return; + } + saveButton.addEventListener("click", save) +} + + +function save(e) { + e.preventDefault(); + const recordForm = document.getElementById("record-form"); + // let validationErrors = null; + // let errorMessage = ""; + console.log("SAVE: Attempt"); + // + let formData = new FormData(recordForm) + // + axios + .post("/lucent/records", { + id: recordForm.dataset.recordId, + data: Object.fromEntries(formData), + status: "draft", + // edges: graph.edges, + isCreateMode: false, + }) + .then(function (response) { + console.log("SAVE: SAVED"); + }) + .catch(function (error) { + // if (!error?.response) { + // } + // if (typeof error?.response.data.error === "string") { + // errorMessage = error.response.data.error; + // } else { + // validationErrors = error.response.data.error; + // console.log(validationErrors) + // } + + + }); +} \ No newline at end of file diff --git a/front/js/recordEditor/recordDialog.js b/front/js/recordEditor/recordDialog.js index 5b8f17b..3711631 100644 --- a/front/js/recordEditor/recordDialog.js +++ b/front/js/recordEditor/recordDialog.js @@ -4,6 +4,7 @@ export function recordDialog() { document.querySelectorAll("[data-open-modal]").forEach(el => { const schema = el.dataset.openModal el.addEventListener("click", e => { + e.preventDefault() load(schema) }) }) diff --git a/front/js/svelte/Channel.svelte b/front/js/svelte/Channel.svelte index fa0216b..f2dce9b 100644 --- a/front/js/svelte/Channel.svelte +++ b/front/js/svelte/Channel.svelte @@ -38,13 +38,13 @@