diff options
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java | 45 |
1 files changed, 16 insertions, 29 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java index a126cc7..655c7da 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java @@ -18,9 +18,8 @@ public class ManageEmployeesController { private static final Logger LOG = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); @FXML private AnchorPane listEmployeesAP; - @FXML private AnchorPane containerHeader; - @FXML private FlowPane flowPaneEmployeeList; + @FXML private EmployeeListController employeeListController; private final EmployeeService employeeService; private final SpringFXMLLoader fxmlLoader; @@ -87,39 +86,27 @@ public class ManageEmployeesController { } private void updateEmployeeList(String searchString) { + try { - flowPaneEmployeeList.getChildren().clear(); - employeeService - .list() - .stream() - .filter( - employee -> - searchString.trim().isEmpty() - || employee.name() - .toLowerCase() - .contains(searchString.toLowerCase())) - .forEach(this::addEmployeeToFlowPane); + employeeListController.setData( + employeeService + .list() + .stream() + .filter( + employee -> + searchString.trim().isEmpty() + || employee.name() + .toLowerCase() + .contains(searchString.toLowerCase())) + .collect(Collectors.toList()), + this::openEditEmployee, + null); + } catch (ServiceException e) { LOG.error("Could not fetch employee list: {}", e); } } - private void addEmployeeToFlowPane(Employee employee) { - Insets listItemMargins = new Insets(0, 5, 10, 5); - - try { - EmployeeListItemController controller = - EmployeeListItemController.createEmployeeListItemController( - fxmlLoader, employee); - Node rootElement = controller.getRootElement(); - flowPaneEmployeeList.getChildren().add(rootElement); - FlowPane.setMargin(rootElement, listItemMargins); - controller.setConsumerEditEmployeeClicked(this::openEditEmployee); - } catch (IOException e) { - LOG.error("Could not create a new EmployeeListItem: {}", e); - } - } - public void setVisible(boolean b) { listEmployeesAP.setVisible(b); } |