From dab7fd0b2fbf2a3871d09306365e60fe5c0c17a1 Mon Sep 17 00:00:00 2001 From: Mauro Balades Date: Tue, 20 Aug 2024 22:00:46 +0200 Subject: [PATCH] refactor: Update ZenWorkspaces to enable setting default workspace and opening workspaces --- src/ZenWorkspaces.mjs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/ZenWorkspaces.mjs b/src/ZenWorkspaces.mjs index 8132958..2f28dee 100644 --- a/src/ZenWorkspaces.mjs +++ b/src/ZenWorkspaces.mjs @@ -412,6 +412,18 @@ var ZenWorkspaces = { } else { deleteMenuItem.removeAttribute("disabled"); } + let defaultMenuItem = document.getElementById("context_zenSetAsDefaultWorkspace"); + if (workspaces.workspaces.find(workspace => workspace.uuid === this._contextMenuId).default) { + defaultMenuItem.setAttribute("disabled", "true"); + } else { + defaultMenuItem.removeAttribute("disabled"); + } + let openMenuItem = document.getElementById("context_zenOpenWorkspace"); + if (workspaces.workspaces.find(workspace => workspace.uuid === this._contextMenuId).used) { + openMenuItem.setAttribute("disabled", "true"); + } else { + openMenuItem.removeAttribute("disabled"); + } }, onContextMenuClose() { @@ -422,6 +434,21 @@ var ZenWorkspaces = { this._contextMenuId = null; }, + async setDefaultWorkspace() { + let workspaces = await this._workspaces(); + for (let workspace of workspaces.workspaces) { + workspace.default = workspace.uuid === this._contextMenuId; + } + await this.unsafeSaveWorkspaces(workspaces); + await this._propagateWorkspaceData(); + }, + + async openWorkspace() { + let workspaces = await this._workspaces(); + let workspace = workspaces.workspaces.find(workspace => workspace.uuid === this._contextMenuId); + await this.changeWorkspace(workspace); + }, + async contextDelete() { await this.removeWorkspace(this._contextMenuId); },