From 4a13ff338cc138eadd84956bc4699d2abf9bd1f7 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Thu, 24 Jul 2025 16:19:38 +0530 Subject: [PATCH] fix: added derive.by --- src/lib/components/filters/content.svelte | 53 ++++++++--------------- 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/src/lib/components/filters/content.svelte b/src/lib/components/filters/content.svelte index f07d08809..42f7b1b42 100644 --- a/src/lib/components/filters/content.svelte +++ b/src/lib/components/filters/content.svelte @@ -17,6 +17,7 @@ import { IconPlus } from '@appwrite.io/pink-icons-svelte'; let { + // eslint-disable-next-line @typescript-eslint/no-explicit-any value = $bindable(null), columns, columnId = $bindable(null), @@ -24,7 +25,8 @@ operatorKey = $bindable(null), singleCondition = false }: { - value?: string | number | string[] | null; + // eslint-disable-next-line @typescript-eslint/no-explicit-any + value?: any; columns: Writable; columnId?: string | null; arrayValues?: string[]; @@ -34,36 +36,23 @@ let columnsArray = $derived($columns); let column = $derived(columnsArray.find((c) => c.id === columnId)); - - let operatorsForColumn = $derived(() => { + let operatorsForColumn = $derived.by(() => { if (!column?.type) return []; return Object.entries(operators) .filter(([, v]) => v.types.includes(column.type)) .map(([k]) => ({ label: k, value: k })); }); - let operator = $derived(operatorKey ? operators[operatorKey] : null); let isDisabled = $derived(!operator); let appliedTags = $derived($tags); - - let columnOptions = $derived(() => - columnsArray - .filter((c) => c.filter !== false) - .map((c) => ({ - label: c.title, - value: c.id - })) + let columnOptions = $derived.by(() => + columnsArray.filter((c) => c.filter !== false).map((c) => ({ label: c.title, value: c.id })) ); - - let enumOptions = $derived(() => { + let enumOptions = $derived.by(() => { if (!column?.elements) return []; - return column.elements.map((e) => ({ - label: e?.label ?? e, - value: e?.value ?? e - })); + return column.elements.map((e) => ({ label: e?.label ?? e, value: e?.value ?? e })); }); - - let enumOptionsWithChecked = $derived(() => { + let enumOptionsWithChecked = $derived.by(() => { if (!column?.elements) return []; return column.elements.map((e) => ({ label: e?.label ?? e, @@ -100,13 +89,13 @@ @@ -117,7 +106,7 @@ name="value" bind:tags={arrayValues} placeholder="Select value" - options={enumOptionsWithChecked()}> + options={enumOptionsWithChecked}> {:else} + options={enumOptions} /> {:else if column.type === 'integer' || column.type === 'double'} - + {:else if column.type === 'boolean'} + bind:value /> {:else if column.type === 'datetime'} {#key value} - + {/key} {:else} - + {/if} {/if}