+ return <ProjectDetailsComponent project={this.item} />;
+ }
+}
+
+type CssRules = 'tag' | 'editIcon';
+
+const styles: StyleRulesCallback<CssRules> = (theme: ArvadosTheme) => ({
+ tag: {
+ marginRight: theme.spacing.unit,
+ marginBottom: theme.spacing.unit
+ },
+ editIcon: {
+ fontSize: '1.125rem',
+ cursor: 'pointer'
+ }
+});
+
+interface ProjectDetailsComponentDataProps {
+ project: ProjectResource;
+}
+
+interface ProjectDetailsComponentActionProps {
+ onClick: () => void;
+}
+
+const mapDispatchToProps = (dispatch: Dispatch) => ({
+ onClick: () => dispatch<any>(openProjectPropertiesDialog()),
+});
+
+type ProjectDetailsComponentProps = ProjectDetailsComponentDataProps & ProjectDetailsComponentActionProps & WithStyles<CssRules>;
+
+const ProjectDetailsComponent = connect(null, mapDispatchToProps)(
+ withStyles(styles)(
+ ({ classes, project, onClick }: ProjectDetailsComponentProps) => <div>