diff options
author | Dominic Rogetzer <e1627756@student.tuwien.ac.at> | 2018-06-06 22:10:22 +0200 |
---|---|---|
committer | Tharre <tharre3@gmail.com> | 2018-06-07 17:51:20 +0200 |
commit | d721ab5480c025c0a998d23ffe462f430fd40bf6 (patch) | |
tree | d8cdf2da778bf347178285743a3382b8145aac9b | |
parent | 6fbc8a6a1c307b5e13ce3970c4dc9d8e54fff873 (diff) | |
download | sepm-groupproject-d721ab5480c025c0a998d23ffe462f430fd40bf6.tar.gz sepm-groupproject-d721ab5480c025c0a998d23ffe462f430fd40bf6.tar.xz sepm-groupproject-d721ab5480c025c0a998d23ffe462f430fd40bf6.zip |
Refactor ManageEmployeesCtrl to make use of EmployeeListCtrl [#25963]
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/controller/ManageEmployeesController.java | 45 | ||||
-rw-r--r-- | src/main/resources/fxml/manageEmployees.fxml | 2 |
2 files changed, 17 insertions, 30 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); } diff --git a/src/main/resources/fxml/manageEmployees.fxml b/src/main/resources/fxml/manageEmployees.fxml index e6efb89..c007c88 100644 --- a/src/main/resources/fxml/manageEmployees.fxml +++ b/src/main/resources/fxml/manageEmployees.fxml @@ -31,7 +31,7 @@ <Insets top="20.0" /> </VBox.margin> <content> - <FlowPane fx:id="flowPaneEmployeeList" prefHeight="346.0" prefWidth="742.0" style="-fx-background-color: #EFEBE8;" /> + <fx:include fx:id="employeeList" source="employeeList.fxml"/> </content> </ScrollPane> </children> |