@arcgis/core 5.1.0-next.61 → 5.1.0-next.63
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/4dbbf59c79d9e72f20ee.js +1 -0
- package/assets/esri/core/workers/chunks/71326d16b5cc35c3ff7f.js +1 -0
- package/assets/esri/core/workers/chunks/{c69fefe9d51ac7c2b0a6.js → 75f7c1f600c4051bc905.js} +1 -1
- package/assets/esri/core/workers/chunks/ed60b5eaa5765bfcb99c.js +1 -0
- package/config.js +1 -1
- package/interfaces.d.ts +14 -0
- package/kernel.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/raster/datasets/BaseRaster.js +1 -1
- package/layers/raster/datasets/ImageAuxRaster.js +1 -1
- package/layers/raster/datasets/ImageServerRaster.js +1 -1
- package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
- package/layers/raster/formats/JpgPlus.js +1 -1
- package/layers/raster/formats/RasterCodec.js +1 -1
- package/package.json +1 -1
- package/popup/Feature.d.ts +8 -3
- package/popup/Feature.js +1 -1
- package/popup/Features.d.ts +663 -0
- package/popup/Features.js +2 -0
- package/popup/support/FeatureAbilities.d.ts +30 -0
- package/popup/support/FeatureAbilities.js +2 -0
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/widgets/Feature/FeatureViewModel.d.ts +2 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/assets/esri/core/workers/chunks/5f3f50fec18d1642fdf9.js +0 -1
- package/assets/esri/core/workers/chunks/b42487c6a989e11a2559.js +0 -1
- package/assets/esri/core/workers/chunks/dba479176db0a23c8034.js +0 -1
|
@@ -0,0 +1,663 @@
|
|
|
1
|
+
import type Graphic from "../Graphic.js";
|
|
2
|
+
import type EsriMap from "../Map.js";
|
|
3
|
+
import type Collection from "../core/Collection.js";
|
|
4
|
+
import type Point from "../geometry/Point.js";
|
|
5
|
+
import type SpatialReference from "../geometry/SpatialReference.js";
|
|
6
|
+
import type Feature from "./Feature.js";
|
|
7
|
+
import type FeatureAbilities from "./support/FeatureAbilities.js";
|
|
8
|
+
import type { EventedAccessor } from "../core/Evented.js";
|
|
9
|
+
import type { ScreenPoint } from "../core/types.js";
|
|
10
|
+
import type { SpatialReferenceProperties } from "../geometry/SpatialReference.js";
|
|
11
|
+
import type { State, FetchFeaturesOptions } from "./types.js";
|
|
12
|
+
import type { TimeZone } from "../time/types.js";
|
|
13
|
+
import type { MapViewOrSceneView } from "../views/MapViewOrSceneView.js";
|
|
14
|
+
import type { FetchPopupFeaturesResult } from "../views/types.js";
|
|
15
|
+
import type { ActionEvent, InitialDisplayOptions, PopupAction } from "../widgets/Popup/types.js";
|
|
16
|
+
import type { GoTo, GoToProperties } from "../widgets/support/GoTo.js";
|
|
17
|
+
import type { GoToParameters } from "../widgets/support/types.js";
|
|
18
|
+
import type { ActionToggleProperties } from "../support/actions/ActionToggle.js";
|
|
19
|
+
import type { ActionButtonProperties } from "../support/actions/ActionButton.js";
|
|
20
|
+
import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
|
|
21
|
+
import type { FeatureAbilitiesProperties } from "./support/FeatureAbilities.js";
|
|
22
|
+
import type { PointProperties } from "../geometry/Point.js";
|
|
23
|
+
|
|
24
|
+
export interface FeaturesProperties extends GoToProperties, Partial<Pick<Features, "activeFeature" | "browseClusterEnabled" | "content" | "defaultPopupTemplateEnabled" | "featureMenuOpen" | "featureMenuTitle" | "featurePage" | "features" | "featuresPerPage" | "heading" | "highlightEnabled" | "includeDefaultActions" | "initialDisplayMode" | "map" | "open" | "promises" | "selectedFeatureIndex" | "updateLocationEnabled" | "view" | "zoomFactor">> {
|
|
25
|
+
/**
|
|
26
|
+
* [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [action](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) or [action toggle](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/) objects.
|
|
27
|
+
* Each action may be executed by clicking the icon or image symbolizing them.
|
|
28
|
+
* By default, every popup and Features widget has a `Zoom To` action styled with a magnifying glass icon .
|
|
29
|
+
* When this icon is clicked, the view zooms in four LODs and centers on the selected feature.
|
|
30
|
+
*
|
|
31
|
+
* You may remove this default action by setting [includeDefaultActions](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#includeDefaultActions) to `false`, or by setting the
|
|
32
|
+
* [PopupTemplate.overwriteActions](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#overwriteActions) property to `true` in a [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/).
|
|
33
|
+
* The order of each action is the order in which they appear in the actions [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/).
|
|
34
|
+
*
|
|
35
|
+
* The [@trigger-action](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#event-trigger-action) event fires each time an action is clicked.
|
|
36
|
+
*
|
|
37
|
+
* Actions are defined with the properties listed in the [ActionButton](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) or [ActionToggle](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/) class.
|
|
38
|
+
*
|
|
39
|
+
* @see [@trigger-action](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#event-trigger-action)
|
|
40
|
+
* @see [Sample - Popup actions](https://developers.arcgis.com/javascript/latest/sample-code/popup-actions/)
|
|
41
|
+
* @example
|
|
42
|
+
* // Defines an action button to zoom out from the selected feature
|
|
43
|
+
* const zoomOutAction = new ActionButton({
|
|
44
|
+
* // This text is displayed as a tooltip
|
|
45
|
+
* title: "Zoom out",
|
|
46
|
+
* // The ID by which to reference the action in the event handler
|
|
47
|
+
* id: "zoom-out",
|
|
48
|
+
* // Sets the icon used to style the action button
|
|
49
|
+
* icon: "magnifying-glass-minus"
|
|
50
|
+
* });
|
|
51
|
+
* // Adds the custom action to the popup.
|
|
52
|
+
* view.popup.viewModel.actions.push(zoomOutAction);
|
|
53
|
+
*
|
|
54
|
+
* // Adds the custom action to the Features widget
|
|
55
|
+
* featuresWidget.viewModel.actions.push(zoomOutAction);
|
|
56
|
+
*/
|
|
57
|
+
actions?: ReadonlyArrayOrCollection<((ActionButtonProperties & { type: "button" }) | (ActionToggleProperties & { type: "toggle" }))>;
|
|
58
|
+
/** Defines the specific [Abilities](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/types/#Abilities) that can be used when querying and displaying content. */
|
|
59
|
+
featureItemAbilities?: FeatureAbilitiesProperties | null;
|
|
60
|
+
/**
|
|
61
|
+
* Geometry used to show the location of the feature. This is automatically set when selecting a feature. If displaying content not related
|
|
62
|
+
* to features in the map, such as the results from a task, then you must set this
|
|
63
|
+
* property before making the widget [open](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#open) to the user.
|
|
64
|
+
*
|
|
65
|
+
* @see [Get started with popups](https://developers.arcgis.com/javascript/latest/sample-code/intro-popup/)
|
|
66
|
+
* @example
|
|
67
|
+
* // Sets the location of the popup to the center of the view
|
|
68
|
+
* view.popup.viewModel.location = view.center;
|
|
69
|
+
* // Displays the popup
|
|
70
|
+
* view.popup.visible = true;
|
|
71
|
+
* @example
|
|
72
|
+
* // Display a popup when and where the user clicks the view.
|
|
73
|
+
* reactiveUtils.on(()=>view, "click", ({ mapPoint })=>{
|
|
74
|
+
* view.popup.viewModel.location = mapPoint;
|
|
75
|
+
* view.popup.visible = true;
|
|
76
|
+
* });
|
|
77
|
+
*/
|
|
78
|
+
location?: PointProperties | null;
|
|
79
|
+
/**
|
|
80
|
+
* The spatial reference used for [Arcade](https://developers.arcgis.com/arcade) operations.
|
|
81
|
+
* This property should be set if Arcade expressions are executed that contain [geometry functions](https://developers.arcgis.com/arcade/function-reference/geometry_functions/).
|
|
82
|
+
*
|
|
83
|
+
* Alternatively, the [view](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#view) property can be used to provide the spatial reference instance for this property.
|
|
84
|
+
*
|
|
85
|
+
* @since 4.30
|
|
86
|
+
* @see [Type system](https://developers.arcgis.com/arcade/guide/types/#featuresetcollection)
|
|
87
|
+
* @see [Arcade Profiles: Popup](https://developers.arcgis.com/arcade/profiles/popup/)
|
|
88
|
+
*/
|
|
89
|
+
spatialReference?: SpatialReferenceProperties | null;
|
|
90
|
+
/**
|
|
91
|
+
* Dates and times will be displayed in this time zone. By default this time zone is
|
|
92
|
+
* inherited from [MapView.timeZone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone) if the [view](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#view) property is set. When a MapView is not associated with the widget view model,
|
|
93
|
+
* then the property will fallback to the `system` time zone.
|
|
94
|
+
*
|
|
95
|
+
* **Possible Values**
|
|
96
|
+
*
|
|
97
|
+
* Value | Description |
|
|
98
|
+
* ----- | ----------- |
|
|
99
|
+
* system | Dates and times will be displayed in the timezone of the device or browser.
|
|
100
|
+
* unknown | Dates and time are not adjusted for any timezone.
|
|
101
|
+
* Specified IANA timezone | Dates and times will be displayed in the specified IANA time zone. See [wikipedia - List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
|
102
|
+
*
|
|
103
|
+
* @since 4.30
|
|
104
|
+
*/
|
|
105
|
+
timeZone?: TimeZone | null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
export interface FeaturesEvents {
|
|
109
|
+
/**
|
|
110
|
+
* Fires after the user clicks on an [action](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) or [action toggle](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/) in the action bar. This
|
|
111
|
+
* event may be used to define a custom function to execute when particular
|
|
112
|
+
* actions are clicked. See the example below for details of how this works.
|
|
113
|
+
*
|
|
114
|
+
* @see [Popup.actions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Popup/#actions)
|
|
115
|
+
* @see [PopupTemplate.actions](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#actions)
|
|
116
|
+
* @see [open](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#open)
|
|
117
|
+
* @example
|
|
118
|
+
* featuresWidget.open({
|
|
119
|
+
* location: event.mapPoint,
|
|
120
|
+
* fetchFeatures: true,
|
|
121
|
+
* featureMenuOpen: true,
|
|
122
|
+
* actions: [new ActionButton({
|
|
123
|
+
* // This text is displayed as a tooltip
|
|
124
|
+
* title: "Zoom out",
|
|
125
|
+
* // The ID used to reference this action in the event handler
|
|
126
|
+
* id: "zoom-out",
|
|
127
|
+
* // Sets the icon for the action button
|
|
128
|
+
* icon: "magnifying-glass"
|
|
129
|
+
* }),
|
|
130
|
+
* new ActionButton({
|
|
131
|
+
* title: "Delete Feature",
|
|
132
|
+
* id: "delete-feature-action",
|
|
133
|
+
* icon: "trash"
|
|
134
|
+
* })]
|
|
135
|
+
* });
|
|
136
|
+
*
|
|
137
|
+
* // Fires each time an action is clicked
|
|
138
|
+
* reactiveUtils.on(()=> featuresWidget, "trigger-action", (event)=>{
|
|
139
|
+
* // If the zoom-out action is clicked, execute the following code
|
|
140
|
+
* if(event.action.id === "zoom-out"){
|
|
141
|
+
* // Zoom out two levels (LODs)
|
|
142
|
+
* view.goTo({
|
|
143
|
+
* center: view.center,
|
|
144
|
+
* zoom: view.zoom - 2
|
|
145
|
+
* });
|
|
146
|
+
* }
|
|
147
|
+
* });
|
|
148
|
+
* @example
|
|
149
|
+
* // Defines an action button to zoom out from the selected feature
|
|
150
|
+
* const zoomOutAction = new ActionButton({
|
|
151
|
+
* // This text is displayed as a tooltip
|
|
152
|
+
* title: "Zoom out",
|
|
153
|
+
* // The ID by which to reference the action in the event handler
|
|
154
|
+
* id: "zoom-out",
|
|
155
|
+
* // Sets the icon used to style the action button
|
|
156
|
+
* icon: "magnifying-glass-minus"
|
|
157
|
+
* });
|
|
158
|
+
* // Adds the custom action to the popup.
|
|
159
|
+
* view.popup.actions.push(zoomOutAction);
|
|
160
|
+
*
|
|
161
|
+
* // This event fires for each click on any action
|
|
162
|
+
* reactiveUtils.on(()=>view.popup?.viewModel, "trigger-action", (event)=>{
|
|
163
|
+
* // If the zoom-out action is clicked, fire the zoomOut() function
|
|
164
|
+
* if(event.action.id === "zoom-out"){
|
|
165
|
+
* // in this case the view zooms out two LODs on each click
|
|
166
|
+
* view.goTo({
|
|
167
|
+
* center: view.center,
|
|
168
|
+
* zoom: view.zoom - 2
|
|
169
|
+
* });
|
|
170
|
+
* }
|
|
171
|
+
* });
|
|
172
|
+
* @example
|
|
173
|
+
* // Defines an action button to zoom out from the selected feature
|
|
174
|
+
* const zoomOutAction = new ActionButton({
|
|
175
|
+
* // This text is displayed as a tooltip
|
|
176
|
+
* title: "Zoom out",
|
|
177
|
+
* // The ID by which to reference the action in the event handler
|
|
178
|
+
* id: "zoom-out",
|
|
179
|
+
* // Sets the icon used to style the action button
|
|
180
|
+
* icon: "magnifying-glass-minus"
|
|
181
|
+
* });
|
|
182
|
+
* // Adds the custom action to the popup.
|
|
183
|
+
* view.popup.actions.push(zoomOutAction);
|
|
184
|
+
*
|
|
185
|
+
* // This event fires for each click on any action
|
|
186
|
+
* reactiveUtils.on(()=>view.popup?.popupViewModel, "trigger-action", (event)=>{
|
|
187
|
+
* // If the zoom-out action is clicked, fire the zoomOut() function
|
|
188
|
+
* if(event.action.id === "zoom-out"){
|
|
189
|
+
* // in this case the view zooms out two LODs on each click
|
|
190
|
+
* view.goTo({
|
|
191
|
+
* center: view.center,
|
|
192
|
+
* zoom: view.zoom - 2
|
|
193
|
+
* });
|
|
194
|
+
* }
|
|
195
|
+
* });
|
|
196
|
+
*/
|
|
197
|
+
"trigger-action": ActionEvent;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Provides the logic for the [Features](https://developers.arcgis.com/javascript/latest/references/core/widgets/Features/) widget and [component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-features/).
|
|
202
|
+
*
|
|
203
|
+
* @since 4.27
|
|
204
|
+
* @see [Features](https://developers.arcgis.com/javascript/latest/references/core/widgets/Features/) widget - _Deprecated since 4.34. Use the [Features component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-features) instead._
|
|
205
|
+
* @see [Features component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-features/)
|
|
206
|
+
* @see [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/)
|
|
207
|
+
*/
|
|
208
|
+
export default class Features extends FeaturesSuperclass {
|
|
209
|
+
/**
|
|
210
|
+
* @deprecated
|
|
211
|
+
* Do not directly reference this property.
|
|
212
|
+
* Use EventNames and EventTypes helpers from \@arcgis/core/Evented
|
|
213
|
+
*/
|
|
214
|
+
"@eventTypes": FeaturesEvents;
|
|
215
|
+
constructor(properties?: FeaturesProperties);
|
|
216
|
+
/**
|
|
217
|
+
* [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [action](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) or [action toggle](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/) objects.
|
|
218
|
+
* Each action may be executed by clicking the icon or image symbolizing them.
|
|
219
|
+
* By default, every popup and Features widget has a `Zoom To` action styled with a magnifying glass icon .
|
|
220
|
+
* When this icon is clicked, the view zooms in four LODs and centers on the selected feature.
|
|
221
|
+
*
|
|
222
|
+
* You may remove this default action by setting [includeDefaultActions](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#includeDefaultActions) to `false`, or by setting the
|
|
223
|
+
* [PopupTemplate.overwriteActions](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#overwriteActions) property to `true` in a [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/).
|
|
224
|
+
* The order of each action is the order in which they appear in the actions [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/).
|
|
225
|
+
*
|
|
226
|
+
* The [@trigger-action](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#event-trigger-action) event fires each time an action is clicked.
|
|
227
|
+
*
|
|
228
|
+
* Actions are defined with the properties listed in the [ActionButton](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) or [ActionToggle](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/) class.
|
|
229
|
+
*
|
|
230
|
+
* @see [@trigger-action](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#event-trigger-action)
|
|
231
|
+
* @see [Sample - Popup actions](https://developers.arcgis.com/javascript/latest/sample-code/popup-actions/)
|
|
232
|
+
* @example
|
|
233
|
+
* // Defines an action button to zoom out from the selected feature
|
|
234
|
+
* const zoomOutAction = new ActionButton({
|
|
235
|
+
* // This text is displayed as a tooltip
|
|
236
|
+
* title: "Zoom out",
|
|
237
|
+
* // The ID by which to reference the action in the event handler
|
|
238
|
+
* id: "zoom-out",
|
|
239
|
+
* // Sets the icon used to style the action button
|
|
240
|
+
* icon: "magnifying-glass-minus"
|
|
241
|
+
* });
|
|
242
|
+
* // Adds the custom action to the popup.
|
|
243
|
+
* view.popup.viewModel.actions.push(zoomOutAction);
|
|
244
|
+
*
|
|
245
|
+
* // Adds the custom action to the Features widget
|
|
246
|
+
* featuresWidget.viewModel.actions.push(zoomOutAction);
|
|
247
|
+
*/
|
|
248
|
+
get actions(): Collection<PopupAction>;
|
|
249
|
+
set actions(value: ReadonlyArrayOrCollection<((ActionButtonProperties & { type: "button" }) | (ActionToggleProperties & { type: "toggle" }))>);
|
|
250
|
+
/**
|
|
251
|
+
* Indicates if the view model is open and is not [waiting for results](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#waitingForResult).
|
|
252
|
+
*
|
|
253
|
+
* @see [waitingForResult](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#waitingForResult)
|
|
254
|
+
* @see [open](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#open)
|
|
255
|
+
*/
|
|
256
|
+
get active(): boolean;
|
|
257
|
+
/**
|
|
258
|
+
* The highlighted feature on the map that is either hovered over or in focus within the feature menu.
|
|
259
|
+
*
|
|
260
|
+
* @since 4.32
|
|
261
|
+
*/
|
|
262
|
+
accessor activeFeature: Graphic | null | undefined;
|
|
263
|
+
/** A collection of [actions](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) or [action toggles](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/). */
|
|
264
|
+
get allActions(): Collection<PopupAction>;
|
|
265
|
+
/**
|
|
266
|
+
* Indicates if the "Browse features" experience is active in a
|
|
267
|
+
* [cluster](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/) popup. This value becomes
|
|
268
|
+
* `true` when the user enables feature browsing with the "Browse features" cluster
|
|
269
|
+
* [action button](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/).
|
|
270
|
+
* It becomes `false` when the view scale changes, when the widget is closed, or when the user disables
|
|
271
|
+
* the "Browse features" action. This should only be set programmatically when the
|
|
272
|
+
* [selectedFeature](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeature) is
|
|
273
|
+
* an [aggregate graphic](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#isAggregate) and represents a cluster.
|
|
274
|
+
*
|
|
275
|
+
* @default false
|
|
276
|
+
* @example
|
|
277
|
+
* // open the browse features experience for a cluster graphic
|
|
278
|
+
* featuresWidget.viewModel.browseClusterEnabled = featuresWidget.viewModel.selectedFeature?.isAggregate;
|
|
279
|
+
*
|
|
280
|
+
* view.popup.viewModel.browseClusterEnabled = view.popup.viewModel.selectedFeature?.isAggregate;
|
|
281
|
+
*/
|
|
282
|
+
accessor browseClusterEnabled: boolean;
|
|
283
|
+
/**
|
|
284
|
+
* The information to display. When this property is set, this content may
|
|
285
|
+
* only be static and cannot use fields to set content templates. To set a template
|
|
286
|
+
* for the content based on field or attribute names, see
|
|
287
|
+
* [PopupTemplate.content](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/#content).
|
|
288
|
+
*
|
|
289
|
+
* @see [Sample - Popup Docking](https://developers.arcgis.com/javascript/latest/sample-code/popup-docking-position/)
|
|
290
|
+
* @example
|
|
291
|
+
* // This sets generic instructions in the popup that will always be displayed
|
|
292
|
+
* // unless it is overridden by a PopupTemplate.
|
|
293
|
+
* // This can be set on the Features widget view model
|
|
294
|
+
* featuresWidget.viewModel.content = "Click a feature on the map to view its attributes";
|
|
295
|
+
*
|
|
296
|
+
* // Or set on the Popup widget view model.
|
|
297
|
+
* view.popup.viewModel.content = "Click a feature on the map to view its attributes";
|
|
298
|
+
*/
|
|
299
|
+
accessor content: string | HTMLElement | null | undefined;
|
|
300
|
+
/**
|
|
301
|
+
* A read-only property that specifies a [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of action [buttons](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) and/or [toggles](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/).
|
|
302
|
+
* By default, there is a "Zoom to" action that allows users to zoom to the selected feature.
|
|
303
|
+
*
|
|
304
|
+
* > [!WARNING]
|
|
305
|
+
* >
|
|
306
|
+
* > In order to disable any default actions, it is necessary to set [includeDefaultActions](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#includeDefaultActions) to `false`.
|
|
307
|
+
*/
|
|
308
|
+
get defaultActions(): Collection<PopupAction>;
|
|
309
|
+
/**
|
|
310
|
+
* Enables automatic creation of a popup template for layers that have popups enabled but no
|
|
311
|
+
* popupTemplate defined. Automatic popup templates are supported for layers that
|
|
312
|
+
* support the `createPopupTemplate` method. (Supported for
|
|
313
|
+
* [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/),
|
|
314
|
+
* [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/),
|
|
315
|
+
* [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/),
|
|
316
|
+
* [SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/),
|
|
317
|
+
* [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/),
|
|
318
|
+
* [PointCloudLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/PointCloudLayer/),
|
|
319
|
+
* [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/), and
|
|
320
|
+
* [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/)).
|
|
321
|
+
*
|
|
322
|
+
* @default false
|
|
323
|
+
*/
|
|
324
|
+
accessor defaultPopupTemplateEnabled: boolean;
|
|
325
|
+
/**
|
|
326
|
+
* The number of selected [features](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#features) available.
|
|
327
|
+
*
|
|
328
|
+
* @default 0
|
|
329
|
+
*/
|
|
330
|
+
get featureCount(): number;
|
|
331
|
+
/** Defines the specific [Abilities](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/types/#Abilities) that can be used when querying and displaying content. */
|
|
332
|
+
get featureItemAbilities(): FeatureAbilities | null | undefined;
|
|
333
|
+
set featureItemAbilities(value: FeatureAbilitiesProperties | null | undefined);
|
|
334
|
+
/** An array of [Feature](https://developers.arcgis.com/javascript/latest/references/core/popup/Feature/) item view model(s). */
|
|
335
|
+
get featureItems(): Feature[];
|
|
336
|
+
/**
|
|
337
|
+
* This property enables showing the list of features.
|
|
338
|
+
* Setting this to `true` allows the user to scroll through the list of features.
|
|
339
|
+
* This value will only be honored if [initialDisplayMode](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#initialDisplayMode) is set to `feature`.
|
|
340
|
+
*
|
|
341
|
+
* @default false
|
|
342
|
+
* @since 4.32
|
|
343
|
+
*/
|
|
344
|
+
accessor featureMenuOpen: boolean;
|
|
345
|
+
/** The title to display on the widget while viewing the feature menu. */
|
|
346
|
+
accessor featureMenuTitle: string | null | undefined;
|
|
347
|
+
/**
|
|
348
|
+
* The current page number in the feature browsing menu. If the feature menu is not open, this value is `null`.
|
|
349
|
+
* This value is dependent on the [featuresPerPage](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#featuresPerPage).
|
|
350
|
+
*
|
|
351
|
+
* @since 4.32
|
|
352
|
+
*/
|
|
353
|
+
accessor featurePage: number | null | undefined;
|
|
354
|
+
/**
|
|
355
|
+
* An array of features. Each graphic in this array must
|
|
356
|
+
* have a valid [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) set. They may share the same
|
|
357
|
+
* [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) or have unique
|
|
358
|
+
* [PopupTemplates](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) depending on their attributes.
|
|
359
|
+
* The [content](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#content) and [heading](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#heading) properties
|
|
360
|
+
* are set based on the `content` and `heading` properties of each graphic's respective
|
|
361
|
+
* [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/).
|
|
362
|
+
*
|
|
363
|
+
* When more than one graphic exists in this array, the current content of the
|
|
364
|
+
* Popup is set based on the value of the [selected feature](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeature).
|
|
365
|
+
*
|
|
366
|
+
* This value is `null` if there are no features associated with the view model.
|
|
367
|
+
*
|
|
368
|
+
* @example
|
|
369
|
+
* // When setting the features property, the graphics pushed to this property
|
|
370
|
+
* // must have a PopupTemplate set.
|
|
371
|
+
* let g1 = new Graphic();
|
|
372
|
+
* g1.popupTemplate = new PopupTemplate({
|
|
373
|
+
* title: "Results title",
|
|
374
|
+
* content: "Results: {ATTRIBUTE_NAME}"
|
|
375
|
+
* });
|
|
376
|
+
* // Create an array of graphics and set this to the features property. The content and heading of
|
|
377
|
+
* // will be set depending on the PopupTemplate of the graphics.
|
|
378
|
+
* // Each graphic may share the same PopupTemplate or have a unique PopupTemplate.
|
|
379
|
+
* let graphics = [g1, g2, g3, g4, g5];
|
|
380
|
+
* // This value can be set on the popup or Features view model.
|
|
381
|
+
* view.popup.viewModel.features = graphics;
|
|
382
|
+
* featuresWidget.viewModel.features = graphics;
|
|
383
|
+
*/
|
|
384
|
+
accessor features: Graphic[];
|
|
385
|
+
/**
|
|
386
|
+
* The number of features to fetch at one time.
|
|
387
|
+
*
|
|
388
|
+
* @default 20
|
|
389
|
+
*/
|
|
390
|
+
accessor featuresPerPage: number;
|
|
391
|
+
/**
|
|
392
|
+
* The heading of the widget. This can be set to any string value no
|
|
393
|
+
* matter the features that are selected. If the [selected feature](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeature)
|
|
394
|
+
* has a [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/), then the heading set in the
|
|
395
|
+
* corresponding template is used here.
|
|
396
|
+
*
|
|
397
|
+
* @example
|
|
398
|
+
* // This heading will display in the popup unless a selected feature's
|
|
399
|
+
* // PopupTemplate overrides it.
|
|
400
|
+
* view.popup.viewModel.heading = "Population by zip codes in Southern California";
|
|
401
|
+
*/
|
|
402
|
+
accessor heading: string | null | undefined;
|
|
403
|
+
/**
|
|
404
|
+
* Highlight the selected feature using one of the [HighlightOptions](https://developers.arcgis.com/javascript/latest/references/core/views/support/HighlightOptions/) defined in the view's
|
|
405
|
+
* [View.highlights](https://developers.arcgis.com/javascript/latest/references/core/views/View/#highlights) collection.
|
|
406
|
+
*
|
|
407
|
+
* @default true
|
|
408
|
+
*/
|
|
409
|
+
accessor highlightEnabled: boolean;
|
|
410
|
+
/**
|
|
411
|
+
* Indicates whether or not to include [defaultActions](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#defaultActions).
|
|
412
|
+
*
|
|
413
|
+
* > [!WARNING]
|
|
414
|
+
* >
|
|
415
|
+
* > In order to disable any [default actions](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#defaultActions), it is necessary to set [includeDefaultActions](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#includeDefaultActions) to `false`.
|
|
416
|
+
*
|
|
417
|
+
* @default true
|
|
418
|
+
* @example
|
|
419
|
+
* // Removes the default actions
|
|
420
|
+
* viewModel.includeDefaultActions = false;
|
|
421
|
+
*/
|
|
422
|
+
accessor includeDefaultActions: boolean;
|
|
423
|
+
/**
|
|
424
|
+
* Indicates whether to initially display a list of features, or the content for one feature.
|
|
425
|
+
*
|
|
426
|
+
* @default "feature"
|
|
427
|
+
* @since 4.32
|
|
428
|
+
*/
|
|
429
|
+
accessor initialDisplayMode: InitialDisplayOptions;
|
|
430
|
+
/**
|
|
431
|
+
* Geometry used to show the location of the feature. This is automatically set when selecting a feature. If displaying content not related
|
|
432
|
+
* to features in the map, such as the results from a task, then you must set this
|
|
433
|
+
* property before making the widget [open](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#open) to the user.
|
|
434
|
+
*
|
|
435
|
+
* @see [Get started with popups](https://developers.arcgis.com/javascript/latest/sample-code/intro-popup/)
|
|
436
|
+
* @example
|
|
437
|
+
* // Sets the location of the popup to the center of the view
|
|
438
|
+
* view.popup.viewModel.location = view.center;
|
|
439
|
+
* // Displays the popup
|
|
440
|
+
* view.popup.visible = true;
|
|
441
|
+
* @example
|
|
442
|
+
* // Display a popup when and where the user clicks the view.
|
|
443
|
+
* reactiveUtils.on(()=>view, "click", ({ mapPoint })=>{
|
|
444
|
+
* view.popup.viewModel.location = mapPoint;
|
|
445
|
+
* view.popup.visible = true;
|
|
446
|
+
* });
|
|
447
|
+
*/
|
|
448
|
+
get location(): Point | null | undefined;
|
|
449
|
+
set location(value: PointProperties | null | undefined);
|
|
450
|
+
/**
|
|
451
|
+
* A map is required when the input [features](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#features) have a popupTemplate that contains [Arcade](https://developers.arcgis.com/arcade) expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/ExpressionInfo/) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ExpressionContent/) that may use the `$map` profile variable to access data from layers within a map. Without a map, expressions that use `$map` will throw an error.
|
|
452
|
+
*
|
|
453
|
+
* Alternatively, the [view](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#view) property can be used to provide the map instance for this property.
|
|
454
|
+
*
|
|
455
|
+
* @since 4.30
|
|
456
|
+
* @see [Type system](https://developers.arcgis.com/arcade/guide/types/#featuresetcollection)
|
|
457
|
+
* @see [Arcade Profiles: Popup](https://developers.arcgis.com/arcade/profiles/popup/)
|
|
458
|
+
* @example
|
|
459
|
+
* // The building footprints represent the buildings that intersect a clicked parcel
|
|
460
|
+
* let buildingFootprints = Intersects($feature, FeatureSetByName($map, "Building Footprints"));
|
|
461
|
+
*/
|
|
462
|
+
accessor map: EsriMap | null | undefined;
|
|
463
|
+
/**
|
|
464
|
+
* Indicates whether the widget is open. This property is `true` when the widget is querying for results, even if it is not open in the view.
|
|
465
|
+
* Use the [active](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#active) property to check if the widget is open and is not [waiting for results](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#waitingForResult).
|
|
466
|
+
*
|
|
467
|
+
* @default false
|
|
468
|
+
* @see [active](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#active)
|
|
469
|
+
*/
|
|
470
|
+
accessor open: boolean;
|
|
471
|
+
/**
|
|
472
|
+
* The number of [promises](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#promises) remaining to be resolved.
|
|
473
|
+
*
|
|
474
|
+
* @default 0
|
|
475
|
+
* @see [promises property](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#promises)
|
|
476
|
+
*/
|
|
477
|
+
get pendingPromisesCount(): number;
|
|
478
|
+
/**
|
|
479
|
+
* The number of selected [promises](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#promises) available.
|
|
480
|
+
*
|
|
481
|
+
* @default 0
|
|
482
|
+
*/
|
|
483
|
+
get promiseCount(): number;
|
|
484
|
+
/**
|
|
485
|
+
* An array of pending Promises that have not yet been fulfilled. If there are
|
|
486
|
+
* no pending Promises, the value is `null`. When the pending Promises are
|
|
487
|
+
* resolved they are removed from this array and the features they return
|
|
488
|
+
* are pushed into the [features](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#features) array.
|
|
489
|
+
*/
|
|
490
|
+
accessor promises: Promise<Graphic[]>[];
|
|
491
|
+
/**
|
|
492
|
+
* The graphic used to represent the cluster extent when the `Browse features` action
|
|
493
|
+
* is active. Only applies when a PopupTemplate is set on
|
|
494
|
+
* a [FeatureReductionCluster](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/) instance.
|
|
495
|
+
*/
|
|
496
|
+
get selectedClusterBoundaryFeature(): Graphic;
|
|
497
|
+
/**
|
|
498
|
+
* The selected feature accessed. The [content](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#content) is
|
|
499
|
+
* determined based on the [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) assigned to
|
|
500
|
+
* this feature.
|
|
501
|
+
*/
|
|
502
|
+
get selectedFeature(): Graphic | null;
|
|
503
|
+
/**
|
|
504
|
+
* Index of the feature that is [selected](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeature). When [features](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#features) are set,
|
|
505
|
+
* the first index is automatically selected.
|
|
506
|
+
*/
|
|
507
|
+
accessor selectedFeatureIndex: number;
|
|
508
|
+
/**
|
|
509
|
+
* The selected [Feature](https://developers.arcgis.com/javascript/latest/references/core/popup/Feature/) item view model.
|
|
510
|
+
*
|
|
511
|
+
* @since 4.32
|
|
512
|
+
*/
|
|
513
|
+
get selectedFeatureItem(): Feature;
|
|
514
|
+
/**
|
|
515
|
+
* The spatial reference used for [Arcade](https://developers.arcgis.com/arcade) operations.
|
|
516
|
+
* This property should be set if Arcade expressions are executed that contain [geometry functions](https://developers.arcgis.com/arcade/function-reference/geometry_functions/).
|
|
517
|
+
*
|
|
518
|
+
* Alternatively, the [view](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#view) property can be used to provide the spatial reference instance for this property.
|
|
519
|
+
*
|
|
520
|
+
* @since 4.30
|
|
521
|
+
* @see [Type system](https://developers.arcgis.com/arcade/guide/types/#featuresetcollection)
|
|
522
|
+
* @see [Arcade Profiles: Popup](https://developers.arcgis.com/arcade/profiles/popup/)
|
|
523
|
+
*/
|
|
524
|
+
get spatialReference(): SpatialReference | null | undefined;
|
|
525
|
+
set spatialReference(value: SpatialReferenceProperties | null | undefined);
|
|
526
|
+
/**
|
|
527
|
+
* The view model's state.
|
|
528
|
+
*
|
|
529
|
+
* @default "disabled"
|
|
530
|
+
*/
|
|
531
|
+
get state(): State;
|
|
532
|
+
/**
|
|
533
|
+
* Dates and times will be displayed in this time zone. By default this time zone is
|
|
534
|
+
* inherited from [MapView.timeZone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone) if the [view](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#view) property is set. When a MapView is not associated with the widget view model,
|
|
535
|
+
* then the property will fallback to the `system` time zone.
|
|
536
|
+
*
|
|
537
|
+
* **Possible Values**
|
|
538
|
+
*
|
|
539
|
+
* Value | Description |
|
|
540
|
+
* ----- | ----------- |
|
|
541
|
+
* system | Dates and times will be displayed in the timezone of the device or browser.
|
|
542
|
+
* unknown | Dates and time are not adjusted for any timezone.
|
|
543
|
+
* Specified IANA timezone | Dates and times will be displayed in the specified IANA time zone. See [wikipedia - List of tz database time zones](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
|
544
|
+
*
|
|
545
|
+
* @since 4.30
|
|
546
|
+
*/
|
|
547
|
+
get timeZone(): TimeZone;
|
|
548
|
+
set timeZone(value: TimeZone | null | undefined);
|
|
549
|
+
/**
|
|
550
|
+
* Indicates whether to update the [location](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#location) when the [selectedFeatureIndex](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeatureIndex) changes.
|
|
551
|
+
*
|
|
552
|
+
* @default false
|
|
553
|
+
* @since 4.32
|
|
554
|
+
*/
|
|
555
|
+
accessor updateLocationEnabled: boolean;
|
|
556
|
+
/**
|
|
557
|
+
* A reference to the [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/) or [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/).
|
|
558
|
+
*
|
|
559
|
+
* > [!WARNING]
|
|
560
|
+
* >
|
|
561
|
+
* > The FeaturesViewModel requires a view if the user expects it to display content in any of the following situations:
|
|
562
|
+
* > - The [features](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#features) have a popupTemplate containing Arcade expressions in [ExpressionInfo](https://developers.arcgis.com/javascript/latest/references/core/popup/ExpressionInfo/) or [ExpressionContent](https://developers.arcgis.com/javascript/latest/references/core/popup/content/ExpressionContent/) that may use [geometry functions](https://developers.arcgis.com/arcade/function-reference/geometry_functions/) or reference the `$map` profile variable (i.e. access data from layers within a map).
|
|
563
|
+
* > - Content is displayed from the popup template of an [aggregate feature](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#isAggregate) (i.e. a [cluster](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/) or [bin](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/)).
|
|
564
|
+
* > - Values from `date` and `timestamp-offset` [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#type) should respect the view's [time zone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone).
|
|
565
|
+
* > - When using the [fetchFeatures()](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#fetchFeatures) method or the `fetchFeatures` option in the [open](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#open) method.
|
|
566
|
+
*/
|
|
567
|
+
accessor view: MapViewOrSceneView | null | undefined;
|
|
568
|
+
/**
|
|
569
|
+
* Indicates whether the widget is waiting for content to be resolved.
|
|
570
|
+
*
|
|
571
|
+
* @since 4.32
|
|
572
|
+
*/
|
|
573
|
+
get waitingForContents(): boolean;
|
|
574
|
+
/**
|
|
575
|
+
* Indicates whether a feature was found while resolving [promises](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#promises).
|
|
576
|
+
*
|
|
577
|
+
* @default false
|
|
578
|
+
* @see [active](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#active)
|
|
579
|
+
*/
|
|
580
|
+
get waitingForResult(): boolean;
|
|
581
|
+
/**
|
|
582
|
+
* Number of levels of detail (LOD) to zoom in on the [selected feature](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeature).
|
|
583
|
+
*
|
|
584
|
+
* @default 4
|
|
585
|
+
* @since 4.34
|
|
586
|
+
* @example
|
|
587
|
+
* // Restricts the zooming to two LODS when the zoom in action is clicked.
|
|
588
|
+
* features.viewModel.zoomFactor = 2;
|
|
589
|
+
*/
|
|
590
|
+
accessor zoomFactor: number;
|
|
591
|
+
/**
|
|
592
|
+
* Removes all [promises](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#promises), [features](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#features), [content](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#content), and
|
|
593
|
+
* [heading](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#heading).
|
|
594
|
+
*/
|
|
595
|
+
clear(): void;
|
|
596
|
+
/**
|
|
597
|
+
* Use this method to return feature(s) at a given screen location.
|
|
598
|
+
* These features are fetched from all of the
|
|
599
|
+
* [LayerViews](https://developers.arcgis.com/javascript/latest/references/core/views/layers/LayerView/) in the
|
|
600
|
+
* [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/). In order to use this, a layer must already have an
|
|
601
|
+
* associated [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) and have its
|
|
602
|
+
* [FeatureLayer.popupEnabled](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#popupEnabled).
|
|
603
|
+
* These features can then be used within a custom [Popup](https://developers.arcgis.com/javascript/latest/references/core/widgets/Popup/), [Features](https://developers.arcgis.com/javascript/latest/references/core/widgets/Features/),
|
|
604
|
+
* or [Feature](https://developers.arcgis.com/javascript/latest/references/core/widgets/Feature/) widget experience.
|
|
605
|
+
* One example could be a custom side panel that displays feature-specific information based on
|
|
606
|
+
* an end user's click location. This method allows a developer the ability to
|
|
607
|
+
* control how the input location is handled, and then subsequently, what to do with the results.
|
|
608
|
+
*
|
|
609
|
+
* @param screenPoint - An object representing a point on the screen. This point can be in either the
|
|
610
|
+
* [ScreenPoint](https://developers.arcgis.com/javascript/latest/references/core/core/types/#ScreenPoint) or
|
|
611
|
+
* [ScreenPoint](https://developers.arcgis.com/javascript/latest/references/core/core/types/#ScreenPoint).
|
|
612
|
+
* @param options - The [options](https://developers.arcgis.com/javascript/latest/references/core/widgets/Popup/types/#FetchFeaturesOptions)
|
|
613
|
+
* to pass into the `fetchFeatures` method.
|
|
614
|
+
* @returns Resolves with the selected `hitTest`
|
|
615
|
+
* location. In addition, it also returns an array of [graphics](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) if the `hitTest` is
|
|
616
|
+
* performed directly on the [View](https://developers.arcgis.com/javascript/latest/references/core/views/View/), a single Promise containing an array of all resulting
|
|
617
|
+
* [graphics](https://developers.arcgis.com/javascript/latest/references/core/Graphic/), or an array of objects containing this array of resulting [graphics](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) in addition to its associated
|
|
618
|
+
* [LayerView](https://developers.arcgis.com/javascript/latest/references/core/views/layers/LayerView/).
|
|
619
|
+
*
|
|
620
|
+
* Most commonly if accessing all features, use the single promise returned in the
|
|
621
|
+
* [result's allGraphicsPromise](https://developers.arcgis.com/javascript/latest/references/core/views/types/#FetchPopupFeaturesResult) and call `.then()` as seen in
|
|
622
|
+
* the example snippet.
|
|
623
|
+
* @example
|
|
624
|
+
* // Get view's click event
|
|
625
|
+
* reactiveUtils.on(()=>view, "click", (event) => {
|
|
626
|
+
* // Call fetchFeatures and pass in the click event screenPoint
|
|
627
|
+
* viewModel.fetchFeatures(event.screenPoint).then((response) => {
|
|
628
|
+
* // Access the response from fetchFeatures
|
|
629
|
+
* response.allGraphicsPromise.then((graphics) => {
|
|
630
|
+
* // Do something with the returned graphic from fetchFeatures such as setting this to the
|
|
631
|
+
* // Features widget graphic property.
|
|
632
|
+
* featureWidget.graphic = graphics[0];
|
|
633
|
+
* });
|
|
634
|
+
* });
|
|
635
|
+
* });
|
|
636
|
+
*/
|
|
637
|
+
fetchFeatures(screenPoint: ScreenPoint | null | undefined, options?: FetchFeaturesOptions): Promise<FetchPopupFeaturesResult>;
|
|
638
|
+
/**
|
|
639
|
+
* Selects the feature at the next index in relation to the selected feature.
|
|
640
|
+
*
|
|
641
|
+
* @returns Returns an instance of the popup's view model.
|
|
642
|
+
* @see [selectedFeatureIndex](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeatureIndex)
|
|
643
|
+
*/
|
|
644
|
+
next(): Features;
|
|
645
|
+
/**
|
|
646
|
+
* Selects the feature at the previous index in relation to the selected feature.
|
|
647
|
+
*
|
|
648
|
+
* @returns Returns an instance of the popup's view model.
|
|
649
|
+
* @see [selectedFeatureIndex](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#selectedFeatureIndex)
|
|
650
|
+
*/
|
|
651
|
+
previous(): Features;
|
|
652
|
+
/**
|
|
653
|
+
* Sets the view to a given target. If [goToOverride](https://developers.arcgis.com/javascript/latest/references/core/popup/Features/#goToOverride) is set, `goToOverride()` will be called with the current view and specified `params`.
|
|
654
|
+
* Otherwise, the view will be set using the provided `params`.
|
|
655
|
+
*
|
|
656
|
+
* @param params - The parameters to pass to the `zoomTo()` method.
|
|
657
|
+
* @returns A promise that resolves when the view's extent updates to the value defined in `params.target`.
|
|
658
|
+
* @since 4.32
|
|
659
|
+
* @see [MapView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#goTo) or [SceneView.goTo()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#goTo)
|
|
660
|
+
*/
|
|
661
|
+
zoomTo(params: GoToParameters): Promise<void>;
|
|
662
|
+
}
|
|
663
|
+
declare const FeaturesSuperclass: typeof EventedAccessor & typeof GoTo
|