Observable of tab open requests
Clear the queue after requests have been processed
Clear the suppress flag. Call this after checking ShouldSuppressResolve() to reset the flag for future navigations.
True, once, when the URL being left shows the marked record. Clears the mark when it matches. Entity and id compare case-insensitively, like the record-tab matching that set the mark.
Get all queued tab requests (for replay on subscription)
Ask that the next URL sync leaving this record's URL replace its history entry instead of pushing a new one. Used when the record was deleted: browser Back must not land on it again and reopen it as a blank form.
Keyed by the record rather than "the next sync": URL syncs run asynchronously, and an unrelated one may land first.
Helper method to open a dashboard in a tab
Helper method to open a list in a tab
Helper method to open a query in a tab
Helper method to open a record in a tab
Helper method to open a view in a tab
Check if the current resolve should be suppressed. Returns true if SuppressNextResolve() was called and the flag hasn't been cleared.
Signal that the next ResourceResolver call should be suppressed. Call this before navigating when the URL change is just syncing to the current active tab, not a real navigation request.
Service for requesting tabs to be opened.
This service provides a way for any component in the app to request that a new tab be opened without needing direct access to the WorkspaceStateManager.
Tab requests are queued and can be replayed when subscribers connect. This ensures requests aren't lost if they arrive before the shell is ready.