Class LaravelUi5\Sdk\Shell\Navigation\Dto\Entry

final
readonly

Represents a single navigation entry.

An Entry is a declarative shell entry carrying an {@see IntentInterface}. Most entries are navigation targets (a {@see NavigationIntent} whose target names an app/route/report/dashboard), but an Entry may equally carry an action intent — e.g. the identity menu's partner.impersonate entries (F3 / D9). The client dispatches the entry's intent; authorization + handling happen backend.


Target Semantics

The meaning of an Entry is fully defined by its target value. Targets are opaque identifiers that are interpreted by the navigation resolver. The Entry itself does not encode behavior.

Supported target categories (dispatched by navigation.open → {@see \LaravelUi5\Sdk\Intent\NavigationIntentHandler}):

  1. App Navigation

    • Target: app:
    • Example: "app:com.laravelui5.partners"
    • Semantics: Switch to another UI5 application.
    • Resolution: resolveIndexUrl(namespace) → redirect (full context change).
  2. In-App Navigation

    • Target: route::
    • Example: "route:com.laravelui5.partners:roles"
    • Semantics: Open a route within an app.
    • Resolution: resolveIndexUrl(namespace, pattern) → redirect.

The report: / dashboard: shapes are retired — see https://laravelui5.com/sdk/shell/intent-dispatch (An identity-menu Entry may also carry a non-navigation action intent, e.g. partner.impersonate.)

Targets do not encode routing details, URLs, or UI framework APIs. All authorization, resolution, and telemetry is handled centrally during intent dispatch.


General Rules

  • Entries represent navigation destinations or identity-menu actions.
  • Visibility and authorization are handled before an Entry is exposed.
  • Detail navigation and parameterized routes are not Entries.

Entries are UI-agnostic and must not encode layout or placement information.

Methods
Properties