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