🐛 Fixing folders order
This commit is contained in:
parent
ff3d607186
commit
6029a21760
@ -1,12 +1,12 @@
|
|||||||
import { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard";
|
import { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard";
|
||||||
|
import Module from "@Front/Config/Module";
|
||||||
|
import { EDocumentStatus } from "le-coffre-resources/dist/Customer/Document";
|
||||||
import Link from "next/link";
|
import Link from "next/link";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
import FolderContainer from "../FolderContainer";
|
import FolderContainer from "../FolderContainer";
|
||||||
import classes from "./classes.module.scss";
|
import classes from "./classes.module.scss";
|
||||||
import Module from "@Front/Config/Module";
|
|
||||||
import { EDocumentStatus } from "le-coffre-resources/dist/Customer/Document";
|
|
||||||
|
|
||||||
type IProps = {
|
type IProps = {
|
||||||
folders: IDashBoardFolder[];
|
folders: IDashBoardFolder[];
|
||||||
@ -22,40 +22,52 @@ type IPropsClass = IProps & {
|
|||||||
type IState = {};
|
type IState = {};
|
||||||
|
|
||||||
class FolderListClass extends React.Component<IPropsClass, IState> {
|
class FolderListClass extends React.Component<IPropsClass, IState> {
|
||||||
public override render(): JSX.Element {
|
private redirectPath: string = this.props.isArchived
|
||||||
const redirectPath: string = this.props.isArchived
|
|
||||||
? Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.pages.FolderInformation.props.path
|
? Module.getInstance().get().modules.pages.Folder.pages.FolderArchived.pages.FolderInformation.props.path
|
||||||
: Module.getInstance().get().modules.pages.Folder.pages.FolderInformation.props.path;
|
: Module.getInstance().get().modules.pages.Folder.pages.FolderInformation.props.path;
|
||||||
|
public override render(): JSX.Element {
|
||||||
return (
|
return (
|
||||||
<div className={classes["root"]}>
|
<div className={classes["root"]}>
|
||||||
{this.props.folders
|
{this.renderFolders()}
|
||||||
.sort((folder) => {
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private renderFolders(): JSX.Element[] {
|
||||||
|
const pendingFolders = this.props.folders
|
||||||
|
.filter((folder) => {
|
||||||
const pendingDocuments = (folder.documents ?? []).filter(
|
const pendingDocuments = (folder.documents ?? []).filter(
|
||||||
(document) => document.document_status === EDocumentStatus.DEPOSITED,
|
(document) => document.document_status === EDocumentStatus.DEPOSITED,
|
||||||
);
|
);
|
||||||
return pendingDocuments.length >= 1 ? -1 : 1;
|
return pendingDocuments.length >= 1;
|
||||||
})
|
})
|
||||||
.sort((folder1, folder2) => {
|
.sort((folder1, folder2) => {
|
||||||
return folder1.created_at! < folder2.created_at! ? -1 : 1;
|
return folder1.created_at! > folder2.created_at! ? -1 : 1;
|
||||||
|
});
|
||||||
|
|
||||||
|
const otherFolders = this.props.folders
|
||||||
|
.filter((folder) => {
|
||||||
|
const pendingDocuments = (folder.documents ?? []).filter(
|
||||||
|
(document) => document.document_status === EDocumentStatus.DEPOSITED,
|
||||||
|
);
|
||||||
|
return pendingDocuments.length === 0;
|
||||||
})
|
})
|
||||||
.sort((folder1, folder2) => {
|
.sort((folder1, folder2) => {
|
||||||
return folder1.folder_number! < folder2.folder_number! ? -1 : 1;
|
return folder1.created_at! > folder2.created_at! ? -1 : 1;
|
||||||
})
|
});
|
||||||
.map((folder) => {
|
|
||||||
|
return [...pendingFolders, ...otherFolders].map((folder) => {
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
onClick={this.props.onCloseLeftSide}
|
onClick={this.props.onCloseLeftSide}
|
||||||
key={folder.uid}
|
key={folder.uid}
|
||||||
className={folder.uid === this.props.selectedFolder ? classes["active"] : ""}>
|
className={folder.uid === this.props.selectedFolder ? classes["active"] : ""}>
|
||||||
<Link href={redirectPath.replace("[folderUid]", folder.uid ?? "")}>
|
<Link href={this.redirectPath.replace("[folderUid]", folder.uid ?? "")}>
|
||||||
<FolderContainer folder={folder} onSelectedFolder={this.props.onSelectedFolder} />;
|
<FolderContainer folder={folder} onSelectedFolder={this.props.onSelectedFolder} />;
|
||||||
</Link>
|
</Link>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
})}
|
});
|
||||||
;
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user