From de6578d9e8c2b2016075c72f30eb2dfe842e136b Mon Sep 17 00:00:00 2001 From: Thomas Miceli <27960254+thomiceli@users.noreply.github.com> Date: Sat, 7 Sep 2024 15:17:56 +0200 Subject: [PATCH] Add file delete button on create editor (#320) --- public/editor.ts | 25 +++++++++++++++++++++++++ templates/pages/create.html | 5 +++++ templates/pages/edit.html | 4 ++-- 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/public/editor.ts b/public/editor.ts index 07c0940..2916ee7 100644 --- a/public/editor.ts +++ b/public/editor.ts @@ -111,6 +111,7 @@ document.addEventListener("DOMContentLoaded", () => { deleteBtns.onclick = () => { editorsjs.splice(editorsjs.indexOf(editor), 1); dom.remove(); + checkForFirstDeleteButton(); }; } @@ -191,6 +192,8 @@ document.addEventListener("DOMContentLoaded", () => { editorsjs.push(currEditor); }); + checkForFirstDeleteButton(); + document.getElementById("add-file")!.onclick = () => { let newEditorDom = firstEditordom.cloneNode(true) as HTMLElement; @@ -204,6 +207,7 @@ document.addEventListener("DOMContentLoaded", () => { // creating the new codemirror editor and append it in the editor div editorsjs.push(newEditor(newEditorDom)); editorsParentdom.append(newEditorDom); + showDeleteButton(newEditorDom); }; document.querySelector("form#create")!.onsubmit = () => { @@ -226,6 +230,27 @@ document.addEventListener("DOMContentLoaded", () => { } + function checkForFirstDeleteButton() { + let deleteBtn = editorsParentdom.querySelector("button.delete-file")!; + if (editorsjs.length === 1) { + deleteBtn.classList.add("hidden"); + deleteBtn.previousElementSibling.classList.remove("rounded-l-md"); + deleteBtn.previousElementSibling.classList.add("rounded-md"); + } else { + deleteBtn.classList.remove("hidden"); + deleteBtn.previousElementSibling.classList.add("rounded-l-md"); + deleteBtn.previousElementSibling.classList.remove("rounded-md"); + } + } + + function showDeleteButton(editorDom: HTMLElement) { + let deleteBtn = editorDom.querySelector("button.delete-file")!; + deleteBtn.classList.remove("hidden"); + deleteBtn.previousElementSibling.classList.add("rounded-l-md"); + deleteBtn.previousElementSibling.classList.remove("rounded-md"); + checkForFirstDeleteButton(); + } + document.onsubmit = () => { window.onbeforeunload = null; }; diff --git a/templates/pages/create.html b/templates/pages/create.html index 92d3414..a2b1ea4 100644 --- a/templates/pages/create.html +++ b/templates/pages/create.html @@ -32,6 +32,11 @@

+