From 3e4f70f37b63288da0becd063aad1a6e26ea06b4 Mon Sep 17 00:00:00 2001 From: Xaviju Date: Thu, 29 Jan 2026 10:58:16 +0100 Subject: [PATCH] :bug: Bulk remove tokens with a single undo action (#8208) --- .../data/workspace/tokens/library_edit.cljs | 21 +++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/frontend/src/app/main/data/workspace/tokens/library_edit.cljs b/frontend/src/app/main/data/workspace/tokens/library_edit.cljs index 6be5314d31..10a0275662 100644 --- a/frontend/src/app/main/data/workspace/tokens/library_edit.cljs +++ b/frontend/src/app/main/data/workspace/tokens/library_edit.cljs @@ -433,11 +433,18 @@ ptk/WatchEvent (watch [it state _] (let [data (dsh/lookup-file-data state) + token-set (if set-id + (lookup-token-set state set-id) + (lookup-token-set state)) + token (-> (get-tokens-lib state) + (ctob/get-token (ctob/get-id token-set) token-id)) + token-type (:type token) changes (-> (pcb/empty-changes it) (pcb/with-library-data data) (pcb/set-token set-id token-id nil))] - (rx/of (dch/commit-changes changes)))))) + (rx/of (dch/commit-changes changes) + (ptk/data-event ::ev/event {::ev/name "delete-token" :type token-type})))))) (defn bulk-delete-tokens [set-id token-ids] @@ -445,9 +452,15 @@ (dm/assert! (every? uuid? token-ids)) (ptk/reify ::bulk-delete-tokens ptk/WatchEvent - (watch [_ _ _] - (apply rx/of - (map #(delete-token set-id %) token-ids))))) + (watch [it state _] + (let [data (dsh/lookup-file-data state) + changes (reduce (fn [changes token-id] + (pcb/set-token changes set-id token-id nil)) + (-> (pcb/empty-changes it) + (pcb/with-library-data data)) + token-ids)] + (rx/of (dch/commit-changes changes) + (ptk/data-event ::ev/event {::ev/name "delete-token-node"})))))) (defn duplicate-token [token-id]