From 9c618c89ebed7bfda1be1010db5486758fbc0b22 Mon Sep 17 00:00:00 2001 From: Hayden <64056131+hay-kot@users.noreply.github.com> Date: Wed, 2 Aug 2023 15:51:15 -0500 Subject: [PATCH] fix importer erorrs + limit fn calls on import --- frontend/components/App/ImportDialog.vue | 4 ---- frontend/composables/use-server-events.ts | 12 +++++++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/frontend/components/App/ImportDialog.vue b/frontend/components/App/ImportDialog.vue index adfe993..31da62d 100644 --- a/frontend/components/App/ImportDialog.vue +++ b/frontend/components/App/ImportDialog.vue @@ -86,8 +86,6 @@ importRef.value?.click(); } - const eventBus = useEventBus(); - async function submitCsvFile() { if (!importCsv.value) { toast.error("Please select a file to import."); @@ -111,8 +109,6 @@ importRef.value.value = ""; } - eventBus.emit(EventTypes.InvalidStores); - toast.success("Import successful!"); } diff --git a/frontend/composables/use-server-events.ts b/frontend/composables/use-server-events.ts index 5bad342..2d4eaa0 100644 --- a/frontend/composables/use-server-events.ts +++ b/frontend/composables/use-server-events.ts @@ -30,8 +30,18 @@ function connect(onmessage: (m: EventMessage) => void) { console.error("websocket error", err); }; + const thorttled = new Map(); + + thorttled.set(ServerEvent.LocationMutation, useThrottleFn(onmessage, 1000)); + thorttled.set(ServerEvent.ItemMutation, useThrottleFn(onmessage, 1000)); + thorttled.set(ServerEvent.LabelMutation, useThrottleFn(onmessage, 1000)); + ws.onmessage = msg => { - onmessage(JSON.parse(msg.data)); + const pm = JSON.parse(msg.data); + const fn = thorttled.get(pm.event); + if (fn) { + fn(pm); + } }; socket = ws;