diff --git a/packages/frontend/editor-ui/src/components/RunDataTable.vue b/packages/frontend/editor-ui/src/components/RunDataTable.vue index 30a5af707f..70f203ab90 100644 --- a/packages/frontend/editor-ui/src/components/RunDataTable.vue +++ b/packages/frontend/editor-ui/src/components/RunDataTable.vue @@ -65,6 +65,7 @@ const forceShowGrip = ref(false); const draggedColumn = ref(false); const draggingPath = ref(null); const hoveringPath = ref(null); +const hoveringColumnIndex = ref(-1); const activeRow = ref(null); const columnLimit = ref(MAX_COLUMNS_LIMIT); const columnLimitExceeded = ref(false); @@ -158,10 +159,14 @@ function showExecutionLink(index: number) { function onMouseEnterCell(e: MouseEvent) { const target = e.target; - if (target && props.mappingEnabled) { - const col = (target as HTMLElement).dataset.col; - if (col && !isNaN(parseInt(col, 10))) { - activeColumn.value = parseInt(col, 10); + const col = (target as HTMLElement).dataset.col; + const parsedCol = col ? parseInt(col, 10) : Number.NaN; + + if (!isNaN(parsedCol)) { + hoveringColumnIndex.value = parsedCol; + + if (target && props.mappingEnabled) { + activeColumn.value = parsedCol; } } @@ -178,6 +183,7 @@ function onMouseLeaveCell() { activeColumn.value = -1; activeRow.value = null; emit('activeRowChanged', null); + hoveringColumnIndex.value = -1; } function onMouseEnterKey(path: Array, colIndex: number) { @@ -556,7 +562,10 @@ watch(