From 33eb12d9f8e5a6857a762da532738fbe2b67b363 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E4=B8=AB=E8=AE=B2=E6=A2=B5?= Date: Wed, 23 Sep 2026 15:40:16 +0800 Subject: [PATCH] feat(grid): sort local filter values by count --- apps/desktop/src/components/grid/DataGrid.vue | 4 + .../grid/DataGridColumnFilterPopover.vue | 26 +++- .../DataGridColumnFilterPopover.sort.spec.ts | 86 +++++++++++++ .../useDataGridColumnFilters.sort.spec.ts | 116 ++++++++++++++++++ .../composables/useDataGridColumnFilters.ts | 26 +++- .../dataGridLocalColumnFilterState.spec.ts | 38 +++++- .../dataGridLocalColumnFilterState.ts | 30 +++-- 7 files changed, 310 insertions(+), 16 deletions(-) create mode 100644 apps/desktop/src/components/grid/__tests__/DataGridColumnFilterPopover.sort.spec.ts create mode 100644 apps/desktop/src/composables/__tests__/useDataGridColumnFilters.sort.spec.ts diff --git a/apps/desktop/src/components/grid/DataGrid.vue b/apps/desktop/src/components/grid/DataGrid.vue index ea925ad0e9..57e8f85f2f 100644 --- a/apps/desktop/src/components/grid/DataGrid.vue +++ b/apps/desktop/src/components/grid/DataGrid.vue @@ -1329,6 +1329,8 @@ const { localFilteredRows, localFilterAllOptions, localFilterOptions, + localFilterSort, + toggleLocalFilterSort, localFilterTypedValue, canApplyTypedLocalFilterValue, openLocalFilter, @@ -13001,6 +13003,8 @@ useUpdateBlocker(() => (hasPendingChanges.value || hasPendingDataEditorDraft.val :draft-mode="localFilterDraft?.mode" :draft-values="localFilterDraft?.values" :options="localFilterOptions" + :sort="localFilterSort" + @sort="toggleLocalFilterSort" :all-options-count="localFilterAllOptions.length" :can-apply-typed-value="canApplyTypedLocalFilterValue" :typed-value="localFilterTypedValue" diff --git a/apps/desktop/src/components/grid/DataGridColumnFilterPopover.vue b/apps/desktop/src/components/grid/DataGridColumnFilterPopover.vue index 502000443a..582349205a 100644 --- a/apps/desktop/src/components/grid/DataGridColumnFilterPopover.vue +++ b/apps/desktop/src/components/grid/DataGridColumnFilterPopover.vue @@ -1,9 +1,9 @@