From 94d2ee0cc3d0eb7cd917eaca0735fb612a3841b3 Mon Sep 17 00:00:00 2001 From: cl117 Date: Fri, 5 Apr 2024 16:29:03 -0600 Subject: [PATCH] add filters bug fixed --- .../Search/AdvancedSearch/AdditionalFilter.js | 25 +++++++++--------- .../Search/AdvancedSearch/Options.js | 4 +-- .../Search/StandardSearch/StandardSearch.js | 26 +++++-------------- 3 files changed, 20 insertions(+), 35 deletions(-) diff --git a/frontend/components/Search/AdvancedSearch/AdditionalFilter.js b/frontend/components/Search/AdvancedSearch/AdditionalFilter.js index b4118667..2fcf0ad3 100644 --- a/frontend/components/Search/AdvancedSearch/AdditionalFilter.js +++ b/frontend/components/Search/AdvancedSearch/AdditionalFilter.js @@ -23,11 +23,17 @@ export default function AdditionalFilter(properties) { properties.setExtraFilters(newFilters); }, [selectedPredicate, selectedValue]); - console.log("selectedPredicate: ", selectedPredicate); - console.log("selectedValue: ", selectedValue); - console.log("predicates: ", properties.predicates); - - console.log(properties); + useEffect(() => { + if (properties.index < properties.extraFilters.length) { + const currentFilter = properties.extraFilters[properties.index]; + setSelectedPredicate(currentFilter.filter || ""); + setSelectedValue(currentFilter.value || ""); + } else { + // Reset local state if this filter no longer exists + setSelectedPredicate(""); + setSelectedValue(""); + } + }, [properties.extraFilters.length, properties.index]); return (
@@ -49,9 +55,6 @@ export default function AdditionalFilter(properties) { }} /> )} - {
- {shortName(properties.extraFilters[properties.index].value)} -
} {properties.extraFilters[properties.index].filter && ( { - console.log('delete: ', properties.index); - const newFilters = properties.handleDelete(properties.extraFilters[properties.index]); - properties.setExtraFilters(newFilters); + onClick={() => { + properties.handleDelete(properties.index); }} > diff --git a/frontend/components/Search/AdvancedSearch/Options.js b/frontend/components/Search/AdvancedSearch/Options.js index c633f6c7..bdf5f322 100644 --- a/frontend/components/Search/AdvancedSearch/Options.js +++ b/frontend/components/Search/AdvancedSearch/Options.js @@ -32,13 +32,11 @@ export default function Options(properties) { loadPredicates(setPredicates, dispatch); }, []); - console.log('Option predicates: ', predicates); - console.log(properties); const filterDisplay = properties.extraFilters.map((element, index) => { return ( console.log(collection.label)); + const constructSearch = () => { let collectionUrls = ''; for (const collection of collections) { @@ -92,26 +92,12 @@ export default function StandardSearch() { )}${constructExtraFilters()}`; setUrl(url); }; - - console.log("S: ", extraFilters); - // const handleDelete = (delFilter) => { - // console.log("delFilters: ", delFilter); - // const leftFilters = extraFilters.filter(extraFilter => extraFilter !== delFilter); - // console.log(leftFilters); // Log the updated filters first - // setExtraFilters(leftFilters); // Update the state - // console.log(extraFilters); // Log the state after the update (will still be the old value) - // return leftFilters; - // }; - - const handleDelete = (delFilter) => { - console.log("delFilters: ", delFilter); - setExtraFilters((prevFilters) => { - const leftFilters = prevFilters.filter(extraFilter => extraFilter !== delFilter); - console.log("Updated Filters (inside setExtraFilters): ", leftFilters); - return leftFilters; - }); - }; + const handleDelete = (delFilterIndex) => { + setExtraFilters(prevFilters => { + return prevFilters.filter((_, index) => index !== delFilterIndex); + }); + }; const addFilter = filters => {