From 6fec134d3e6f99a405319dbd2c8908dcbd8d53f2 Mon Sep 17 00:00:00 2001 From: Ruben Fiszel Date: Thu, 30 Jan 2025 16:38:22 +0100 Subject: [PATCH] cache input args --- frontend/src/lib/components/HistoricInputs.svelte | 8 ++++++++ frontend/src/lib/components/schema/SchemaPickerRow.svelte | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/frontend/src/lib/components/HistoricInputs.svelte b/frontend/src/lib/components/HistoricInputs.svelte index 0bb7a7db53..9617dc1c35 100644 --- a/frontend/src/lib/components/HistoricInputs.svelte +++ b/frontend/src/lib/components/HistoricInputs.svelte @@ -22,6 +22,7 @@ let infiniteList: InfiniteList | undefined = undefined let loadInputsPageFn: ((page: number, perPage: number) => Promise) | undefined = undefined + let cachedArgs: Record = {} function initLoadInputs() { loadInputsPageFn = async (page: number, perPage: number) => { const inputs = await InputService.getInputHistory({ @@ -35,6 +36,12 @@ const inputsWithPayload = await Promise.all( inputs.map(async (input) => { + if (cachedArgs[input.id]) { + return { + ...input, + payloadData: cachedArgs[input.id] + } + } const payloadData = await loadArgsFromHistory(input.id, undefined, false) if (payloadData === 'WINDMILL_TOO_BIG') { return { @@ -43,6 +50,7 @@ getFullPayload: () => loadArgsFromHistory(input.id, undefined, true) } } + cachedArgs[input.id] = payloadData return { ...input, payloadData diff --git a/frontend/src/lib/components/schema/SchemaPickerRow.svelte b/frontend/src/lib/components/schema/SchemaPickerRow.svelte index 43abb449f1..779032efd6 100644 --- a/frontend/src/lib/components/schema/SchemaPickerRow.svelte +++ b/frontend/src/lib/components/schema/SchemaPickerRow.svelte @@ -70,7 +70,7 @@
{