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 { CoreApp, DataSourceApi, DataSourceInstanceSettings, IconName } from '@grafana/data';
import { selectors } from '@grafana/e2e-selectors'; 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 { SceneObjectBase, SceneComponentProps, sceneGraph, SceneQueryRunner } from '@grafana/scenes';
import { DataQuery } from '@grafana/schema'; import { DataQuery } from '@grafana/schema';
import { Button, HorizontalGroup, Tab } from '@grafana/ui'; import { Button, HorizontalGroup, Tab } from '@grafana/ui';
@ -120,7 +120,15 @@ export class PanelDataQueriesTab extends SceneObjectBase<PanelDataQueriesTabStat
newQuery(): Partial<DataQuery> { newQuery(): Partial<DataQuery> {
const { dsSettings, datasource } = this._panelManager.state; 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 { return {
...datasource?.getDefaultQuery?.(CoreApp.PanelEditor), ...datasource?.getDefaultQuery?.(CoreApp.PanelEditor),

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

Loading…
Cancel
Save