Skip to content
Snippets Groups Projects
Commit db97121b authored by HSoreide's avatar HSoreide
Browse files

Ingredients can be removed from the fridge

parent a24adfdf
No related branches found
No related tags found
2 merge requests!42Hs frontend recipes,!41Hs frontend recipes
......@@ -9,10 +9,7 @@ import javafx.fxml.Initializable;
import javafx.scene.Node;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Dialog;
import javafx.scene.control.DialogPane;
import javafx.scene.control.*;
import javafx.stage.Stage;
import no.ntnu.idatt1002.demo.data.Economics.Expense;
import no.ntnu.idatt1002.demo.data.Economics.FileHandling;
......@@ -22,6 +19,7 @@ import no.ntnu.idatt1002.demo.data.recipes.*;
import java.io.IOException;
import java.net.URL;
import java.util.List;
import java.util.Optional;
import java.util.ResourceBundle;
......@@ -37,7 +35,10 @@ public class SuggestRecipesController implements Initializable {
@FXML
private Button goBackBtn;
private ObservableList<FoodItem> fridge;
@FXML
private ListView<String> fridgeList;
private ObservableList<String> fridge;
private ObservableList<Recipe> recipes;
......@@ -61,7 +62,18 @@ public class SuggestRecipesController implements Initializable {
}else if(clickedButton.get() == ButtonType.CANCEL) {
System.out.println("Close the dialog");
}
}
@FXML
private void removeIngredient(ActionEvent event) throws IOException {
System.out.println("Remove the selected from fridge!");
String toRemove = fridgeList.getSelectionModel().getSelectedItem();
ingredientsAtHand.removeIngredient(FoodItem.valueOf(toRemove.toUpperCase()));
//TODO: Remove toUppercase solution above.
//TODO: Consider factoring out to a update method.
fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand().stream().map(foodItem -> foodItem.label).toList());
fridgeList.setItems(fridge);
}
......@@ -85,7 +97,11 @@ public class SuggestRecipesController implements Initializable {
public void initialize(URL url, ResourceBundle resourceBundle) {
ingredientsAtHand = FileHandler.readIngredientsAtHand("Fridge");
fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand());
/*fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand());*/
fridge = FXCollections.observableArrayList(ingredientsAtHand.getIngredientsAtHand().stream().map(foodItem -> foodItem.label).toList());
List<String> fridgeLabels = fridge;
/*List<String> fridgeLabels = fridge.stream().map(foodItem -> foodItem.label).toList();*/
fridgeList.setItems(fridge);
recipeRegister = FileHandler.readRecipeRegister("Recipes");
recipes = FXCollections.observableArrayList(recipeRegister.getRecipes());
......
......@@ -26,10 +26,18 @@
</Label>
</children>
</Pane>
<ListView prefHeight="472.0" prefWidth="421.0" />
<ListView fx:id="fridgeList" prefHeight="470.0" prefWidth="378.0">
<VBox.margin>
<Insets right="20.0" />
</VBox.margin></ListView>
<Pane prefHeight="47.0" prefWidth="421.0">
<children>
<Button fx:id="addToFridgeBtn" layoutX="80.0" layoutY="9.0" mnemonicParsing="false" onAction="#addIngredient" text="Add another available ingredient">
<Button fx:id="addToFridgeBtn" layoutX="138.0" layoutY="9.0" mnemonicParsing="false" onAction="#addIngredient" text="Add another available ingredient">
<font>
<Font size="14.0" />
</font>
</Button>
<Button fx:id="removeBtn" layoutX="31.0" layoutY="11.0" mnemonicParsing="false" onAction="#removeIngredient" text="Remove">
<font>
<Font size="14.0" />
</font>
......
......@@ -50,7 +50,7 @@ class FileHandlerTest {
@DisplayName("Write recipe register correctly to file as text.")
void writeRecipeRegisterToFile() throws FileNotFoundException {
assertAll(() -> FileHandler.writeRegister(recipeRegister, "RecipeRegister"));
FileHandler.readToTerminal("RecipeRegister");
//FileHandler.readToTerminal("RecipeRegister");
}
@Test
......@@ -66,7 +66,7 @@ class FileHandlerTest {
// Write the register object to file and read to terminal:
FileHandler.writeRegister(registerReadFromTestFile, "ReadAndWrittenRegister");
FileHandler.readToTerminal("ReadAndWrittenRegister");
//FileHandler.readToTerminal("ReadAndWrittenRegister");
// Another iteration to spot accumulating spaces or new lines.
RecipeRegister secondRegister = FileHandler.readRecipeRegister("ReadAndWrittenRegister");
......@@ -82,7 +82,7 @@ class FileHandlerTest {
@DisplayName("Write ingredients at hand to file.")
void writeIngredientsAtHandToFile() throws FileNotFoundException {
assertAll(() -> FileHandler.writeIngredientsAtHand(ingredientsAtHand, "AtHandRegister"));
FileHandler.readToTerminal("AtHandRegister");
//FileHandler.readToTerminal("AtHandRegister");
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment