Creation dialog with redux-form validation
[arvados-workbench2.git] / src / store / store.ts
index 7092c1d9e80c9740d22f73f308e21b999ae894f9..956fb46011bf3d2fd95cd98fafc4b8637a476186 100644 (file)
@@ -10,8 +10,10 @@ import { History } from "history";
 import projectsReducer, { ProjectState } from "./project/project-reducer";
 import sidePanelReducer, { SidePanelState } from './side-panel/side-panel-reducer';
 import authReducer, { AuthState } from "./auth/auth-reducer";
-import collectionsReducer from "./collection/collection-reducer";
 import dataExplorerReducer, { DataExplorerState } from './data-explorer/data-explorer-reducer';
+import { projectPanelMiddleware } from '../store/project-panel/project-panel-middleware';
+import detailsPanelReducer, { DetailsPanelState } from './details-panel/details-panel-reducer';
+import { reducer as formReducer } from 'redux-form';
 
 const composeEnhancers =
     (process.env.NODE_ENV === 'development' &&
@@ -24,22 +26,25 @@ export interface RootState {
     router: RouterState;
     dataExplorer: DataExplorerState;
     sidePanel: SidePanelState;
+    detailsPanel: DetailsPanelState;
 }
 
 const rootReducer = combineReducers({
     auth: authReducer,
     projects: projectsReducer,
-    collections: collectionsReducer,
     router: routerReducer,
     dataExplorer: dataExplorerReducer,
-    sidePanel: sidePanelReducer
+    sidePanel: sidePanelReducer,
+    detailsPanel: detailsPanelReducer,
+    form: formReducer
 });
 
 
 export default function configureStore(history: History) {
     const middlewares: Middleware[] = [
         routerMiddleware(history),
-        thunkMiddleware
+        thunkMiddleware,
+        projectPanelMiddleware
     ];
     const enhancer = composeEnhancers(applyMiddleware(...middlewares));
     return createStore(rootReducer, enhancer);