X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/a0e9ecd6a913a6465b500f642412daf1e1a6420b..refs/heads/14528_table_view_and_actions:/src/views-components/projects-tree-picker/projects-tree-picker.tsx diff --git a/src/views-components/projects-tree-picker/projects-tree-picker.tsx b/src/views-components/projects-tree-picker/projects-tree-picker.tsx index 79828138..ae98cf00 100644 --- a/src/views-components/projects-tree-picker/projects-tree-picker.tsx +++ b/src/views-components/projects-tree-picker/projects-tree-picker.tsx @@ -3,12 +3,11 @@ // SPDX-License-Identifier: AGPL-3.0 import * as React from 'react'; -import { Dispatch } from 'redux'; -import { connect } from 'react-redux'; +import { values, memoize, pipe, pick } from 'lodash/fp'; import { HomeTreePicker } from '~/views-components/projects-tree-picker/home-tree-picker'; import { SharedTreePicker } from '~/views-components/projects-tree-picker/shared-tree-picker'; import { FavoritesTreePicker } from '~/views-components/projects-tree-picker/favorites-tree-picker'; -import { getProjectsTreePickerIds, treePickerActions } from '~/store/tree-picker/tree-picker-actions'; +import { getProjectsTreePickerIds, SHARED_PROJECT_ID, FAVORITES_PROJECT_ID } from '~/store/tree-picker/tree-picker-actions'; import { TreeItem } from '~/components/tree/tree'; import { ProjectsTreePickerItem } from './generic-projects-tree-picker'; @@ -16,14 +15,25 @@ export interface ProjectsTreePickerProps { pickerId: string; includeCollections?: boolean; includeFiles?: boolean; + showSelection?: boolean; toggleItemActive?: (event: React.MouseEvent, item: TreeItem, pickerId: string) => void; + toggleItemSelection?: (event: React.MouseEvent, item: TreeItem, pickerId: string) => void; } -export const ProjectsTreePicker = ({ pickerId, ...props }: ProjectsTreePickerProps) => { +export const ProjectsTreePicker = ({ pickerId, ...props }: ProjectsTreePickerProps) => { const { home, shared, favorites } = getProjectsTreePickerIds(pickerId); + const relatedTreePickers = getRelatedTreePickers(pickerId); + const p = { + ...props, + relatedTreePickers, + disableActivation + }; return
- - - + + +
; - }; +}; + +const getRelatedTreePickers = memoize(pipe(getProjectsTreePickerIds, values)); +const disableActivation = [SHARED_PROJECT_ID, FAVORITES_PROJECT_ID];