From 9a622df4f3f13d1dcb808351eeceec4625f17208 Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Fri, 15 Nov 2024 00:10:14 -0800 Subject: [PATCH 1/4] fix category menu stll presents while the list is empty --- src/pages/Search/AdvancedSearchFilters.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pages/Search/AdvancedSearchFilters.tsx b/src/pages/Search/AdvancedSearchFilters.tsx index 4398f89e3ecc1..ba7b71c7fecc9 100644 --- a/src/pages/Search/AdvancedSearchFilters.tsx +++ b/src/pages/Search/AdvancedSearchFilters.tsx @@ -28,6 +28,7 @@ import ONYXKEYS from '@src/ONYXKEYS'; import ROUTES from '@src/ROUTES'; import type {SearchAdvancedFiltersForm} from '@src/types/form'; import type {CardList, PersonalDetailsList, Policy, PolicyTagLists, Report} from '@src/types/onyx'; +import {isEmptyObject} from '@src/types/utils/EmptyObject'; const baseFilterConfig = { date: { @@ -266,7 +267,9 @@ function AdvancedSearchFilters() { const personalDetails = usePersonalDetails(); const [policies = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY); - const [allPolicyCategories = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY_CATEGORIES); + const [allPolicyCategories = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY_CATEGORIES, { + selector: (policyCategories) => Object.fromEntries(Object.entries(policyCategories ?? {}).filter(([_, categories]) => !isEmptyObject(categories))), + }); const singlePolicyCategories = allPolicyCategories[`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${policyID}`]; const [allPolicyTagLists = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY_TAGS); const singlePolicyTagLists = allPolicyTagLists[`${ONYXKEYS.COLLECTION.POLICY_TAGS}${policyID}`]; From 63a2a8c653a348bf494255c055b6739f3562ff51 Mon Sep 17 00:00:00 2001 From: NJ-2020 Date: Fri, 15 Nov 2024 00:26:42 -0800 Subject: [PATCH 2/4] fix eslint error --- src/pages/Search/AdvancedSearchFilters.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/Search/AdvancedSearchFilters.tsx b/src/pages/Search/AdvancedSearchFilters.tsx index ba7b71c7fecc9..74b089ddbaad1 100644 --- a/src/pages/Search/AdvancedSearchFilters.tsx +++ b/src/pages/Search/AdvancedSearchFilters.tsx @@ -268,7 +268,7 @@ function AdvancedSearchFilters() { const [policies = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY); const [allPolicyCategories = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY_CATEGORIES, { - selector: (policyCategories) => Object.fromEntries(Object.entries(policyCategories ?? {}).filter(([_, categories]) => !isEmptyObject(categories))), + selector: (policyCategories) => Object.fromEntries(Object.entries(policyCategories ?? {}).filter(([, categories]) => !isEmptyObject(categories))), }); const singlePolicyCategories = allPolicyCategories[`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${policyID}`]; const [allPolicyTagLists = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY_TAGS); From 71d75b9c6a71002f77418e67470548ff7c9b42b1 Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Mon, 18 Nov 2024 21:50:23 -0800 Subject: [PATCH 3/4] fix category menu still presents in offline mode --- src/pages/Search/AdvancedSearchFilters.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/pages/Search/AdvancedSearchFilters.tsx b/src/pages/Search/AdvancedSearchFilters.tsx index e2fa6a5d92b4a..ae35aeb5dab59 100644 --- a/src/pages/Search/AdvancedSearchFilters.tsx +++ b/src/pages/Search/AdvancedSearchFilters.tsx @@ -29,7 +29,6 @@ import ROUTES from '@src/ROUTES'; import type {SearchAdvancedFiltersForm} from '@src/types/form'; import type {CardList, PersonalDetailsList, Policy, PolicyTagLists, Report} from '@src/types/onyx'; import type {PolicyFeatureName} from '@src/types/onyx/Policy'; -import {isEmptyObject} from '@src/types/utils/EmptyObject'; const baseFilterConfig = { date: { @@ -279,7 +278,13 @@ function AdvancedSearchFilters() { const [policies = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY); const [allPolicyCategories = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY_CATEGORIES, { - selector: (policyCategories) => Object.fromEntries(Object.entries(policyCategories ?? {}).filter(([, categories]) => !isEmptyObject(categories))), + selector: (policyCategories) => + Object.fromEntries( + Object.entries(policyCategories ?? {}).filter(([, categories]) => { + const availableCategories = Object.values(categories ?? {}).filter((category) => category.pendingAction !== CONST.RED_BRICK_ROAD_PENDING_ACTION.DELETE); + return availableCategories.length > 0; + }), + ), }); const singlePolicyCategories = allPolicyCategories[`${ONYXKEYS.COLLECTION.POLICY_CATEGORIES}${policyID}`]; const [allPolicyTagLists = {}] = useOnyx(ONYXKEYS.COLLECTION.POLICY_TAGS); From 1baea20c071cd21bd6086f1256ff0bcaa86b23ea Mon Sep 17 00:00:00 2001 From: Novell <76243292+NJ-2020@users.noreply.github.com> Date: Mon, 18 Nov 2024 21:51:21 -0800 Subject: [PATCH 4/4] revert isEmptyObject import --- src/pages/Search/AdvancedSearchFilters.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/Search/AdvancedSearchFilters.tsx b/src/pages/Search/AdvancedSearchFilters.tsx index ae35aeb5dab59..60c01e6f75f0f 100644 --- a/src/pages/Search/AdvancedSearchFilters.tsx +++ b/src/pages/Search/AdvancedSearchFilters.tsx @@ -29,6 +29,7 @@ import ROUTES from '@src/ROUTES'; import type {SearchAdvancedFiltersForm} from '@src/types/form'; import type {CardList, PersonalDetailsList, Policy, PolicyTagLists, Report} from '@src/types/onyx'; import type {PolicyFeatureName} from '@src/types/onyx/Policy'; +import {isEmptyObject} from '@src/types/utils/EmptyObject'; const baseFilterConfig = { date: {