X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/66088cabf30c5291ad8894e7009d9c9af466c158..da4bc7c758d09c1c02542b54b96eab018f746eae:/services/workbench2/src/views/project-panel/project-panel.tsx diff --git a/services/workbench2/src/views/project-panel/project-panel.tsx b/services/workbench2/src/views/project-panel/project-panel.tsx index 4c94ab8d2d..2ddfca8178 100644 --- a/services/workbench2/src/views/project-panel/project-panel.tsx +++ b/services/workbench2/src/views/project-panel/project-panel.tsx @@ -51,8 +51,9 @@ import { GroupClass, GroupResource } from 'models/group'; import { CollectionResource } from 'models/collection'; import { resourceIsFrozen } from 'common/frozen-resources'; import { ProjectResource } from 'models/project'; +import { deselectAllOthers, toggleOne } from 'store/multiselect/multiselect-actions'; -type CssRules = 'root' | 'button'; +type CssRules = 'root' | 'button' ; const styles: StyleRulesCallback = (theme: ArvadosTheme) => ({ root: { @@ -238,36 +239,43 @@ 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; + working: boolean; } 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
+ +
} isCurrentItemChild = (resource: Resource) => { @@ -310,6 +318,8 @@ export const ProjectPanel = withStyles(styles)( }; handleRowClick = (uuid: string) => { + this.props.dispatch(toggleOne(uuid)) + this.props.dispatch(deselectAllOthers(uuid)) this.props.dispatch(loadDetailsPanel(uuid)); }; }