Moved nested modules back out of workspaces

This commit is contained in:
Gregory Schier
2016-04-24 21:01:36 -07:00
parent dcf9253eb5
commit 775a623c80
3 changed files with 21 additions and 42 deletions

View File

@@ -25,8 +25,7 @@ class App extends Component {
}
render () {
const {actions, modals, workspaces} = this.props;
const {requests, requestGroups, responses} = workspaces;
const {actions, modals, workspaces, requestGroups, requests, responses} = this.props;
const activeRequest = requests.active;
const activeResponse = activeRequest ? responses[activeRequest._id] : undefined;
@@ -95,15 +94,15 @@ App.propTypes = {
})
}).isRequired,
workspaces: PropTypes.shape({
active: PropTypes.object,
responses: PropTypes.object.isRequired,
requestGroups: PropTypes.shape({
all: PropTypes.array.isRequired
}).isRequired,
requests: PropTypes.shape({
all: PropTypes.array.isRequired,
active: PropTypes.object
}).isRequired
active: PropTypes.object
}).isRequired,
responses: PropTypes.object.isRequired,
requestGroups: PropTypes.shape({
all: PropTypes.array.isRequired
}).isRequired,
requests: PropTypes.shape({
all: PropTypes.array.isRequired,
active: PropTypes.object
}).isRequired,
modals: PropTypes.array.isRequired
};
@@ -112,6 +111,9 @@ function mapStateToProps (state) {
return {
actions: state.actions,
workspaces: state.workspaces,
requestGroups: state.requestGroups,
requests: state.requests,
responses: state.responses,
modals: state.modals
};
}

View File

@@ -1,9 +1,5 @@
import {combineReducers} from 'redux'
import responsesReducer from './responses'
import requestsReducer from './requests'
import requestGroupsReducer from './requestGroups'
export const WORKSPACE_UPDATE = 'workspaces/update';
export const WORKSPACE_DELETE = 'workspaces/delete';
@@ -55,36 +51,11 @@ function activeReducer (state = null, action) {
}
}
const workspaceReducer = combineReducers({
export default combineReducers({
all: allReducer,
active: activeReducer,
// Nested resources
responses: responsesReducer,
requests: requestsReducer,
requestGroups: requestGroupsReducer
active: activeReducer
});
export default function (state = {}, action) {
// Call the reducer manually, so we can check if the active workspace has changed
let newState = workspaceReducer(state, action);
const oldActiveId = state.active && state.active._id;
const newActiveId = newState.active && newState.active._id;
const activeWorkspaceChanged = oldActiveId !== newActiveId;
// Clear all of these things if the workspace has changed
if (activeWorkspaceChanged) {
newState = Object.assign({}, newState, {
responses: responsesReducer(undefined, action),
requests: requestsReducer(undefined, action),
requestGroups: requestGroupsReducer(undefined, action)
})
}
return newState;
}
// ~~~~~~~ //
// ACTIONS //

View File

@@ -1,12 +1,18 @@
import {combineReducers} from 'redux'
import workspaces from './modules/workspaces'
import requestGroups from './modules/requestGroups'
import requests from './modules/requests'
import responses from './modules/responses'
import global from './modules/global'
import modals from './modules/modals'
import entities from './modules/entities'
export default combineReducers({
workspaces,
responses,
requests,
requestGroups,
modals,
global,
entities