From 5befaa3caa45c38e0c1ee8472e86974f5aaf0ce2 Mon Sep 17 00:00:00 2001 From: Diego Imbert Date: Wed, 3 Dec 2025 14:32:15 +0100 Subject: [PATCH] better deeply reactive mutable derived --- .../components/workspaceSettings/DataTableSettings.svelte | 5 ++++- frontend/src/lib/svelte5Utils.svelte.ts | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/frontend/src/lib/components/workspaceSettings/DataTableSettings.svelte b/frontend/src/lib/components/workspaceSettings/DataTableSettings.svelte index 6f59d10f16..51e95bc7eb 100644 --- a/frontend/src/lib/components/workspaceSettings/DataTableSettings.svelte +++ b/frontend/src/lib/components/workspaceSettings/DataTableSettings.svelte @@ -85,7 +85,10 @@ Database: 'The database where the data is stored.' } - let tempSettings: DataTableSettingsType = $state($state.snapshot(dataTableSettings)) + let tempSettings: DataTableSettingsType = $derived.by(() => { + let s = $state($state.snapshot(dataTableSettings)) + return s + }) function removeDataTable(index: number) { tempSettings.dataTables.splice(index, 1) diff --git a/frontend/src/lib/svelte5Utils.svelte.ts b/frontend/src/lib/svelte5Utils.svelte.ts index adb09a4809..90de70ba6d 100644 --- a/frontend/src/lib/svelte5Utils.svelte.ts +++ b/frontend/src/lib/svelte5Utils.svelte.ts @@ -2,7 +2,7 @@ import { untrack } from 'svelte' import { deepEqual } from 'fast-equals' -import type { StateStore } from './utils' +import { type StateStore } from './utils' export function withProps(component: Component, props: Props) { const ret = $state({ @@ -39,6 +39,9 @@ export type UsePromiseOptions = { clearValueOnRefresh?: boolean } +/** + * @deprecated Use `resource` from `runed` instead + */ export function usePromise( createPromise: () => Promise, { loadInit = true, clearValueOnRefresh = true }: UsePromiseOptions = {}