From f36c280d6d679a26be48cfccef66d8396a79a625 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=AB=98=E6=A1=A5=E5=87=89=E4=BB=8B?=
<113153113+HighBigSky@users.noreply.github.com>
Date: Thu, 6 Aug 2026 16:29:26 +0800
Subject: [PATCH] feat(grid): show column index indicators in data headers
---
.../editor/EditorSettingsDialog.vue | 16 +++++
apps/desktop/src/components/grid/DataGrid.vue | 51 +++++++++++++-
.../components/grid/DataGridColumnHeader.vue | 29 +++++++-
apps/desktop/src/i18n/locales/en.ts | 5 ++
apps/desktop/src/i18n/locales/es.ts | 5 ++
apps/desktop/src/i18n/locales/it.ts | 5 ++
apps/desktop/src/i18n/locales/ja.ts | 5 ++
apps/desktop/src/i18n/locales/ko.ts | 5 ++
apps/desktop/src/i18n/locales/pt-BR.ts | 5 ++
apps/desktop/src/i18n/locales/zh-CN.ts | 5 ++
apps/desktop/src/i18n/locales/zh-TW.ts | 5 ++
.../dataGrid/dataGridColumnIndexIcon.spec.ts | 70 +++++++++++++++++++
.../lib/dataGrid/dataGridColumnIndexIcon.ts | 65 +++++++++++++++++
.../src/lib/settings/editorSettingsDraft.ts | 1 +
.../src/lib/settings/settingsSearch.ts | 1 +
apps/desktop/src/stores/settingsStore.ts | 4 ++
16 files changed, 272 insertions(+), 5 deletions(-)
create mode 100644 apps/desktop/src/lib/__tests__/dataGrid/dataGridColumnIndexIcon.spec.ts
create mode 100644 apps/desktop/src/lib/dataGrid/dataGridColumnIndexIcon.ts
diff --git a/apps/desktop/src/components/editor/EditorSettingsDialog.vue b/apps/desktop/src/components/editor/EditorSettingsDialog.vue
index 5fdfc9ad58..d478d563a2 100644
--- a/apps/desktop/src/components/editor/EditorSettingsDialog.vue
+++ b/apps/desktop/src/components/editor/EditorSettingsDialog.vue
@@ -333,6 +333,7 @@ const debugLogCopied = ref(false);
const debugLogDownloaded = ref(false);
const editShowColumnCommentsInHeader = ref(settingsStore.editorSettings.showColumnCommentsInHeader);
const editShowColumnTypesInHeader = ref(settingsStore.editorSettings.showColumnTypesInHeader);
+const editShowIndexIndicatorsInHeader = ref(settingsStore.editorSettings.showIndexIndicatorsInHeader);
const editCompactColumnHeaderActions = ref(settingsStore.editorSettings.compactColumnHeaderActions);
const editDataGridQuickEntry = ref(settingsStore.editorSettings.dataGridQuickEntry);
const editDataGridAutoTransposeSingleRow = ref(settingsStore.editorSettings.dataGridAutoTransposeSingleRow);
@@ -485,6 +486,7 @@ function currentEditorSettingsDraft(): EditorSettingsDraft {
tabLayout: editTabLayout.value,
showColumnCommentsInHeader: editShowColumnCommentsInHeader.value,
showColumnTypesInHeader: editShowColumnTypesInHeader.value,
+ showIndexIndicatorsInHeader: editShowIndexIndicatorsInHeader.value,
compactColumnHeaderActions: editCompactColumnHeaderActions.value,
dataGridQuickEntry: editDataGridQuickEntry.value,
dataGridAutoTransposeSingleRow: editDataGridAutoTransposeSingleRow.value,
@@ -752,6 +754,7 @@ function syncEditorSettingsDraftFromStore() {
editTabLayout.value = settingsStore.editorSettings.tabLayout;
editShowColumnCommentsInHeader.value = settingsStore.editorSettings.showColumnCommentsInHeader;
editShowColumnTypesInHeader.value = settingsStore.editorSettings.showColumnTypesInHeader;
+ editShowIndexIndicatorsInHeader.value = settingsStore.editorSettings.showIndexIndicatorsInHeader;
editCompactColumnHeaderActions.value = settingsStore.editorSettings.compactColumnHeaderActions;
editDataGridQuickEntry.value = settingsStore.editorSettings.dataGridQuickEntry;
editDataGridAutoTransposeSingleRow.value = settingsStore.editorSettings.dataGridAutoTransposeSingleRow;
@@ -989,6 +992,7 @@ function resetDefaultsForTab(tab: SettingsCategory) {
} else if (tab === "data") {
editShowColumnCommentsInHeader.value = DEFAULT_EDITOR_SETTINGS.showColumnCommentsInHeader;
editShowColumnTypesInHeader.value = DEFAULT_EDITOR_SETTINGS.showColumnTypesInHeader;
+ editShowIndexIndicatorsInHeader.value = DEFAULT_EDITOR_SETTINGS.showIndexIndicatorsInHeader;
editCompactColumnHeaderActions.value = DEFAULT_EDITOR_SETTINGS.compactColumnHeaderActions;
editDataGridQuickEntry.value = DEFAULT_EDITOR_SETTINGS.dataGridQuickEntry;
editDataGridAutoTransposeSingleRow.value = DEFAULT_EDITOR_SETTINGS.dataGridAutoTransposeSingleRow;
@@ -1052,6 +1056,7 @@ function resetAllDefaults() {
editSidebarTablePageSize.value = DEFAULT_SIDEBAR_TABLE_PAGE_SIZE;
editShowColumnCommentsInHeader.value = DEFAULT_EDITOR_SETTINGS.showColumnCommentsInHeader;
editShowColumnTypesInHeader.value = DEFAULT_EDITOR_SETTINGS.showColumnTypesInHeader;
+ editShowIndexIndicatorsInHeader.value = DEFAULT_EDITOR_SETTINGS.showIndexIndicatorsInHeader;
editCompactColumnHeaderActions.value = DEFAULT_EDITOR_SETTINGS.compactColumnHeaderActions;
editDataGridQuickEntry.value = DEFAULT_EDITOR_SETTINGS.dataGridQuickEntry;
editDataGridAutoTransposeSingleRow.value = DEFAULT_EDITOR_SETTINGS.dataGridAutoTransposeSingleRow;
@@ -4325,6 +4330,17 @@ onUnmounted(() => {
+