From 117636eb4f4d20628af769670dc7bd9363394467 Mon Sep 17 00:00:00 2001 From: Maxime Lalo Date: Tue, 9 May 2023 12:12:40 +0200 Subject: [PATCH 1/2] :sparkles: Delete asked document working --- .../SuperAdmin/Documents/Documents.ts | 10 ++++++++++ .../UserFolder/UserFolderHeader/index.tsx | 1 - .../DesignSystem/UserFolder/index.tsx | 18 +++++++++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/front/Api/LeCoffreApi/SuperAdmin/Documents/Documents.ts b/src/front/Api/LeCoffreApi/SuperAdmin/Documents/Documents.ts index 608bf951..7c92a282 100644 --- a/src/front/Api/LeCoffreApi/SuperAdmin/Documents/Documents.ts +++ b/src/front/Api/LeCoffreApi/SuperAdmin/Documents/Documents.ts @@ -80,4 +80,14 @@ export default class Documents extends BaseSuperAdmin { return Promise.reject(err); } } + + public async delete(uid: string): Promise { + const url = new URL(this.baseURl.concat(`/${uid}`)); + try { + return await this.deleteRequest(url); + } catch (err) { + this.onError(err); + return Promise.reject(err); + } + } } diff --git a/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx b/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx index b82b80c2..bdc82961 100644 --- a/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx +++ b/src/front/Components/DesignSystem/UserFolder/UserFolderHeader/index.tsx @@ -67,7 +67,6 @@ export default class UserFolderHeader extends React.Component { } private hasPendingFiles() { - console.log(this.props.folder.documents); const documents = this.props.folder.documents?.filter((document) => document.depositor?.contact?.uid === this.props.customer.contact?.uid) ?? []; const notAskedDocuments = documents.filter((document) => document.document_status === EDocumentStatus.DEPOSITED) ?? []; diff --git a/src/front/Components/DesignSystem/UserFolder/index.tsx b/src/front/Components/DesignSystem/UserFolder/index.tsx index 8e0b391b..ec45279b 100644 --- a/src/front/Components/DesignSystem/UserFolder/index.tsx +++ b/src/front/Components/DesignSystem/UserFolder/index.tsx @@ -15,6 +15,7 @@ import classes from "./classes.module.scss"; import DocumentList from "./DocumentList"; import UserFolderHeader from "./UserFolderHeader"; import { EDocumentStatus } from "le-coffre-resources/dist/Customer/Document"; +import Documents from "@Front/Api/LeCoffreApi/SuperAdmin/Documents/Documents"; type IProps = { customer: Customer; @@ -26,6 +27,7 @@ type IProps = { }; type IState = { isOpenDeletionModal: boolean; + selectedDocumentToDelete: string; }; export default class UserFolder extends React.Component { @@ -39,10 +41,12 @@ export default class UserFolder extends React.Component { super(props); this.state = { isOpenDeletionModal: false, + selectedDocumentToDelete: "", }; this.closeDeletionModal = this.closeDeletionModal.bind(this); this.openDeletionModal = this.openDeletionModal.bind(this); this.changeUserFolder = this.changeUserFolder.bind(this); + this.deleteAskedDocument = this.deleteAskedDocument.bind(this); } public override render(): JSX.Element { const documentsAsked: Document[] | null = this.getDocumentsByStatus("ASKED"); @@ -55,6 +59,7 @@ export default class UserFolder extends React.Component { { this.rootRefElement.current?.style.setProperty("--animation-delay", this.props.animationDelay!.toString().concat("ms")); } + private async deleteAskedDocument(){ + try{ + await Documents.getInstance().delete(this.state.selectedDocumentToDelete); + window.location.reload(); + }catch(e){ + console.error(e); + } + } + private calculateDocumentsPercentageProgress(): number { if (!this.props.customer.documents) return 0; const totalDocuments: number = this.props.customer.documents.length; @@ -159,9 +173,11 @@ export default class UserFolder extends React.Component { } private openDeletionModal(uid?: string): void { - // TODO: call API to delete document + if(!uid) return; + this.setState({ isOpenDeletionModal: true, + selectedDocumentToDelete: uid, }); } private closeDeletionModal(): void { From 5ffdca6323224224daf50c932ce03c31eed223cc Mon Sep 17 00:00:00 2001 From: Maxime Lalo Date: Tue, 9 May 2023 12:16:42 +0200 Subject: [PATCH 2/2] :bug: Fixing percentage --- src/front/Components/DesignSystem/UserFolder/index.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/front/Components/DesignSystem/UserFolder/index.tsx b/src/front/Components/DesignSystem/UserFolder/index.tsx index ec45279b..2abe3b37 100644 --- a/src/front/Components/DesignSystem/UserFolder/index.tsx +++ b/src/front/Components/DesignSystem/UserFolder/index.tsx @@ -140,7 +140,10 @@ export default class UserFolder extends React.Component { if (!this.props.customer.documents) return 0; const totalDocuments: number = this.props.customer.documents.length; const numberDocumentsAsked: number = this.getDocumentsByStatus(EDocumentStatus.ASKED)?.length || 0; - return Math.round(((totalDocuments - numberDocumentsAsked) / totalDocuments) * 100); + + const percentage = Math.round(((totalDocuments - numberDocumentsAsked) / totalDocuments) * 100); + if(!percentage) return 0; + return percentage; } private getDocumentsByStatus(status: string): Document[] | null {