19142: Remove input dialog action from process context menu
[arvados-workbench2.git] / src / store / details-panel / details-panel-reducer.ts
index f57b9f1c709ba49bb77cb3cc036692bfcf2ad1bd..6c32551cbf6926f9975e4bca40d1728295c54d05 100644 (file)
@@ -2,25 +2,24 @@
 //
 // SPDX-License-Identifier: AGPL-3.0
 
-import actions, { DetailsPanelAction } from "./details-panel-action";
-import { Resource } from "../../models/resource";
+import { detailsPanelActions, DetailsPanelAction } from "./details-panel-action";
 
 export interface DetailsPanelState {
-    item: Resource | null;
+    resourceUuid: string;
     isOpened: boolean;
+    tabNr: number;
 }
 
 const initialState = {
-    item: null,
-    isOpened: false
+    resourceUuid: '',
+    isOpened: false,
+    tabNr: 0
 };
 
-const reducer = (state: DetailsPanelState = initialState, action: DetailsPanelAction) =>
-    actions.match(action, {
+export const detailsPanelReducer = (state: DetailsPanelState = initialState, action: DetailsPanelAction) =>
+    detailsPanelActions.match(action, {
         default: () => state,
-        LOAD_DETAILS: () => state,
-        LOAD_DETAILS_SUCCESS: ({ item }) => ({ ...state, item }),
-        TOGGLE_DETAILS_PANEL: () => ({ ...state, isOpened: !state.isOpened })
+        LOAD_DETAILS_PANEL: resourceUuid => ({ ...state, resourceUuid }),
+        OPEN_DETAILS_PANEL: tabNr => ({ ...state, isOpened: true, tabNr }),
+        TOGGLE_DETAILS_PANEL: () => ({ ...state, isOpened: !state.isOpened }),
     });
-
-export default reducer;