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 = ;
}