(props: {
readonly fieldId: string;
readonly constValue: unknown;
readonly value: unknown;
readonly onChange: (next: unknown) => void;
})
| 557 | // --------------------------------------------------------------------------- |
| 558 | |
| 559 | function ConstField(props: { |
| 560 | readonly fieldId: string; |
| 561 | readonly constValue: unknown; |
| 562 | readonly value: unknown; |
| 563 | readonly onChange: (next: unknown) => void; |
| 564 | }): React.ReactElement { |
| 565 | const { fieldId, constValue, value, onChange } = props; |
| 566 | useEffect(() => { |
| 567 | if (value !== constValue) onChange(constValue); |
| 568 | }, [value, constValue, onChange]); |
| 569 | return ( |
| 570 | <Input |
| 571 | id={fieldId} |
| 572 | className="text-xs" |
| 573 | value={safeSchemaValueLabel(constValue)} |
| 574 | disabled |
| 575 | readOnly |
| 576 | /> |
| 577 | ); |
| 578 | } |
| 579 | |
| 580 | // --------------------------------------------------------------------------- |
| 581 | // NumberField — keeps a local draft so transient/invalid text doesn't clobber |
nothing calls this directly
no test coverage detected