The Spectrum Spatial Analyst extensibility platform divides the entire layout of the product into different parts called containers. Containers are parents to the new components created by developers. Containers let a developer place their visual or non-visual components in the right place. For example, if a developer wants to place a component in the Add Panel, then he needs to specify AddPanel as a parent container for the newly created component. There is no limitation to the number of components that can be added to a given container. The look, feel, and the CSS of a new component can control the position of the component in a given container.
There can be cases where a single container is hosting more than one third-party component. For example, a “Find XY” and “Add WMTS layer” menu item can both be added to AddPanel. It is perfectly valid to specify the same parent container as many times as needed with different components. Components can belong to different modules as well. In that case, entries for the same parent container will be repeated in each module entry. The following sample illustrates this, where there are components in the same module and same container:
{
"name": "DynamicModule",
"description": "Find a defined x and y with a specific ICON.",
"modulePath": "extensions/dynamic.module.ts#DynamicModule",
"components": [
{
"componentName": "FindXY", "parentComponentName": "AddPanel",
},
{
"componentName": "AddWMTSLAYER", "parentComponentName": "AddPanel"
}
}
,
"componentsToRemove":[
{"componentName":"BaseMapSwitcherComponent",
"fromMapConfig":"Drive Time"},
{"componentName":"MapConfigSwitcherComponent",
" fromMapConfig":"Drive Time"}
]}
}