mirror of
https://github.com/Telecominfraproject/wlan-cloud-ui.git
synced 2025-10-29 18:02:36 +00:00
46 lines
993 B
JavaScript
46 lines
993 B
JavaScript
/**
|
|
* Combine all reducers in this file and export the combined reducers.
|
|
*/
|
|
|
|
import { combineReducers } from 'redux-immutable';
|
|
import { fromJS } from 'immutable';
|
|
import { LOCATION_CHANGE } from 'react-router-redux';
|
|
|
|
/*
|
|
* routeReducer
|
|
*
|
|
* The reducer merges route location changes into our immutable state.
|
|
* The change is necessitated by moving to react-router-redux@4
|
|
*
|
|
*/
|
|
|
|
// Initial routing state
|
|
const routeInitialState = fromJS({
|
|
location: null,
|
|
});
|
|
|
|
/**
|
|
* Merge route into the global application state
|
|
*/
|
|
function routeReducer(state = routeInitialState, action) {
|
|
switch (action.type) {
|
|
/* istanbul ignore next */
|
|
case LOCATION_CHANGE:
|
|
return state.merge({
|
|
location: action.payload,
|
|
});
|
|
default:
|
|
return state;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Creates the main reducer with the dynamically injected ones
|
|
*/
|
|
export default function createReducer(injectedReducers) {
|
|
return combineReducers({
|
|
route: routeReducer,
|
|
...injectedReducers,
|
|
});
|
|
}
|