-export interface ProjectTreeProps {
- projects: Array<TreeItem<Project>>;
- toggleOpen: (id: string, status: TreeItemStatus) => void;
- toggleActive: (id: string, status: TreeItemStatus) => void;
- handleCreationDialogOpen: () => void;
- handleCreationDialogClose: () => void;
-}
-
-class ProjectTree<T> extends React.Component<ProjectTreeProps & WithStyles<CssRules>> {
- render(): ReactElement<any> {
- const { classes, projects, toggleOpen, toggleActive } = this.props;
- const { active, listItemText, row, treeContainer } = classes;
- return (
- <div className={treeContainer}>
- <Tree items={projects}
- toggleItemOpen={toggleOpen}
- toggleItemActive={toggleActive}
- render={(project: TreeItem<Project>) =>
- <span className={row}>
- <ListItemIcon className={project.active ? active : ''}>
- <i className="fas fa-folder" />
- </ListItemIcon>
- <ListItemText className={listItemText} primary={
- <Typography className={project.active ? active : ''}>{project.data.name}</Typography>
- } />
- </span>
- } />
- </div>
- );