diff --git a/src/components/SensorInstall/Nodes/SensewareNode.js b/src/components/SensorInstall/Nodes/SensewareNode.js index 2fc667374e0c1bba161eaac6f42df506b4e7181e..e59186dc3bee3e1f19dee2634e0eec1c8b763e26 100644 --- a/src/components/SensorInstall/Nodes/SensewareNode.js +++ b/src/components/SensorInstall/Nodes/SensewareNode.js @@ -28,24 +28,21 @@ class SensewareNode extends Node { 'Exterior to Courtyard', ] + SENSEWARE_NODE_TYPE = { // eslint-disable-line + apartment: 1, + boiler: 2, + repeater: 3, + } + constructor(props) { super(props); - const showThermalBridge = Boolean( - this.props.form.temperature_probe_1 || - this.props.form.temperature_probe_2 || - this.props.form.temperature_probe_3 || - this.props.form.temperature_probe_4 - ); - let nodeType = 'temperature'; - if (this.props.form.repeater) { + let showThermalBridge = false; + let nodeType = 'apartment'; + if (this.SENSEWARE_NODE_TYPE.repeater === this.props.form.node_type) { nodeType = 'repeater'; - } else if ( - this.props.form.temperature_probe_1 || - this.props.form.temperature_probe_2 || - this.props.form.temperature_probe_3 || - this.props.form.temperature_probe_4 - ) { + } else if (this.SENSEWARE_NODE_TYPE.boiler === this.props.form.node_type) { nodeType = 'boiler'; + showThermalBridge = true; } this.state = { @@ -53,7 +50,7 @@ class SensewareNode extends Node { form: { node_id: this.props.form.node_id, space_id: this.props.form.space_id, - repeater: this.props.form.repeater ? 'true' : 'false', + node_type: this.props.form.senseware_node_type, temperature_probe_1: this.props.form.temperature_probe_1, temperature_probe_2: this.props.form.temperature_probe_2, temperature_probe_3: this.props.form.temperature_probe_3, @@ -66,7 +63,7 @@ class SensewareNode extends Node { notes: this.props.form.notes, }, - display_name: this.generateDisplayName(this.props.form.repeater ? 'true' : 'false', showThermalBridge), + display_name: this.generateDisplayName(nodeType), type: 'Senseware', showThermalBridge, nodeType, @@ -95,14 +92,8 @@ class SensewareNode extends Node { ); } - generateDisplayName = (repeater, boiler) => { - let displayName = 'temperature--node'; - if (repeater === 'true') { - displayName = 'repeater--node'; - } else if (boiler) { - displayName = 'boiler_temperature--node'; - } - return displayName; + generateDisplayName = (nodeType) => { + return `${nodeType}--node`; } componentWillReceiveProps(nextProps) { @@ -167,14 +158,14 @@ class SensewareNode extends Node { handleNodeTypeChange = (event) => { const value = event.target.value; - if (value === 'temperature') { + if (value === 'apartment') { // Handle temperature node - this.setState({ nodeType: 'temperature' }); - const displayName = this.generateDisplayName('false', false); + this.setState({ nodeType: 'apartment' }); + const displayName = this.generateDisplayName('apartment'); this.saveInputChange( { ...this.state.form, - repeater: 'false', + node_type: this.SENSEWARE_NODE_TYPE.apartment, temperature_probe_1: null, temperature_probe_2: null, temperature_probe_3: null, @@ -189,11 +180,11 @@ class SensewareNode extends Node { } else if (value === 'repeater') { // Handle repeater node this.setState({ nodeType: 'repeater' }); - const displayName = this.generateDisplayName('true', false); + const displayName = this.generateDisplayName('repeater'); this.saveInputChange( { ...this.state.form, - repeater: 'true', + node_type: this.SENSEWARE_NODE_TYPE.repeater, temperature_probe_1: null, temperature_probe_2: null, temperature_probe_3: null, @@ -208,11 +199,11 @@ class SensewareNode extends Node { } else if (value === 'boiler') { // Handle boiler node this.setState({ nodeType: 'boiler' }); - const displayName = this.generateDisplayName('false', true); + const displayName = this.generateDisplayName('boiler'); this.saveInputChange( { ...this.state.form, - repeater: 'false', + node_type: this.SENSEWARE_NODE_TYPE.boiler, temperature_probe_1: 1, temperature_probe_2: 2, temperature_probe_3: 3, @@ -447,7 +438,7 @@ class SensewareNode extends Node { value={this.state.nodeType} onChange={this.handleNodeTypeChange} > - + @@ -524,7 +515,7 @@ SensewareNode.propTypes = { form: PropTypes.shape({ node_id: PropTypes.string, space_id: PropTypes.number, - repeater: PropTypes.bool, + node_type: PropTypes.number, temperature_probe_1: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), temperature_probe_2: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), temperature_probe_3: PropTypes.oneOfType([PropTypes.number, PropTypes.string]), @@ -550,7 +541,7 @@ SensewareNode.defaultProps = { form: { node_id: '', space_id: null, - repeater: false, + node_type: 1, temperature_probe_1: '', temperature_probe_2: '', temperature_probe_3: '',