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.
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}):
App Navigation
resolveIndexUrl(namespace) → redirect (full context change).In-App Navigation
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.
Entries are UI-agnostic and must not encode layout or placement information.
| Methods | ||
|---|---|---|
public
|
__construct(
string $id,
string $label,
IntentInterface $intent,
?string $title = null,
?string $description = null,
?string $icon = null,
int $ability_id = 0,
)
|
# |
public
|
toCache(): array
|
# |
public
|
toArray(): array
|
# |
| Properties | |||
|---|---|---|---|
public
|
string
|
$id
|
# |
public
|
string
|
$label
|
# |
public
|
IntentInterface
|
$intent
|
# |
public
|
?string
|
$title
|
# |
public
|
?string
|
$description
|
# |
public
|
?string
|
$icon
|
# |
public
|
int
|
$ability_id
|
# |