From 44011cb9a4a05e1356fc45a5ad901dfcbfa7f962 Mon Sep 17 00:00:00 2001 From: zipg Date: Mon, 29 Jun 2026 00:13:33 +0800 Subject: [PATCH] feat(grid): preview binary image cell values --- apps/desktop/src/components/grid/DataGrid.vue | 15 ++-- .../components/grid/ImagePreviewDialog.vue | 49 +++++++++-- apps/desktop/src/i18n/locales/en.ts | 2 +- apps/desktop/src/i18n/locales/es.ts | 2 +- apps/desktop/src/i18n/locales/it.ts | 2 +- apps/desktop/src/i18n/locales/ja.ts | 2 +- apps/desktop/src/i18n/locales/pt-BR.ts | 2 +- apps/desktop/src/i18n/locales/zh-CN.ts | 2 +- apps/desktop/src/i18n/locales/zh-TW.ts | 2 +- apps/desktop/src/lib/cellImageUrl.ts | 82 ++++++++++++++++++- apps/desktop/src/lib/dataGridDetail.ts | 21 ++++- apps/desktop/src/lib/imagePreviewViewer.ts | 41 ++++++++++ packages/app-tests/cellImageUrl.test.ts | 31 +++++++ packages/app-tests/dataGridDetail.test.ts | 55 +++++++++++++ packages/app-tests/imagePreviewViewer.test.ts | 67 +++++++++++++++ 15 files changed, 352 insertions(+), 23 deletions(-) create mode 100644 packages/app-tests/imagePreviewViewer.test.ts diff --git a/apps/desktop/src/components/grid/DataGrid.vue b/apps/desktop/src/components/grid/DataGrid.vue index f3eee4e0f2..66467ddf81 100644 --- a/apps/desktop/src/components/grid/DataGrid.vue +++ b/apps/desktop/src/components/grid/DataGrid.vue @@ -3482,6 +3482,7 @@ function cellDetailFor(rowIndex: number, columnIndex: number): DataGridCellDetai columns: props.result.columns, columnIndex, typeByColumn: columnTypeMap.value, + resultColumnTypes: props.result.column_types, commentByColumn: columnCommentMap.value, displayValue: (value, index) => formatCellCached(value, index), isEditable: canEditCellItem(item, columnIndex), @@ -3509,6 +3510,7 @@ const rowDetail = computed(() => { columns: props.result.columns, columnIndexes: visibleColumnIndexes.value, typeByColumn: columnTypeMap.value, + resultColumnTypes: props.result.column_types, commentByColumn: columnCommentMap.value, displayValue: (value, index) => formatCellCached(value, index), isEditableColumn: (columnIndex) => canEditCellItem(item, columnIndex), @@ -3528,6 +3530,7 @@ const columnDetail = computed(() => { columns: props.result.columns, columnIndex, typeByColumn: columnTypeMap.value, + resultColumnTypes: props.result.column_types, commentByColumn: columnCommentMap.value, displayValue: (value, index) => formatCellCached(value, index), }); @@ -8437,7 +8440,7 @@ const gridContextMenuItems = computed(() => { -
+
{{ t("grid.cellValue") }}
@@ -8476,14 +8479,14 @@ const gridContextMenuItems = computed(() => {
-
+
{{ t("grid.imagePreview") }}
- - + +