🐛 Fixing refresh on delete asked document

This commit is contained in:
Maxime Lalo 2023-10-09 15:58:41 +02:00
parent d8f24721cb
commit ae28122852
5 changed files with 93 additions and 55 deletions

View File

@ -26,6 +26,7 @@ type IProps = {
isOpened: boolean;
onChange: (id: string) => void;
anchorStatus: AnchorStatus;
getFolderCallback: () => Promise<void>;
};
type IState = {
isOpenDeletionModal: boolean;
@ -145,7 +146,7 @@ export default class UserFolder extends React.Component<IProps, IState> {
private async deleteAskedDocument() {
try {
await Documents.getInstance().delete(this.state.selectedDocumentToDelete);
window.location.reload();
await this.props.getFolderCallback();
} catch (e) {
console.error(e);
}

View File

@ -13,6 +13,7 @@ import { AnchorStatus } from "..";
type IProps = {
folder: OfficeFolder;
anchorStatus: AnchorStatus;
getFolderCallback: () => Promise<void>;
};
type IState = {
openedCustomer: string;
@ -76,6 +77,7 @@ export default class ClientSection extends React.Component<IProps, IState> {
isOpened={this.state.openedCustomer === customer.uid}
onChange={this.changeUserFolder}
anchorStatus={this.props.anchorStatus}
getFolderCallback={this.props.getFolderCallback}
/>
);
});

View File

@ -37,6 +37,7 @@ type IPropsClass = IProps & {
isLoading: boolean;
selectedFolder: OfficeFolder | null;
getAnchoringStatus: () => Promise<void>;
getFolderCallback: () => Promise<void>;
};
type IState = {
@ -115,12 +116,20 @@ class FolderInformationClass extends BasePage<IPropsClass, IState> {
/>
</div>
{this.doesFolderHaveCustomer() && (
<ClientSection folder={this.props.selectedFolder} anchorStatus={this.props.isAnchored} />
<ClientSection
folder={this.props.selectedFolder}
anchorStatus={this.props.isAnchored}
getFolderCallback={this.props.getFolderCallback}
/>
)}
</div>
{!this.doesFolderHaveCustomer() && (
<ClientSection folder={this.props.selectedFolder} anchorStatus={this.props.isAnchored} />
<ClientSection
folder={this.props.selectedFolder}
anchorStatus={this.props.isAnchored}
getFolderCallback={this.props.getFolderCallback}
/>
)}
<div className={classes["button-container"]}>
@ -471,6 +480,7 @@ export default function FolderInformation(props: IProps) {
isLoading={isLoading}
selectedFolder={selectedFolder}
getAnchoringStatus={getAnchoringStatus}
getFolderCallback={getFolder}
/>
);
}

View File

@ -8,6 +8,7 @@ import { AnchorStatus } from "@Front/Components/Layouts/Folder/FolderInformation
type IProps = {
folder: OfficeFolder;
anchorStatus: AnchorStatus;
getFolderCallback: () => Promise<void>;
};
type IState = {
openedCustomer: string;
@ -53,6 +54,7 @@ export default class ClientSection extends React.Component<IProps, IState> {
onChange={this.changeUserFolder}
anchorStatus={this.props.anchorStatus}
isArchived
getFolderCallback={this.props.getFolderCallback}
/>
);
});

View File

@ -26,6 +26,7 @@ type IPropsClass = IProps & {
isLoading: boolean;
selectedFolder: OfficeFolder | null;
isAnchored: AnchorStatus;
getFolderCallback: () => Promise<void>;
};
type IState = {
@ -54,68 +55,80 @@ class FolderInformationClass extends BasePage<IPropsClass, IState> {
return (
<DefaultNotaryDashboard title={"Dossier"} onSelectedFolder={this.onSelectedFolder} isArchived={true}>
{!this.props.isLoading && (
<div className={classes["root"]}>
{this.state.selectedFolder ? (
<div className={classes["folder-informations"]}>
<div className={classes["folder-header"]}>
<div className={classes["header"]}>
<div className={classes["title"]}>
<Typography typo={ITypo.H1Bis}>Informations du dossier</Typography>
<div className={classes["root"]}>
{this.state.selectedFolder ? (
<div className={classes["folder-informations"]}>
<div className={classes["folder-header"]}>
<div className={classes["header"]}>
<div className={classes["title"]}>
<Typography typo={ITypo.H1Bis}>Informations du dossier</Typography>
</div>
<Link href={redirectPathEditCollaborators}>
<Button variant={EButtonVariant.LINE} icon={ChevronIcon}>
Modifier les collaborateurs
</Button>
</Link>
</div>
<Link href={redirectPathEditCollaborators}>
<Button variant={EButtonVariant.LINE} icon={ChevronIcon}>
Modifier les collaborateurs
</Button>
</Link>
</div>
<FolderBoxInformation
anchorStatus={this.props.isAnchored}
folder={this.state.selectedFolder}
isArchived
type={EFolderBoxInformationType.INFORMATIONS}
/>
<div className={classes["second-box"]}>
<FolderBoxInformation
anchorStatus={this.props.isAnchored}
folder={this.state.selectedFolder}
isArchived
type={EFolderBoxInformationType.DESCRIPTION}
type={EFolderBoxInformationType.INFORMATIONS}
/>
<div className={classes["second-box"]}>
<FolderBoxInformation
anchorStatus={this.props.isAnchored}
folder={this.state.selectedFolder}
isArchived
type={EFolderBoxInformationType.DESCRIPTION}
/>
</div>
<div className={classes["second-box"]}>
<FolderBoxInformation
anchorStatus={this.props.isAnchored}
folder={this.state.selectedFolder}
isArchived
type={EFolderBoxInformationType.ARCHIVED_DESCRIPTION}
/>
</div>
<div className={classes["progress-bar"]}>
<QuantityProgressBar title="Complétion du dossier" total={100} currentNumber={0} />
</div>
{this.doesFolderHaveCustomer() && (
<ClientSection
folder={this.state.selectedFolder}
anchorStatus={this.props.isAnchored}
getFolderCallback={this.props.getFolderCallback}
/>
)}
</div>
<div className={classes["second-box"]}>
<FolderBoxInformation
anchorStatus={this.props.isAnchored}
{!this.doesFolderHaveCustomer() && (
<ClientSection
folder={this.state.selectedFolder}
isArchived
type={EFolderBoxInformationType.ARCHIVED_DESCRIPTION}
anchorStatus={this.props.isAnchored}
getFolderCallback={this.props.getFolderCallback}
/>
)}
<div className={classes["button-container"]}>
<Button variant={EButtonVariant.GHOST} onClick={this.restoreFolder}>
Restaurer le dossier
</Button>
</div>
<div className={classes["progress-bar"]}>
<QuantityProgressBar title="Complétion du dossier" total={100} currentNumber={0} />
</div>
) : (
<div className={classes["no-folder-selected"]}>
<Typography typo={ITypo.H1Bis}>Informations du dossier</Typography>
<div className={classes["choose-a-folder"]}>
<Typography typo={ITypo.P_18} color={ITypoColor.GREY}>
Aucun dossier sélectionné
</Typography>
</div>
{this.doesFolderHaveCustomer() && <ClientSection folder={this.state.selectedFolder} anchorStatus={this.props.isAnchored} />}
</div>
{!this.doesFolderHaveCustomer() && <ClientSection folder={this.state.selectedFolder} anchorStatus={this.props.isAnchored} />}
<div className={classes["button-container"]}>
<Button variant={EButtonVariant.GHOST} onClick={this.restoreFolder}>
Restaurer le dossier
</Button>
</div>
</div>
) : (
<div className={classes["no-folder-selected"]}>
<Typography typo={ITypo.H1Bis}>Informations du dossier</Typography>
<div className={classes["choose-a-folder"]}>
<Typography typo={ITypo.P_18} color={ITypoColor.GREY}>
Aucun dossier sélectionné
</Typography>
</div>
</div>
)}
</div>
)}
</div>
)}
{this.props.isLoading && (
<div className={classes["loader-container"]}>
@ -181,7 +194,7 @@ export default function FolderInformation(props: IProps) {
folderUid = folderUid as string;
const getAnchoringStatus = useCallback(async () => {
if(!folderUid) return;
if (!folderUid) return;
setIsLoading(true);
try {
const anchorStatus = await OfficeFolderAnchors.getInstance().getByUid(folderUid as string);
@ -237,5 +250,15 @@ export default function FolderInformation(props: IProps) {
getFolder();
}, [getFolder]);
return <FolderInformationClass {...props} selectedFolderUid={folderUid} selectedFolder={selectedFolder} router={router} isLoading={isLoading} isAnchored={isAnchored} />;
return (
<FolderInformationClass
{...props}
selectedFolderUid={folderUid}
selectedFolder={selectedFolder}
router={router}
isLoading={isLoading}
isAnchored={isAnchored}
getFolderCallback={getFolder}
/>
);
}