import ExpressionInfo from "@arcgis/core/popup/ExpressionInfo.js";const ExpressionInfo = await $arcgis.import("@arcgis/core/popup/ExpressionInfo.js");- Inheritance:
- ExpressionInfo→
Accessor
- Since
- ArcGIS Maps SDK for JavaScript 4.11
The ExpressionInfo class references Arcade expressions following
the specification defined by the Arcade Popup Profile.
Expressions must return a string or a number and may access data values from the feature, its layer, or other layers
in the map or datastore with the $feature, $layer, $map, and $datastore profile variables.
Expression names are referenced in a layer's PopupTemplate and execute once a layer's popup is opened. The values display within the view's popup as if they are field values. They can be displayed in a table using the FieldInfo of the popupTemplate's content or referenced within a simple string.
Example
// Display a table in the popup's content referencing two values// one from a field, and another returned from an Arcade expressionlayer.popupTemplate = { title: "Population in {NAME}", content: [{ type: "fields", fieldInfos: [{ fieldName: "POP_2015", label: "Total population (2015)", format: { digitSeparator: true } }, { fieldName: "expression/per-asian" }] }]};Constructors
Constructor
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| properties | | |
Properties
| Property | Type | Class |
|---|---|---|
declaredClass readonly inherited | ||
| | ||
| | ||
"string" | "number" | | |
| |
expression
- Type
- string
An Arcade expression following
the specification defined by the Arcade Popup Profile.
Expressions must return a string or a number and may access data values from the feature, its layer, or other layers
in the map or datastore with the $feature, $layer, $map, and $datastore profile variables.
Example
// Calculates the percentage of the population that is AsianexpressionInfo.expression = "Text($feature.Asian / $feature.TOT_POP, '#.#%')"; name
- Type
- string
The name of the expression. This is used to reference the value of the
given expression in the popupTemplate's
PopupTemplate.content property by wrapping
it in curly braces and prefacing it with expression/
(e.g. {expression/expressionName}).
Example
expressionInfo.name = "percent-asian";Methods
fromJSON
- Signature
-
fromJSON (json: any): any
Creates a new instance of this class and initializes it with values from a JSON object
generated from an ArcGIS product. The object passed into the input json
parameter often comes from a response to a query operation in the REST API or a
toJSON()
method from another ArcGIS product. See the Using fromJSON()
topic in the Guide for details and examples of when and how to use this function.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| json | A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. | |
- Returns
- any
Returns a new instance of this class.
clone
- Signature
-
clone (): ExpressionInfo
Creates a deep clone of the ExpressionInfo class.
- Returns
- ExpressionInfo
A deep clone of the ExpressionInfo instance.
toJSON
- Signature
-
toJSON (): any
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
- Returns
- any
The ArcGIS portal JSON representation of an instance of this class.