Part of #107.
Problem
There is no stable, framework-agnostic identifier correlating a NavigationManager instance to "which tab/iframe/desktop" it belongs to. This is needed to:
Change
- Add an id (e.g.
String getId()) to the NavigationManager interface, generated on creation, independent of any ZK type (Desktop, etc.) — core navigation module must stay UI-framework-agnostic.
- Implement in
BaseNavigationManager (generate a random/opaque id at construction).
ZKNavigationManager may optionally expose the ZK Desktop id as a convenience, but the core contract must not depend on it.
Affected files
platform/core/navigation/src/main/java/tools/dynamia/navigation/NavigationManager.java
platform/core/navigation/src/main/java/tools/dynamia/navigation/BaseNavigationManager.java
platform/ui/zk/src/main/java/tools/dynamia/zk/navigation/ZKNavigationManager.java
Part of #107.
Problem
There is no stable, framework-agnostic identifier correlating a
NavigationManagerinstance to "which tab/iframe/desktop" it belongs to. This is needed to:ZKNavigationManagerinstance with the navigation token used to fix theNavigationManagerSessionrace (Replace NavigationManagerSession session-scope with ThreadLocal #108).Change
String getId()) to theNavigationManagerinterface, generated on creation, independent of any ZK type (Desktop, etc.) — corenavigationmodule must stay UI-framework-agnostic.BaseNavigationManager(generate a random/opaque id at construction).ZKNavigationManagermay optionally expose the ZKDesktopid as a convenience, but the core contract must not depend on it.Affected files
platform/core/navigation/src/main/java/tools/dynamia/navigation/NavigationManager.javaplatform/core/navigation/src/main/java/tools/dynamia/navigation/BaseNavigationManager.javaplatform/ui/zk/src/main/java/tools/dynamia/zk/navigation/ZKNavigationManager.java