From 33d4c93ada76bc292d98a9e3c404520b5b5f0f6c Mon Sep 17 00:00:00 2001 From: Sidney Alcantara Date: Sat, 18 Jun 2022 14:15:01 +1000 Subject: [PATCH] fix date filters crashing when value is null --- src/components/TableToolbar/Filters/Filters.tsx | 6 +++--- src/hooks/useFirestoreCollectionWithAtom.ts | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/components/TableToolbar/Filters/Filters.tsx b/src/components/TableToolbar/Filters/Filters.tsx index d4236f95..aa9d509c 100644 --- a/src/components/TableToolbar/Filters/Filters.tsx +++ b/src/components/TableToolbar/Filters/Filters.tsx @@ -1,7 +1,7 @@ import { useState, useEffect } from "react"; import { useAtom } from "jotai"; import useMemoValue from "use-memo-value"; -import { isEmpty } from "lodash-es"; +import { isEmpty, isDate } from "lodash-es"; import { Tab, @@ -42,9 +42,9 @@ import type { TableFilter } from "@src/types/table"; const shouldDisableApplyButton = (value: any) => isEmpty(value) && + !isDate(value) && typeof value !== "boolean" && - typeof value !== "number" && - typeof value !== "object"; + typeof value !== "number"; enum FilterType { yourFilter = "local_filter", diff --git a/src/hooks/useFirestoreCollectionWithAtom.ts b/src/hooks/useFirestoreCollectionWithAtom.ts index 6f664fbb..85664ad6 100644 --- a/src/hooks/useFirestoreCollectionWithAtom.ts +++ b/src/hooks/useFirestoreCollectionWithAtom.ts @@ -347,6 +347,7 @@ export const tableFiltersToFirestoreFilters = (filters: TableFilter[]) => { for (const filter of filters) { if (filter.operator.startsWith("date-")) { + if (!filter.value) continue; const filterDate = "toDate" in filter.value ? filter.value.toDate() : filter.value; const [startDate, endDate] = getDateRange(filterDate);