From d81d1d6b28bdf18211b85ead259f72f0ae7c3c8b Mon Sep 17 00:00:00 2001 From: Darshan Date: Tue, 13 May 2025 12:00:33 +0530 Subject: [PATCH 1/4] update: add filter support for internal attributes! --- .../collection-[collection]/+page.svelte | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte index 83ea35cd1..c7f230b83 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte @@ -16,6 +16,7 @@ import Create from './createDocument.svelte'; import { collection, columns } from './store'; import Table from './table.svelte'; + import { derived } from 'svelte/store'; export let data: PageData; @@ -47,6 +48,19 @@ $: hasAttributes = !!$collection.attributes.length; $: hasValidAttributes = $collection?.attributes?.some((attr) => attr.status === 'available'); + + const filterColumns = derived(columns, ($columns) => [ + ...$columns, + ...['$id', '$createdAt', '$updatedAt'].map((id) => ({ + id, + title: id, + type: 'string', + show: true, + array: false, + format: 'string', + elements: null + })) + ]); {#key $page.params.collection} @@ -65,7 +79,7 @@
From 6ca3bd3beaaebf051d46f94b37fc4248a1933283 Mon Sep 17 00:00:00 2001 From: Darshan Date: Tue, 13 May 2025 12:15:34 +0530 Subject: [PATCH 2/4] update: add filter support for internal attributes! --- .../collection-[collection]/+page.svelte | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte index c7f230b83..562107f5b 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte @@ -4,7 +4,7 @@ import { Filters, hasPageQueries, queries } from '$lib/components/filters'; import ViewSelector from '$lib/components/viewSelector.svelte'; import { Button } from '$lib/elements/forms'; - import type { ColumnType } from '$lib/helpers/types'; + import type { Column, ColumnType } from '$lib/helpers/types'; import { Container } from '$lib/layout'; import { preferences } from '$lib/stores/preferences'; import { canWriteCollections, canWriteDocuments } from '$lib/stores/roles'; @@ -16,7 +16,7 @@ import Create from './createDocument.svelte'; import { collection, columns } from './store'; import Table from './table.svelte'; - import { derived } from 'svelte/store'; + import { derived, type Readable } from 'svelte/store'; export let data: PageData; @@ -49,16 +49,12 @@ $: hasValidAttributes = $collection?.attributes?.some((attr) => attr.status === 'available'); - const filterColumns = derived(columns, ($columns) => [ - ...$columns, + const filterColumns: Readable = derived(columns, ($collectionColumns) => [ + ...$collectionColumns, ...['$id', '$createdAt', '$updatedAt'].map((id) => ({ id, title: id, - type: 'string', - show: true, - array: false, - format: 'string', - elements: null + type: id === '$id' ? 'string' : 'datetime' })) ]); From 38a73b6c1769aca72abb5fd1579b42434adbc62d Mon Sep 17 00:00:00 2001 From: Darshan Date: Tue, 13 May 2025 12:20:40 +0530 Subject: [PATCH 3/4] fix: build. --- .../database-[database]/collection-[collection]/+page.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte index 562107f5b..b91c82ad4 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte @@ -54,6 +54,7 @@ ...['$id', '$createdAt', '$updatedAt'].map((id) => ({ id, title: id, + show: true, type: id === '$id' ? 'string' : 'datetime' })) ]); From 643346291129a1e95d70df46ca77f1972e21d66b Mon Sep 17 00:00:00 2001 From: Darshan Date: Tue, 13 May 2025 12:57:18 +0530 Subject: [PATCH 4/4] fix: type and param type checks. --- .../collection-[collection]/+page.svelte | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte index b91c82ad4..1c3d6d19a 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/collection-[collection]/+page.svelte @@ -16,7 +16,7 @@ import Create from './createDocument.svelte'; import { collection, columns } from './store'; import Table from './table.svelte'; - import { derived, type Readable } from 'svelte/store'; + import { writable } from 'svelte/store'; export let data: PageData; @@ -24,6 +24,8 @@ let showCreateDropdown = false; let selectedAttribute: Option['name'] = null; + const filterColumns = writable([]); + $: selected = preferences.getCustomCollectionColumns( $page.params.project, $page.params.collection @@ -39,6 +41,15 @@ elements: 'elements' in attribute ? attribute.elements : null })) ); + $: filterColumns.set([ + ...$columns, + ...['$id', '$createdAt', '$updatedAt'].map((id) => ({ + id, + title: id, + show: true, + type: (id === '$id' ? 'string' : 'datetime') as ColumnType + })) + ]); function openWizard() { if (!$canWriteDocuments) return; @@ -48,16 +59,6 @@ $: hasAttributes = !!$collection.attributes.length; $: hasValidAttributes = $collection?.attributes?.some((attr) => attr.status === 'available'); - - const filterColumns: Readable = derived(columns, ($collectionColumns) => [ - ...$collectionColumns, - ...['$id', '$createdAt', '$updatedAt'].map((id) => ({ - id, - title: id, - show: true, - type: id === '$id' ? 'string' : 'datetime' - })) - ]); {#key $page.params.collection}