beamer
beamer copied to clipboard
Notifiers feature
This changes introduces two new related features:
- Current pinnacle page info notifications
- Current pages state notifications
Pinnacle page: The top level page on a beam stack.
Motivation:
In order to understand this changes I will explain my use case: I have a top level router which handles all the routes and I have three child sibling routers:
- Header router
- Screen router
- Footer router
Why having those routers? Because I need to stack some floating layers on top of each (header, screen and footer), and these floating layers must survive (live more than) the routes & beams stacks. This is the reason to have the first feature. It's an optional object passed in the page creation (notified on pinnacle page change) that, in my case, can help to customize those floating layers based on the current visible page (pinnacle page).
The second feature is more obvious: To be able to optionally notify every page on every stack state change (E.G. page position in the stack) in a push way instead of the more trickier way of listening router changes and compare url path. This is done by passing an optional notifier in the page creation.