From 25390d2fab1c674772f1ef3eb77bb14b601f80f0 Mon Sep 17 00:00:00 2001 From: "grafana-delivery-bot[bot]" <132647405+grafana-delivery-bot[bot]@users.noreply.github.com> Date: Thu, 2 May 2024 15:28:30 +0300 Subject: [PATCH] [v11.0.x] DashboardQueryEditor: Adjust options filtering in scenes (#87228) DashboardQueryEditor: Adjust options filtering in scenes (#87174) adjust options filtering for dashboard datasource in scenes (cherry picked from commit 37ca484aad6f20ba584c74ba04156ac53b6e2532) Co-authored-by: Sergej-Vlasov <37613182+Sergej-Vlasov@users.noreply.github.com> --- .../datasource/dashboard/DashboardQueryEditor.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx b/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx index b43d0363169..d875c8d0b85 100644 --- a/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx +++ b/public/app/plugins/datasource/dashboard/DashboardQueryEditor.tsx @@ -9,6 +9,7 @@ import { Field, Select, useStyles2, Spinner, RadioButtonGroup, Stack, InlineSwit import config from 'app/core/config'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; import { PanelModel } from 'app/features/dashboard/state'; +import { DashboardScene } from 'app/features/dashboard-scene/scene/DashboardScene'; import { getDatasourceSrv } from 'app/features/plugins/datasource_srv'; import { filterPanelDataToQuery } from 'app/features/query/components/QueryEditorRow'; @@ -21,6 +22,14 @@ function getQueryDisplayText(query: DataQuery): string { return JSON.stringify(query); } +function isPanelInEdit(panelId: number, panelInEditId?: number) { + let idToCompareWith = panelInEditId; + if (window.__grafanaSceneContext && window.__grafanaSceneContext instanceof DashboardScene) { + idToCompareWith = window.__grafanaSceneContext.state.editPanel?.state.panelId; + } + return panelId === idToCompareWith; +} + interface Props extends QueryEditorProps {} const topics = [ @@ -112,7 +121,7 @@ export function DashboardQueryEditor({ data, query, onChange, onRunQuery }: Prop (panel) => config.panels[panel.type] && panel.targets && - panel.id !== dashboard.panelInEdit?.id && + !isPanelInEdit(panel.id, dashboard.panelInEdit?.id) && panel.datasource?.uid !== SHARED_DASHBOARD_QUERY ) .map((panel) => ({