LearnNewsExamplesServices
Frontmatter
id5135
titlemain.addon.Navigator
stateClosed
labels
enhancementstale
assigneesExtAnimal
createdAtDec 5, 2023, 11:43 AM
updatedAtSep 12, 2024, 4:28 AM
githubUrlhttps://github.com/neomjs/neo/issues/5135
authortobiu
commentsCount2
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtSep 12, 2024, 4:28 AM

main.addon.Navigator

Closed v8.1.0 enhancementstale
tobiu
tobiu commented on Dec 5, 2023, 11:43 AM

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().

tobiu added the enhancement label on Dec 5, 2023, 11:43 AM
tobiu assigned to @ExtAnimal on Dec 5, 2023, 11:43 AM
tobiu cross-referenced by #5136 on Dec 5, 2023, 11:50 AM
tobiu cross-referenced by #5139 on Dec 5, 2023, 12:17 PM