communicating between "unrelated" components


I have a tabsheet with many tabs, each containing many form fields, cruds, grids etc

What is the recommended pattern to let a component in a tab react to changes in a component happening in another tab, without connecting these components?

I thought that fireEvent would do the trick, but that requires the components to hold or lookup references to each other, at which point you may as well pass the complete component and do a direct method invocation. Much like the listener pattern. I’m not looking for multicast, really just emit the event in the current screen for the current user only.

If a component is reacting to another, they are related.
You have 2 solutions:

Well, the components don’t react to each other as-such even though it looks like that, they rather react to a propagated state change represented by the event. And today that state change is emitted by e.g. choosing a value in a dropdown, tomorrow that event could come from an external system.

From your link, i see that they’re using UI.getCurrent which registers and emits the event at the highest level. That works and gives the best “decoupling”.

Thanks for the pointer to cookbook !