From c800a95b501076ba2831ea4d6f8364b00fd97e2f Mon Sep 17 00:00:00 2001 From: Denis Bykhov Date: Sun, 22 Mar 2026 08:30:54 +0500 Subject: [PATCH] Implement persistent table sorting by integrating with view options. (#10665) Signed-off-by: Denis Bykhov --- .../src/components/RelationshipTable.svelte | 10 ++++++++-- .../src/components/RelationshipTableBrowser.svelte | 11 ++++++++++- plugins/view-resources/src/components/Table.svelte | 11 +++++++++-- .../view-resources/src/components/TableBrowser.svelte | 11 ++++++++++- 4 files changed, 37 insertions(+), 6 deletions(-) diff --git a/plugins/view-resources/src/components/RelationshipTable.svelte b/plugins/view-resources/src/components/RelationshipTable.svelte index 189f4e6a84..299f96b2d7 100644 --- a/plugins/view-resources/src/components/RelationshipTable.svelte +++ b/plugins/view-resources/src/components/RelationshipTable.svelte @@ -85,12 +85,17 @@ $: associations = buildConfigAssociation(config) let _sortKey = prefferedSorting + let sortOrder = SortingOrder.Descending let userSorting = false - $: if (!userSorting) { + $: if (!userSorting && !viewOptions?.orderBy) { _sortKey = prefferedSorting } - let sortOrder = SortingOrder.Descending + $: if (viewOptions?.orderBy) { + _sortKey = viewOptions.orderBy[0] + sortOrder = viewOptions.orderBy[1] + } + let loading = 0 let objects: Doc[] = [] @@ -204,6 +209,7 @@ } else { sortOrder = sortOrder === SortingOrder.Ascending ? SortingOrder.Descending : SortingOrder.Ascending } + dispatch('sort', { key: _sortKey, order: sortOrder }) } const joinProps = (attribute: AttributeModel, object: Doc, readonly: boolean) => { diff --git a/plugins/view-resources/src/components/RelationshipTableBrowser.svelte b/plugins/view-resources/src/components/RelationshipTableBrowser.svelte index 80b1f93b07..26ccaaed51 100644 --- a/plugins/view-resources/src/components/RelationshipTableBrowser.svelte +++ b/plugins/view-resources/src/components/RelationshipTableBrowser.svelte @@ -13,13 +13,14 @@ // limitations under the License. -->