Filter now include clients

This commit is contained in:
Maxime Lalo 2023-05-03 13:52:21 +02:00
parent 6e89190b82
commit f5729af068

View File

@ -1,9 +1,10 @@
import React from "react";
import classes from "./classes.module.scss";
import LoopIcon from "@Assets/Icons/loop.svg"; import LoopIcon from "@Assets/Icons/loop.svg";
import Image from "next/image";
import Typography, { ITypo } from "../Typography";
import { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard"; import { IDashBoardFolder } from "@Front/Components/LayoutTemplates/DefaultNotaryDashboard";
import Image from "next/image";
import React from "react";
import Typography, { ITypo } from "../Typography";
import classes from "./classes.module.scss";
type IProps = { type IProps = {
folders: IDashBoardFolder[]; folders: IDashBoardFolder[];
@ -53,10 +54,24 @@ export default class SearchBar extends React.Component<IProps, IState> {
} }
private filterFolders(event: React.ChangeEvent<HTMLInputElement>) { private filterFolders(event: React.ChangeEvent<HTMLInputElement>) {
const filteredFolders: IDashBoardFolder[] = this.props.folders.filter((folder) =>{ const filteredFolders: IDashBoardFolder[] = this.props.folders.filter((folder) => {
const name = folder.name.toLowerCase(); const name = folder.name.toLowerCase();
const number = folder.folder_number.toLowerCase(); const number = folder.folder_number.toLowerCase();
const value = event.target.value.toLowerCase(); const value = event.target.value.toLowerCase();
if (folder.office_folder_has_customers) {
const customersNames = folder.office_folder_has_customers?.reduce((acc: string[], customer) => {
return acc.concat(
`${customer.customer.contact.first_name.toLowerCase()} ${customer.customer.contact.last_name.toLowerCase()}`,
);
}, []);
let namesIncludesValue = false;
customersNames.forEach((name) => {
if (name.includes(value)) namesIncludesValue = true;
});
return name.includes(value) || number.includes(value) || namesIncludesValue;
}
return name.includes(value) || number.includes(value); return name.includes(value) || number.includes(value);
}); });
return filteredFolders; return filteredFolders;