Fix numeric values

This commit is contained in:
Ingvar Stepanyan
2021-07-15 11:56:38 +00:00
parent e60bbbc473
commit b12949ee98

8
ui.js
View File

@@ -59,12 +59,16 @@ class ConfigComponent extends Component {
return !(this.state.inProgress && nextState.inProgress); return !(this.state.inProgress && nextState.inProgress);
} }
getValueProp() { getValueProp(out = false) {
switch (this.props.config.type) { switch (this.props.config.type) {
case 'toggle': case 'toggle':
return 'checked'; return 'checked';
case 'datetime': case 'datetime':
return 'valueAsNumber'; return 'valueAsNumber';
case 'range':
// Apparently can't render with `valueAsNumber` as preact property,
// but can retrieve it back.
return out ? 'valueAsNumber' : 'value';
default: default:
return 'value'; return 'value';
} }
@@ -73,7 +77,7 @@ class ConfigComponent extends Component {
handleChange = async e => { handleChange = async e => {
this.setState({ inProgress: true }); this.setState({ inProgress: true });
let value = e.target[this.getValueProp()]; let value = e.target[this.getValueProp(true)];
try { try {
/** @type {Promise<void>} */ /** @type {Promise<void>} */