Custom controls and libraries

Extending the set of controls an app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from Web Components interop, which brings in standard custom elements, and from generators, which scaffold a control project rather than being one.

Overview

Extending the set of controls a UI5 app is built from: a control of its own, a wrapper around a third-party widget, or an icon font registered with the framework, packaged so another app can reuse it. Distinct from Web Components interop, which brings in standard custom elements, and from generators, which scaffold a control project rather than being one.

SAP SHIPS

A control extends sap.ui.core.Control with metadata for its properties, aggregations and events and a renderer that writes its HTML; controls meant for several apps go into a control library, which adds theming and right-to-left support. IconPool.registerFont registers an icon font of one's own under a sap-icon:// collection name.

Not covered: At the extension mechanism and the icon registry. A control that wraps an npm library such as Chart.js also needs that package made loadable by the UI5 module loader, which ui5-cc-chart does through ui5-tooling-modules.

THE COMMUNITY ADDS

Reusable controls and libraries published to npm: wrappers around third-party JavaScript such as ui5-cc-chart and ui5-cc-md under UI5 Community, composite and single-purpose controls from independent maintainers, and Font Awesome's free icons registered as sap-icon:// collections. abap2UI5 embed control and the abap2UI5 custom controls bring UI5 controls to ABAP-written apps, and lemaiwo-ui5-control-generator writes control classes from html.

Artifacts15

Group by15 of 15 artifacts
ArtifactSignals
Generators1
ui5-control-generatorCommand line generator of UI5 custom controls from html
Signals
Quiet
Packages14
@abap2ui5/embed-controlUI5 custom control that runs an abap2UI5 app inside a host app
Signals
Functional boundary
@marianfoo/ui5-cc-dayjsUI5 custom control formatting dates with Day.js
Signals
Quiet
custom-controlsThirteen custom UI5 controls for abap2UI5 apps
Signals
Functional boundary
openui5-cameraUI5 control for live camera preview and PNG capture
Signals
Quiet
openui5-paginatorA UI5 custom control that pages through large data in a table, for backends that serve pages over REST rather than OData.
Signals
Quiet
openui5-passwordOpenUI5 password input with strength scoring and rules
Signals
none
openui5-tourOpenUI5 control library for guided app tours
Signals
none
ui5-cc-chartUI5 custom control wrapping Chart.js for line charts
Signals
none
ui5-cc-mdUI5 custom control rendering Markdown to HTML
Signals
Quiet
ui5-cc-pdfviewerUI5 custom control rendering a PDF from a base64 data URI
Signals
Quiet+1
ui5-cc-timerbuttonUI5 control library with a button that delays enabling or showing
Signals
none
ui5-fontawesome-libUI5 library adding Font Awesome icon sets to sap-icon://
Signals
none
ui5-lib-visualizationUI5 control library wrapping C3.js charts as ui5.viz controls
Signals
Functional boundary
UI5XUI5 library of eight composite controls under the ui5x namespace
Signals
Functional boundary

Seen working2

ArtifactSignals
Samples2
custom-controls-customerTemplate repository for own UI5 artefacts served to abap2UI5
none
ui5-icon-explorerLive icon browser for the ui5-fontawesome-lib icon set
none

Details

Coverage
statecore and community, UI5
assessed
relationshipunassessed
For your agent
Ref
capability:ui5-custom-controls
JSON
/capabilities/ui5-custom-controls.json
MCP
Connecting an agent