Interface Ui5AppInterface
Defines a full-featured UI5 Application that is both a client-side OpenUI5 entry point
and a backend-accessible OData service. The base class AbstractUi5App extends
LaravelUi5\OData\ODataService, providing OData endpoint capabilities.
Apps implementing this interface are registered via the Ui5Registry and can dynamically
provide their UI5 manifest data, routing, UI bootstrap configuration, and static assets.
The Laravel side will render a default index.blade.php layout and inject metadata,
UI5 bootstrap attributes, resource roots, and any custom styles or inline scripts.
| Methods |
public
|
getSource(): Ui5AppSource
Returns the UI5 source associated with this app.
Returns the UI5 source associated with this app.
The source represents the original UI5 project (application) from which
this app was generated and provides access to introspection data such as
the manifest, dependencies, bootstrap configuration and i18n resources.
Returns
The associated UI5 app source.
|
#
|
public
|
getUi5BootstrapAttributes(): array<string, string>
Returns a key-value map of sap-ui bootstrap attributes
(e.g. theme, async, compatVersion, oninit, etc.).
Returns a key-value map of sap-ui bootstrap attributes
(e.g. theme, async, compatVersion, oninit, etc.).
These will be injected into the UI5 bootstrap script tag.
|
#
|
public
|
getUi5Version(): string|null
The OpenUI5 version this app is built against, or null to use the
installation's `ui5.version`.
The OpenUI5 version this app is built against, or null to use the
installation's ui5.version.
Read from the source project's ui5.yaml (framework.version) when
ui5:app imports it, and only for framework.name: OpenUI5 — the
bootstrap loads from the OpenUI5 CDN. Used for the CDN URL in built mode.
Returns
a CDN version tag, e.g. "1.136.18"
|
#
|
public
|
getResourceNamespaces(): array<string, string>
Returns a list of all required resource roots for this app.
The keys are the JS namespaces.
Returns a list of all required resource roots for this app.
The keys are the JS namespaces.
Example: ['io.pragmatiqu.portal', 'io.pragmatiqu.tools']
|
#
|
public
|
getAdditionalHeadScript(): string|null
Optional inline JavaScript to be included in the <head> tag.
Optional inline JavaScript to be included in the tag.
Typically used for sap.ui.loader.config(...) blocks.
|
#
|
public
|
getAdditionalInlineCss(): string|null
Optional inline CSS styles to be included in the <head> tag.
Optional inline CSS styles to be included in the tag.
|
#
|
public
|
getManifestPath(): string
Returns the absolute path to the raw manifest.json file
as shipped by the frontend UI5 application.
Returns the absolute path to the raw manifest.json file
as shipped by the frontend UI5 application.
This method is used by the Laravel ManifestController to read
the complete manifest structure (sap.app, sap.ui, sap.ui5)
without having to reconstruct it from PHP.
Returns
Absolute filesystem path to manifest.json
|
#
|
public
|
getLaravelUiManifest(): class-string<LaravelUi5ManifestInterface>
Returns Laravel-specific manifest data to be injected
under the `laravel.ui5` root key in the final manifest.json.
Returns Laravel-specific manifest data to be injected
under the laravel.ui5 root key in the final manifest.json.
This section may include definitions such as abilities, actions,
settings, reports, or other backend-managed frontend metadata.
Returns the manifest's class-string; the runtime owns resolution
(app($app->getLaravelUiManifest())).
|
#
|