Options
All
  • Public
  • Public/Protected
  • All
Menu

Represents a microfrontend that can be loaded into a using the OutletRouter.

Hierarchy

Index

Properties

description?: string

A short description to explain the capability.

optionalParams?: string[]

Specifies parameters which the intent issuer optionally can pass along with the intent. Parameters are part of the contract between the intent publisher and the capability provider. They do not affect the intent routing, unlike the qualifier.

deprecated

This API will be removed in a future release. Instead, declare parameters via Capability.params property.

params?: ParamDefinition[]

Specifies parameters which the intent issuer can/must pass along with the intent.

Parameters are part of the contract between the intent publisher and the capability provider. They do not affect the intent routing, unlike the qualifier.

private?: boolean

Controls if this capability is visible to other micro applications. If private, which is by default, the capability is not visible to other micro applications; thus, it can only be invoked or looked up by the providing micro application.

properties: { outlet?: string; path: string }

Arbitrary metadata to be associated with the capability.

Type declaration

  • Optional outlet?: string

    Specifies the preferred outlet to load this microfrontend into. Note that this preference is only a hint that will be ignored if the navigator specifies an outlet for navigation.

    The precedence is as follows:

    • Outlet as specified by navigator via {@link NavigationOptions#outlet}.
    • Preferred outlet as specified in the microfrontend capability.
    • Current outlet if navigating in the context of an outlet.
    • primary outlet.
  • path: string

    Specifies the path of the microfrontend.

    The path is relative to the base URL, as specified in the application manifest. If the application does not declare a base URL, it is relative to the origin of the manifest file.

    The path allows the use of navigational symbols and named parameters to reference qualifier and parameter values. A named parameter begins with a colon (:) followed by the qualifier or parameter name, and is allowed in path segments, query parameters, matrix parameters and the fragment part. Named query and matrix parameters without a replacement are removed, e.g., if referencing an optional parameter.

    Usage of named parameters in the path:

    {
    "type": "microfrontend",
    "qualifier": {
    "entity": "product"
    },
    "params": [
    {"name": "id", "required": true}
    ]
    "properties": {
    "path": "product/:id",
    }
    }

    Path parameter example:

    segment/:param1/segment/:param2

    Matrix parameter example:

    segment/segment;matrixParam1=:param1;matrixParam2=:param2

    Query parameter example:

    segment/segment?queryParam1=:param1&queryParam2=:param2

qualifier?: Qualifier

The qualifier is a dictionary of arbitrary key-value pairs to differentiate capabilities of the same type and is like an abstract description of the capability. It should include enough information to uniquely identify the capability.

Intents must exactly match the qualifier of the capability, if any. The capability qualifier allows using wildcards (such as * or ?) to match multiple intents simultaneously.

  • Asterisk wildcard character (*): Intents must contain such a property, but any value is allowed (except null or undefined). Use it like this: {property: '*'}
  • **Optional wildcard character (?):**
    Intents can contain such a property. Use it like this: {property: '?'}.
requiredParams?: string[]

Specifies parameters which the intent issuer must pass along with the intent. Parameters are part of the contract between the intent publisher and the capability provider. They do not affect the intent routing, unlike the qualifier.

deprecated

This API will be removed in a future release. Instead, declare parameters via Capability.params property.

Categorizes the capability in terms of its functional semantics (e.g., microfrontend if providing a microfrontend). It can be an arbitrary string literal and has no meaning to the platform.

Generated using TypeDoc