Add trash view
[arvados-workbench2.git] / src / store / store.ts
index aeb6a09cd388af3e559a41142590adcfc31234c1..febaf933d0e099763be33a25cfc75299536c4ce5 100644 (file)
@@ -26,7 +26,11 @@ import { FavoritePanelMiddlewareService } from "./favorite-panel/favorite-panel-
 import { CollectionPanelState, collectionPanelReducer } from './collection-panel/collection-panel-reducer';
 import { DialogState, dialogReducer } from './dialog/dialog-reducer';
 import { CollectionsState, collectionsReducer } from './collections/collections-reducer';
-import { ServiceRepository } from "../services/services";
+import { ServiceRepository } from "~/services/services";
+import { treePickerReducer } from './tree-picker/tree-picker-reducer';
+import { TreePicker } from './tree-picker/tree-picker';
+import { TrashPanelMiddlewareService } from "~/store/trash-panel/trash-panel-middleware-service";
+import { TRASH_PANEL_ID } from "~/store/trash-panel/trash-panel-action";
 
 const composeEnhancers =
     (process.env.NODE_ENV === 'development' &&
@@ -47,6 +51,7 @@ export interface RootState {
     snackbar: SnackbarState;
     collectionPanelFiles: CollectionPanelFilesState;
     dialog: DialogState;
+    treePicker: TreePicker;
 }
 
 export type RootStore = Store<RootState, Action> & { dispatch: Dispatch<any> };
@@ -66,7 +71,8 @@ export function configureStore(history: History, services: ServiceRepository): R
         favorites: favoritesReducer,
         snackbar: snackbarReducer,
         collectionPanelFiles: collectionPanelFilesReducer,
-        dialog: dialogReducer
+        dialog: dialogReducer,
+        treePicker: treePickerReducer,
     });
 
     const projectPanelMiddleware = dataExplorerMiddleware(
@@ -75,12 +81,16 @@ export function configureStore(history: History, services: ServiceRepository): R
     const favoritePanelMiddleware = dataExplorerMiddleware(
         new FavoritePanelMiddlewareService(services, FAVORITE_PANEL_ID)
     );
+    const trashPanelMiddleware = dataExplorerMiddleware(
+        new TrashPanelMiddlewareService(services, TRASH_PANEL_ID)
+    );
 
     const middlewares: Middleware[] = [
         routerMiddleware(history),
         thunkMiddleware.withExtraArgument(services),
         projectPanelMiddleware,
-        favoritePanelMiddleware
+        favoritePanelMiddleware,
+        trashPanelMiddleware
     ];
     const enhancer = composeEnhancers(applyMiddleware(...middlewares));
     return createStore(rootReducer, enhancer);