related to: https://github.com/neomjs/neo/pull/5123
The idea of the Navigator is a separation of selections from keyboard navigation, which should just move the focus state. A selection could happen when using the Enter or Space keys explicitly.
To not overload main.DomAccess, e.g. a new main thread addon would make sense (separation of concerns).
One important note:
neo.mjs relies on a strict separation of the view layer from the DOM. Components can get mounted / unmounted multiple times during their life-cycles. E.g. we could move an existing form.field.Select from one browser window to another one, in which case there is no way to re-use DOM.
Other use-cases are card layouts, which remove all inactive cards from the DOM by default (keeping the JS based instances though).
=> The Navigator has to be coupled to afterSetMounted().
related to: https://github.com/neomjs/neo/pull/5123
The idea of the Navigator is a separation of selections from keyboard navigation, which should just move the focus state. A selection could happen when using the
EnterorSpacekeys explicitly.To not overload
main.DomAccess, e.g. a new main thread addon would make sense (separation of concerns).One important note: neo.mjs relies on a strict separation of the view layer from the DOM. Components can get mounted / unmounted multiple times during their life-cycles. E.g. we could move an existing
form.field.Selectfrom one browser window to another one, in which case there is no way to re-use DOM.Other use-cases are card layouts, which remove all inactive cards from the DOM by default (keeping the JS based instances though).
=> The Navigator has to be coupled to
afterSetMounted().