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