Adding Signature link, need a destination
This commit is contained in:
@@ -1,7 +1,10 @@
|
||||
import React from "react";
|
||||
import { getDefaultRegistry } from "@rjsf/core";
|
||||
import { FormContextType, RJSFSchema, WidgetProps } from "@rjsf/utils";
|
||||
import { Button, InputAdornment } from "@mui/material";
|
||||
import Typography from "@mui/material/Typography";
|
||||
import TextField from "@mui/material/TextField";
|
||||
import CopyAllIcon from '@mui/icons-material/CopyAll';
|
||||
|
||||
import ForeignKeyWidget from "./foreign-key";
|
||||
import RichtextWidget from "./richtext";
|
||||
@@ -18,8 +21,37 @@ export default function CrudTextWidget<T = any, S extends CrudTextRJSFSchema = C
|
||||
return <Typography >{schema.const as string}</Typography>;
|
||||
} else if (schema.props?.hasOwnProperty("richtext")) {
|
||||
return <RichtextWidget {...props} />;
|
||||
} else if (schema.props?.hasOwnProperty("display") && schema.props.display == "signature-link") {
|
||||
return <SignatureLink {...props} />
|
||||
} else {
|
||||
const { widgets: { TextWidget } } = getDefaultRegistry<T,S,F>();
|
||||
return <TextWidget {...props} />;
|
||||
}
|
||||
}
|
||||
|
||||
const SignatureLink = <T = any, S extends CrudTextRJSFSchema = CrudTextRJSFSchema, F extends FormContextType = any>(props: WidgetProps<T, S, F> )=> {
|
||||
const { label, value } = props;
|
||||
const basePath = "/contracts/signature/";
|
||||
const url = location.origin + basePath + value
|
||||
|
||||
return <TextField
|
||||
label={ label }
|
||||
variant="outlined"
|
||||
disabled={true}
|
||||
value={url}
|
||||
slotProps={{
|
||||
input: {
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<Button
|
||||
variant="outlined"
|
||||
onClick={() => navigator.clipboard.writeText(url)}
|
||||
color="primary"
|
||||
>
|
||||
<CopyAllIcon />
|
||||
</Button>
|
||||
</InputAdornment>),
|
||||
},
|
||||
}}
|
||||
/>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user