From 8d8f8e701483195c234c75790052f3ff18dab44f Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 2 Aug 2023 11:53:41 -0500 Subject: [PATCH] refresh items table when new item is added --- frontend/composables/use-server-events.ts | 1 + frontend/pages/home/table.ts | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/composables/use-server-events.ts b/frontend/composables/use-server-events.ts index f394c04..5bad342 100644 --- a/frontend/composables/use-server-events.ts +++ b/frontend/composables/use-server-events.ts @@ -40,6 +40,7 @@ function connect(onmessage: (m: EventMessage) => void) { export function onServerEvent(event: ServerEvent, callback: () => void) { if (socket === null) { connect(e => { + console.debug("received event", e); listeners.get(e.event)?.forEach(c => c()); }); } diff --git a/frontend/pages/home/table.ts b/frontend/pages/home/table.ts index 7c38d6a..cfe0364 100644 --- a/frontend/pages/home/table.ts +++ b/frontend/pages/home/table.ts @@ -1,7 +1,7 @@ import { UserClient } from "~~/lib/api/user"; export function itemsTable(api: UserClient) { - const { data: items } = useAsyncData(async () => { + const { data: items, refresh } = useAsyncData(async () => { const { data } = await api.items.getAll({ page: 1, pageSize: 5, @@ -10,6 +10,11 @@ export function itemsTable(api: UserClient) { return data.items; }); + onServerEvent(ServerEvent.ItemMutation, () => { + console.log("item mutation"); + refresh(); + }); + return computed(() => { return { items: items.value || [],