fix(grid): keep BLOB download menu anchored

This commit is contained in:
zipg authored and GitHub committed 2026-07-13 17:33:36 +08:00
1 parent 00101ff0ac
commit 27c60f0d30
3 files changed
+40 -2

No files matched your search

+14 -1
View File
@@ -126,7 +126,18 @@ import { canApplyGridSelectionValue, canDeleteGridRowItem, canEditGridCellDetail
import { displayCellValue, firstLineCellDisplayValue, type CellValue } from "@/lib/dataGrid/cellValue";
import { getApplicablePreviewActions } from "@/lib/dataGrid/resultPreviewRegistry";
import "@/lib/dataGrid/geometryMapPreview";
import { BINARY_CELL_DOWNLOAD_MODES, binaryCellDisplayText, binaryCellDownloadFileName, binaryCellDownloadPayload, canDownloadBinaryCellValue, downloadBinaryCellPayload, isBinaryCellColumnType, parseBinaryCellBytes, type BinaryCellDownloadMode } from "@/lib/dataGrid/binaryCellDownload";
import {
BINARY_CELL_DOWNLOAD_MODES,
binaryCellDisplayText,
binaryCellDownloadFileName,
binaryCellDownloadPayload,
canDownloadBinaryCellValue,
downloadBinaryCellPayload,
isBinaryCellColumnType,
parseBinaryCellBytes,
retainBinaryCellDownloadMenuForHover,
type BinaryCellDownloadMode,
} from "@/lib/dataGrid/binaryCellDownload";
import { buildBinaryHexViewRows } from "@/lib/dataGrid/binaryHexViewer";
import { canFormatCellDetailJson, cellDetailEditorText, compactJsonText, defaultCellDetailTab, formatJsonText, isGeometryColumnType, linkedCellDetailTarget, looksLikeJsonContainerText, valueEditorActions, visibleCellDetailTabs, type CellDetailTab } from "@/lib/dataGrid/cellDetailPresentation";
import { renderWktOnCanvas, isHexGeometry } from "@/lib/dataGrid/geometryPreview";
@@ -4743,6 +4754,7 @@ const selectionSummarySumText = computed(() => {
const isMultiRow = computed(() => multiRowCount.value > 1);
function onCellMouseenter(rowIndex: number, visibleColIdx: number, actualColIdx: number) {
quickDownloadMenuCell.value = retainBinaryCellDownloadMenuForHover(quickDownloadMenuCell.value, { rowIndex, col: actualColIdx });
if (!isScrolling.value) hoveredDetailCell.value = { rowIndex, col: actualColIdx };
extendCellSelection(rowIndex, visibleColIdx);
}
@@ -6686,6 +6698,7 @@ function transposeCellIsSelected(rowIndex: number, actualColIdx: number) {
}
function onTransposeCellMouseenter(rowIndex: number, actualColIdx: number) {
quickDownloadMenuCell.value = retainBinaryCellDownloadMenuForHover(quickDownloadMenuCell.value, { rowIndex, col: actualColIdx });
if (isScrolling.value) return;
hoveredDetailCell.value = { rowIndex, col: actualColIdx };
}