Can view from web UI XML definition of domains
This commit is contained in:
@ -1,60 +0,0 @@
|
||||
import { FormControl, Input, InputLabel } from "@mui/material";
|
||||
import { TextInput } from "./TextInput";
|
||||
import { IMaskInput } from "react-imask";
|
||||
import React from "react";
|
||||
|
||||
interface CustomProps {
|
||||
onChange: (event: { target: { name: string; value: string } }) => void;
|
||||
name: string;
|
||||
placeholder: string;
|
||||
}
|
||||
|
||||
const TextMaskCustom = React.forwardRef<HTMLInputElement, CustomProps>(
|
||||
function TextMaskCustom(props, ref) {
|
||||
const { onChange, placeholder, ...other } = props;
|
||||
return (
|
||||
<IMaskInput
|
||||
{...other}
|
||||
mask={placeholder}
|
||||
definitions={{
|
||||
"#": /[1-9]/,
|
||||
}}
|
||||
inputRef={ref}
|
||||
onAccept={(value: any) =>
|
||||
onChange({ target: { name: props.name, value } })
|
||||
}
|
||||
overwrite
|
||||
/>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
export function TextMaskInput(p: {
|
||||
label: string;
|
||||
editable: boolean;
|
||||
value?: string;
|
||||
onValueChange?: (newVal: string | undefined) => void;
|
||||
mask: string;
|
||||
}): React.ReactElement {
|
||||
const id = React.useRef(Math.random());
|
||||
|
||||
if (!p.editable) return <TextInput {...p} />;
|
||||
|
||||
return (
|
||||
<FormControl variant="standard" fullWidth>
|
||||
<InputLabel htmlFor={`mi-${id.current}`}>{p.label}</InputLabel>
|
||||
<Input
|
||||
fullWidth
|
||||
value={p.value ?? ""}
|
||||
onChange={(c) =>
|
||||
p.onValueChange?.(
|
||||
c.target.value.length === 0 ? undefined : c.target.value
|
||||
)
|
||||
}
|
||||
id={`mi-${id.current}`}
|
||||
inputComponent={TextMaskCustom as any}
|
||||
placeholder={p.mask}
|
||||
/>
|
||||
</FormControl>
|
||||
);
|
||||
}
|
Reference in New Issue
Block a user