Suche + getTourData/getTourNamen doppelte Daten bugfix
This commit is contained in:
		@@ -175,4 +175,19 @@ public class TourPlaner{
 | 
				
			|||||||
            FileHelper.openDefault(path);
 | 
					            FileHelper.openDefault(path);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Sucht alle touren die den gegebenen tournamen enthalten
 | 
				
			||||||
 | 
					     * @param tourname Name der zu suchen ist
 | 
				
			||||||
 | 
					     * @return Alle touren die auf den Suchterm passen
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public static ArrayList<Tour> sucheTour(String tourname){
 | 
				
			||||||
 | 
					        ArrayList<Tour> touren = new ArrayList<>();
 | 
				
			||||||
 | 
					        getAllTours().forEach(t ->{
 | 
				
			||||||
 | 
					            if(t.getName().contains(tourname)){
 | 
				
			||||||
 | 
					                touren.add(t);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        });
 | 
				
			||||||
 | 
					        return touren;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -92,18 +92,18 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void syncTour(String selectedItem){
 | 
					    private void syncTour(String selectedItem){
 | 
				
			||||||
        beschreibungTableView.getItems().removeIf(s -> true); //Leert die Table View komplett
 | 
					        beschreibungTableView.getItems().clear(); //Leert die Table View komplett
 | 
				
			||||||
        beschreibungTableView.getItems().add(this.viewModel.getTour(selectedItem));
 | 
					        beschreibungTableView.getItems().add(this.viewModel.getTour(selectedItem));
 | 
				
			||||||
        mapImageView.setImage(this.viewModel.getImage(selectedItem));
 | 
					        mapImageView.setImage(this.viewModel.getImage(selectedItem));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void syncTourNamen(){
 | 
					    private void syncTourNamen(){
 | 
				
			||||||
        TourListView.getItems().removeIf(s -> true);
 | 
					        TourListView.getItems().clear();
 | 
				
			||||||
        TourListView.setItems(this.viewModel.getTourNamen());
 | 
					        TourListView.setItems(this.viewModel.getTourNamen());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private void syncLogs(){
 | 
					    private void syncLogs(){
 | 
				
			||||||
        logTableView.getItems().removeIf(s -> true);
 | 
					        logTableView.getItems().clear();
 | 
				
			||||||
        logTableView.setItems(this.viewModel.getLogData());
 | 
					        logTableView.setItems(this.viewModel.getLogData());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -126,7 +126,7 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        //Log anzeigen
 | 
					        //Log anzeigen
 | 
				
			||||||
        logTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinelogsvorhanden")));
 | 
					        logTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinelogsvorhanden")));
 | 
				
			||||||
        logTableView.getItems().removeIf(s -> true);
 | 
					        logTableView.getItems().clear();
 | 
				
			||||||
        logTableView.setItems(this.viewModel.getLogData());
 | 
					        logTableView.setItems(this.viewModel.getLogData());
 | 
				
			||||||
        logDauerCol.setCellValueFactory(new PropertyValueFactory<Log, String>("dauer"));
 | 
					        logDauerCol.setCellValueFactory(new PropertyValueFactory<Log, String>("dauer"));
 | 
				
			||||||
        logStreckeCol.setCellValueFactory(new PropertyValueFactory<Log, String>("strecke"));
 | 
					        logStreckeCol.setCellValueFactory(new PropertyValueFactory<Log, String>("strecke"));
 | 
				
			||||||
@@ -138,6 +138,10 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
        logBemerkungCol.setCellValueFactory(new PropertyValueFactory<Log, String>("bemerkung"));
 | 
					        logBemerkungCol.setCellValueFactory(new PropertyValueFactory<Log, String>("bemerkung"));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        mapImageView.setImage(this.viewModel.getImage(this.viewModel.getSelectedTour().getName()));
 | 
					        mapImageView.setImage(this.viewModel.getImage(this.viewModel.getSelectedTour().getName()));
 | 
				
			||||||
 | 
					        if(this.viewModel.isSucheAktiv()){
 | 
				
			||||||
 | 
					            this.viewModel.setSucheAktiv(false);
 | 
				
			||||||
 | 
					            syncTourNamen();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
@@ -165,7 +169,7 @@ public class TourplanerController implements Initializable {
 | 
				
			|||||||
     */
 | 
					     */
 | 
				
			||||||
    @FXML
 | 
					    @FXML
 | 
				
			||||||
    private void delTour(){
 | 
					    private void delTour(){
 | 
				
			||||||
        this.beschreibungTableView.getItems().removeIf(s -> true); //löscht alles aus der tabelle
 | 
					        this.beschreibungTableView.getItems().clear(); //löscht alles aus der tabelle
 | 
				
			||||||
        this.titleTextView.setText(ConfigHelper.getLangIniString("keinetourselected"));
 | 
					        this.titleTextView.setText(ConfigHelper.getLangIniString("keinetourselected"));
 | 
				
			||||||
        this.viewModel.delTour();
 | 
					        this.viewModel.delTour();
 | 
				
			||||||
        logTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinetourselected")));
 | 
					        logTableView.setPlaceholder(new Label( ConfigHelper.getLangIniString("keinetourselected")));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,7 +28,8 @@ public class ViewModel {
 | 
				
			|||||||
    //Log
 | 
					    //Log
 | 
				
			||||||
    private final ObservableList<Log> logData = FXCollections.observableArrayList();
 | 
					    private final ObservableList<Log> logData = FXCollections.observableArrayList();
 | 
				
			||||||
    private Log selectedLog;
 | 
					    private Log selectedLog;
 | 
				
			||||||
 | 
					// Suche
 | 
				
			||||||
 | 
					    private boolean sucheAktiv;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public Image getImage(String tourname){
 | 
					    public Image getImage(String tourname){
 | 
				
			||||||
@@ -457,7 +458,7 @@ public class ViewModel {
 | 
				
			|||||||
        getTourData().forEach(s -> {
 | 
					        getTourData().forEach(s -> {
 | 
				
			||||||
            namen.add(s.getName());
 | 
					            namen.add(s.getName());
 | 
				
			||||||
        });
 | 
					        });
 | 
				
			||||||
        tourNamen.removeAll();
 | 
					        tourNamen.clear();
 | 
				
			||||||
        tourNamen.addAll(namen);
 | 
					        tourNamen.addAll(namen);
 | 
				
			||||||
        return tourNamen;
 | 
					        return tourNamen;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -479,7 +480,7 @@ public class ViewModel {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public ObservableList<Tour> getTourData() {
 | 
					    public ObservableList<Tour> getTourData() {
 | 
				
			||||||
        tourData.removeAll();
 | 
					        tourData.clear();
 | 
				
			||||||
        tourData.addAll(TourPlaner.getAllTours());
 | 
					        tourData.addAll(TourPlaner.getAllTours());
 | 
				
			||||||
        return tourData;
 | 
					        return tourData;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@@ -514,7 +515,20 @@ public class ViewModel {
 | 
				
			|||||||
                    ConfigHelper.getLangIniString("suchfeldleer"),
 | 
					                    ConfigHelper.getLangIniString("suchfeldleer"),
 | 
				
			||||||
                    ConfigHelper.getLangIniString("suchtextzuerst"));
 | 
					                    ConfigHelper.getLangIniString("suchtextzuerst"));
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
            // TODO: 19.03.2021 Suchlogik
 | 
					         ArrayList<Tour> result = TourPlaner.sucheTour(sucheInput);
 | 
				
			||||||
 | 
					        tourNamen.clear();
 | 
				
			||||||
 | 
					        for (Tour tour:result) {
 | 
				
			||||||
 | 
					            tourNamen.add(tour.getName());
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        this.sucheAktiv = true;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public boolean isSucheAktiv() {
 | 
				
			||||||
 | 
					        return sucheAktiv;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void setSucheAktiv(boolean sucheAktiv) {
 | 
				
			||||||
 | 
					        this.sucheAktiv = sucheAktiv;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user