Class LaravelUi5\Core\Ui5\Controls\AbstractControl

abstract
readonly
implements WireElement

Base for every typed UI5-control DTO that lives on the dashboard wire.

Owns the {ui5Class: properties} flattening at serialization time so concrete control classes can stay narrowly focused on their own typed properties. The wire shape is a recursive {"<ui5.class.name>": { ...properties }} literal — see Core Dashboard API v0.9 §D1/§D4.

Concretes implement up to three seams:

  • {@see ui5Class()} — the fully-qualified OpenUI5 class name (e.g. "sap.m.Panel").
  • {@see properties()} — the always-emitted properties (a control's identity/required props and any with a meaningful default the wire should always carry). Properties whose values are themselves controls hold {@see WireElement} arrays; the recursion runs as deep as the UI5 widget hierarchy.
  • {@see optionalProperties()} — the emit-when-set appearance/behaviour seats (class, layoutData, the tile/panel enrichment props). Each is dropped from the wire when null, so a plain control stays lean and an absent property falls through to UI5's own default at applySettings time. A {@see BackedEnum} value is normalised to its backing string, so concretes can keep typed enum properties and never hand-write ->value here.
Methods