From ac301bb021683a947eba2d07981a1163d2ceac85 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Sun, 7 Sep 2025 18:04:41 +0530 Subject: [PATCH 1/3] feat: add Create more to column creation flow --- .../table-[table]/+layout.svelte | 16 ++++++++++++---- .../table-[table]/createColumn.svelte | 9 +++++++++ 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte index a0d751d08..5e7c3614c 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte @@ -52,7 +52,7 @@ import EditColumn from './columns/edit.svelte'; import RowActivity from './rows/activity.svelte'; import EditRowPermissions from './rows/editPermissions.svelte'; - import { Dialog, Layout, Typography } from '@appwrite.io/pink-svelte'; + import { Dialog, Layout, Typography, Selector } from '@appwrite.io/pink-svelte'; import { Button, Seekbar } from '$lib/elements/forms'; import { generateFakeRecords, generateColumns } from '$lib/helpers/faker'; import { addNotification } from '$lib/stores/notifications'; @@ -70,6 +70,7 @@ let createIndex: CreateIndex; let createColumn: CreateColumn; let selectedOption: Option['name'] = 'String'; + let createMoreColumns = false; /** * adding a lot of fake data will trigger the realtime below @@ -342,14 +343,21 @@ bind:show={$showCreateColumnSheet.show} submit={{ text: 'Create', - onClick: async () => { - await createColumn?.submit(); - }, + onClick: async () => await createColumn?.submit(), disabled: !selectedOption }}> + {#snippet footer()} + + + + {/snippet} void; } = $props(); @@ -148,12 +150,19 @@ message: `Column ${key ?? data?.key} has been created` }); trackEvent(Submit.ColumnCreate); + + if (createMore) { + init(); + return true; // keep sheet open + } + return false; // close sheet } catch (e) { addNotification({ type: 'error', message: e.message }); trackError(e, Submit.ColumnCreate); + return true; // keep open on error } } From 9eaedc6d580bb6851153931d266bd3806575d6b9 Mon Sep 17 00:00:00 2001 From: Harsh Mahajan <127186841+HarshMN2345@users.noreply.github.com> Date: Mon, 8 Sep 2025 10:58:30 +0530 Subject: [PATCH 2/3] eeset createMoreColumns to false when sheet closes --- .../database-[database]/table-[table]/+layout.svelte | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte index 5e7c3614c..84908b2b3 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte @@ -72,6 +72,10 @@ let selectedOption: Option['name'] = 'String'; let createMoreColumns = false; + $: if (!$showCreateColumnSheet.show) { + createMoreColumns = false; + } + /** * adding a lot of fake data will trigger the realtime below * and will keep invalidating the `Dependencies.TABLE` making a lot of API noise! @@ -337,7 +341,7 @@ Date: Mon, 8 Sep 2025 11:07:53 +0530 Subject: [PATCH 3/3] move to end --- .../database-[database]/table-[table]/+layout.svelte | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte index 84908b2b3..076e08f1c 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/table-[table]/+layout.svelte @@ -72,10 +72,6 @@ let selectedOption: Option['name'] = 'String'; let createMoreColumns = false; - $: if (!$showCreateColumnSheet.show) { - createMoreColumns = false; - } - /** * adding a lot of fake data will trigger the realtime below * and will keep invalidating the `Dependencies.TABLE` making a lot of API noise! @@ -332,6 +328,10 @@ spreadsheetRenderKey.set(hash(rowIds)); } + + $: if (!$showCreateColumnSheet.show) { + createMoreColumns = false; + }