X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/ec9331a8435c9844efe3ba018f6c0d0c3f96d573..407d1f609f40e8a7d21cf5846690b63706befaa4:/src/views-components/side-panel-tree/side-panel-tree.tsx diff --git a/src/views-components/side-panel-tree/side-panel-tree.tsx b/src/views-components/side-panel-tree/side-panel-tree.tsx index 0e34d3ad84..4c6f01a146 100644 --- a/src/views-components/side-panel-tree/side-panel-tree.tsx +++ b/src/views-components/side-panel-tree/side-panel-tree.tsx @@ -9,11 +9,15 @@ import { TreePicker, TreePickerProps } from "../tree-picker/tree-picker"; import { TreeItem } from "~/components/tree/tree"; import { ProjectResource } from "~/models/project"; import { ListItemTextIcon } from "~/components/list-item-text-icon/list-item-text-icon"; -import { ProjectIcon, FavoriteIcon, ProjectsIcon, ShareMeIcon, TrashIcon } from '~/components/icon/icon'; -import { RecentIcon, WorkflowIcon } from '~/components/icon/icon'; +import { ProcessIcon, ProjectIcon, FilterGroupIcon, FavoriteIcon, ProjectsIcon, ShareMeIcon, TrashIcon, PublicFavoriteIcon } from '~/components/icon/icon'; +import { WorkflowIcon } from '~/components/icon/icon'; import { activateSidePanelTreeItem, toggleSidePanelTreeItemCollapse, SIDE_PANEL_TREE, SidePanelTreeCategory } from '~/store/side-panel-tree/side-panel-tree-actions'; import { openSidePanelContextMenu } from '~/store/context-menu/context-menu-actions'; import { noop } from 'lodash'; +import { ResourceKind } from "~/models/resource"; +import { IllegalNamingWarning } from "~/components/warning/warning"; +import { GroupClass } from "~/models/group"; + export interface SidePanelTreeProps { onItemActivation: (id: string) => void; sidePanelProgress?: boolean; @@ -39,17 +43,26 @@ export const SidePanelTree = connect(undefined, mapDispatchToProps)( (props: SidePanelTreeActionProps) => ); -const renderSidePanelItem = (item: TreeItem) => - ) => { + const name = typeof item.data === 'string' ? item.data : item.data.name; + const warn = typeof item.data !== 'string' && item.data.kind === ResourceKind.PROJECT + ? + : undefined; + return ; + hasMargin={true} + />; +}; const getProjectPickerIcon = (item: TreeItem) => typeof item.data === 'string' ? getSidePanelIcon(item.data) - : ProjectIcon; + : (item.data && item.data.groupClass === GroupClass.FILTER) + ? FilterGroupIcon + : ProjectIcon; const getSidePanelIcon = (category: string) => { switch (category) { @@ -57,14 +70,16 @@ const getSidePanelIcon = (category: string) => { return FavoriteIcon; case SidePanelTreeCategory.PROJECTS: return ProjectsIcon; - case SidePanelTreeCategory.RECENT_OPEN: - return RecentIcon; case SidePanelTreeCategory.SHARED_WITH_ME: return ShareMeIcon; case SidePanelTreeCategory.TRASH: return TrashIcon; case SidePanelTreeCategory.WORKFLOWS: return WorkflowIcon; + case SidePanelTreeCategory.PUBLIC_FAVORITES: + return PublicFavoriteIcon; + case SidePanelTreeCategory.ALL_PROCESSES: + return ProcessIcon; default: return ProjectIcon; }