From f86377a956564f7d35cbccaeb70b39ed96d75550 Mon Sep 17 00:00:00 2001 From: Darshan Date: Fri, 12 Sep 2025 13:23:20 +0530 Subject: [PATCH 1/4] fix: arrays and dates not updating. --- .../table-[table]/rows/columns/columnItem.svelte | 13 ++++++++----- .../rows/columns/types/datetime.svelte | 8 ++++++++ 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte index c1377b917..fec7385b4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte @@ -26,9 +26,10 @@ let formStore = writable(formValues); function removeArrayItem(key: string, index: number) { + const filteredArray = $formStore[key].filter((_: object, i: number) => i !== index); const next = { - ...$formStore, - [key]: $formStore[key].filter((_, i) => i !== index) + ...formValues, + [key]: filteredArray.length === 0 ? [] : filteredArray }; formStore.set(next); @@ -36,9 +37,11 @@ } function addArrayItem(key: string) { + const currentArray = $formStore[key]; const next = { - ...$formStore, - [key]: [...($formStore[key] ?? []), null] + ...formValues, + [key]: + currentArray === null || currentArray === undefined ? [] : [...currentArray, null] }; formStore.set(next); @@ -107,7 +110,7 @@ on:click /> {:else} - {#each [...($formStore[column.key]?.keys() ?? [])] as index} + {#each [...($formStore[column.key]?.keys() ?? [])] as index (index)} + import { onMount } from 'svelte'; import type { Models } from '@appwrite.io/console'; import { InputDateTime } from '$lib/elements/forms'; + import { toLocalDateTimeISO } from '$lib/helpers/date'; import { IconCalendar } from '@appwrite.io/pink-icons-svelte'; export let id: string; @@ -15,6 +17,12 @@ $: if (limited) { label = undefined; } + + /** + * the value from backend will include timezone info, + * and that's not compatible with the component showing empty. + */ + onMount(() => (value = value ? toLocalDateTimeISO(value) : value)); Date: Fri, 12 Sep 2025 13:54:56 +0530 Subject: [PATCH 2/4] update: comment. --- .../table-[table]/rows/columns/types/datetime.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/datetime.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/datetime.svelte index e5d087329..6a60827dc 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/datetime.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/types/datetime.svelte @@ -20,7 +20,7 @@ /** * the value from backend will include timezone info, - * and that's not compatible with the component showing empty. + * and that's not compatible with the component as it'll go empty. */ onMount(() => (value = value ? toLocalDateTimeISO(value) : value)); From dac64612d26a66d72974e12878f09a837b96b307 Mon Sep 17 00:00:00 2001 From: Darshan Date: Fri, 12 Sep 2025 14:11:23 +0530 Subject: [PATCH 3/4] apply rabbit's suggestions. --- .../table-[table]/rows/columns/columnItem.svelte | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte index fec7385b4..1e0e0a754 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte @@ -26,14 +26,14 @@ let formStore = writable(formValues); function removeArrayItem(key: string, index: number) { - const filteredArray = $formStore[key].filter((_: object, i: number) => i !== index); + const currentArray = Array.isArray($formStore[key]) ? $formStore[key] : []; + const filteredArray = currentArray.filter((_: object, i: number) => i !== index); const next = { ...formValues, [key]: filteredArray.length === 0 ? [] : filteredArray }; formStore.set(next); - onUpdateFormValues?.(next); } function addArrayItem(key: string) { @@ -45,7 +45,6 @@ }; formStore.set(next); - onUpdateFormValues?.(next); } function getColumnType(column: Columns) { From d03f57c2447e95570ac616d0751d012e748bc275 Mon Sep 17 00:00:00 2001 From: Darshan Date: Fri, 12 Sep 2025 14:13:00 +0530 Subject: [PATCH 4/4] apply rabbit's suggestions. --- .../table-[table]/rows/columns/columnItem.svelte | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte index 1e0e0a754..b8dc1dd58 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/rows/columns/columnItem.svelte @@ -37,11 +37,10 @@ } function addArrayItem(key: string) { - const currentArray = $formStore[key]; + const currentArray = Array.isArray($formStore[key]) ? $formStore[key] : null; const next = { ...formValues, - [key]: - currentArray === null || currentArray === undefined ? [] : [...currentArray, null] + [key]: currentArray ? [...currentArray, null] : [null] }; formStore.set(next);