Merge branch '14313-basic-view-recent-queries'
[arvados-workbench2.git] / src / store / dialog / dialog-reducer.ts
index 34d38fdf4ea6e2d39dc28814a2f2a1dcee5e9733..48f8ee8a1e6caac149fb07b8c94a10a46a3f2377 100644 (file)
@@ -4,11 +4,11 @@
 
 import { DialogAction, dialogActions } from "./dialog-actions";
 
-export type DialogState = Record<string, Dialog>;
+export type DialogState = Record<string, Dialog<any>>;
 
-export interface Dialog {
+export interface Dialog <T> {
     open: boolean;
-    data: any;
+    data: T;
 }
 
 export const dialogReducer = (state: DialogState = {}, action: DialogAction) =>
@@ -20,3 +20,5 @@ export const dialogReducer = (state: DialogState = {}, action: DialogAction) =>
         default: () => state,
     });
 
+export const getDialog = <T>(state: DialogState, id: string) => 
+    state[id] ? state[id] as Dialog<T> : undefined;