From 5cc78ea2194bf7ee574c306075a74339b4a32819 Mon Sep 17 00:00:00 2001 From: Adela Almasan <88068998+adela-almasan@users.noreply.github.com> Date: Tue, 12 Nov 2024 07:21:59 -0600 Subject: [PATCH] [v11.3.x] Actions: Fix interpolation (#96247) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit øActions: Fix interpolation (#96161) (cherry picked from commit 754351273b6c770e2425cc8a8364b77e06497891) --- .../plugins/panel/heatmap/HeatmapTooltip.tsx | 2 +- .../state-timeline/StateTimelineTooltip2.tsx | 2 +- .../app/plugins/panel/status-history/utils.ts | 18 +++++++++--------- .../panel/timeseries/TimeSeriesTooltip.tsx | 2 +- .../panel/xychart/v2/XYChartTooltip.tsx | 2 +- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/public/app/plugins/panel/heatmap/HeatmapTooltip.tsx b/public/app/plugins/panel/heatmap/HeatmapTooltip.tsx index 010fbdfa09c..896dbeb1feb 100644 --- a/public/app/plugins/panel/heatmap/HeatmapTooltip.tsx +++ b/public/app/plugins/panel/heatmap/HeatmapTooltip.tsx @@ -307,7 +307,7 @@ const HeatmapHoverCell = ({ links = getDataLinks(linksField, xValueIdx); } - actions = getFieldActions(data.series!, linksField, replaceVariables); + actions = getFieldActions(data.series!, linksField, replaceVariables, xValueIdx); } footer = ; diff --git a/public/app/plugins/panel/state-timeline/StateTimelineTooltip2.tsx b/public/app/plugins/panel/state-timeline/StateTimelineTooltip2.tsx index b4ff1a07c21..d4df7d88187 100644 --- a/public/app/plugins/panel/state-timeline/StateTimelineTooltip2.tsx +++ b/public/app/plugins/panel/state-timeline/StateTimelineTooltip2.tsx @@ -71,7 +71,7 @@ export const StateTimelineTooltip2 = ({ const field = series.fields[seriesIdx]; const dataIdx = dataIdxs[seriesIdx]!; const links = getDataLinks(field, dataIdx); - const actions = getFieldActions(series, field, replaceVariables!); + const actions = getFieldActions(series, field, replaceVariables!, dataIdx); footer = ; } diff --git a/public/app/plugins/panel/status-history/utils.ts b/public/app/plugins/panel/status-history/utils.ts index b5807d0b2cb..9be0a4fefc5 100644 --- a/public/app/plugins/panel/status-history/utils.ts +++ b/public/app/plugins/panel/status-history/utils.ts @@ -24,7 +24,12 @@ export const getDataLinks = (field: Field, rowIdx: number) => { return links; }; -export const getFieldActions = (dataFrame: DataFrame, field: Field, replaceVars: InterpolateFunction) => { +export const getFieldActions = ( + dataFrame: DataFrame, + field: Field, + replaceVars: InterpolateFunction, + rowIndex: number +) => { if (!config.featureToggles?.vizActions) { return []; } @@ -32,14 +37,9 @@ export const getFieldActions = (dataFrame: DataFrame, field: Field, replaceVars: const actions: Array> = []; const actionLookup = new Set(); - const actionsModel = getActions( - dataFrame, - field, - field.state!.scopedVars!, - replaceVars, - field.config.actions ?? [], - {} - ); + const actionsModel = getActions(dataFrame, field, field.state!.scopedVars!, replaceVars, field.config.actions ?? [], { + valueRowIndex: rowIndex, + }); actionsModel.forEach((action) => { const key = `${action.title}`; diff --git a/public/app/plugins/panel/timeseries/TimeSeriesTooltip.tsx b/public/app/plugins/panel/timeseries/TimeSeriesTooltip.tsx index 2c30eb643c8..5ea7e95fe31 100644 --- a/public/app/plugins/panel/timeseries/TimeSeriesTooltip.tsx +++ b/public/app/plugins/panel/timeseries/TimeSeriesTooltip.tsx @@ -79,7 +79,7 @@ export const TimeSeriesTooltip = ({ const field = series.fields[seriesIdx]; const dataIdx = dataIdxs[seriesIdx]!; const links = getDataLinks(field, dataIdx); - const actions = getFieldActions(series, field, replaceVariables!); + const actions = getFieldActions(series, field, replaceVariables!, dataIdx); footer = ; } diff --git a/public/app/plugins/panel/xychart/v2/XYChartTooltip.tsx b/public/app/plugins/panel/xychart/v2/XYChartTooltip.tsx index 4a6f590c2f9..8976c807278 100644 --- a/public/app/plugins/panel/xychart/v2/XYChartTooltip.tsx +++ b/public/app/plugins/panel/xychart/v2/XYChartTooltip.tsx @@ -96,7 +96,7 @@ export const XYChartTooltip = ({ dataIdxs, seriesIdx, data, xySeries, dismiss, i if (isPinned && seriesIdx != null) { const links = getDataLinks(yField, rowIndex); const yFieldFrame = data.find((frame) => frame.fields.includes(yField))!; - const actions = getFieldActions(yFieldFrame, yField, replaceVariables); + const actions = getFieldActions(yFieldFrame, yField, replaceVariables, rowIndex); footer = ; }