From 3dd6b05d2ee9f313c88c841a9e47617bdbd1cb04 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Fri, 8 Aug 2025 22:01:30 +0300 Subject: [PATCH] fix(react/dialog): react to adding new bulk actions --- apps/client/src/widgets/dialogs/bulk_actions.tsx | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/apps/client/src/widgets/dialogs/bulk_actions.tsx b/apps/client/src/widgets/dialogs/bulk_actions.tsx index 2df26926c..9fabfd194 100644 --- a/apps/client/src/widgets/dialogs/bulk_actions.tsx +++ b/apps/client/src/widgets/dialogs/bulk_actions.tsx @@ -38,13 +38,16 @@ function BulkActionComponent({ selectedOrActiveNoteIds, bulkActionNote }: BulkAc }).then(({ affectedNoteCount }) => setAffectedNoteCount(affectedNoteCount)); }, [ selectedOrActiveNoteIds, includeDescendants ]); - // Refresh is forced by the entities reloaded event outside React. - useEffect(() => { - setExistingActions(bulk_action.parseActions(bulkActionNote)); - }, []); + function refreshExistingActions() { + setExistingActions(bulk_action.parseActions(bulkActionNote!)); + } - useTriliumEvent("entitiesReloaded", () => { - console.log("Got entities reloaded."); + useEffect(() => refreshExistingActions(), []); + useTriliumEvent("entitiesReloaded", ({ loadResults }) => { + if (loadResults.getAttributeRows().find((row) => + row.type === "label" && row.name === "action" && row.noteId === "_bulkAction")) { + refreshExistingActions(); + } }); return ( selectedOrActiveNoteIds &&