✨ Save popup on changing documents in deed types
This commit is contained in:
parent
70732336c5
commit
5ee7338422
@ -30,6 +30,7 @@ export default function DeedTypesInformations(props: IProps) {
|
|||||||
const [selectedDocuments, setSelectedDocuments] = useState<IOption[]>([]);
|
const [selectedDocuments, setSelectedDocuments] = useState<IOption[]>([]);
|
||||||
|
|
||||||
const [isDeleteModalOpened, setIsDeleteModalOpened] = useState<boolean>(false);
|
const [isDeleteModalOpened, setIsDeleteModalOpened] = useState<boolean>(false);
|
||||||
|
const [isSaveModalOpened, setIsSaveModalOpened] = useState<boolean>(false);
|
||||||
|
|
||||||
const openDeleteModal = useCallback(() => {
|
const openDeleteModal = useCallback(() => {
|
||||||
setIsDeleteModalOpened(true);
|
setIsDeleteModalOpened(true);
|
||||||
@ -39,6 +40,14 @@ export default function DeedTypesInformations(props: IProps) {
|
|||||||
setIsDeleteModalOpened(false);
|
setIsDeleteModalOpened(false);
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const openSaveModal = useCallback(() => {
|
||||||
|
setIsSaveModalOpened(true);
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
const closeSaveModal = useCallback(() => {
|
||||||
|
setIsSaveModalOpened(false);
|
||||||
|
}, []);
|
||||||
|
|
||||||
const deleteDeedType = useCallback(async () => {
|
const deleteDeedType = useCallback(async () => {
|
||||||
await DeedTypes.getInstance().put(
|
await DeedTypes.getInstance().put(
|
||||||
deedTypeUid as string,
|
deedTypeUid as string,
|
||||||
@ -81,13 +90,18 @@ export default function DeedTypesInformations(props: IProps) {
|
|||||||
|
|
||||||
const onSubmitHandler = useCallback(
|
const onSubmitHandler = useCallback(
|
||||||
async (e: React.FormEvent<HTMLFormElement> | null, values: { [key: string]: string }) => {
|
async (e: React.FormEvent<HTMLFormElement> | null, values: { [key: string]: string }) => {
|
||||||
|
openSaveModal();
|
||||||
|
},
|
||||||
|
[openSaveModal],
|
||||||
|
);
|
||||||
|
|
||||||
|
const saveDocumentTypes = useCallback(async () => {
|
||||||
await DeedTypes.getInstance().put(deedTypeUid as string, {
|
await DeedTypes.getInstance().put(deedTypeUid as string, {
|
||||||
uid: deedTypeUid as string,
|
uid: deedTypeUid as string,
|
||||||
document_types: selectedDocuments.map((document) => DocumentType.hydrate<DocumentType>({ uid: document.value as string })),
|
document_types: selectedDocuments.map((document) => DocumentType.hydrate<DocumentType>({ uid: document.value as string })),
|
||||||
});
|
});
|
||||||
},
|
closeSaveModal();
|
||||||
[deedTypeUid, selectedDocuments],
|
}, [closeSaveModal, deedTypeUid, selectedDocuments]);
|
||||||
);
|
|
||||||
|
|
||||||
const onDocumentChangeHandler = useCallback((values: MultiValue<IOption>) => {
|
const onDocumentChangeHandler = useCallback((values: MultiValue<IOption>) => {
|
||||||
setSelectedDocuments(values as IOption[]);
|
setSelectedDocuments(values as IOption[]);
|
||||||
@ -171,6 +185,20 @@ export default function DeedTypesInformations(props: IProps) {
|
|||||||
</Typography>
|
</Typography>
|
||||||
</div>
|
</div>
|
||||||
</Confirm>
|
</Confirm>
|
||||||
|
<Confirm
|
||||||
|
isOpen={isSaveModalOpened}
|
||||||
|
onClose={closeSaveModal}
|
||||||
|
onAccept={saveDocumentTypes}
|
||||||
|
closeBtn
|
||||||
|
header={"Enregistrer les modifications ?"}
|
||||||
|
confirmText={"Enregistrer"}
|
||||||
|
cancelText={"Annuler"}>
|
||||||
|
<div className={classes["modal-content"]}>
|
||||||
|
<Typography typo={ITypo.P_16} className={classes["text"]}>
|
||||||
|
Les documents seront associés à ce type d'acte.
|
||||||
|
</Typography>
|
||||||
|
</div>
|
||||||
|
</Confirm>
|
||||||
</div>
|
</div>
|
||||||
</DefaultDeedTypesDashboard>
|
</DefaultDeedTypesDashboard>
|
||||||
);
|
);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user