[ARVADOS-WORKBENCH2] updated: 1.1.4-636-ge6ce4ac

Git user git at public.curoverse.com
Mon Aug 20 05:17:01 EDT 2018


Summary of changes:
 src/store/tree-picker/tree-picker-actions.ts       |  8 +--
 src/store/tree-picker/tree-picker-reducer.test.ts  | 60 ++++++++++----------
 src/store/tree-picker/tree-picker-reducer.ts       | 45 +++++++--------
 src/store/tree-picker/tree-picker.ts               |  4 +-
 .../project-tree-picker/project-tree-picker.tsx    | 66 +++++++++++-----------
 src/views-components/tree-picker/tree-picker.ts    | 18 +++---
 6 files changed, 97 insertions(+), 104 deletions(-)

       via  e6ce4acd9ac2ed0d93e5aafe8df8fb1e16ee956d (commit)
      from  37421f3062f84e7a5ce81606eab758a43b987b27 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit e6ce4acd9ac2ed0d93e5aafe8df8fb1e16ee956d
Author: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>
Date:   Mon Aug 20 11:16:51 2018 +0200

    cr-changes
    
    Feature #13902
    
    Arvados-DCO-1.1-Signed-off-by: Pawel Kowalczyk <pawel.kowalczyk at contractors.roche.com>

diff --git a/src/store/tree-picker/tree-picker-actions.ts b/src/store/tree-picker/tree-picker-actions.ts
index f3c3581..e1e8d5c 100644
--- a/src/store/tree-picker/tree-picker-actions.ts
+++ b/src/store/tree-picker/tree-picker-actions.ts
@@ -7,10 +7,10 @@ import { default as unionize, ofType, UnionOf } from "unionize";
 import { TreePickerNode } from "./tree-picker";
 
 export const treePickerActions = unionize({
-    LOAD_TREE_PICKER_NODE: ofType<{ id: string, pickerKind: string }>(),
-    LOAD_TREE_PICKER_NODE_SUCCESS: ofType<{ id: string, nodes: Array<TreePickerNode>, pickerKind: string }>(),
-    TOGGLE_TREE_PICKER_NODE_COLLAPSE: ofType<{ id: string, pickerKind: string }>(),
-    TOGGLE_TREE_PICKER_NODE_SELECT: ofType<{ id: string, pickerKind: string }>()
+    LOAD_TREE_PICKER_NODE: ofType<{ nodeId: string, pickerId: string }>(),
+    LOAD_TREE_PICKER_NODE_SUCCESS: ofType<{ nodeId: string, nodes: Array<TreePickerNode>, pickerId: string }>(),
+    TOGGLE_TREE_PICKER_NODE_COLLAPSE: ofType<{ nodeId: string, pickerId: string }>(),
+    TOGGLE_TREE_PICKER_NODE_SELECT: ofType<{ nodeId: string, pickerId: string }>()
 }, {
         tag: 'type',
         value: 'payload'
diff --git a/src/store/tree-picker/tree-picker-reducer.test.ts b/src/store/tree-picker/tree-picker-reducer.test.ts
index 62367d5..946d9cf 100644
--- a/src/store/tree-picker/tree-picker-reducer.test.ts
+++ b/src/store/tree-picker/tree-picker-reducer.test.ts
@@ -11,95 +11,95 @@ import { TreeItemStatus } from "~/components/tree/tree";
 describe('TreePickerReducer', () => {
     it('LOAD_TREE_PICKER_NODE - initial state', () => {
         const tree = createTree<TreePickerNode>();
-        const newState = treePickerReducer({}, treePickerActions.LOAD_TREE_PICKER_NODE({ id: '1', pickerKind: "projects" }));
+        const newState = treePickerReducer({}, treePickerActions.LOAD_TREE_PICKER_NODE({ nodeId: '1', pickerId: "projects" }));
         expect(newState).toEqual({ 'projects': tree });
     });
 
     it('LOAD_TREE_PICKER_NODE', () => {
-        const node = createTreePickerNode({ id: '1', value: '1' });
+        const node = createTreePickerNode({ nodeId: '1', value: '1' });
         const [newState] = [{
             projects: createTree<TreePickerNode>()
         }]
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '', nodes: [node], pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE({ id: '1', pickerKind: "projects" })));
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '', nodes: [node], pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE({ nodeId: '1', pickerId: "projects" })));
 
         expect(getNodeValue('1')(newState.projects)).toEqual({
-            ...createTreePickerNode({ id: '1', value: '1' }),
+            ...createTreePickerNode({ nodeId: '1', value: '1' }),
             status: TreeItemStatus.PENDING
         });
     });
 
     it('LOAD_TREE_PICKER_NODE_SUCCESS - initial state', () => {
-        const subNode = createTreePickerNode({ id: '1.1', value: '1.1' });
-        const newState = treePickerReducer({}, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '', nodes: [subNode], pickerKind: "projects" }));
+        const subNode = createTreePickerNode({ nodeId: '1.1', value: '1.1' });
+        const newState = treePickerReducer({}, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '', nodes: [subNode], pickerId: "projects" }));
         expect(getNodeChildren('')(newState.projects)).toEqual(['1.1']);
     });
 
     it('LOAD_TREE_PICKER_NODE_SUCCESS', () => {
-        const node = createTreePickerNode({ id: '1', value: '1' });
-        const subNode = createTreePickerNode({ id: '1.1', value: '1.1' });
+        const node = createTreePickerNode({ nodeId: '1', value: '1' });
+        const subNode = createTreePickerNode({ nodeId: '1.1', value: '1.1' });
         const [newState] = [{
             projects: createTree<TreePickerNode>()
         }]
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '', nodes: [node], pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '1', nodes: [subNode], pickerKind: "projects" })));
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '', nodes: [node], pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '1', nodes: [subNode], pickerId: "projects" })));
         expect(getNodeChildren('1')(newState.projects)).toEqual(['1.1']);
         expect(getNodeValue('1')(newState.projects)).toEqual({
-            ...createTreePickerNode({ id: '1', value: '1' }),
+            ...createTreePickerNode({ nodeId: '1', value: '1' }),
             status: TreeItemStatus.LOADED
         });
     });
 
     it('TOGGLE_TREE_PICKER_NODE_COLLAPSE - collapsed', () => {
-        const node = createTreePickerNode({ id: '1', value: '1' });
+        const node = createTreePickerNode({ nodeId: '1', value: '1' });
         const [newState] = [{
             projects: createTree<TreePickerNode>()
         }]
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '', nodes: [node], pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id: '1', pickerKind: "projects" })));
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '', nodes: [node], pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ nodeId: '1', pickerId: "projects" })));
         expect(getNodeValue('1')(newState.projects)).toEqual({
-            ...createTreePickerNode({ id: '1', value: '1' }),
+            ...createTreePickerNode({ nodeId: '1', value: '1' }),
             collapsed: false
         });
     });
 
     it('TOGGLE_TREE_PICKER_NODE_COLLAPSE - expanded', () => {
-        const node = createTreePickerNode({ id: '1', value: '1' });
+        const node = createTreePickerNode({ nodeId: '1', value: '1' });
         const [newState] = [{
             projects: createTree<TreePickerNode>()
         }]
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '', nodes: [node], pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id: '1', pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id: '1', pickerKind: "projects" })));
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '', nodes: [node], pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ nodeId: '1', pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ nodeId: '1', pickerId: "projects" })));
         expect(getNodeValue('1')(newState.projects)).toEqual({
-            ...createTreePickerNode({ id: '1', value: '1' }),
+            ...createTreePickerNode({ nodeId: '1', value: '1' }),
             collapsed: true
         });
     });
 
     it('TOGGLE_TREE_PICKER_NODE_SELECT - selected', () => {
-        const node = createTreePickerNode({ id: '1', value: '1' });
+        const node = createTreePickerNode({ nodeId: '1', value: '1' });
         const [newState] = [{
             projects: createTree<TreePickerNode>()
         }]
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '', nodes: [node], pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ id: '1', pickerKind: "projects" })));
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '', nodes: [node], pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId: '1', pickerId: "projects" })));
         expect(getNodeValue('1')(newState.projects)).toEqual({
-            ...createTreePickerNode({ id: '1', value: '1' }),
+            ...createTreePickerNode({ nodeId: '1', value: '1' }),
             selected: true
         });
     });
 
     it('TOGGLE_TREE_PICKER_NODE_SELECT - not selected', () => {
-        const node = createTreePickerNode({ id: '1', value: '1' });
+        const node = createTreePickerNode({ nodeId: '1', value: '1' });
         const [newState] = [{
             projects: createTree<TreePickerNode>()
         }]
-            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ id: '', nodes: [node], pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ id: '1', pickerKind: "projects" })))
-            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ id: '1', pickerKind: "projects" })));
+            .map(state => treePickerReducer(state, treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({ nodeId: '', nodes: [node], pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId: '1', pickerId: "projects" })))
+            .map(state => treePickerReducer(state, treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId: '1', pickerId: "projects" })));
         expect(getNodeValue('1')(newState.projects)).toEqual({
-            ...createTreePickerNode({ id: '1', value: '1' }),
+            ...createTreePickerNode({ nodeId: '1', value: '1' }),
             selected: false
         });
     });
diff --git a/src/store/tree-picker/tree-picker-reducer.ts b/src/store/tree-picker/tree-picker-reducer.ts
index a2d7ef1..6a87fb4 100644
--- a/src/store/tree-picker/tree-picker-reducer.ts
+++ b/src/store/tree-picker/tree-picker-reducer.ts
@@ -6,34 +6,27 @@ import { createTree, setNodeValueWith, TreeNode, setNode, mapTreeValues, Tree }
 import { TreePicker, TreePickerNode } from "./tree-picker";
 import { treePickerActions, TreePickerAction } from "./tree-picker-actions";
 import { TreeItemStatus } from "~/components/tree/tree";
+import { compose } from "redux";
 
 export const treePickerReducer = (state: TreePicker = {}, action: TreePickerAction) =>
     treePickerActions.match(action, {
-        LOAD_TREE_PICKER_NODE: ({ id, pickerKind }) => {
-            const picker = state[pickerKind] || createTree();
-            const updatedPicker = setNodeValueWith(setPending)(id)(picker);
-            return { ...state, [pickerKind]: updatedPicker };
-        },
-        LOAD_TREE_PICKER_NODE_SUCCESS: ({ id, nodes, pickerKind }) => {
-            const picker = state[pickerKind] || createTree();
-            const [updatedPicker] = [picker]
-                .map(receiveNodes(nodes)(id))
-                .map(setNodeValueWith(setLoaded)(id));
-            return { ...state, [pickerKind]: updatedPicker };
-        },
-        TOGGLE_TREE_PICKER_NODE_COLLAPSE: ({ id, pickerKind }) => {
-            const picker = state[pickerKind] || createTree();
-            const updatedPicker = setNodeValueWith(toggleCollapse)(id)(picker);
-            return { ...state, [pickerKind]: updatedPicker };
-        },
-        TOGGLE_TREE_PICKER_NODE_SELECT: ({ id, pickerKind }) => {
-            const picker = state[pickerKind] || createTree();
-            const updatedPicker = mapTreeValues(toggleSelect(id))(picker);
-            return { ...state, [pickerKind]: updatedPicker };
-        },
+        LOAD_TREE_PICKER_NODE: ({ nodeId, pickerId }) =>
+            updateOrCreatePicker(state, pickerId, setNodeValueWith(setPending)(nodeId)),
+        LOAD_TREE_PICKER_NODE_SUCCESS: ({ nodeId, nodes, pickerId }) => 
+            updateOrCreatePicker(state, pickerId, compose(receiveNodes(nodes)(nodeId),setNodeValueWith(setLoaded)(nodeId))),
+        TOGGLE_TREE_PICKER_NODE_COLLAPSE: ({ nodeId, pickerId }) => 
+            updateOrCreatePicker(state, pickerId, setNodeValueWith(toggleCollapse)(nodeId)),
+        TOGGLE_TREE_PICKER_NODE_SELECT: ({ nodeId, pickerId }) => 
+            updateOrCreatePicker(state, pickerId, mapTreeValues(toggleSelect(nodeId))),
         default: () => state
     });
 
+const updateOrCreatePicker = (state: TreePicker, pickerId: string, func: (value: Tree<TreePickerNode>) => Tree<TreePickerNode>) => {
+    const picker = state[pickerId] || createTree();
+    const updatedPicker = func(picker);
+    return { ...state, [pickerId]: updatedPicker };
+};
+
 const setPending = (value: TreePickerNode): TreePickerNode =>
     ({ ...value, status: TreeItemStatus.PENDING });
 
@@ -43,20 +36,20 @@ const setLoaded = (value: TreePickerNode): TreePickerNode =>
 const toggleCollapse = (value: TreePickerNode): TreePickerNode =>
     ({ ...value, collapsed: !value.collapsed });
 
-const toggleSelect = (id: string) => (value: TreePickerNode): TreePickerNode =>
-    value.id === id
+const toggleSelect = (nodeId: string) => (value: TreePickerNode): TreePickerNode =>
+    value.nodeId === nodeId
         ? ({ ...value, selected: !value.selected })
         : ({ ...value, selected: false });
 
 const receiveNodes = (nodes: Array<TreePickerNode>) => (parent: string) => (state: Tree<TreePickerNode>) =>
-    nodes.reduce((tree, node) => 
+    nodes.reduce((tree, node) =>
         setNode(
             createTreeNode(parent)(node)
         )(tree), state);
 
 const createTreeNode = (parent: string) => (node: TreePickerNode): TreeNode<TreePickerNode> => ({
     children: [],
-    id: node.id,
+    id: node.nodeId,
     parent,
     value: node
 });
diff --git a/src/store/tree-picker/tree-picker.ts b/src/store/tree-picker/tree-picker.ts
index 5029cbe..c815ad4 100644
--- a/src/store/tree-picker/tree-picker.ts
+++ b/src/store/tree-picker/tree-picker.ts
@@ -8,14 +8,14 @@ import { TreeItemStatus } from "~/components/tree/tree";
 export type TreePicker = { [key: string]: Tree<TreePickerNode> };
 
 export interface TreePickerNode {
-    id: string;
+    nodeId: string;
     value: any;
     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,
diff --git a/src/views-components/project-tree-picker/project-tree-picker.tsx b/src/views-components/project-tree-picker/project-tree-picker.tsx
index ddf6843..a2b5acc 100644
--- a/src/views-components/project-tree-picker/project-tree-picker.tsx
+++ b/src/views-components/project-tree-picker/project-tree-picker.tsx
@@ -21,35 +21,35 @@ import { mockProjectResource } from "~/models/test-utils";
 type ProjectTreePickerProps = Pick<TreePickerProps, 'toggleItemActive' | 'toggleItemOpen'>;
 
 const mapDispatchToProps = (dispatch: Dispatch, props: { onChange: (projectUuid: string) => void }): ProjectTreePickerProps => ({
-    toggleItemActive: (id, status, pickerKind) => {
-        getNotSelectedTreePickerKind(pickerKind)
-            .forEach(pickerKind => dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ id: '', pickerKind })));
-        dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ id, pickerKind }));
+    toggleItemActive: (nodeId, status, pickerId) => {
+        getNotSelectedTreePickerKind(pickerId)
+            .forEach(pickerId => dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId: '', pickerId })));
+        dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_SELECT({ nodeId, pickerId }));
 
-        props.onChange(id);
+        props.onChange(nodeId);
     },
-    toggleItemOpen: (id, status, pickerKind) => {
-        dispatch<any>(toggleItemOpen(id, status, pickerKind));
+    toggleItemOpen: (nodeId, status, pickerId) => {
+        dispatch<any>(toggleItemOpen(nodeId, status, pickerId));
     }
 });
 
-const toggleItemOpen = (id: string, status: TreeItemStatus, pickerKind: string) =>
+const toggleItemOpen = (nodeId: string, status: TreeItemStatus, pickerId: string) =>
     (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
         if (status === TreeItemStatus.INITIAL) {
-            if (pickerKind === TreePickerKind.PROJECTS) {
-                dispatch<any>(loadProjectTreePickerProjects(id));
-            } else if (pickerKind === TreePickerKind.FAVORITES) {
-                dispatch<any>(loadFavoriteTreePickerProjects(id === services.authService.getUuid() ? '' : id));
+            if (pickerId === TreePickerKind.PROJECTS) {
+                dispatch<any>(loadProjectTreePickerProjects(nodeId));
+            } else if (pickerId === TreePickerKind.FAVORITES) {
+                dispatch<any>(loadFavoriteTreePickerProjects(nodeId === services.authService.getUuid() ? '' : nodeId));
             } else {
                 // TODO: load sharedWithMe
             }
         } else {
-            dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id, pickerKind }));
+            dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ nodeId, pickerId }));
         }
     };
 
-const getNotSelectedTreePickerKind = (pickerKind: string) => {
-    return [TreePickerKind.PROJECTS, TreePickerKind.FAVORITES, TreePickerKind.SHARED_WITH_ME].filter(id => id !== pickerKind);
+const getNotSelectedTreePickerKind = (pickerId: string) => {
+    return [TreePickerKind.PROJECTS, TreePickerKind.FAVORITES, TreePickerKind.SHARED_WITH_ME].filter(nodeId => nodeId !== pickerId);
 };
 
 export enum TreePickerKind {
@@ -64,19 +64,19 @@ export const ProjectTreePicker = connect(undefined, mapDispatchToProps)((props:
             Select a project
         </Typography>
         <div style={{ flexGrow: 1, overflow: 'auto' }}>
-            <TreePicker {...props} render={renderTreeItem} pickerKind={TreePickerKind.PROJECTS} />
-            <TreePicker {...props} render={renderTreeItem} pickerKind={TreePickerKind.SHARED_WITH_ME} />
-            <TreePicker {...props} render={renderTreeItem} pickerKind={TreePickerKind.FAVORITES} />
+            <TreePicker {...props} render={renderTreeItem} pickerId={TreePickerKind.PROJECTS} />
+            <TreePicker {...props} render={renderTreeItem} pickerId={TreePickerKind.SHARED_WITH_ME} />
+            <TreePicker {...props} render={renderTreeItem} pickerId={TreePickerKind.FAVORITES} />
         </div>
     </div>);
 
 
 // TODO: move action creator to store directory
-export const loadProjectTreePickerProjects = (id: string) =>
+export const loadProjectTreePickerProjects = (nodeId: string) =>
     async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
-        dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ id, pickerKind: TreePickerKind.PROJECTS }));
+        dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ nodeId, pickerId: TreePickerKind.PROJECTS }));
 
-        const ownerUuid = id.length === 0 ? services.authService.getUuid() || '' : id;
+        const ownerUuid = nodeId.length === 0 ? services.authService.getUuid() || '' : nodeId;
 
         const filters = new FilterBuilder()
             .addEqual('ownerUuid', ownerUuid)
@@ -84,27 +84,27 @@ export const loadProjectTreePickerProjects = (id: string) =>
 
         const { items } = await services.projectService.list({ filters });
 
-        dispatch<any>(receiveTreePickerData(id, items, TreePickerKind.PROJECTS));
+        dispatch<any>(receiveTreePickerData(nodeId, items, TreePickerKind.PROJECTS));
     };
 
-export const loadFavoriteTreePickerProjects = (id: string) =>
+export const loadFavoriteTreePickerProjects = (nodeId: string) =>
     async (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
         const parentId = services.authService.getUuid() || '';
 
-        if (id === '') {
-            dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ id: parentId, pickerKind: TreePickerKind.FAVORITES }));
+        if (nodeId === '') {
+            dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ nodeId: parentId, pickerId: TreePickerKind.FAVORITES }));
             const { items } = await services.favoriteService.list(parentId);
 
             dispatch<any>(receiveTreePickerData(parentId, items as ProjectResource[], TreePickerKind.FAVORITES));
         } else {
-            dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ id, pickerKind: TreePickerKind.FAVORITES }));
+            dispatch(treePickerActions.LOAD_TREE_PICKER_NODE({ nodeId, pickerId: TreePickerKind.FAVORITES }));
             const filters = new FilterBuilder()
-                .addEqual('ownerUuid', id)
+                .addEqual('ownerUuid', nodeId)
                 .getFilters();
 
             const { items } = await services.projectService.list({ filters });
 
-            dispatch<any>(receiveTreePickerData(id, items, TreePickerKind.FAVORITES));
+            dispatch<any>(receiveTreePickerData(nodeId, items, TreePickerKind.FAVORITES));
         }
 
     };
@@ -131,15 +131,15 @@ const renderTreeItem = (item: TreeItem<ProjectResource>) =>
 
 
 // TODO: move action creator to store directory
-export const receiveTreePickerData = (id: string, projects: ProjectResource[], pickerKind: string) =>
+export const receiveTreePickerData = (nodeId: string, projects: ProjectResource[], pickerId: string) =>
     (dispatch: Dispatch) => {
         dispatch(treePickerActions.LOAD_TREE_PICKER_NODE_SUCCESS({
-            id,
-            nodes: projects.map(project => createTreePickerNode({ id: project.uuid, value: project })),
-            pickerKind,
+            nodeId,
+            nodes: projects.map(project => createTreePickerNode({ nodeId: project.uuid, value: project })),
+            pickerId,
         }));
 
-        dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ id, pickerKind }));
+        dispatch(treePickerActions.TOGGLE_TREE_PICKER_NODE_COLLAPSE({ nodeId, pickerId }));
     };
 
 export const initPickerProjectTree = () => (dispatch: Dispatch, getState: () => RootState, services: ServiceRepository) => {
diff --git a/src/views-components/tree-picker/tree-picker.ts b/src/views-components/tree-picker/tree-picker.ts
index 73e0a99..a47599f 100644
--- a/src/views-components/tree-picker/tree-picker.ts
+++ b/src/views-components/tree-picker/tree-picker.ts
@@ -10,13 +10,13 @@ import { getNodeValue, getNodeChildren, Tree as Ttree, createTree } from "~/mode
 import { Dispatch } from "redux";
 
 export interface TreePickerProps {
-    pickerKind: string;
-    toggleItemOpen: (id: string, status: TreeItemStatus, pickerKind: string) => void;
-    toggleItemActive: (id: string, status: TreeItemStatus, pickerKind: string) => void;
+    pickerId: string;
+    toggleItemOpen: (nodeId: string, status: TreeItemStatus, pickerId: string) => void;
+    toggleItemActive: (nodeId: string, status: TreeItemStatus, pickerId: string) => void;
 }
 
 const mapStateToProps = (state: RootState, props: TreePickerProps): Pick<TreeProps<any>, 'items'> => {
-    const tree = state.treePicker[props.pickerKind] || createTree();
+    const tree = state.treePicker[props.pickerId] || createTree();
     return {
         items: getNodeChildren('')(tree)
             .map(treePickerToTreeItems(tree))
@@ -25,21 +25,21 @@ const mapStateToProps = (state: RootState, props: TreePickerProps): Pick<TreePro
 
 const mapDispatchToProps = (dispatch: Dispatch, props: TreePickerProps): Pick<TreeProps<any>, 'onContextMenu' | 'toggleItemOpen' | 'toggleItemActive'> => ({
     onContextMenu: () => { return; },
-    toggleItemActive: (id, status) => props.toggleItemActive(id, status, props.pickerKind),
-    toggleItemOpen: (id, status) => props.toggleItemOpen(id, status, props.pickerKind)
+    toggleItemActive: (id, status) => props.toggleItemActive(id, status, props.pickerId),
+    toggleItemOpen: (id, status) => props.toggleItemOpen(id, status, props.pickerId)
 });
 
 export const TreePicker = connect(mapStateToProps, mapDispatchToProps)(Tree);
 
 const treePickerToTreeItems = (tree: Ttree<TreePickerNode>) =>
     (id: string): TreeItem<any> => {
-        const node: TreePickerNode = getNodeValue(id)(tree) || createTreePickerNode({ id: '', value: 'InvalidNode' });
-        const items = getNodeChildren(node.id)(tree)
+        const node: TreePickerNode = getNodeValue(id)(tree) || createTreePickerNode({ nodeId: '', value: 'InvalidNode' });
+        const items = getNodeChildren(node.nodeId)(tree)
             .map(treePickerToTreeItems(tree));
         return {
             active: node.selected,
             data: node.value,
-            id: node.id,
+            id: node.nodeId,
             items: items.length > 0 ? items : undefined,
             open: !node.collapsed,
             status: node.status

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list