I’m trying to figure out how to publish events from view that are registered in the presenter.
The event is not triggered. What I’m doing wrong?
//Presenter
@VaadinPresenter (viewName = UserView.VIEW_NAME)
@UIScope
public class UserPresenter extends Presenter<UserView> implements Serializable{
@Autowired
private EventBus.UIEventBus uiEventBus;
@PostConstruct
protected void initialize(){
uiEventBus.subscribe(this);
}
@EventBusListenerTopic(topic = "test")
public void addUser(String user){
//do something
}
}
//View
@UIScope
@SpringView(name=UserView.VIEW_NAME)
@EnableEventBus
@SpringComponent
public class UserView extends VerticalLayout implements View{
public static final String VIEW_NAME = "users";
@Autowired
private EventBus.UIEventBus uiEventBus;
@Override
public void enter(ViewChangeListener.ViewChangeEvent viewChangeEvent) {
this.uiEventBus.publish("test",this,"teste");
}
}