@jbrowse/plugin-config
Version:
JBrowse 2 config utilities
27 lines (26 loc) • 1.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const mobx_react_1 = require("mobx-react");
const ConfigurationTextField_1 = __importDefault(require("./ConfigurationTextField"));
const NumberEditor = (0, mobx_react_1.observer)(function ({ slot, }) {
const [val, setVal] = (0, react_1.useState)(slot.value);
(0, react_1.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 ((0, jsx_runtime_1.jsx)(ConfigurationTextField_1.default, { label: slot.name, helperText: slot.description, value: val, type: "number", onChange: evt => {
setVal(evt.target.value);
} }));
});
exports.default = NumberEditor;