UNPKG

webgme-dss

Version:

Design Studio for Dynamic Systems with Modelica as backend

68 lines (60 loc) 2.4 kB
import React from 'react'; import PropTypes from 'prop-types'; import Button from '@material-ui/core/Button'; import Dialog from '@material-ui/core/Dialog'; import DialogActions from '@material-ui/core/DialogActions'; import DialogContent from '@material-ui/core/DialogContent'; import DialogTitle from '@material-ui/core/DialogTitle'; import ModiaCodeGenerator from '../../plugins/ModiaCodeGenerator/ModiaCodeGenerator'; export default class ConfirmDialog extends React.Component { static propTypes = { onClose: PropTypes.func.isRequired, gmeClient: PropTypes.object.isRequired, nodeId: PropTypes.string.isRequired, }; state = { modiaCode: 'Generating Modia code ...', } componentDidMount() { const {gmeClient, nodeId} = this.props; const pluginId = ModiaCodeGenerator.id; const context = gmeClient.getCurrentPluginContext(pluginId, nodeId); // TODO: Remove when engine is bumped // context.managerConfig.activeNode = nodeId; gmeClient.runBrowserPlugin(ModiaCodeGenerator, context, (err, result) => { if (err) { console.error(err); } else { console.log(result); this.setState({modiaCode: result.messages[0].message}); } }); } render() { const {modiaCode} = this.state; return ( <div> <Dialog fullWidth maxWidth={false} open onClose={() => this.props.onClose()} aria-labelledby="alert-dialog-title" aria-describedby="alert-dialog-description" > <DialogTitle id="alert-dialog-title">Modia</DialogTitle> <DialogContent style={{minHeight: '30vh', minWidth: '80hh'}}> <pre> {modiaCode} </pre> </DialogContent> <DialogActions> <Button onClick={() => this.props.onClose()} color="primary" autoFocus> Close </Button> </DialogActions> </Dialog> </div> ); } }