/** * File: edit-widget-signal-control.js * Author: Ricardo Hernandez-Montoya * Date: 03.04.2017 * * This file is part of VILLASweb. * * VILLASweb is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * VILLASweb is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with VILLASweb. If not, see . **********************************************************************************/ import React, { Component } from 'react'; import { FormGroup, FormControl, ControlLabel } from 'react-bootstrap'; class EditWidgetSignalControl extends Component { constructor(props) { super(props); this.state = { widget: { simulator: '' } }; } componentWillReceiveProps(nextProps) { // Update state's widget with props this.setState({ widget: nextProps.widget }); } render() { let signalsToRender = []; if (this.props.simulation) { // get selected simulation model const simulationModel = this.props.simulation.models.find( model => model.simulator === this.state.widget.simulator ); // If simulation model update the signals to render signalsToRender = simulationModel? simulationModel.mapping : []; } return ( Signal this.props.handleChange(e)}> { signalsToRender.length === 0 ? ( ) : ( signalsToRender.map((signal, index) => ( )) ) } ); } } export default EditWidgetSignalControl;