const CheckBoxStyled = styled(FormCheck.Input)`
margin-left:3rem;
`
+const LoopViewSvgDivStyled = styled.div`
+ overflow: hidden;
+ background-color: ${props => (props.theme.loopViewerBackgroundColor)};
+ border-color: ${props => (props.theme.loopViewerHeaderColor)};
+ margin-left: auto;
+ margin-right:auto;
+ text-align: center;
+`
export default class OpenLoopModal extends React.Component {
constructor(props, context) {
this.state = {
show: true,
chosenLoopName: '',
- loopNames: []
+ loopNames: [],
+ content:''
};
}
handleDropdownListChange(e) {
this.setState({ chosenLoopName: e.value });
+ LoopService.getSvg(e.value).then(svgXml => {
+ if (svgXml.length !== 0) {
+ this.setState({ content: svgXml })
+ } else {
+ this.setState({ content: 'Error1' })
+ }
+ });
}
getLoopNames() {
LoopService.getLoopNames().then(loopNames => {
- const loopOptions = loopNames.map((loopName) => { return { label: loopName, value: loopName } });
- this.setState({ loopNames: loopOptions })
+ if (Object.entries(loopNames).length !== 0) {
+ const loopOptions = loopNames.filter(loopName => loopName!=='undefined').map((loopName) => { return { label: loopName, value: loopName } });
+ this.setState({ loopNames: loopOptions })
+
+ }
+
});
}
handleOpen() {
console.info("Loop " + this.state.chosenLoopName + " is chosen");
- this.setState({ show: false });
- this.props.history.push('/');
+ this.handleClose();
this.props.loadLoopFunction(this.state.chosenLoopName);
}
render() {
return (
- <ModalStyled size="lg" show={this.state.show} onHide={this.handleClose}>
+ <ModalStyled size="xl" show={this.state.show} onHide={this.handleClose}>
<Modal.Header closeButton>
<Modal.Title>Open Model</Modal.Title>
</Modal.Header>
<Form.Group as={Row} controlId="formPlaintextEmail">
<Form.Label column sm="2">Model Name</Form.Label>
<Col sm="10">
- <Select onChange={this.handleDropdownListChange} options={this.state.loopNames} />
+ <Select onChange={this.handleDropdownListChange}
+ options={this.state.loopNames} />
</Col>
</Form.Group>
+ <Form.Group controlId="formPlaintextEmail">
+ <LoopViewSvgDivStyled dangerouslySetInnerHTML={{ __html: this.state.content }} value={this.state.content} >
+ </LoopViewSvgDivStyled>
+ </Form.Group>
<Form.Group controlId="formBasicChecbox">
<Form.Check>
<FormCheck.Label>Read Only</FormCheck.Label>