extends |
Ui5ArtifactInterface, SlotProposableInterface |
|---|
Contract for UI5 Card artifacts.
A Card is a lightweight, embeddable UI element that typically displays summary or entry-point information. Identity, title, description come from {@see Ui5ArtifactInterface}; slot machinery from {@see SlotProposableInterface} (a Card both requires and proposes slots).
The Card straddles two consumers:
At the card endpoint (card/{ns}@{ver}/manifest.json):
CardController uses the legacy seats — {@see getManifest()}
returns the SAP integration manifest, {@see getProvider()} wires the
data side. These signatures are unchanged from today.
In the Dashboard JSON: the Card's emitter
({@see \LaravelUi5\Core\Ui5\Dashboard\Emitters\CardEmitter}) calls
{@see getCard()} for the consumer's template, builds the
server-constructed URL (card/{ns}@{ver}/manifest.json?{boundParams}),
and injects via {@see Card::withManifest()}. The SAP widget fetches
and renders that manifest itself; bound-params flow to the card
endpoint via the URL query string — the existing pattern.
Cards are read-only artifacts — they must not change application state.
Emitter selection is owned by the
{@see \LaravelUi5\Core\Ui5\Dashboard\Contracts\DashboardTransformerInterface} via
instanceof dispatch. See atom ARTIFACT_AS_DTO_FACTORY.md.
| Methods | ||
|---|---|---|
public
|
getProvider(): class-string<DataProviderInterface>
|
# |
public
|
getManifest(): string
|
# |
public
|
getCard(): Card
|
# |
| Methods inherited from LaravelUi5\Core\Ui5\Contracts\Ui5ArtifactInterface |
|---|
getModule(), getNamespace(), getType(), getVersion(), getTitle(), getDescription() |
| Methods inherited from LaravelUi5\Core\Ui5\Capabilities\SlotProposableInterface |
|---|
getSlotProposals() |
| Methods inherited from LaravelUi5\Core\Ui5\Capabilities\SlottableInterface |
|---|
getRequiredSlots() |