refs #master Merge branch 'origin/master' into 13828-trash-view
[arvados-workbench2.git] / src / store / tree-picker / tree-picker.ts
index e19ce3a7a48c0d162c1fb462c00ddb26d8b30c57..259a4b8d53de78e1b7d9992ae85b4d69d5fe40ca 100644 (file)
@@ -5,19 +5,21 @@
 import { Tree } from "~/models/tree";
 import { TreeItemStatus } from "~/components/tree/tree";
 
-export type TreePicker = Tree<TreePickerNode>;
+export type TreePicker = { [key: string]: Tree<TreePickerNode> };
 
-export interface TreePickerNode {
-    id: string;
-    value: any;
+export interface TreePickerNode<Value = any> {
+    nodeId: string;
+    value: Value;
     selected: boolean;
     collapsed: boolean;
     status: TreeItemStatus;
 }
 
-export const createTreePickerNode = (data: {id: string, value: any}) => ({
+export const createTreePickerNode = (data: { nodeId: string, value: any }) => ({
     ...data,
     selected: false,
     collapsed: true,
     status: TreeItemStatus.INITIAL
 });
+
+export const getTreePicker = <Value = {}>(id: string) => (state: TreePicker): Tree<TreePickerNode<Value>> | undefined => state[id];
\ No newline at end of file