✨ Create document handling errors
This commit is contained in:
parent
3c0bccf397
commit
10558c7062
@ -6,15 +6,17 @@ import TextField from "@Front/Components/DesignSystem/Form/TextField";
|
||||
import Typography, { ITypo } from "@Front/Components/DesignSystem/Typography";
|
||||
import DefaultDocumentTypesDashboard from "@Front/Components/LayoutTemplates/DefaultDocumentTypesDashboard";
|
||||
import Module from "@Front/Config/Module";
|
||||
import { validateOrReject } from "class-validator";
|
||||
import { validateOrReject, ValidationError } from "class-validator";
|
||||
import { DocumentType, Office } from "le-coffre-resources/dist/Admin";
|
||||
import { useRouter } from "next/router";
|
||||
import { useCallback } from "react";
|
||||
import { useCallback, useState } from "react";
|
||||
|
||||
import classes from "./classes.module.scss";
|
||||
|
||||
type IProps = {};
|
||||
export default function DocumentTypesCreate(props: IProps) {
|
||||
const [validationError, setValidationError] = useState<ValidationError[]>([]);
|
||||
|
||||
const router = useRouter();
|
||||
const onSubmitHandler = useCallback(
|
||||
async (e: React.FormEvent<HTMLFormElement> | null, values: { [key: string]: string }) => {
|
||||
@ -25,6 +27,7 @@ export default function DocumentTypesCreate(props: IProps) {
|
||||
uid: "6981326f-8a0a-4437-b15c-4cd5c4d80f6e",
|
||||
}),
|
||||
});
|
||||
console.log(documentToCreate);
|
||||
await validateOrReject(documentToCreate, { groups: ["createDocumentType"] });
|
||||
const documentTypeCreated = await DocumentTypes.getInstance().post(documentToCreate);
|
||||
|
||||
@ -32,7 +35,9 @@ export default function DocumentTypesCreate(props: IProps) {
|
||||
Module.getInstance().get().modules.pages.DocumentTypes.pages.Edit.props.path.replace("[uid]", documentTypeCreated.uid!),
|
||||
);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
if (e instanceof Array) {
|
||||
setValidationError(e);
|
||||
}
|
||||
}
|
||||
},
|
||||
[router],
|
||||
@ -45,9 +50,21 @@ export default function DocumentTypesCreate(props: IProps) {
|
||||
<Typography typo={ITypo.H1Bis}>Créer un nouveau document</Typography>
|
||||
</div>
|
||||
<Form onSubmit={onSubmitHandler} className={classes["form-container"]}>
|
||||
<TextField name="name" placeholder="Nom du document" />
|
||||
<TextAreaField name="private_description" placeholder="Description visible par les collaborateurs de l'office" />
|
||||
<TextAreaField name="public_description" placeholder="Description visible par les clients de l'office" />
|
||||
<TextField
|
||||
name="name"
|
||||
placeholder="Nom du document"
|
||||
validationError={validationError.find((error) => error.property === "name")}
|
||||
/>
|
||||
<TextAreaField
|
||||
name="private_description"
|
||||
placeholder="Description visible par les collaborateurs de l'office"
|
||||
validationError={validationError.find((error) => error.property === "private_description")}
|
||||
/>
|
||||
<TextAreaField
|
||||
name="public_description"
|
||||
placeholder="Description visible par les clients de l'office"
|
||||
validationError={validationError.find((error) => error.property === "public_description")}
|
||||
/>
|
||||
<div className={classes["buttons-container"]}>
|
||||
<Button variant={EButtonVariant.GHOST}>Annuler</Button>
|
||||
<Button type="submit">Créer le document</Button>
|
||||
|
Loading…
x
Reference in New Issue
Block a user