/**
 * @author Samuel Wolff
 * noch nicht getestet
 */
// TODO Alle Zutaten einlesen und Listview mit zutatListView Objekten füllen

package de.subway_surfers.vpr_app;

import Logik.Kind;
import Logik.Zutat;
import RestAPISchnittstelle.RestApiClient;
import com.google.gson.*;
import javafx.collections.FXCollections;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ListView;
import javafx.scene.control.SelectionMode;

import java.util.ArrayList;

public class InhaltsstoffeFilternController {

	private @FXML ListView<Zutat> zutatListView;

	private @FXML CheckBox speichernCheckBox;

	private @FXML Button abbrechenButton;

	private @FXML Button fortfahrenButton;

	private ArrayList<Zutat> zutaten;

	/**
	 * Initialisert sie InhaltsstoffeFiltern View
	 * @author Sven Alteköster
	 */
	public void initialize(){
		//mehrere Inhaltsstoffe können ausgewählt werden
		zutatListView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);

		//Befüllen der ListView mit allen existierenden Inhaltsstoffen
		RestApiClient api = new RestApiClient();
		String json = api.get("Inhaltsstoff");

		zutaten = new ArrayList<>();
		Gson gson = new Gson();

		JsonElement je = JsonParser.parseString(json);
		JsonArray ja = je.getAsJsonArray();
		for (JsonElement e : ja) {
			JsonObject jo = e.getAsJsonObject();
			zutaten.add(gson.fromJson(jo, Zutat.class));
		}
		zutatListView.setItems(FXCollections.observableArrayList(zutaten));
	}

}
