X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/25216cc7acedc987c26a159f0b640210c0ef101e..db1c206c8403ed2b874625f1d1afc7af85dde25c:/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx diff --git a/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx b/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx index e5b7cde694..11b51caa88 100644 --- a/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx +++ b/src/views-components/projects-tree-picker/generic-projects-tree-picker.tsx @@ -2,7 +2,7 @@ // // SPDX-License-Identifier: AGPL-3.0 -import * as React from "react"; +import React from "react"; import { Dispatch } from "redux"; import { connect } from "react-redux"; import { isEqual } from 'lodash/fp'; @@ -10,20 +10,14 @@ import { TreeItem, TreeItemStatus } from 'components/tree/tree'; import { ProjectResource } from "models/project"; import { treePickerActions } from "store/tree-picker/tree-picker-actions"; import { ListItemTextIcon } from "components/list-item-text-icon/list-item-text-icon"; -import { ProjectIcon, InputIcon, IconType, CollectionIcon } from 'components/icon/icon'; +import { ProjectIcon, FileInputIcon, IconType, CollectionIcon } from 'components/icon/icon'; import { loadProject, loadCollection } from 'store/tree-picker/tree-picker-actions'; -import { GroupContentsResource } from 'services/groups-service/groups-service'; -import { CollectionDirectory, CollectionFile, CollectionFileType } from 'models/collection-file'; +import { ProjectsTreePickerItem, ProjectsTreePickerRootItem } from 'store/tree-picker/tree-picker-middleware'; import { ResourceKind } from 'models/resource'; import { TreePickerProps, TreePicker } from "views-components/tree-picker/tree-picker"; -import { LinkResource } from "models/link"; +import { CollectionFileType } from 'models/collection-file'; -export interface ProjectsTreePickerRootItem { - id: string; - name: string; -} -export type ProjectsTreePickerItem = ProjectsTreePickerRootItem | GroupContentsResource | CollectionDirectory | CollectionFile | LinkResource; type PickedTreePickerProps = Pick, 'onContextMenu' | 'toggleItemActive' | 'toggleItemOpen' | 'toggleItemSelection'>; export interface ProjectsTreePickerDataProps { @@ -35,7 +29,7 @@ export interface ProjectsTreePickerDataProps { disableActivation?: string[]; options?: { showOnlyOwned: boolean, showOnlyWritable: boolean }; loadRootItem: (item: TreeItem, pickerId: string, - includeCollections?: boolean, includeFiles?: boolean, options?: { showOnlyOwned: boolean, showOnlyWritable: boolean }) => void; + includeCollections?: boolean, includeFiles?: boolean, options?: { showOnlyOwned: boolean, showOnlyWritable: boolean }) => void; } export type ProjectsTreePickerProps = ProjectsTreePickerDataProps & Partial; @@ -66,7 +60,7 @@ const mapDispatchToProps = (dispatch: Dispatch, { loadRootItem, includeCollectio dispatch( data.kind === ResourceKind.COLLECTION ? loadCollection(id, pickerId) - : loadProject({ id, pickerId, includeCollections, includeFiles }) + : loadProject({ id, pickerId, includeCollections, includeFiles, options }) ); } else if (!('type' in data) && loadRootItem) { loadRootItem(item as TreeItem, pickerId, includeCollections, includeFiles, options); @@ -104,7 +98,7 @@ const getProjectPickerIcon = ({ data }: TreeItem, rootIc } else if ('type' in data) { switch (data.type) { case CollectionFileType.FILE: - return InputIcon; + return FileInputIcon; default: return ProjectIcon; }