From 203368c2ee5da3cb1be874d089ffa2bf7a4cf84a Mon Sep 17 00:00:00 2001 From: Miguel de Benito Delgado Date: Thu, 20 Nov 2025 08:05:08 +0100 Subject: [PATCH] :sparkles: Add parameter to `openPage` to toggle new window behaviour (#7753) * :sparkles: Add parameter to openPage() to toggle opening a new tab/window * :lipstick: Fix formatting --- frontend/src/app/plugins/api.cljs | 8 +++++--- frontend/src/app/plugins/page.cljs | 5 +++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/frontend/src/app/plugins/api.cljs b/frontend/src/app/plugins/api.cljs index 4f88209d76..be97f52a78 100644 --- a/frontend/src/app/plugins/api.cljs +++ b/frontend/src/app/plugins/api.cljs @@ -512,10 +512,12 @@ id (uuid/next)] (st/emit! (dw/create-page {:page-id id :file-id file-id})) (page/page-proxy plugin-id file-id id))) + :openPage - (fn [page] - (let [id (obj/get page "$id")] - (st/emit! (dcm/go-to-workspace :page-id id ::rt/new-window true)))) + (fn [page new-window] + (let [id (obj/get page "$id") + new-window (if (boolean? new-window) new-window true)] + (st/emit! (dcm/go-to-workspace :page-id id ::rt/new-window new-window)))) :alignHorizontal (fn [shapes direction] diff --git a/frontend/src/app/plugins/page.cljs b/frontend/src/app/plugins/page.cljs index ef49eca02d..34494be6d8 100644 --- a/frontend/src/app/plugins/page.cljs +++ b/frontend/src/app/plugins/page.cljs @@ -263,13 +263,14 @@ (apply array (keys (dm/get-in page [:plugin-data (keyword "shared" namespace)])))))) :openPage - (fn [] + (fn [new-window] (cond (not (r/check-permission plugin-id "content:read")) (u/display-not-valid :openPage "Plugin doesn't have 'content:read' permission") :else - (st/emit! (dcm/go-to-workspace :page-id id ::rt/new-window true)))) + (let [new-window (if (boolean? new-window) new-window true)] + (st/emit! (dcm/go-to-workspace :page-id id ::rt/new-window new-window))))) :createFlow (fn [name frame]