@jbrowse/plugin-config
Version:
JBrowse 2 config utilities
22 lines (21 loc) • 801 B
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
import ConfigurationTextField from './ConfigurationTextField';
const NumberEditor = observer(function ({ slot, }) {
const [val, setVal] = useState(slot.value);
useEffect(() => {
var _a;
const num = Number.parseFloat(val);
if (Number.isNaN(num)) {
(_a = slot.reset) === null || _a === void 0 ? void 0 : _a.call(slot);
}
else {
slot.set(num);
}
}, [slot, val]);
return (_jsx(ConfigurationTextField, { label: slot.name, helperText: slot.description, value: val, type: "number", onChange: evt => {
setVal(evt.target.value);
} }));
});
export default NumberEditor;