import { PanelBuilders, SceneFlexItem, SceneQueryRunner, SceneTimeRange } from '@grafana/scenes'; import { DataSourceRef, GraphDrawStyle, TooltipDisplayMode } from '@grafana/schema'; import { overrideToFixedColor, PANEL_STYLES } from '../../home/Insights'; export function getAlertsByStateScene(timeRange: SceneTimeRange, datasource: DataSourceRef, panelTitle: string) { const query = new SceneQueryRunner({ datasource, queries: [ { refId: 'A', expr: 'sum by (state) (grafanacloud_instance_alertmanager_alerts)', range: true, legendFormat: '{{state}}', }, ], $timeRange: timeRange, }); return new SceneFlexItem({ ...PANEL_STYLES, body: PanelBuilders.timeseries() .setTitle(panelTitle) .setDescription(panelTitle) .setData(query) .setCustomFieldConfig('drawStyle', GraphDrawStyle.Line) .setOption('tooltip', { mode: TooltipDisplayMode.Multi }) .setOverrides((b) => b.matchFieldsWithName('active').overrideColor(overrideToFixedColor('active'))) .build(), }); }