I am facing a similar to this issue but @gorelov when you said “only after it” please help how to handle the following problem.
Here is by create event from list screen from where i want to pass the userType parameter which was originally passed from the menu to list screen.
@Subscribe("attendLogManualsTable.create")
public void onAttendLogManualsTableCreate(final ActionPerformedEvent event) {
log.info("userType List screen: "+userType);
viewNavigators.detailView(this, AttendLogManual.class)
.newEntity()
.withViewClass(AttendLogManualDetailView.class)
.withAfterNavigationHandler(e -> {
AttendLogManualDetailView view = e.getView();
view.setUserType(userType);
})
// .withQueryParameters(QueryParameters.of("userType", userType))
.navigate();
}
Here is my detail screen controller:
protected String userType;
public void setUserType(String uType) {
userType = uType;
}
@Subscribe
public void onBeforeShow(BeforeShowEvent event) {
log.info("userType detail screen: "+userType);
if (userType!=null && userType.equalsIgnoreCase("hr")) {
transportRouteField.setVisible(false);
reasonCodeField.setVisible(false);
}else if(userType!=null && userType.equalsIgnoreCase("trans")) {
transportRouteField.setVisible(true);
reasonCodeField.setVisible(true);
if(getEditedEntity().getTransportRoute()!=null && getEditedEntity().getReasonCode()!=null){
this.loadEmployeesFromTransPortRoute();
}
} else if(userType!=null) { //supervisor
transportRouteField.setVisible(false);
reasonCodeField.setVisible(false);
}
}
Here is log
2025-04-30T12:39:57.414-04:00 INFO 24572 --- [nio-8081-exec-2] c.i.h.v.l.a.AttendLogManualListView : userType List screen: hr
2025-04-30T12:39:57.901-04:00 INFO 24572 --- [nio-8081-exec-7] c.i.h.v.l.a.AttendLogManualDetailView : userType detail screen: null
I also have tried but didn’t work
.withQueryParameters(QueryParameters.of("userType", userType))
Thanks for your help fixing this issue.