mirror of
https://github.com/iib0011/omni-tools.git
synced 2025-09-19 05:59:34 +02:00
Fix input disabled status not being reactive
This commit is contained in:
@@ -29,6 +29,15 @@ export default function NumericInputWithUnit(props: {
|
|||||||
const [unit, setUnit] = useState(props.value.unit);
|
const [unit, setUnit] = useState(props.value.unit);
|
||||||
const [unitOptions, setUnitOptions] = useState<string[]>([]);
|
const [unitOptions, setUnitOptions] = useState<string[]>([]);
|
||||||
|
|
||||||
|
const [disabled, setDisabled] = useState(props.disabled);
|
||||||
|
const [disableChangingUnit, setDisableChangingUnit] = useState(
|
||||||
|
props.disableChangingUnit
|
||||||
|
);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setDisabled(props.disabled);
|
||||||
|
setDisableChangingUnit(props.disableChangingUnit);
|
||||||
|
}, [props.disabled, props.disableChangingUnit]);
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
try {
|
try {
|
||||||
const kind = Qty(props.value.unit).kind();
|
const kind = Qty(props.value.unit).kind();
|
||||||
@@ -111,7 +120,7 @@ export default function NumericInputWithUnit(props: {
|
|||||||
<Grid item xs={4}>
|
<Grid item xs={4}>
|
||||||
<TextFieldWithDesc
|
<TextFieldWithDesc
|
||||||
{...props.baseProps}
|
{...props.baseProps}
|
||||||
disabled={props.disabled}
|
disabled={disabled}
|
||||||
type="number"
|
type="number"
|
||||||
fullWidth
|
fullWidth
|
||||||
value={(inputValue / siPrefixes[prefix])
|
value={(inputValue / siPrefixes[prefix])
|
||||||
@@ -127,7 +136,7 @@ export default function NumericInputWithUnit(props: {
|
|||||||
<Grid item xs={3}>
|
<Grid item xs={3}>
|
||||||
<Select
|
<Select
|
||||||
fullWidth
|
fullWidth
|
||||||
disabled={props.disableChangingUnit}
|
disabled={disableChangingUnit}
|
||||||
label="Prefix"
|
label="Prefix"
|
||||||
title="Prefix"
|
title="Prefix"
|
||||||
value={prefix}
|
value={prefix}
|
||||||
@@ -146,7 +155,7 @@ export default function NumericInputWithUnit(props: {
|
|||||||
<Grid item xs={5}>
|
<Grid item xs={5}>
|
||||||
<Select
|
<Select
|
||||||
fullWidth
|
fullWidth
|
||||||
disabled={props.disableChangingUnit}
|
disabled={disableChangingUnit}
|
||||||
label="Unit"
|
label="Unit"
|
||||||
title="Unit"
|
title="Unit"
|
||||||
value={unit}
|
value={unit}
|
||||||
|
Reference in New Issue
Block a user