import React from 'react'; import { Dialog, DialogTitle, DialogContent, DialogContentText, Button, TextField, } from '@material-ui/core'; import { Mutation } from 'react-apollo'; import { getOptionsCalls } from '../../../../../../GraphQL/Calls/index'; class New extends React.Component { constructor() { super(); this.state = { name: '', host: '', repo: '', moduleName: '', }; } render() { const { name, host, repo, moduleName, } = this.state; const { closeDialogs } = this.props; return ( closeDialogs()} aria-labelledby='createPlotter-dialog-title' > Create a new plotter At least for now, all the plotters are publically available, creating it here will let you select it in the select element. { const { events_Plotters: plotters } = store.readQuery({ query: getOptionsCalls.EVENTS_PLOTTERS, }); store.writeQuery({ query: getOptionsCalls.EVENTS_PLOTTERS, data: { events_Plotters: plotters.concat([data.events_CreatePlotter]) }, }); closeDialogs(); } } > {createPlotter => (
{ e.preventDefault(); createPlotter({ variables: { plotter: { name, host, repo, moduleName, }, }, }); }} > this.setState({ name: e.target.value })} fullWidth /> this.setState({ host: e.target.value })} fullWidth /> this.setState({ repo: e.target.value })} fullWidth /> this.setState({ moduleName: e.target.value })} fullWidth /> )}
); } } export default New;