diff --git a/src/plugins/austax/CGTAdjustmentEditor.vue b/src/plugins/austax/CGTAdjustmentEditor.vue index fc7ac26..46e668b 100644 --- a/src/plugins/austax/CGTAdjustmentEditor.vue +++ b/src/plugins/austax/CGTAdjustmentEditor.vue @@ -76,6 +76,7 @@ diff --git a/src/plugins/austax/CGTAdjustmentsView.vue b/src/plugins/austax/CGTAdjustmentsView.vue index aba759b..9363d14 100644 --- a/src/plugins/austax/CGTAdjustmentsView.vue +++ b/src/plugins/austax/CGTAdjustmentsView.vue @@ -70,7 +70,8 @@ import dayjs from 'dayjs'; import { PencilIcon } from '@heroicons/vue/24/outline'; import { PlusIcon } from '@heroicons/vue/16/solid'; - import { ref } from 'vue'; + import { UnlistenFn, listen } from '@tauri-apps/api/event'; + import { onUnmounted, ref } from 'vue'; import { CGTAdjustment, cgtAssetCommodityName } from './cgt.ts'; import { asCost } from '../../amounts.ts'; @@ -90,4 +91,17 @@ } load(); + + // Refresh CGT adjustments list when CGT adjustment updated + let unlistenAdjustmentUpdated: UnlistenFn | null = null; + (async () => { + // Cannot await at top level without therefore do this in an async function + unlistenAdjustmentUpdated = await listen('cgt-adjustment-updated', async (_event) => { await load(); }); + })(); + + onUnmounted(() => { + if (unlistenAdjustmentUpdated !== null) { + unlistenAdjustmentUpdated(); + } + }); diff --git a/src/plugins/austax/MultiNewCGTAdjustmentView.vue b/src/plugins/austax/MultiNewCGTAdjustmentView.vue index f310a97..ea55bba 100644 --- a/src/plugins/austax/MultiNewCGTAdjustmentView.vue +++ b/src/plugins/austax/MultiNewCGTAdjustmentView.vue @@ -87,6 +87,7 @@ import dayjs from 'dayjs'; import { XCircleIcon } from '@heroicons/vue/24/solid'; import { InformationCircleIcon } from '@heroicons/vue/20/solid'; + import { emit } from '@tauri-apps/api/event'; import { getCurrentWindow } from '@tauri-apps/api/window'; import { ref } from 'vue'; @@ -238,6 +239,7 @@ } await dbTransaction.commit(); + await emit('cgt-adjustment-updated'); await getCurrentWindow().close(); }