SharedQuery: Error when switching to -- Dashboard -- data source caused "no data" no matter what source panel was selected (#27627)

* SharedQuery: Error when switching to -- Dashboard -- data source made observable subscription error and subsequent data results not update visualization

* added null check just in case
This commit is contained in:
Torkel Ödegaard 2020-09-17 07:36:18 +02:00 committed by GitHub
parent c450ffd711
commit 31e2b7e7c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 2 deletions

View File

@ -93,11 +93,13 @@ export class PanelQueryRunner {
if (withFieldConfig) { if (withFieldConfig) {
// Apply field defaults & overrides // Apply field defaults & overrides
const fieldConfig = this.dataConfigSource.getFieldOverrideOptions(); const fieldConfig = this.dataConfigSource.getFieldOverrideOptions();
const timeZone = data.request?.timezone ?? 'browser';
if (fieldConfig) { if (fieldConfig) {
processedData = { processedData = {
...processedData, ...processedData,
series: applyFieldOverrides({ series: applyFieldOverrides({
timeZone: data.request!.timezone, timeZone: timeZone,
autoMinMax: true, autoMinMax: true,
data: processedData.series, data: processedData.series,
...fieldConfig, ...fieldConfig,

View File

@ -2,7 +2,7 @@ import { Observable } from 'rxjs';
import { QueryRunnerOptions } from 'app/features/dashboard/state/PanelQueryRunner'; import { QueryRunnerOptions } from 'app/features/dashboard/state/PanelQueryRunner';
import { DashboardQuery, SHARED_DASHBODARD_QUERY } from './types'; import { DashboardQuery, SHARED_DASHBODARD_QUERY } from './types';
import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv'; import { getDashboardSrv } from 'app/features/dashboard/services/DashboardSrv';
import { LoadingState, DefaultTimeRange, DataQuery, PanelData, DataSourceApi } from '@grafana/data'; import { LoadingState, DefaultTimeRange, DataQuery, PanelData, DataSourceApi, DataQueryRequest } from '@grafana/data';
export function isSharedDashboardQuery(datasource: string | DataSourceApi | null) { export function isSharedDashboardQuery(datasource: string | DataSourceApi | null) {
if (!datasource) { if (!datasource) {
@ -70,6 +70,7 @@ function getQueryError(msg: string): PanelData {
return { return {
state: LoadingState.Error, state: LoadingState.Error,
series: [], series: [],
request: {} as DataQueryRequest,
error: { message: msg }, error: { message: msg },
timeRange: DefaultTimeRange, timeRange: DefaultTimeRange,
}; };