1
0
Fork 0
mirror of https://git.rwth-aachen.de/acs/public/villas/web/ synced 2025-03-16 00:00:03 +01:00

unit appears for value widget even if no data is available

This commit is contained in:
Sonja Happ 2020-03-27 14:20:21 +01:00
parent 9a3aa77851
commit 3b2a71ec96
3 changed files with 14 additions and 11 deletions

View file

@ -52,7 +52,7 @@ export default function CreateControls(widgetType = null, widget = null, session
break;
case 'Value':
DialogControls.push(
<EditWidgetTextControl key={0} widget={widget} controlId={'name'} label={'Text'} placeholder={'Enter text'} handleChange={e => handleChange(e)} />,
<EditWidgetTextControl key={0} widget={widget} controlId={'name'} label={'Signal name'} placeholder={'Enter text'} handleChange={e => handleChange(e)} />,
<EditWidgetSignalControl key={1} widget={widget} controlId={'signalIDs'} signals={signals} handleChange={(e) => handleChange(e)} />,
<EditWidgetTextSizeControl key={2} widget={widget} handleChange={e => handleChange(e)} />,
<EditWidgetCheckboxControl key={3} widget={widget} controlId={'customProperties.showUnit'} text="Show unit" handleChange={e => handleChange(e)} />

View file

@ -47,7 +47,7 @@ class EditWidgetSignalControl extends Component {
return (
<FormGroup controlId="signal">
<FormLabel>Signal</FormLabel>
<FormLabel>Select signal</FormLabel>
<FormControl as="select" placeholder="Select signal" value={this.props.widget.signalIDs[0]} onChange={(e) => this.handleSignalChange(e)}>
{
this.props.signals.length === 0 ? (

View file

@ -37,11 +37,18 @@ class WidgetValue extends Component {
const ICid = props.icIDs[0];
// update value
let value = '';
if (props.data == null
|| props.data[ICid] == null
|| props.data[ICid].output == null
|| props.data[ICid].output.values == null) {
return{ value: '' };
value = '';
} else {
// check if value has changed
const signalData = props.data[ICid].output.values[signal.index];
if (signalData != null && state.value !== signalData[signalData.length - 1].y) {
value = signalData[signalData.length - 1].y
}
}
// Update unit (assuming there is exactly one signal for this widget)
@ -52,14 +59,10 @@ class WidgetValue extends Component {
unit = signal.unit;
}
// check if value has changed
const signalData = props.data[ICid].output.values[signal.index];
if (signalData != null && state.value !== signalData[signalData.length - 1].y) {
return {
value: signalData[signalData.length - 1].y,
unit: unit,
};
}
return {
value: value,
unit: unit,
};
}