@FXMLController(value = "/res/fxml/test.fxml")
public class SideMenuController {
@FXMLViewFlowContext
private ViewFlowContext context;
@FXML
private JFXListView test;
@FXML
@ActionTrigger("suppliers")
private JFXButton suppliers;
@FXML
@ActionTrigger("history")
private JFXButton history;
@FXML
@ActionTrigger("barcode")
private JFXButton barcode;
@FXML
@ActionTrigger("settings")
private JFXButton settings;
@FXML
@ActionTrigger("report")
private JFXButton report;
@FXML
@ActionTrigger("users")
private JFXButton users;
@FXML
@ActionTrigger("inventory")
private JFXButton inventory;
@FXML
@ActionTrigger("shops")
private JFXButton shops;
@FXML
@ActionTrigger("calculation")
private JFXButton calculation;
@PostConstruct
public void initialize(){
test.propagateMouseEventsToParent();
System.out.println(context);
FlowHandler contentFlowHandler = (FlowHandler) context.getRegisteredObject("ContentFlowHandler");
Flow contentFlow = (Flow) context.getRegisteredObject("ContentFlow");
bindNodeToController(suppliers, SuppliersController.class, contentFlow, contentFlowHandler);
bindNodeToController(inventory, InventoryController.class, contentFlow, contentFlowHandler);
bindNodeToController(users, UsersController.class, contentFlow, contentFlowHandler);
bindNodeToController(history, HistoryController.class, contentFlow, contentFlowHandler);
bindNodeToController(shops, ShopsController.class, contentFlow, contentFlowHandler);
bindNodeToController(report, ReportController.class, contentFlow, contentFlowHandler);
bindNodeToController(barcode, BarcodeController.class, contentFlow, contentFlowHandler);
bindNodeToController(calculation, CalculationController.class, contentFlow, contentFlowHandler);
bindNodeToController(settings, SettingsController.class, contentFlow, contentFlowHandler);
}
private void bindNodeToController(Node node, Class<?> controllerClass, Flow flow, FlowHandler flowHandler) {
flow.withGlobalLink(node.getId(), controllerClass);
node.setOnMouseClicked((e) -> {
try {
flowHandler.handle(node.getId());
} catch (Exception e1) {
e1.printStackTrace();
}
});
}
}