X-Git-Url: https://git.arvados.org/arvados-workbench2.git/blobdiff_plain/21fd1f3889338c2dcacd28b5f59411f4ccf37f9a..5d6640046afef7dc3714b784430e18bf2f2153fe:/src/views/project-panel/project-panel.tsx diff --git a/src/views/project-panel/project-panel.tsx b/src/views/project-panel/project-panel.tsx index 4c94ab8d..2cc751bf 100644 --- a/src/views/project-panel/project-panel.tsx +++ b/src/views/project-panel/project-panel.tsx @@ -51,6 +51,7 @@ import { GroupClass, GroupResource } from 'models/group'; import { CollectionResource } from 'models/collection'; import { resourceIsFrozen } from 'common/frozen-resources'; import { ProjectResource } from 'models/project'; +import { NotFoundView } from 'views/not-found-panel/not-found-panel'; type CssRules = 'root' | 'button'; @@ -238,6 +239,7 @@ const DEFAULT_VIEW_MESSAGES = ['Your project is empty.', 'Please create a projec interface ProjectPanelDataProps { currentItemId: string; resources: ResourcesState; + project: GroupResource; isAdmin: boolean; userUuid: string; dataExplorerItems: any; @@ -245,17 +247,24 @@ interface ProjectPanelDataProps { type ProjectPanelProps = ProjectPanelDataProps & DispatchProp & WithStyles & RouteComponentProps<{ id: string }>; -export const ProjectPanel = withStyles(styles)( - connect((state: RootState) => ({ - currentItemId: getProperty(PROJECT_PANEL_CURRENT_UUID)(state.properties), +const mapStateToProps = (state: RootState) => { + const currentItemId = getProperty(PROJECT_PANEL_CURRENT_UUID)(state.properties); + const project = getResource(currentItemId || "")(state.resources); + return { + currentItemId, + project, resources: state.resources, userUuid: state.auth.user!.uuid, - }))( + }; +} + +export const ProjectPanel = withStyles(styles)( + connect(mapStateToProps)( class extends React.Component { render() { const { classes } = this.props; - return ( + return this.props.project ?
- ); + : + } isCurrentItemChild = (resource: Resource) => {