mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Fixed reinitialise of Explore
This commit is contained in:
@@ -1,13 +1,17 @@
|
||||
import { LocationUpdate } from 'app/types';
|
||||
|
||||
export enum CoreActionTypes {
|
||||
UpdateLocation = 'UPDATE_LOCATION',
|
||||
}
|
||||
|
||||
export type Action = UpdateLocationAction;
|
||||
|
||||
export interface UpdateLocationAction {
|
||||
type: 'UPDATE_LOCATION';
|
||||
type: CoreActionTypes.UpdateLocation;
|
||||
payload: LocationUpdate;
|
||||
}
|
||||
|
||||
export const updateLocation = (location: LocationUpdate): UpdateLocationAction => ({
|
||||
type: 'UPDATE_LOCATION',
|
||||
type: CoreActionTypes.UpdateLocation,
|
||||
payload: location,
|
||||
});
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Action } from 'app/core/actions/location';
|
||||
import { Action, CoreActionTypes } from 'app/core/actions/location';
|
||||
import { LocationState } from 'app/types';
|
||||
import { renderUrl } from 'app/core/utils/url';
|
||||
import _ from 'lodash';
|
||||
@@ -12,7 +12,7 @@ export const initialState: LocationState = {
|
||||
|
||||
export const locationReducer = (state = initialState, action: Action): LocationState => {
|
||||
switch (action.type) {
|
||||
case 'UPDATE_LOCATION': {
|
||||
case CoreActionTypes.UpdateLocation: {
|
||||
const { path, routeParams } = action.payload;
|
||||
let query = action.payload.query || state.query;
|
||||
|
||||
@@ -24,9 +24,7 @@ export const locationReducer = (state = initialState, action: Action): LocationS
|
||||
return {
|
||||
url: renderUrl(path || state.path, query),
|
||||
path: path || state.path,
|
||||
query: {
|
||||
...query,
|
||||
},
|
||||
query: { ...query },
|
||||
routeParams: routeParams || state.routeParams,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Types
|
||||
import { Emitter } from 'app/core/core';
|
||||
import { RawTimeRange, TimeRange, DataQuery, DataSourceSelectItem } from '@grafana/ui/src/types';
|
||||
import { RawTimeRange, TimeRange, DataQuery, DataSourceSelectItem } from '@grafana/ui/src/types';
|
||||
import {
|
||||
ExploreId,
|
||||
ExploreItemState,
|
||||
@@ -9,6 +9,7 @@ import {
|
||||
ResultType,
|
||||
QueryTransaction,
|
||||
} from 'app/types/explore';
|
||||
import { UpdateLocationAction } from 'app/core/actions/location';
|
||||
|
||||
export enum ActionTypes {
|
||||
AddQueryRow = 'explore/ADD_QUERY_ROW',
|
||||
@@ -297,4 +298,5 @@ export type Action =
|
||||
| SplitOpenAction
|
||||
| ToggleGraphAction
|
||||
| ToggleLogsAction
|
||||
| ToggleTableAction;
|
||||
| ToggleTableAction
|
||||
| UpdateLocationAction;
|
||||
|
||||
@@ -8,6 +8,7 @@ import { ExploreItemState, ExploreState, QueryTransaction } from 'app/types/expl
|
||||
import { DataQuery } from '@grafana/ui/src/types';
|
||||
|
||||
import { Action, ActionTypes } from './actionTypes';
|
||||
import { CoreActionTypes } from 'app/core/actions/location';
|
||||
|
||||
export const DEFAULT_RANGE = {
|
||||
from: 'now-6h',
|
||||
@@ -428,25 +429,23 @@ export const itemReducer = (state, action: Action): ExploreItemState => {
|
||||
export const exploreReducer = (state = initialExploreState, action: Action): ExploreState => {
|
||||
switch (action.type) {
|
||||
case ActionTypes.SplitClose: {
|
||||
return {
|
||||
...state,
|
||||
split: false,
|
||||
};
|
||||
return { ...state, split: false };
|
||||
}
|
||||
|
||||
case ActionTypes.SplitOpen: {
|
||||
return {
|
||||
...state,
|
||||
split: true,
|
||||
right: action.payload.itemState,
|
||||
};
|
||||
return { ...state, split: true, right: action.payload.itemState };
|
||||
}
|
||||
|
||||
case ActionTypes.InitializeExploreSplit: {
|
||||
return {
|
||||
...state,
|
||||
split: true,
|
||||
};
|
||||
return { ...state, split: true };
|
||||
}
|
||||
|
||||
case CoreActionTypes.UpdateLocation: {
|
||||
if (action.payload.path && action.payload.path !== '/explore') {
|
||||
return initialExploreState;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user