In order to make developing widgets even easier, a common set of services is offered to each widget instance, regardless of its implementation technology.
Some of these services are mere adapters to internal APIs and are mostly relevant for tooling, while others are specifically tailored to the respective widget instance, sparing the widget developer to provide context information by himself.
A widget adapter may offer additional services specific to its implementation technology.
For example the AngularJS adapter allows to inject all available AngularJS services and the widget's
For a list of all widget services, consult the widget services API documentation.
To help you get started, the most important widget services are:
axConfigurationfor application configuration,
axEventBusto communicate using publish/subscribe,
axFeaturesto access instance feature configuration,
axFlowServiceto generate link URLs,
Mocking Widget Services from Tests
One of the advantages that providing all widget services as injection is improved testability. The LaxarJS Mocks library replaces all widget services with mock versions that do not affect the browser state and that are reset completely between test cases.
The widget service mocks API is defined by LaxarJS Core, and should simplify writing non-trivial tests.
You can configure service mocks just before a widget controller is instantiated by passing a callback to
The LaxarJS Mocks API docs contain more detailed information.