From fb0402eb646f9c52ef5aa195558bcada9f1f08cc Mon Sep 17 00:00:00 2001 From: Tze Zhe Brandon Lim Date: Sat, 13 Apr 2024 16:12:31 -0400 Subject: [PATCH] Fix fuzzy search --- packages/frontend/components/Form/Select.tsx | 3 ++- packages/frontend/components/Plan/AddPlanModal.tsx | 2 ++ packages/frontend/components/Plan/EditPlanModal.tsx | 3 +++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/frontend/components/Form/Select.tsx b/packages/frontend/components/Form/Select.tsx index 84b23b467..9dd1303c4 100644 --- a/packages/frontend/components/Form/Select.tsx +++ b/packages/frontend/components/Form/Select.tsx @@ -52,6 +52,7 @@ export const PlanSelect: React.FC = ({ ? (option: FilterOptionOption, inputValue: string) => { if (inputValue.length !== 0) { const list = new Fuse(options, { + keys: ["value"], isCaseSensitive: false, shouldSort: true, ignoreLocation: true, @@ -60,7 +61,7 @@ export const PlanSelect: React.FC = ({ threshold: 0.4, }).search(inputValue); return list - .map((element) => element.item) + .map((element) => element.item.value) .includes(option.data.value); } else { return true; diff --git a/packages/frontend/components/Plan/AddPlanModal.tsx b/packages/frontend/components/Plan/AddPlanModal.tsx index 8f74b54df..2285dd7b1 100644 --- a/packages/frontend/components/Plan/AddPlanModal.tsx +++ b/packages/frontend/components/Plan/AddPlanModal.tsx @@ -321,6 +321,8 @@ export const AddPlanModal: React.FC = ({ isConcentrationRequired && "Concentration is required", }} + isSearchable + useFuzzySearch /> )} {majorName && !isValidatedMajor && ( diff --git a/packages/frontend/components/Plan/EditPlanModal.tsx b/packages/frontend/components/Plan/EditPlanModal.tsx index fe9034cff..b1ff0172d 100644 --- a/packages/frontend/components/Plan/EditPlanModal.tsx +++ b/packages/frontend/components/Plan/EditPlanModal.tsx @@ -302,6 +302,7 @@ export const EditPlanModal: React.FC = ({ plan }) => { }} rules={{ required: "Major is required." }} isSearchable + useFuzzySearch isDisabled={!catalogYear} /> {majorHasConcentrations && ( @@ -318,6 +319,8 @@ export const EditPlanModal: React.FC = ({ plan }) => { isConcentrationRequired && "Concentration is required", }} + isSearchable + useFuzzySearch /> )} {majorName && !isValidatedMajor && (