From 298636b8f148e7e4f4cf62fc4081965ba5fbbd49 Mon Sep 17 00:00:00 2001 From: Jari Kolehmainen Date: Mon, 13 Apr 2020 18:21:25 +0300 Subject: [PATCH] Fix default workspace remove (#242) Signed-off-by: Jari Kolehmainen --- src/common/workspace-store.ts | 8 ++++++-- src/renderer/components/EditWorkspacePage.vue | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/common/workspace-store.ts b/src/common/workspace-store.ts index fcd1b5f6a7..9ab9172f37 100644 --- a/src/common/workspace-store.ts +++ b/src/common/workspace-store.ts @@ -18,6 +18,7 @@ export class Workspace implements WorkspaceData { } export class WorkspaceStore { + public static defaultId = "default" private static instance: WorkspaceStore; public store: ElectronStore; @@ -39,6 +40,9 @@ export class WorkspaceStore { } public removeWorkspace(workspace: Workspace) { + if (workspace.id === WorkspaceStore.defaultId) { + throw new Error("Cannot remove default workspace") + } const workspaces = this.getAllWorkspaces() const index = workspaces.findIndex((w) => w.id === workspace.id) if (index !== -1) { @@ -64,9 +68,9 @@ export class WorkspaceStore { const workspaceStore: WorkspaceStore = WorkspaceStore.getInstance() -if (workspaceStore.getAllWorkspaces().length === 0) { +if (!workspaceStore.getAllWorkspaces().find( ws => ws.id === WorkspaceStore.defaultId)) { workspaceStore.storeWorkspace({ - id: "default", + id: WorkspaceStore.defaultId, name: "default" }) } diff --git a/src/renderer/components/EditWorkspacePage.vue b/src/renderer/components/EditWorkspacePage.vue index 770a57d22c..4f84f63211 100644 --- a/src/renderer/components/EditWorkspacePage.vue +++ b/src/renderer/components/EditWorkspacePage.vue @@ -37,7 +37,7 @@ Save - + Delete