diff --git a/src/components/BalanceAssertionEditor.vue b/src/components/BalanceAssertionEditor.vue
index 75b657d..2250f62 100644
--- a/src/components/BalanceAssertionEditor.vue
+++ b/src/components/BalanceAssertionEditor.vue
@@ -63,6 +63,7 @@
diff --git a/src/components/TransactionEditor.vue b/src/components/TransactionEditor.vue
index 1e77895..333532a 100644
--- a/src/components/TransactionEditor.vue
+++ b/src/components/TransactionEditor.vue
@@ -320,6 +320,7 @@
await dbTransaction.commit();
+ await emit('transaction-updated', {id: transaction.id});
await getCurrentWindow().close();
}
diff --git a/src/pages/BalanceAssertionsView.vue b/src/pages/BalanceAssertionsView.vue
index 838acbe..2da18d8 100644
--- a/src/pages/BalanceAssertionsView.vue
+++ b/src/pages/BalanceAssertionsView.vue
@@ -66,7 +66,8 @@
import { CheckIcon, PencilIcon, XMarkIcon } from '@heroicons/vue/24/outline';
import { PlusIcon } from '@heroicons/vue/16/solid';
import { invoke } from '@tauri-apps/api/core';
- import { ref } from 'vue';
+ import { UnlistenFn, listen } from '@tauri-apps/api/event';
+ import { onUnmounted, ref } from 'vue';
import { db } from '../db.ts';
import { pp } from '../display.ts';
@@ -97,4 +98,17 @@
}
load();
+
+ // Refresh balance assertions list when assertion updated
+ let unlistenAssertionUpdated: UnlistenFn | null = null;
+ (async () => {
+ // Cannot await at top level without therefore do this in an async function
+ unlistenAssertionUpdated = await listen('balance-assertion-updated', async (_event) => { await load(); });
+ })();
+
+ onUnmounted(() => {
+ if (unlistenAssertionUpdated !== null) {
+ unlistenAssertionUpdated();
+ }
+ });