diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte index 62ce91549..ac349acc7 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/columns/line.svelte @@ -39,12 +39,14 @@ import { Selector, Layout, Typography } from '@appwrite.io/pink-svelte'; import { InputLine } from '$lib/elements/forms'; import { getDefaultSpatialData } from '../store'; + import { onMount } from 'svelte'; interface Props { data?: Partial; + editing?: boolean; } - let { data = { required: false, default: null } }: Props = $props(); + let { data = { required: false, default: null }, editing = false }: Props = $props(); let savedDefault = $state(data.default); let defaultChecked = $state(!!data.default); @@ -90,6 +92,14 @@ handleDefaultState(true); } }); + + onMount(() => { + if (!editing) { + savedDefault = getDefaultSpatialData('linestring'); + defaultChecked = false; + $required = false; + } + }); ; + editing?: boolean; } - let { data = { required: false, default: null } }: Props = $props(); + let { data = { required: false, default: null }, editing }: Props = $props(); let savedDefault = $state(data.default); let defaultChecked = $state(!!data.default); @@ -80,6 +82,14 @@ $effect(() => { defaultChecked = data.default !== null; }); + + onMount(() => { + if (!editing) { + savedDefault = getDefaultSpatialData('point'); + defaultChecked = false; + $required = false; + } + }); ; + editing?: boolean; } - let { data = { required: false, default: null } }: Props = $props(); + let { data = { required: false, default: null }, editing = false }: Props = $props(); let savedDefault = $state(data.default); let defaultChecked = $state(!!data.default); @@ -101,6 +103,14 @@ handleDefaultState(true); } }); + + onMount(() => { + if (!editing) { + savedDefault = getDefaultSpatialData('polygon'); + defaultChecked = false; + $required = false; + } + }); {/if} - {:else if isSpatialType(rowColumn)} + {:else if isSpatialType(rowColumn) && row[columnId] !== null} {JSON.stringify(row[columnId])} diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts index 21f828c48..ef94e87b3 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/store.ts @@ -203,12 +203,6 @@ export const getDefaultSpatialData = ( ]; else if (type === 'polygon') return [ - [ - [0, 0], - [0, 0], - [0, 0], - [0, 0] - ], [ [0, 0], [0, 0],