redirect from empty routing to root project and display list
[arvados-workbench2.git] / src / store / context-menu / context-menu-reducer.ts
index 147f094336526106182c294426597c6a385d2230..ac14c35534dba5b5fd0576ec0f10bac47631b7d8 100644 (file)
@@ -2,10 +2,10 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import { ResourceKind } from "../../models/resource";
-import actions, { ContextMenuAction } from "./context-menu-actions";
+import { contextMenuActions, ContextMenuAction } from "./context-menu-actions";
 
 export interface ContextMenuState {
+    open: boolean;
     position: ContextMenuPosition;
     resource?: ContextMenuResource;
 }
@@ -18,17 +18,19 @@ export interface ContextMenuPosition {
 export interface ContextMenuResource {
     uuid: string;
     kind: string;
+    name: string;
+    description?: string;
 }
 
 const initialState = {
+    open: false,
     position: { x: 0, y: 0 }
 };
 
-const reducer = (state: ContextMenuState = initialState, action: ContextMenuAction) =>
-    actions.match(action, {
+export const contextMenuReducer = (state: ContextMenuState = initialState, action: ContextMenuAction) =>
+    contextMenuActions.match(action, {
         default: () => state,
-        OPEN_CONTEXT_MENU: ({resource, position}) => ({ resource, position }),
-        CLOSE_CONTEXT_MENU: () => ({ position: state.position })
+        OPEN_CONTEXT_MENU: ({ resource, position }) => ({ open: true, resource, position }),
+        CLOSE_CONTEXT_MENU: () => ({ ...state, open: false })
     });
 
-export default reducer;