Navigation lock /lock/2
The page itself vetoes navigation from OnDeactivating / OnRenavigating -
awaited lock callbacks on BrouterRouteBase - with a custom dialog instead of
window.confirm. The URL never changes while the dialog is open (preventive, no
history corruption).
Draft for item 2
Status: saved - navigation is free
Try to leave
- /lock/1 (renavigation - same route, same instance)
- /lock/2 (renavigation)
- Home (deactivation - the page would be disposed)
A parameter change (/lock/1 → /lock/2) keeps this route matched, so a
route-declared LeaveGuard would never fire - OnRenavigating is what
protects the dirty draft there.