The Jimu library allows you to extend ArcGIS Experience Builder. In most cases, you extend Experience Builder by creating custom widgets and themes. Additionally, you can create deeper customizations through Jimu extensions.
The Jimu library defines specific extension points. An extension point defines the interface that extensions must conform to. An extension is a class that implements the extension point interface. This interface is the extension
exported from jimu-core
. To provide an extension in a widget, you must declare the extension in the widget's manifest.json
file.
"extensions": [
{
"point": "<Extension point name>",
"uri": "<Extension uri, relative to src folder>"
}
]
Jimu defines a variety of extension points that are defined in the API documentation. Two commonly-used extension points are:
App
- The extension for this extension point receives theConfig Processor App
and should return a promise that resolves the processed app config. This can be used to make runtime modifications to the app config, like translating strings (see the Translation sample). The process will be invoked just after app config is loaded.Config Dependency
- Using this extension you can use third-party libraries that require initialization.Define Redux
- Using this extension you can define theStore actions
andreducers
for your widget redux state.
Samples
See the Translation sample for an example of how to create an extension.