From f0617522e3225407a90fd68ba60a2307e5162fc6 Mon Sep 17 00:00:00 2001 From: CenTdemeern1 Date: Sun, 9 Feb 2025 19:13:54 +0100 Subject: [PATCH] Implement "Destroy all data" button Which resets the storage manager, not the entire localstorage. Not that localstorage should be touched outside of the storage manager, but it means I can keep my backups for debugging in there. --- static/config.mts | 7 +++++++ static/storage_manager.mts | 4 ++++ 2 files changed, 11 insertions(+) diff --git a/static/config.mts b/static/config.mts index b506b27..6f807b2 100644 --- a/static/config.mts +++ b/static/config.mts @@ -17,6 +17,7 @@ const detailsDialog = findDialogOrFail(document.body, "#instanceDetails"); const instanceList = findOlOrFail(document.body, "#instanceList"); const saveButton = findButtonOrFail(document.body, "#save"); const reorderButton = findButtonOrFail(document.body, "#reorder"); +const resetButton = findButtonOrFail(document.body, "#reset"); let instanceDetailsDialog = new InstanceDetailsDialog(detailsDialog, true); let addInstanceFlow = new AddInstanceFlow(addDialog, spinnerDialog, instanceDetailsDialog); @@ -37,6 +38,12 @@ reorderButton.addEventListener("click", () => { reorderButton.innerText = reordering ? "Finish reordering" : "Reorder"; }); +resetButton.addEventListener("click", e => { + storageManager.reset(); + updateInstanceList(); + unsavedChanges(); +}); + updateInstanceList(); storageManager.addSaveCallback(updateInstanceList); diff --git a/static/storage_manager.mts b/static/storage_manager.mts index 7ab3957..bb77053 100644 --- a/static/storage_manager.mts +++ b/static/storage_manager.mts @@ -62,4 +62,8 @@ export default new class StorageManager { addSaveCallback(callback: () => void) { this.saveCallbacks.push(callback); } + + reset() { + this.storage = this.default(); + } }(); \ No newline at end of file