diff --git a/packages/grafana-data/src/field/fieldState.ts b/packages/grafana-data/src/field/fieldState.ts index 04f1cc5abef..7ae0552baa2 100644 --- a/packages/grafana-data/src/field/fieldState.ts +++ b/packages/grafana-data/src/field/fieldState.ts @@ -1,5 +1,3 @@ -import { isEqual } from 'lodash'; - import { DataFrame, Field, TIME_SERIES_VALUE_FIELD_NAME, FieldType, TIME_SERIES_TIME_FIELD_NAME } from '../types'; import { formatLabels } from '../utils/labels'; @@ -167,7 +165,7 @@ export function getUniqueFieldName(field: Field, frame?: DataFrame) { for (let i = 0; i < frame.fields.length; i++) { const otherField = frame.fields[i]; - if (isEqual(field, otherField)) { + if (field === otherField) { foundSelf = true; if (dupeCount > 0) { diff --git a/public/app/features/visualization/data-hover/DataHoverView.tsx b/public/app/features/visualization/data-hover/DataHoverView.tsx index c1a346a4bee..b395aedc976 100644 --- a/public/app/features/visualization/data-hover/DataHoverView.tsx +++ b/public/app/features/visualization/data-hover/DataHoverView.tsx @@ -41,9 +41,8 @@ export function getDisplayValuesAndLinks( sortOrder?: SortOrder, mode?: TooltipDisplayMode | null ) { - const fields = data.fields.map((f, idx) => { - return { ...f, hovered: idx === columnIndex }; - }); + const fields = data.fields; + const hoveredField = columnIndex != null ? fields[columnIndex] : null; const visibleFields = fields.filter((f) => !Boolean(f.config.custom?.hideFrom?.tooltip)); const traceIDField = visibleFields.find((field) => field.name === 'traceID') || fields[0]; @@ -63,7 +62,7 @@ export function getDisplayValuesAndLinks( const linkLookup = new Set(); for (const field of orderedVisibleFields) { - if (mode === TooltipDisplayMode.Single && columnIndex != null && !field.hovered) { + if (mode === TooltipDisplayMode.Single && field !== hoveredField) { continue; } @@ -80,14 +79,11 @@ export function getDisplayValuesAndLinks( }); } - // Sanitize field by removing hovered property to fix unique display name issue - const { hovered, ...sanitizedField } = field; - displayValues.push({ - name: getFieldDisplayName(sanitizedField, data), + name: getFieldDisplayName(field, data), value, valueString: formattedValueToString(fieldDisplay), - highlight: field.hovered, + highlight: field === hoveredField, }); }