mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Explore: Fixes query hint issues (#18803)
* Explore: clear results when you change datasource * Explore: Clear results on data source change, and fix query hints issue * Clear results on clear all * Prometheus: Update logic of when to re-check query hints
This commit is contained in:
parent
89abc77b22
commit
8e9cb5c81a
@ -96,10 +96,11 @@ function convertTimeSeriesToDataFrame(timeSeries: TimeSeries): DataFrame {
|
|||||||
function convertGraphSeriesToDataFrame(graphSeries: GraphSeriesXY): DataFrame {
|
function convertGraphSeriesToDataFrame(graphSeries: GraphSeriesXY): DataFrame {
|
||||||
const x = new ArrayVector();
|
const x = new ArrayVector();
|
||||||
const y = new ArrayVector();
|
const y = new ArrayVector();
|
||||||
|
|
||||||
for (let i = 0; i < graphSeries.data.length; i++) {
|
for (let i = 0; i < graphSeries.data.length; i++) {
|
||||||
const row = graphSeries.data[i];
|
const row = graphSeries.data[i];
|
||||||
x.buffer.push(row[0]);
|
x.buffer.push(row[1]);
|
||||||
y.buffer.push(row[1]);
|
y.buffer.push(row[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -157,6 +157,9 @@ describe('Explore item reducer', () => {
|
|||||||
showingStartPage: true,
|
showingStartPage: true,
|
||||||
queries,
|
queries,
|
||||||
queryKeys,
|
queryKeys,
|
||||||
|
graphResult: null,
|
||||||
|
logsResult: null,
|
||||||
|
tableResult: null,
|
||||||
supportedModes: [ExploreMode.Metrics, ExploreMode.Logs],
|
supportedModes: [ExploreMode.Metrics, ExploreMode.Logs],
|
||||||
mode: ExploreMode.Metrics,
|
mode: ExploreMode.Metrics,
|
||||||
loadingState: LoadingState.NotStarted,
|
loadingState: LoadingState.NotStarted,
|
||||||
|
@ -210,6 +210,9 @@ export const itemReducer = reducerFactory<ExploreItemState>({} as ExploreItemSta
|
|||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
queries: queries.slice(),
|
queries: queries.slice(),
|
||||||
|
graphResult: null,
|
||||||
|
tableResult: null,
|
||||||
|
logsResult: null,
|
||||||
showingStartPage: Boolean(state.StartPage),
|
showingStartPage: Boolean(state.StartPage),
|
||||||
queryKeys: getQueryKeys(queries, state.datasourceInstance),
|
queryKeys: getQueryKeys(queries, state.datasourceInstance),
|
||||||
};
|
};
|
||||||
@ -271,6 +274,9 @@ export const itemReducer = reducerFactory<ExploreItemState>({} as ExploreItemSta
|
|||||||
...state,
|
...state,
|
||||||
datasourceInstance,
|
datasourceInstance,
|
||||||
queryErrors: [],
|
queryErrors: [],
|
||||||
|
graphResult: null,
|
||||||
|
tableResult: null,
|
||||||
|
logsResult: null,
|
||||||
latency: 0,
|
latency: 0,
|
||||||
loadingState: LoadingState.NotStarted,
|
loadingState: LoadingState.NotStarted,
|
||||||
StartPage,
|
StartPage,
|
||||||
|
@ -109,7 +109,7 @@ interface PromQueryFieldProps extends ExploreQueryFieldProps<PrometheusDatasourc
|
|||||||
interface PromQueryFieldState {
|
interface PromQueryFieldState {
|
||||||
metricsOptions: any[];
|
metricsOptions: any[];
|
||||||
syntaxLoaded: boolean;
|
syntaxLoaded: boolean;
|
||||||
hint: QueryHint;
|
hint: QueryHint | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
class PromQueryField extends React.PureComponent<PromQueryFieldProps, PromQueryFieldState> {
|
class PromQueryField extends React.PureComponent<PromQueryFieldProps, PromQueryFieldState> {
|
||||||
@ -154,8 +154,7 @@ class PromQueryField extends React.PureComponent<PromQueryFieldProps, PromQueryF
|
|||||||
|
|
||||||
componentDidUpdate(prevProps: PromQueryFieldProps) {
|
componentDidUpdate(prevProps: PromQueryFieldProps) {
|
||||||
const { queryResponse } = this.props;
|
const { queryResponse } = this.props;
|
||||||
const currentHasSeries = queryResponse && queryResponse.series && queryResponse.series.length > 0 ? true : false;
|
if (prevProps.queryResponse && prevProps.queryResponse.series !== queryResponse.series) {
|
||||||
if (currentHasSeries && prevProps.queryResponse && prevProps.queryResponse.series !== queryResponse.series) {
|
|
||||||
this.refreshHint();
|
this.refreshHint();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -177,7 +176,9 @@ class PromQueryField extends React.PureComponent<PromQueryFieldProps, PromQueryF
|
|||||||
|
|
||||||
refreshHint = () => {
|
refreshHint = () => {
|
||||||
const { datasource, query, queryResponse } = this.props;
|
const { datasource, query, queryResponse } = this.props;
|
||||||
if (!queryResponse || !queryResponse.series || queryResponse.series.length === 0) {
|
|
||||||
|
if (!queryResponse.series || queryResponse.series.length === 0) {
|
||||||
|
this.setState({ hint: null });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user