abstract | |
|---|---|
readonly | |
extends |
AbstractControl |
Server-side mirror of sap.f.Card + sap.f.CardBase — the structural
wrapper for any structured dashboard element that lands in a Group
as a card-shaped cell.
Subclasses (currently {@see Chart}; future {@see \LaravelUi5\Core\Ui5\Controls\Lux} Table,
Report, Form) own their specialised content concern by implementing
{@see buildContent()}; AbstractCard handles the sap.f.Card envelope
uniformly — properties, header aggregation, layoutData, class.
The wire shape is two-layer: this DTO serializes as
{"sap.f.Card": { header?, content, layoutData?, … }}, and content is
the subclass-specific inner DTO (e.g. for {@see Chart}, the inner is a
{@see ChartCanvas} emitting {"com.laravelui5.core.Chart": { engine, option }}).
ui5Class() is final — every AbstractCard subclass is a
sap.f.Card on the wire by design. Specialisation lives in
buildContent(), not in changing the envelope's class.
layoutData is the standard grid-placement seat (same as Tile and
Card carry it) — sap.f.Card inherits it from sap.ui.core.Control.
Providers set it on the returned DTO when sizing matters; null falls
through to UI5's own grid-cell default.
parameters is the whole-card press-intent seat (Phase 5.1 / Core
0.9.39) — mirrors the {@see \LaravelUi5\Core\Ui5\Controls\Sap\M\GenericTile::$parameters}
convention. A non-null payload makes the entire sap.f.Card clickable:
the walker extracts the field as custom data, and Dashboard's
_wireActions attaches a press handler that fires the dashboard action
event with {child, type: "Press", parameters}. Same vocabulary as the
blessed Dashboard card actions (navTo / open / showReport /
app-specific). Use for single-action "drill in" cards where the whole
card surface is the click target — cleaner than a Header.toolbar Button
for primary-action-only artifacts (e.g. the EriChart drill-into-report
pattern). For multi-action cards (refresh + configure + export), use
{@see Header::$toolbar} instead.
See Core Charts API v0.9 § D9 and § Implementation plan / Phase 4, and § Whole-card press for the Phase 5.1 addition.
| Methods | ||
|---|---|---|
public
|
__construct(
?Header $header = null,
?HeaderPosition $headerPosition = null,
?string $width = null,
?string $height = null,
?SemanticRole $semanticRole = null,
?GridContainerItemLayoutData $layoutData = null,
array<string, mixed>|null $parameters = null,
?string $class = null,
)
|
# |
final
public
|
ui5Class(): string
|
# |
| Methods inherited from LaravelUi5\Core\Ui5\Controls\AbstractControl |
|---|
jsonSerialize() |
| Properties | |||
|---|---|---|---|
public
|
?Header
|
$header
|
# |
public
|
?HeaderPosition
|
$headerPosition
|
# |
public
|
?string
|
$width
|
# |
public
|
?string
|
$height
|
# |
public
|
?SemanticRole
|
$semanticRole
|
# |
public
|
?GridContainerItemLayoutData
|
$layoutData
|
# |
public
|
array<string, mixed>|null
|
$parameters
|
# |
public
|
?string
|
$class
|
# |