From 197e1961b4b9b2ab12dc070cd6a76ccb1ef3b369 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 11 Oct 2025 20:37:25 -0400 Subject: fix typo --- src/main/java/design/controller/userinput/menus/SearchMenu.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 8b50265..609ce23 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -23,7 +23,7 @@ public class SearchMenu extends Menu { public List getMenuOptions() { return List.of( new MenuOption("return to main menu", () -> new MainMenu().present()), - new MenuOption("search...", () -> new CourseSearch().search()), + new MenuOption("search...", () -> new CourseSearch().present()), new MenuOption("add difficulty filter...", () -> new FiltersMenu().addFilter(new SortByDifficulty())), new MenuOption("add hole count filter...", () -> new FiltersMenu().addFilter(new SortByHoles())), new MenuOption("add location filter...", () -> new FiltersMenu().addFilter(new SortByLocation())), -- cgit v1.2.3 From fac7fb71260b901a893b5b90aae23e86d6c23550 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sat, 11 Oct 2025 22:24:54 -0400 Subject: Menu cleanup - pass 2 --- .../controller/userinput/menus/SearchMenu.java | 41 ++++++++++++++++------ 1 file changed, 31 insertions(+), 10 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 609ce23..6d9fe26 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -2,10 +2,7 @@ package design.controller.userinput.menus; import design.controller.userinput.Menu; import design.controller.userinput.MenuOption; -import design.model.course_search.SortByDifficulty; -import design.model.course_search.SortByHoles; -import design.model.course_search.SortByLocation; -import design.model.course_search.SortByPar; +import design.model.course_search.*; import java.util.List; @@ -13,6 +10,7 @@ import java.util.List; * The main control panel for course searching. */ public class SearchMenu extends Menu { + private final CurrentSearchQuery query = CurrentSearchQuery.INSTANCE; @Override public String getTitle() { @@ -24,12 +22,35 @@ public class SearchMenu extends Menu { return List.of( new MenuOption("return to main menu", () -> new MainMenu().present()), new MenuOption("search...", () -> new CourseSearch().present()), - new MenuOption("add difficulty filter...", () -> new FiltersMenu().addFilter(new SortByDifficulty())), - new MenuOption("add hole count filter...", () -> new FiltersMenu().addFilter(new SortByHoles())), - new MenuOption("add location filter...", () -> new FiltersMenu().addFilter(new SortByLocation())), - new MenuOption("add par filter...", () -> new FiltersMenu().addFilter(new SortByPar())), - new MenuOption("list filters", () -> new FiltersMenu().present()), - new MenuOption("clear all filters", () -> new FiltersMenu().clearFilters()) + new MenuOption("add difficulty filter...", () -> addFilter(new SortByDifficulty())), + new MenuOption("add hole count filter...", () -> addFilter(new SortByHoles())), + new MenuOption("add location filter...", () -> addFilter(new SortByLocation())), + new MenuOption("add par filter...", () -> addFilter(new SortByPar())), + new MenuOption("list filters", this::printFilters), + new MenuOption("clear all filters", this::clearFilters) ); } + + private void printFilters() { + System.out.println("\nYou are filtering by "); + System.out.println(query.printFilters()); + } + + /* + * Add a new filter to our filter list + */ + public void addFilter(CourseSorter filter) { + query.addFilter(filter); + System.out.println("\nAdded filter.\n"); + new SearchMenu().present(); + } + + /* + * clear all of our filters. + */ + public void clearFilters() { + query.clearFilters(); + System.out.println("\nCleared all filters.\n"); + new SearchMenu().present(); + } } -- cgit v1.2.3 From 91ca0c68bcb71b783336b9d2a2685ae555dec033 Mon Sep 17 00:00:00 2001 From: sowgro Date: Sun, 12 Oct 2025 00:03:55 -0400 Subject: change filter text --- .../controller/userinput/menus/SearchMenu.java | 49 ++++++++++------------ 1 file changed, 23 insertions(+), 26 deletions(-) (limited to 'src/main/java/design/controller/userinput/menus/SearchMenu.java') diff --git a/src/main/java/design/controller/userinput/menus/SearchMenu.java b/src/main/java/design/controller/userinput/menus/SearchMenu.java index 6d9fe26..48aebb0 100644 --- a/src/main/java/design/controller/userinput/menus/SearchMenu.java +++ b/src/main/java/design/controller/userinput/menus/SearchMenu.java @@ -19,21 +19,27 @@ public class SearchMenu extends Menu { @Override public List getMenuOptions() { - return List.of( - new MenuOption("return to main menu", () -> new MainMenu().present()), - new MenuOption("search...", () -> new CourseSearch().present()), - new MenuOption("add difficulty filter...", () -> addFilter(new SortByDifficulty())), - new MenuOption("add hole count filter...", () -> addFilter(new SortByHoles())), - new MenuOption("add location filter...", () -> addFilter(new SortByLocation())), - new MenuOption("add par filter...", () -> addFilter(new SortByPar())), - new MenuOption("list filters", this::printFilters), - new MenuOption("clear all filters", this::clearFilters) - ); - } - - private void printFilters() { - System.out.println("\nYou are filtering by "); - System.out.println(query.printFilters()); + List menuOptions = new java.util.ArrayList<>(); + + menuOptions.add(new MenuOption("return to main menu", () -> new MainMenu().present())); + menuOptions.add(new MenuOption("search...", () -> new CourseSearch().present())); + + menuOptions.add(new MenuOption("sort by difficulty", () -> addFilter(new SortByDifficulty()))); + menuOptions.add(new MenuOption("sort by hole count", () -> addFilter(new SortByHoles()))); + menuOptions.add(new MenuOption("sort by location", () -> addFilter(new SortByLocation()))); + menuOptions.add(new MenuOption("sort by par", () -> addFilter(new SortByPar()))); + + menuOptions.add(new MenuOption("list filters", () -> { + System.out.println("\nYou are filtering by "); + System.out.println(query.printFilters()); + })); + + menuOptions.add(new MenuOption("clear sorting filters", () -> { + query.clearFilters(); + System.out.println("\nCleared all filters.\n"); + this.present(); + })); + return menuOptions; } /* @@ -41,16 +47,7 @@ public class SearchMenu extends Menu { */ public void addFilter(CourseSorter filter) { query.addFilter(filter); - System.out.println("\nAdded filter.\n"); - new SearchMenu().present(); - } - - /* - * clear all of our filters. - */ - public void clearFilters() { - query.clearFilters(); - System.out.println("\nCleared all filters.\n"); - new SearchMenu().present(); + System.out.println("\nAdded sorting filter.\n"); + this.present(); } } -- cgit v1.2.3