Interface
The extension interface for ContextTool extension point. The methods in this class must return the new appConfig
Properties
Property | Type | Notes |
---|---|---|
(sourceWidgetId: string, sourceAppConfig: IMAppConfig, destWidgetId: string, destAppConfig: IMAppConfig, widgetMap?: {}) => IMAppConfig | Process the widget's internal config after it is copied if necessary. Only the original widget's extension should get invoked with the new copiedWidgetId. | |
(appConfig: IMAppConfig, widgetId: string) => IMAppConfig | This method is invoked when a widget is going to be removed from the app config. This method is invoked before the widget has been removed from the layout. | |
(appConfig: IMAppConfig) => IMAppConfig | This method is invoked before the app config is changed. | |
(appConfig: IMAppConfig, dataSourceId: string) => IMAppConfig | If a widget saves the data source id in its internal config, it should override this method to do the clean ups. Only the widgets that save the data source id in it's useDataSources will get invoked. | |
id inherited | string | The unique ID. For widget's provided extension, the id pattern is: widgetId + extensionName |
index inherited | number | If an extension point supports multiple extensions, the index is used to determine the extension order. |
label inherited | string | The extension label. |
(appConfig: IMAppConfig, mapWidgetId: string) => IMAppConfig | If a widget saves some map related data its internal config, it should override this method to do the clean ups. Only the widgets that save the map widget id in it's useMapWidgets will get invoked. | |
name inherited | string | The extension name. |
(appConfig: IMAppConfig, dataSourceId: string) => IMAppConfig | If a widget saves some config that is related to the data source in its internal config, it should override this method to do the clean ups. In most cases, a widget can just do the clean ups in its setting panel. However, when we remove a used data source from the list, the list internal widgets don't have the chance to do the clean ups. These widgets (Text/Image/Button) should override this method to do the clean ups. Another case is in Express mode, when the map widget de-selects a data source, all related widgets "useDataSources" are cleared. | |
(appConfig: IMAppConfig, utilityId: string) => IMAppConfig | If a widget saves the utility id in its internal config, it should override this method to do the clean ups. Only the widgets that save the utility id in it's useUtilities will get invoked. | |
widgetId inherited | string | The widget ID that provides the extension. No widget id means the extension is provided by Jimu. |
(appConfig: IMAppConfig) => IMAppConfig | Do some cleanup operations before current widget is removed. This method is invoked after the widget has been removed from the layout. |
afterWidgetCopied
afterWidgetCopied: (sourceWidgetId: string, sourceAppConfig: IMAppConfig, destWidgetId: string, destAppConfig: IMAppConfig, widgetMap?: {}) => IMAppConfig
Process the widget's internal config after it is copied if necessary. Only the original widget's extension should get invoked with the new copiedWidgetId.
Type declaration
function(sourceWidgetId: string, sourceAppConfig: IMAppConfig, destWidgetId: string, destAppConfig: IMAppConfig, widgetMap?: {}): IMAppConfig
Parameters
Parameter | Type | Notes |
---|---|---|
source | string | Id of the widget that is copied. |
source | IMAppConfig | The app config the sourceWidgetId comes from. |
dest | string | Id of the widget that is created in the destAppConfig. |
dest | IMAppConfig | The app config the destWidgetId is created in. |
widget | {} | The map of widget ids after copying. Only provided when the whole page is duplicated. The key is the widget id in the original page, and the value is the widget id in the copied page. |
Returns
IMAppConfig
The updated appConfig
anyWidgetWillRemove
anyWidgetWillRemove: (appConfig: IMAppConfig, widgetId: string) => IMAppConfig
This method is invoked when a widget is going to be removed from the app config. This method is invoked before the widget has been removed from the layout.
Type declaration
function(appConfig: IMAppConfig, widgetId: string): IMAppConfig
Parameters
Parameter | Type | Notes |
---|---|---|
app | IMAppConfig | |
widget | string | the widget id that is going to be removed |
Returns
IMAppConfig
The updated appConfig
appConfigWillChange
appConfigWillChange: (appConfig: IMAppConfig) => IMAppConfig
This method is invoked before the app config is changed.
Type declaration
function(appConfig: IMAppConfig): IMAppConfig
Parameters
Parameter | Type |
---|---|
app | IMAppConfig |
Returns
IMAppConfig
dataSourceWillRemove
dataSourceWillRemove: (appConfig: IMAppConfig, dataSourceId: string) => IMAppConfig
If a widget saves the data source id in its internal config, it should override this method to do the clean ups. Only the widgets that save the data source id in it's useDataSources will get invoked.
Type declaration
function(appConfig: IMAppConfig, dataSourceId: string): IMAppConfig
Parameters
Parameter | Type | Notes |
---|---|---|
app | IMAppConfig | The app config. |
data | string | The data source id that is going to be removed. |
Returns
IMAppConfig
The updated appConfig
id
id: string
The unique ID. For widget's provided extension, the id pattern is: widgetId + extensionName
index
index: number
If an extension point supports multiple extensions, the index is used to determine the extension order.
mapWidgetWillRemove
mapWidgetWillRemove: (appConfig: IMAppConfig, mapWidgetId: string) => IMAppConfig
If a widget saves some map related data its internal config, it should override this method to do the clean ups. Only the widgets that save the map widget id in it's useMapWidgets will get invoked.
Type declaration
function(appConfig: IMAppConfig, mapWidgetId: string): IMAppConfig
Parameters
Parameter | Type | Notes |
---|---|---|
app | IMAppConfig | The app config. |
map | string | The map widget id that is going to be removed. |
Returns
IMAppConfig
The updated appConfig
useDataSourceWillRemove
useDataSourceWillRemove: (appConfig: IMAppConfig, dataSourceId: string) => IMAppConfig
If a widget saves some config that is related to the data source in its internal config, it should override this method to do the clean ups. In most cases, a widget can just do the clean ups in its setting panel. However, when we remove a used data source from the list, the list internal widgets don't have the chance to do the clean ups. These widgets (Text/Image/Button) should override this method to do the clean ups. Another case is in Express mode, when the map widget de-selects a data source, all related widgets "useDataSources" are cleared.
For config in the widget message action and data action, widget can clean up the config in the useDataSourceWillRemove
method.
For the framework actions, the action can provide the useDataSourceWillRemove
method to clean up the config.
Type declaration
function(appConfig: IMAppConfig, dataSourceId: string): IMAppConfig
Parameters
Parameter | Type | Notes |
---|---|---|
app | IMAppConfig | The app config. |
data | string | The use data source id that is going to be removed. |
Returns
IMAppConfig
The updated appConfig
utilityWillRemove
utilityWillRemove: (appConfig: IMAppConfig, utilityId: string) => IMAppConfig
If a widget saves the utility id in its internal config, it should override this method to do the clean ups. Only the widgets that save the utility id in it's useUtilities will get invoked.
Type declaration
function(appConfig: IMAppConfig, utilityId: string): IMAppConfig
Parameters
Parameter | Type | Notes |
---|---|---|
app | IMAppConfig | The app config. |
utility | string | The utility id that is going to be removed. |
Returns
IMAppConfig
The updated appConfig
widgetId
widgetId: string
The widget ID that provides the extension. No widget id means the extension is provided by Jimu.
widgetWillRemove
widgetWillRemove: (appConfig: IMAppConfig) => IMAppConfig
Do some cleanup operations before current widget is removed. This method is invoked after the widget has been removed from the layout.
Type declaration
function(appConfig: IMAppConfig): IMAppConfig
Parameters
Parameter | Type |
---|---|
app | IMAppConfig |
Returns
IMAppConfig
The updated appConfig