mirror of https://github.com/grafana/grafana.git
PanelQueryRunner: move error handling to QueryRunnerOptions (#16654)
This commit is contained in:
parent
ed0192104c
commit
f4cd9bc73c
|
|
@ -99,15 +99,9 @@ export class PanelChrome extends PureComponent<Props, State> {
|
||||||
if (data.state === LoadingState.Error) {
|
if (data.state === LoadingState.Error) {
|
||||||
const { error } = data;
|
const { error } = data;
|
||||||
if (error) {
|
if (error) {
|
||||||
let message = 'Query error';
|
let message = error.message;
|
||||||
if (error.message) {
|
if (!message) {
|
||||||
message = error.message;
|
message = 'Query error';
|
||||||
} else if (error.data && error.data.message) {
|
|
||||||
message = error.data.message;
|
|
||||||
} else if (error.data && error.data.error) {
|
|
||||||
message = error.data.error;
|
|
||||||
} else if (error.status) {
|
|
||||||
message = `Query error: ${error.status} ${error.statusText}`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.state.errorMessage !== message) {
|
if (this.state.errorMessage !== message) {
|
||||||
|
|
|
||||||
|
|
@ -20,10 +20,10 @@ import cloneDeep from 'lodash/cloneDeep';
|
||||||
|
|
||||||
import kbn from 'app/core/utils/kbn';
|
import kbn from 'app/core/utils/kbn';
|
||||||
|
|
||||||
export interface QueryRunnerOptions {
|
export interface QueryRunnerOptions<TQuery extends DataQuery = DataQuery> {
|
||||||
ds?: DataSourceApi; // if they already have the datasource, don't look it up
|
ds?: DataSourceApi<TQuery>; // if they already have the datasource, don't look it up
|
||||||
datasource: string | null;
|
datasource: string | null;
|
||||||
queries: DataQuery[];
|
queries: TQuery[];
|
||||||
panelId: number;
|
panelId: number;
|
||||||
dashboardId?: number;
|
dashboardId?: number;
|
||||||
timezone?: string;
|
timezone?: string;
|
||||||
|
|
@ -174,7 +174,17 @@ export class PanelQueryRunner {
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
const error = err as DataQueryError;
|
const error = err as DataQueryError;
|
||||||
if (!error.message) {
|
if (!error.message) {
|
||||||
err.message = 'Query Error';
|
let message = 'Query error';
|
||||||
|
if (error.message) {
|
||||||
|
message = error.message;
|
||||||
|
} else if (error.data && error.data.message) {
|
||||||
|
message = error.data.message;
|
||||||
|
} else if (error.data && error.data.error) {
|
||||||
|
message = error.data.error;
|
||||||
|
} else if (error.status) {
|
||||||
|
message = `Query error: ${error.status} ${error.statusText}`;
|
||||||
|
}
|
||||||
|
error.message = message;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.data = {
|
this.data = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue