From efba56c8c03c0f5be5b21de4f8b92c0cc91639fa Mon Sep 17 00:00:00 2001 From: t8y2 <1156263951@qq.com> Date: Mon, 24 Aug 2026 23:25:24 +0000 Subject: [PATCH] feat(grid): compare original and edited JSON values Closes #1638 --- .../components/common/SideBySideTextDiff.vue | 204 ++++++++++++++++++ .../VirtualScrollArea.vue} | 4 +- .../components/dolt/DoltCellDiffDialog.vue | 196 ++--------------- .../src/components/dolt/DoltDiffTable.vue | 8 +- .../components/dolt/DoltRevisionSelector.vue | 6 +- .../components/dolt/DoltVersionControl.vue | 18 +- apps/desktop/src/components/grid/DataGrid.vue | 41 +++- .../grid/DataGridCellDetailPanel.vue | 6 +- .../grid/DataGridValueDiffDialog.vue | 85 ++++++++ .../grid/__tests__/DataGridSurfaces.spec.ts | 44 ++++ apps/desktop/src/i18n/locales/en.ts | 11 + apps/desktop/src/i18n/locales/es.ts | 11 + apps/desktop/src/i18n/locales/it.ts | 11 + apps/desktop/src/i18n/locales/ja.ts | 11 + apps/desktop/src/i18n/locales/ko.ts | 11 + apps/desktop/src/i18n/locales/pt-BR.ts | 11 + apps/desktop/src/i18n/locales/zh-CN.ts | 11 + apps/desktop/src/i18n/locales/zh-TW.ts | 11 + .../__tests__/dataGrid/jsonValueDiff.spec.ts | 77 +++++++ apps/desktop/src/lib/common/textDiff.ts | 158 ++++++++++++++ .../desktop/src/lib/dataGrid/jsonValueDiff.ts | 73 +++++++ apps/desktop/src/lib/dolt/doltCellDiff.ts | 145 +------------ 22 files changed, 814 insertions(+), 339 deletions(-) create mode 100644 apps/desktop/src/components/common/SideBySideTextDiff.vue rename apps/desktop/src/components/{dolt/DoltScrollArea.vue => common/VirtualScrollArea.vue} (99%) create mode 100644 apps/desktop/src/components/grid/DataGridValueDiffDialog.vue create mode 100644 apps/desktop/src/lib/__tests__/dataGrid/jsonValueDiff.spec.ts create mode 100644 apps/desktop/src/lib/common/textDiff.ts create mode 100644 apps/desktop/src/lib/dataGrid/jsonValueDiff.ts diff --git a/apps/desktop/src/components/common/SideBySideTextDiff.vue b/apps/desktop/src/components/common/SideBySideTextDiff.vue new file mode 100644 index 0000000000..a9b84a7018 --- /dev/null +++ b/apps/desktop/src/components/common/SideBySideTextDiff.vue @@ -0,0 +1,204 @@ + + + + + diff --git a/apps/desktop/src/components/dolt/DoltScrollArea.vue b/apps/desktop/src/components/common/VirtualScrollArea.vue similarity index 99% rename from apps/desktop/src/components/dolt/DoltScrollArea.vue rename to apps/desktop/src/components/common/VirtualScrollArea.vue index 3ece6ffa5f..e2a78c6ccf 100644 --- a/apps/desktop/src/components/dolt/DoltScrollArea.vue +++ b/apps/desktop/src/components/common/VirtualScrollArea.vue @@ -170,7 +170,7 @@ onUnmounted(() => { diff --git a/apps/desktop/src/components/dolt/DoltDiffTable.vue b/apps/desktop/src/components/dolt/DoltDiffTable.vue index 2c4205d3f4..f81e2f7004 100644 --- a/apps/desktop/src/components/dolt/DoltDiffTable.vue +++ b/apps/desktop/src/components/dolt/DoltDiffTable.vue @@ -1,6 +1,6 @@