webgme-dss
Version:
Design Studio for Dynamic Systems with Modelica as backend
59 lines (48 loc) • 1.92 kB
JSX
import React, {Component} from 'react';
import PropTypes from 'prop-types';
import Grid from '@material-ui/core/Grid';
// import Paper from '@material-ui/core/Paper';
import Typography from '@material-ui/core/Typography';
import ProjectList from './ProjectList';
import CreateProject from './CreateProject';
export default class Projects extends Component {
static propTypes = {
gmeClient: PropTypes.object.isRequired,
};
state = {
projects: null,
};
componentDidMount() {
this.getProjects();
}
getProjects = () => {
this.props.gmeClient.getProjects({info: true, rights: true}, (err, projects) => {
if (err) {
console.error('Todo: Display error!', err);
return;
}
const dssProjects = projects.filter(pInfo => pInfo.info.kind && pInfo.info.kind.startsWith('DSS:'));
this.setState({projects: dssProjects});
});
};
render() {
return (
<div style={{flexGrow: 1, margin: 20}}>
<Grid container spacing={24}>
<Grid item lg={7} md={5} xs={12}>
{/* <Paper elevation={4}> */}
<CreateProject gmeClient={this.props.gmeClient} projects={this.state.projects}/>
{/* </Paper> */}
</Grid>
<Grid item lg={5} md={7} xs={12}>
{/* <Paper elevation={4}> */}
<Typography variant="title">
CURRENT PROJECTS
</Typography>
<ProjectList gmeClient={this.props.gmeClient} projects={this.state.projects}/>
{/* </Paper> */}
</Grid>
</Grid>
</div>);
}
}