@jbrowse/plugin-config
Version:
JBrowse 2 config utilities
21 lines (20 loc) • 746 B
JavaScript
import { jsx as _jsx } from "react/jsx-runtime";
import { useEffect, useState } from 'react';
import { observer } from 'mobx-react';
import ConfigurationTextField from "./ConfigurationTextField.js";
const NumberEditor = observer(function NumberEditor({ slot, }) {
const [val, setVal] = useState(slot.value);
useEffect(() => {
const num = Number.parseFloat(val);
if (Number.isNaN(num)) {
slot.reset?.();
}
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;