From e80e40bb76913ebcaeb5c80f191dc462f883598c Mon Sep 17 00:00:00 2001 From: Allan Carr Date: Tue, 27 Feb 2024 16:37:07 -0800 Subject: [PATCH] IO-2654 Local Storage Filter State for Courtesy Car List Signed-off-by: Allan Carr --- .../courtesy-cars-list.component.jsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx b/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx index e81a71e3e..3bd49d6e7 100644 --- a/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx +++ b/client/src/components/courtesy-cars-list/courtesy-cars-list.component.jsx @@ -17,13 +17,18 @@ import { DateTimeFormatter } from "../../utils/DateFormatter"; import { GenerateDocument } from "../../utils/RenderTemplate"; import { TemplateList } from "../../utils/TemplateConstants"; import { alphaSort } from "../../utils/sorters"; +import useLocalStorage from "../../utils/useLocalStorage"; import { OwnerNameDisplayFunction } from "../owner-name-display/owner-name-display.component"; + export default function CourtesyCarsList({ loading, courtesycars, refetch }) { const [state, setState] = useState({ sortedInfo: {}, - filteredInfo: { text: "" }, }); const [searchText, setSearchText] = useState(""); + const [filter, setFilter] = useLocalStorage( + "filter_courtesy_cars_list", + null + ); const { t } = useTranslation(); const columns = [ @@ -50,6 +55,7 @@ export default function CourtesyCarsList({ loading, courtesycars, refetch }) { dataIndex: "status", key: "status", sorter: (a, b) => alphaSort(a.status, b.status), + filteredValue: filter?.status || null, filters: [ { text: t("courtesycars.status.in"), @@ -112,6 +118,7 @@ export default function CourtesyCarsList({ loading, courtesycars, refetch }) { dataIndex: "readiness", key: "readiness", sorter: (a, b) => alphaSort(a.readiness, b.readiness), + filteredValue: filter?.readiness || null, filters: [ { text: t("courtesycars.readiness.ready"), @@ -227,7 +234,8 @@ export default function CourtesyCarsList({ loading, courtesycars, refetch }) { ]; const handleTableChange = (pagination, filters, sorter) => { - setState({ ...state, filteredInfo: filters, sortedInfo: sorter }); + setState({ ...state, sortedInfo: sorter }); + setFilter(filters); }; const tableData = searchText