fix tab switching

This commit is contained in:
Torkel Ödegaard 2018-10-10 09:26:17 +02:00
parent 565edc1ed3
commit ee1d4ce0e2
3 changed files with 11 additions and 2 deletions

View File

@ -1,6 +1,7 @@
import { Action } from 'app/core/actions/location';
import { LocationState } from 'app/types';
import { renderUrl } from 'app/core/utils/url';
import _ from 'lodash';
export const initialState: LocationState = {
url: '',
@ -12,11 +13,17 @@ export const initialState: LocationState = {
export const locationReducer = (state = initialState, action: Action): LocationState => {
switch (action.type) {
case 'UPDATE_LOCATION': {
const { path, query, routeParams } = action.payload;
const { path, routeParams } = action.payload;
let query = action.payload.query || state.query;
if (action.payload.partial) {
query = _.defaults(query, state.query);
}
return {
url: renderUrl(path || state.path, query),
path: path || state.path,
query: query || state.query,
query: query,
routeParams: routeParams || state.routeParams,
};
}

View File

@ -67,6 +67,7 @@ export class PanelEditor extends React.Component<PanelEditorProps, any> {
store.dispatch(
updateLocation({
query: { tab: tab.id },
partial: true,
})
);
};

View File

@ -2,6 +2,7 @@ export interface LocationUpdate {
path?: string;
query?: UrlQueryMap;
routeParams?: UrlQueryMap;
partial?: boolean;
}
export interface LocationState {