require(["esri/smartMapping/popup/templates"], (popupTemplateCreator) => { /* code goes here */ });
import * as popupTemplateCreator from "@arcgis/core/smartMapping/popup/templates.js";
esri/smartMapping/popup/templates
This object contains helper methods for generating popup templates to be set on a layer. The suggested popup templates will only include information in the popup related to the layer's renderer. For example, the popup template in the image below was generated based on a layer rendered with a predominance renderer coloring census tracks based on the decade in which the most homes were built.
This provides a better default popup template than the traditional approach of providing a long table of unformatted values.
Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Promise<Templates> | Returns one or more suggested popupTemplates for a given layer based on its renderer. | templates |
Method Details
-
getTemplates
getTemplates(params){Promise<Templates>}
-
Returns one or more suggested popupTemplates for a given layer based on its renderer. This method is useful in apps where a layer's renderer can be modified by the user (or some other process) and the popup template is expected to display values related to the renderer. Popup templates will not be generated for layers with renderers that don't refer to a data value (i.e. SimpleRenderer with no visual variables).
ParametersSpecificationparams ObjectSee the table below for details of each parameter that may be passed to this function.
Specificationlayer FeatureLayer|CSVLayer|GeoJSONLayer|WFSLayer|OGCFeatureLayer|StreamLayer|OrientedImageryLayer|KnowledgeGraphSublayer|SubtypeGroupLayer|SubtypeSublayerThe layer to which the suggested popup templates can be applied.
renderer RendereroptionalSpecify the renderer to be used on the layer when if it will be different than the renderer already set on the layer.
ReturnsType Description Promise<Templates> Returns an object containing suggested primary and secondary PopupTemplates for the input layer. Example// Sets a suggested popupTemplate on the layer based on its renderer popupTemplateCreator.getTemplates({ layer: featureLayer, renderer: featureLayer.renderer }).then(function(popupTemplateResponse){ if ( popupTemplateResponse.primaryTemplate ){ featureLayer.popupTemplate = popupTemplateResponse.primaryTemplate.value; } }).catch(function(error){ console.error(error); });
Type Definitions
-
Defines a suggested PopupTemplate with a given name and title describing the content and purpose of the PopupTemplate.
- Properties
-
name String
The name of the auto-generated PopupTemplate. This can be used in the UI of web map authoring apps.
title StringThe title of the PopupTemplate.
value PopupTemplateThe suggested PopupTemplate.
-
The return object of the getTemplates() method.