diff --git a/packages/web/src/query/useEditorData.ts b/packages/web/src/query/useEditorData.ts
index 7bf041df0..5f480ab37 100644
--- a/packages/web/src/query/useEditorData.ts
+++ b/packages/web/src/query/useEditorData.ts
@@ -132,6 +132,17 @@ export default function useEditorData({ tabid, reloadToken = 0, loadFromArgs = n
saveToStorageDebounced();
};
+ const clearEditorData = async () => {
+ editorState.update(x => ({
+ ...x,
+ value: null,
+ errorMessage: null,
+ isLoading: false,
+ }));
+ await localforage.removeItem(localStorageKey);
+ localStorage.removeItem(localStorageKey);
+ };
+
onMount(() => {
window.addEventListener('beforeunload', saveToStorageSync);
initialLoad();
@@ -148,6 +159,7 @@ export default function useEditorData({ tabid, reloadToken = 0, loadFromArgs = n
editorState,
editorValue,
setEditorData,
+ clearEditorData,
saveToStorage,
saveToStorageSync,
initialLoad,
diff --git a/packages/web/src/tabs/TableStructureTab.svelte b/packages/web/src/tabs/TableStructureTab.svelte
index c112f5acd..a9d9584cf 100644
--- a/packages/web/src/tabs/TableStructureTab.svelte
+++ b/packages/web/src/tabs/TableStructureTab.svelte
@@ -1,22 +1,54 @@