Skip to content
Snippets Groups Projects
HeaderController.java 1.5 KiB
Newer Older
package mi.hdm.controllers;

import javafx.fxml.FXML;
import javafx.scene.control.TextField;
import mi.hdm.recipes.Recipe;
import mi.hdm.recipes.RecipeManager;
import mi.hdm.recipes.RecipeSearch;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

import java.util.List;


public class HeaderController extends BaseController {
    private final static Logger log = LogManager.getLogger(HeaderController.class);

    @FXML
    private TextField searchBox;

    private final RecipeManager recipeManager;
    private List<Recipe> lastSearchResults;

    public HeaderController(RecipeManager recipeManager) {
        this.recipeManager = recipeManager;
        lastSearchResults = recipeManager.getRecipes();
    }

    @FXML
    public void changeSceneToHome() {
        changeScene(View.MAIN);
    }

    @FXML
    public void changeSceneToShoppingList() {
        changeScene(View.SHOPPINGLIST_VIEW);
    }

    @FXML
    public void changeSceneToMealPlan() {
        changeScene(View.MEALPLAN_VIEW);
    }

    @FXML
    public void searchByQuery() {
        String query = searchBox.getText();
        log.debug("User submitted search box");
        //RecipeSearch recipeSearch = new RecipeSearch(recipeManager.getRecipes()); //not needed when methods are static
        lastSearchResults = RecipeSearch.searchByQuery(recipeManager.getRecipes(), query);
        System.out.println("Results: ");
        lastSearchResults.forEach(result -> System.out.println("   " + result.getName()));