Dashboard: Migration Fixes Mixed data source losing existing queries (#86883)

pull/86914/head^2
Alexa V 1 year ago committed by GitHub
parent cd724d74aa
commit e711d10925
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 12
      public/app/features/dashboard-scene/panel-edit/PanelDataPane/PanelDataQueriesTab.tsx
  2. 5
      public/app/features/dashboard-scene/panel-edit/VizPanelManager.tsx

@ -2,7 +2,7 @@ import React from 'react';
import { CoreApp, DataSourceApi, DataSourceInstanceSettings, IconName } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors';
import { config } from '@grafana/runtime';
import { config, getDataSourceSrv } from '@grafana/runtime';
import { SceneObjectBase, SceneComponentProps, sceneGraph, SceneQueryRunner } from '@grafana/scenes';
import { DataQuery } from '@grafana/schema';
import { Button, HorizontalGroup, Tab } from '@grafana/ui';
@ -120,7 +120,15 @@ export class PanelDataQueriesTab extends SceneObjectBase<PanelDataQueriesTabStat
newQuery(): Partial<DataQuery> {
const { dsSettings, datasource } = this._panelManager.state;
const ds = !dsSettings?.meta.mixed ? dsSettings : datasource;
let ds;
if (!dsSettings?.meta.mixed) {
ds = dsSettings; // Use dsSettings if it is not mixed
} else if (!datasource?.meta.mixed) {
ds = datasource; // Use datasource if dsSettings is mixed but datasource is not
} else {
// Use default datasource if both are mixed or just datasource is mixed
ds = getDataSourceSrv().getInstanceSettings(config.defaultDatasource);
}
return {
...datasource?.getDefaultQuery?.(CoreApp.PanelEditor),

@ -141,10 +141,7 @@ export class VizPanelManager extends SceneObjectBase<VizPanelManagerState> {
}
if (datasource && dsSettings) {
this.setState({
datasource,
dsSettings,
});
this.setState({ datasource, dsSettings });
storeLastUsedDataSourceInLocalStorage(
{

Loading…
Cancel
Save