Skip To Content ArcGIS for Developers Sign In Dashboard

PopupManager QML Type

Manages the viewing and editing of a Popup. More...

Import Statement: import Esri.ArcGISRuntime 100.8
Since: Esri.ArcGISRuntime 100.0





Detailed Description

This class works in conjunction with the PopupView in the ArcGIS Runtime Toolkit. The PopupView is used to display information about a GeoElement. For example, a PopupView could be used to display the attributes of an ArcGISFeature that is stored in a Feature Service. PopupManager provides the PopupView with the content to display in the view. It also contains many helper functions and properties to assist the PopupView with displaying and editing information related to the associated GeoElement.

An example workflow for displaying a PopupView using a PopupManager would be:

  • Declare a PopupView and anchor it to a desired location.
  • Perform an identify operation on a GeoView and select a Feature from the identify result.
  • Create a Popup from the Feature.
  • Optionally obtain the Popup's PopupDefinition and set the title, whether to show attachments, and so on.
  • Create a PopupManager from the Popup.
  • Assign the PopupView's popupManager property the PopupManager created in the previous step.
  • Call the show() method to display the PopupView.
  • Call the dismiss() method to hide the PopupView.

This QML type supports the following default properties. A default property may be declared inside another declared object without being assigned explicitly to a property.

Note: Each time a change is made to the Popup, PopupDefinition, PopupManager, or any of their properties, the PopupManager must be re-set to the PopupView.

Property Documentation

attachmentManager : PopupAttachmentManager

Returns the PopupAttachmentManager for this PopupManager (read-only).

Returns null if there is no associated PopupAttachmentManager.

This QML property was introduced in Esri.ArcGISRuntime 100.1.

customHtmlDescription : string

Returns the Popup's custom HTML description (read-only).

This property doesn't support Arcade expressions with FeatureSet.

deleteAllowed : bool

Returns whether deleting the GeoElement is allowed (read-only).

displayedFields : PopupAttributeListModel

Returns the fields for display use as a PopupAttributeListModel (read-only).

editGeometryAllowed : bool

Returns whether geometry editing is allowed (read-only).

editSummary : string

Returns the current edit summary (read-only).

editableFields : PopupAttributeListModel

Returns the editable fields as a PopupAttributeListModel (read-only).

editing : bool

Returns whether the PopupManager is currently in editing mode (read-only).

editingAllowed : bool

Returns whether attribute editing is allowed (read-only).

editingError : Error

The Error object for when an editing error occurs (read-only).

The editingErrorChanged signal will emit when there is a new error.

[default] editingGeometryBuilder : GeometryBuilder

The GeometryBuilder used to edit the GeoElement's geometry.

evaluateExpressionsResults : list<PopupExpressionEvaluation>

Returns a list of results from an evaluate of expressions operation.

The results are asynchronously evaluated expressions, including Arcade FeatureSet functions, available at PopupDefinition::expressions. If there are no PopupDefinition::expressions then the result list will be empty.

Obtain the results once the evaluateExpressionsStatusChanged signal emits, and the evaluateExpressionsStatus is complete.

This QML property was introduced in Esri.ArcGISRuntime 100.8.

evaluateExpressionsStatus : Enums.TaskStatus

The status for the task of evaluating popup expressions.

This QML property was introduced in Esri.ArcGISRuntime 100.8.

See also Enums.TaskStatus.

featureTypes : list<FeatureType>

Returns a list of FeatureTypes (read-only).

Note: Returns null if the GeoElement is not an ArcGISFeature in an ArcGISFeatureTable

geoElementValid : bool

Returns whether the GeoElement is valid (read-only).

The Popup that is to be managed.

Note: This must be set in order to instantiate a PopupManager.

showAttachments : bool

Returns whether attachments should be shown (read-only).

showCustomHtmlDescription : bool

Returns whether the custom HTML description should be shown (read-only).

showEditSummary : bool

Returns whether the showEditSummary should be shown (read-only).

showMedia : bool

Returns whether media should be shown (read-only).

symbol : Symbol

Returns the Symbol of the Popup (read-only).

title : string

Returns the Popup's title text (read-only).

Signal Documentation


Emitted when the attachmentManager property changes.

This QML signal was introduced in Esri.ArcGISRuntime 100.1.


Emitted when the customHtmlDescription property changes.


Emitted when the deleteAllowed property changes.


Emitted when the displayedFields property changes.


Emitted when the editGeometryAllowed property changes.


Emitted when the editSummary property changes.


Emitted when the editableFields property changes.


Emitted when the editingAllowed property changes.


Emitted when the editing property changes.


Emitted finishEditingAsync completes.


Emitted when the editingError property changes.


Emitted when the editingGeometryBuilder property changes.


Emitted when the evaluateExpressions property changes.

This QML signal was introduced in Esri.ArcGISRuntime 100.8.


Emitted when the featureTypes property changes.


Emitted when the featureTypes property changes.


Emitted when the geoElementValid property changes.


Emitted when the editingGeometryBuilder property changes.


Emitted when the popup property changes.


Emitted when the showAttachments property changes.


Emitted when the showCustomHtmlDescription property changes.


Emitted when the showEditSummary property changes.


Emitted when the showMedia property changes.


Emitted when the symbol property changes.


Emitted when the title property changes.

Method Documentation

void cancelEditing()

Cancels the editing session.

Any edits that have been made since starting will be discarded.

bool cancelTask(string taskId)

See also Cancelable.

bool doesChangeRequireNotification(FeatureTemplate featureTemplate)

Returns whether changes to the specified featureTemplate requires a notification to the user that some data may be overwritten by the change.

Domain domain(PopupField popupField)

Returns the Domain of the specified popupField.

string evaluateExpressions()

Asynchronously evaluates all expressions, including Arcade FeatureSet functions, available at PopupDefinition::expressions. This method must be called before displaying the popup information in a UI so you can use synchronous methods Popup::formattedValue() and PopupManager::substitute() to get the formatted string representation. If there are no PopupDefinition::expressions then the result list will be empty.

The PopupExpression may be used in the PopupDefinition::fields, PopupDefinition::media, PopupDefinition::title and PopupDefinition::description.

This QML method was introduced in Esri.ArcGISRuntime 100.8.

PopupField fieldByName(string fieldName)

Returns the PopupField object corresponding to the specified fieldName.

This will return null if there is no such field or if the GeoElement is not an ArcGISFeature with fields.

string fieldLabel(PopupField popupField)

Returns the label of the specified popupField.

If the field is based on a PopupExpression, the title of the expression will be returned.

This QML method was introduced in Esri.ArcGISRuntime 100.3.

void fieldType(PopupField popupField)

Returns the FieldType of the specified popupField.

See also Enums.FieldType.

var fieldValue(PopupField popupField)

Returns the value of the specified popupField.

void finishEditingAsync()

Finishes the editing session.

This runs asynchronously, and the editingCompleted signal emits once the editing session has ended.

Note: The PopupManager does not automatically call applyEdits on the associated GeoElement's ServiceFeatureTable. To commit any edits to the source data, call applyEdits on the associated ServiceFeatureTable.

string formattedValue(PopupField popupField)

Returns a formatted string representation of the specified popupField.

bool isFeatureType(PopupField popupField)

Returns whether the specified popupField is a FeatureType field.

bool isNullable(PopupField popupField)

Returns whether the specified popupField is nullable.

int maxLength(PopupField popupField)

Returns the maximum allowed length of the specified popupField.

Error rangeDomainValidationText(PopupField popupField)

Returns a string that can be used to hint the acceptable values for a RangeDomain in a popupField.

bool startEditing()

Initiates an editing session with the Popup.

Returns true if editing was started successfully and false if editing is already started or not allowed.

string substitute(string templateString)

Substitutes attribute values for attribute place-holders in a given templateString.

Error updateValue(var newValue, PopupField popupField)

Updates the value of the specified popupField to the specified newValue.

Error updateValueFromTemplate(FeatureTemplate featureTemplate, Enums::FeatureTypeChangeMode changeMode)

Updates the GeoElement's featureTemplate, which in turn updates the values of its attribute table to match those in the feature template, dependent on the changeMode.

Error validationError(PopupField popupField)

Returns the validation Error for the specified popupField.

Feedback on this topic?