@vertigis/viewer-spec 56.34.1 → 56.35.0

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.
@@ -1,4 +1,8 @@
1
1
  import type { ModelProperties } from "../common/ModelProperties.js";
2
+ /**
3
+ * Represent sources of portal items.
4
+ */
5
+ export type Source = "my-content" | "my-groups" | "my-favorites" | "organization" | "public";
2
6
  /**
3
7
  * Properties that are used for the Portal service.
4
8
  */
@@ -8,4 +12,14 @@ export interface PortalModelProperties extends ModelProperties {
8
12
  * layers.
9
13
  */
10
14
  layerFilterTags?: string[];
15
+ /**
16
+ * Optionally specify the source that will be initially selected in the
17
+ * Choose Layer modal. If not specified we default to "organization".
18
+ */
19
+ initialSource?: Source;
20
+ /**
21
+ * The sources that we want to expose by default in the Choose Layer modal.
22
+ * If not specified we include all sources.
23
+ */
24
+ sources?: Source[];
11
25
  }
@@ -68,12 +68,27 @@ export interface ItemPropertyPath {
68
68
  export declare class ArcadeOperations extends OperationRegistry {
69
69
  protected readonly _prefix = "arcade";
70
70
  /**
71
- * Runs a stringified Arcade script. If only a string is passed in as an
72
- * argument, it is interpreted as an executeScript. If an executeScript is
73
- * provided, the operation will return its result. If only a canExecute
74
- * script is provided and it returns a truthy result, the operation will
75
- * return its input arguments. If a canExecuteScript returns a falsy value,
76
- * the operation will throw a {@link Cancellation}. Web only.
71
+ * Runs a stringified Arcade script.
72
+ *
73
+ * - If only a string is passed in as an argument, it is interpreted as an
74
+ * executeScript.
75
+ * - If an executeScript is provided, the operation will return its result.
76
+ * - If only a canExecute script is provided and it returns a truthy result,
77
+ * the operation will return its input arguments.
78
+ * - If a canExecuteScript returns a falsy value, the operation will throw a
79
+ * `Cancellation`.
80
+ *
81
+ * **Example:** Use an Arcade script to query a portal for a featureset, and
82
+ * return the area in square kilometers of the first feature. The output
83
+ * type of this operation is determined by the Arcade script, see
84
+ * https://developers.arcgis.com/arcade/function-reference/ for more
85
+ * information.
86
+ *
87
+ * ```
88
+ * {
89
+ * "executeScript": "Area(First(FeatureSetByPortalItem(Portal(\"https://www.arcgis.com\"),\"6200db0b80de4341ae8ee2b62d606e67\",0,[\"*\"],true)),\"square-kilometers\");"
90
+ * }
91
+ * ```
77
92
  *
78
93
  * @webOnly
79
94
  */
@@ -100,6 +100,23 @@ export declare class DrawingCommands extends CommandRegistry {
100
100
  * can be configured with an instance of the Esri symbol or with the Esri
101
101
  * WebMap JSON. Web only.
102
102
  *
103
+ * **Example:** Set the default point symbol to a square.
104
+ *
105
+ * ```
106
+ * {
107
+ * "type": "esriSMS",
108
+ * "color": [251, 43, 17, 85],
109
+ * "size": 12,
110
+ * "style": "esriSMSSquare",
111
+ * "outline": {
112
+ * "type": "esriSLS",
113
+ * "color": [251, 43, 17, 255],
114
+ * "width": 1.5,
115
+ * "style": "esriSLSSolid"
116
+ * }
117
+ * }
118
+ * ```
119
+ *
103
120
  * @webOnly
104
121
  */
105
122
  get setDefaultSymbol(): Command<SymbolLike | HasSymbol>;
@@ -191,7 +191,7 @@ export interface DisplayAddFeatureArgs extends CreateFeatureArgs, HasMaps, EditO
191
191
  * A collection of configuration overrides for the editable fields. Web
192
192
  * only.
193
193
  */
194
- fieldElements?: Partial<FieldElement>[];
194
+ fieldElements?: FieldElementOverride[];
195
195
  }
196
196
  /**
197
197
  * Arguments for the "edit.display-add-related-feature" command. A feature and a
@@ -207,6 +207,10 @@ export interface DisplayAddRelatedFeatureArgs extends Omit<DisplayAddFeatureArgs
207
207
  */
208
208
  relatedFeatureSource: FeatureSource;
209
209
  }
210
+ /**
211
+ * Override settings for a field element.
212
+ */
213
+ export type FieldElementOverride = Partial<FieldElement>;
210
214
  /**
211
215
  * Arguments for the "edit.display-update-features" operation. Web only.
212
216
  */
@@ -218,7 +222,7 @@ export interface DisplayUpdateFeatureArgs extends EditCommandArgs, HasGeometry,
218
222
  /**
219
223
  * A collection of configuration overrides for the editable fields.
220
224
  */
221
- fieldElements?: Partial<FieldElement>[];
225
+ fieldElements?: FieldElementOverride[];
222
226
  }
223
227
  /**
224
228
  * Arguments for the "edit.add-features", "edit.update-features" and
@@ -270,12 +274,63 @@ export declare class EditCommands extends CommandRegistry {
270
274
  /**
271
275
  * Begin an interactive feature editing session with a new feature.
272
276
  * `DisplayAddFeatureArgs` is not supported on Mobile.
277
+ *
278
+ * **Example:** Create and allow the user to edit a new feature with an
279
+ * initial attributes collection. If no geometry is provided in context they
280
+ * will be asked to select one.
281
+ *
282
+ * _Note:_ $map1.map.extension is the output of a 'Get Map' activity run in
283
+ * Web by Workflow. When the map and/or layer are provided in the context of
284
+ * a command chain these parameters can be omitted.
285
+ *
286
+ * ```
287
+ * {
288
+ * "editAttributes": true,
289
+ * "editGeometry": true,
290
+ * "featureAttributes": {
291
+ * "ASSET_ID": "WFH001234"
292
+ * },
293
+ * "layers": "Victoria_Fire_Hydrants_8780",
294
+ * "maps": $map1.map.extension
295
+ * }
296
+ * ```
273
297
  */
274
298
  get displayAddFeature(): Command<FeatureSource | DisplayAddFeatureArgs>;
275
299
  /**
276
300
  * Begin an interactive feature editing session for a new related feature.
277
301
  * The specified feature will be the original feature that the new related
278
302
  * feature will be added to in the relationship.
303
+ *
304
+ * **Example:** Create and edit a new record on a related table, with the
305
+ * option to add attachments. Make sure the 'COMMENTS' field is included in
306
+ * the editable attributes and make it required.
307
+ *
308
+ * _Notes:_.
309
+ *
310
+ * 1. The feature used here must come from the running viewer, and cannot be an
311
+ * ad-hoc feature created from a JSON object. For example, you can use
312
+ * the output of `results.get-active-features`, or the feature provided
313
+ * in a command chain context.
314
+ * 2. `editableExpression` and `requiredExpression` both take an arcade
315
+ * expression, and here the string "true" is just a simple arcade
316
+ * expression that always returns true. You can also use a more complex
317
+ * expression, or reference one from your webmap.
318
+ *
319
+ * ```
320
+ * {
321
+ * "editAttributes": true,
322
+ * "editAttachments": true,
323
+ * "features": $runOperation1.result,
324
+ * "relationshipId": "1",
325
+ * "fieldElements": [
326
+ * {
327
+ * "fieldName": "COMMENTS",
328
+ * "editableExpression": "true",
329
+ * "requiredExpression": "true"
330
+ * }
331
+ * ]
332
+ * }
333
+ * ```
279
334
  */
280
335
  get displayAddRelatedFeature(): Command<DisplayAddRelatedFeatureArgs>;
281
336
  /**
@@ -116,6 +116,15 @@ export declare class LayersCommands extends CommandRegistry {
116
116
  /**
117
117
  * Updates the visibility of the provided layer(s). Web only.
118
118
  *
119
+ * **Example:** Toggle a layer's visibility off by id.
120
+ *
121
+ * ```
122
+ * {
123
+ * "layers": "Victoria_Fire_Hydrants_8780",
124
+ * "visible": false
125
+ * }
126
+ * ```
127
+ *
119
128
  * @webOnly
120
129
  */
121
130
  get setVisibility(): Command<SetVisibilityArgs>;
@@ -153,6 +153,25 @@ export declare class LocationMarkerCommands extends CommandRegistry {
153
153
  /**
154
154
  * Create a new Marker. Web only.
155
155
  *
156
+ * **Example:** Create a user draggable location marker with a heading and
157
+ * fov.
158
+ *
159
+ * _Note:_ The geometry here must be a Geometry object rather than a JSON
160
+ * representation. You can use the Workflow task 'Get Geometry From JSON' or
161
+ * be passed one from another step in the command chain.
162
+ *
163
+ * ```
164
+ * {
165
+ * "color": [24, 128, 255, 255],
166
+ * "fov": 120,
167
+ * "geometry": $geometry1.geometry,
168
+ * "heading": 60,
169
+ * "id": "custom-marker-1",
170
+ * "symbol": "dot",
171
+ * "userDraggable": true
172
+ * }
173
+ * ```
174
+ *
156
175
  * @webOnly
157
176
  */
158
177
  get create(): Command<CreateLocationMarkerArgs>;
@@ -154,40 +154,24 @@ export interface MarkupArgs extends HasMaps {
154
154
  * default markup collection will be used. Some markup collection names are
155
155
  * used internally by Web:
156
156
  *
157
- * "default": The default markup layer.
158
- *
159
- * "vgs-active-snapping-guides": The active snap point when snapping.
160
- *
161
- * "vgs-buffer": Buffer graphics from out of the box buffer tools.
162
- *
163
- * "vgs-context-marker": Right click context marker on map.
164
- *
165
- * "vgs-dirty-indicator": Invalid geometry indicators used when editing.
166
- *
167
- * "vgs-editing-control": Edit frame and vertices while editing geometries.
168
- *
169
- * "vgs-location-accuracy": Location accuracy circle when geolocating.
170
- *
171
- * "vgs-location-marker-*": Location markers have this prefix followed by
172
- * the marker id.
173
- *
174
- * "vgs-map-notes": Map Notes.
175
- *
176
- * "vgs-measurement-labels": Labels on measured graphics.
177
- *
178
- * "vgs-other-snapping-guides": Additional snapping point visualizations.
179
- *
180
- * "vgs-query": Graphics representing the custom spatial filter for the
181
- * query builder tool.
182
- *
183
- * "vgs-self-snaps": Used internally by snapping.
184
- *
185
- * "vgs-sketching": Temporary graphics used while drawing geometries.
186
- *
187
- * "vgs-snapping-radius": Snapping radius when snapping is active.
188
- *
189
- * "vgs-transient-measurement-labels": Measurement labels used while
190
- * drawing.
157
+ * | Collection Name | Usage |
158
+ * | ---------------------------------- | --------------------------------------------------------------------------- |
159
+ * | "default" | The default markup layer. |
160
+ * | "vgs-active-snapping-guides" | The active snap point when snapping. |
161
+ * | "vgs-buffer" | Buffer graphics from out of the box buffer tools. |
162
+ * | "vgs-context-marker" | Right click context marker on map. |
163
+ * | "vgs-dirty-indicator" | Invalid geometry indicators used when editing. |
164
+ * | "vgs-editing-control" | Edit frame and vertices while editing geometries. |
165
+ * | "vgs-location-accuracy" | Location accuracy circle when geolocating. |
166
+ * | "vgs-location-marker-\*" | Location markers have this prefix followed by the marker id. |
167
+ * | "vgs-map-notes" | Map Notes. |
168
+ * | "vgs-measurement-labels" | Labels on measured graphics. |
169
+ * | "vgs-other-snapping-guides" | Additional snapping point visualizations. |
170
+ * | "vgs-query" | Graphics representing the custom spatial filter for the query builder tool. |
171
+ * | "vgs-self-snaps" | Used internally by snapping. |
172
+ * | "vgs-sketching" | Temporary graphics used while drawing geometries. |
173
+ * | "vgs-snapping-radius" | Snapping radius when snapping is active. |
174
+ * | "vgs-transient-measurement-labels" | Measurement labels used while drawing. |
191
175
  *
192
176
  * Web only.
193
177
  *
@@ -765,13 +749,75 @@ export declare class MapCommands extends CommandRegistry {
765
749
  protected readonly _prefix = "map";
766
750
  /**
767
751
  * Adds markup to the map(s).
752
+ *
753
+ * **Example:** Adding markup to a custom collection using `AddMarkupArgs`.
754
+ *
755
+ * ```
756
+ * {
757
+ * "collection": "my-custom-markup",
758
+ * "graphics": [
759
+ * {
760
+ * "geometry": {
761
+ * "x": -13733416.69,
762
+ * "y": 6177670.86,
763
+ * "spatialReference": {
764
+ * "wkid": 3857
765
+ * },
766
+ * "type": "point"
767
+ * },
768
+ * "symbol": {
769
+ * "color": [76, 115, 0, 255],
770
+ * "size": 16,
771
+ * "style": "esriSMSCircle",
772
+ * "type": "simple-marker"
773
+ * }
774
+ * }
775
+ * ]
776
+ * }
777
+ * ```
768
778
  */
769
779
  get addMarkup(): Command<AddMarkupArgs | GraphicsLike>;
770
780
  /**
771
781
  * Add the specified layer(s) to the maps(s). Layers will be inserted in the
772
782
  * order specified and will be added above existing layers in the drawing
773
- * order. Note that an Esri {@link Layer} object can only be added to one
774
- * map. Web only.
783
+ * order. Note that an Esri `Layer` object can only be added to one map.
784
+ *
785
+ * Web only.
786
+ *
787
+ * **Example:** Adding a CSV layer to the main map using `AddLayersArgs`.
788
+ *
789
+ * ```
790
+ * {
791
+ * "layers": [
792
+ * {
793
+ * "id": "csv_123",
794
+ * "layerType": "CSV",
795
+ * "title": "Earthquakes",
796
+ * "url": "http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_month.csv",
797
+ * "columnDelimiter": ",",
798
+ * "layerDefinition": {
799
+ * "geometryType": "esriGeometryPoint",
800
+ * "objectIdField": "__OBJECTID",
801
+ * "capabilities": "Query",
802
+ * "extent": {
803
+ * "xmin": -20034970.25849882,
804
+ * "ymin": -9494815.985282788,
805
+ * "xmax": 20026086.963133518,
806
+ * "ymax": 14269743.874052156,
807
+ * "spatialReference": {
808
+ * "wkid": 102100
809
+ * }
810
+ * }
811
+ * },
812
+ * "locationInfo": {
813
+ * "locationType": "coordinates",
814
+ * "latitudeFieldName": "latitude",
815
+ * "longitudeFieldName": "longitude"
816
+ * }
817
+ * }
818
+ * ]
819
+ * }
820
+ * ```
775
821
  *
776
822
  * @webOnly
777
823
  */
@@ -1,4 +1,5 @@
1
1
  import type PortalItem from "@arcgis/core/portal/PortalItem";
2
+ import type { Source } from "../../app-config/web/PortalModelProperties.js";
2
3
  import type { Event } from "../Event.js";
3
4
  import { EventRegistry } from "../EventRegistry.js";
4
5
  import type { Operation } from "../Operation.js";
@@ -19,6 +20,23 @@ export interface ChooseLayersOptions extends HasMaps, HasUITarget {
19
20
  * `false`.
20
21
  */
21
22
  allowMultiple?: boolean;
23
+ /**
24
+ * Optionally specify the tags by which the Choose Layer modal will filter
25
+ * out the displayed layers. If specified this will overwrite the configured
26
+ * default in the Portal Model.
27
+ */
28
+ layerFilterTags?: string[];
29
+ /**
30
+ * Optionally specify the source that will be initially selected. If
31
+ * specified this will overwrite the configured default in the Portal
32
+ * Model.
33
+ */
34
+ initialSource?: Source;
35
+ /**
36
+ * Optionally specify the sources that we want to expose. If specified this
37
+ * will overwrite the configured default in the Portal Model.
38
+ */
39
+ sources?: Source[];
22
40
  }
23
41
  /**
24
42
  * Result of the "portal.choose-layers" operation.
@@ -56,6 +56,62 @@ export declare class ProjectCommands extends CommandRegistry {
56
56
  * accordingly. If more than one file is provided, only the first will be
57
57
  * loaded. Web only.
58
58
  *
59
+ * **Example:** Add some default markup to the map and set the viewpoint by
60
+ * applying `AppConfig` JSON.
61
+ *
62
+ * ```
63
+ * {
64
+ * "schemaVersion": "1.0",
65
+ * "items": [
66
+ * {
67
+ * "id": "default",
68
+ * "markupGraphics": [
69
+ * {
70
+ * "geometry": {
71
+ * "spatialReference": {
72
+ * "latestWkid": 3857,
73
+ * "wkid": 102100
74
+ * },
75
+ * "x": -13733817.770910433,
76
+ * "y": 6177913.346701053
77
+ * },
78
+ * "symbol": {
79
+ * "type": "esriSMS",
80
+ * "color": [251, 43, 17, 85],
81
+ * "size": 12,
82
+ * "style": "esriSMSCircle",
83
+ * "outline": {
84
+ * "type": "esriSLS",
85
+ * "color": [251, 43, 17, 255],
86
+ * "width": 1.5,
87
+ * "style": "esriSLSSolid"
88
+ * }
89
+ * },
90
+ * "attributes": {
91
+ * "markupLevel": 36,
92
+ * "isContrastGraphic": true,
93
+ * "collection": "default",
94
+ * "graphic-visible": true
95
+ * }
96
+ * }
97
+ * ],
98
+ * "viewpoint": {
99
+ * "rotation": 45,
100
+ * "scale": 10000,
101
+ * "targetGeometry": {
102
+ * "spatialReference": {
103
+ * "wkid": 102100
104
+ * },
105
+ * "x": -13733546.804885864,
106
+ * "y": 6177341.583529942
107
+ * }
108
+ * },
109
+ * "$type": "map-extension"
110
+ * }
111
+ * ]
112
+ * }
113
+ * ```
114
+ *
59
115
  * @webOnly
60
116
  */
61
117
  get load(): Command<AppConfig | HasAppConfig | SharedProject | Blob | Blob[]>;
@@ -56,6 +56,28 @@ export declare class QueryBuilderCommands extends CommandRegistry {
56
56
  * Sets the current query criteria in the query builder and also activates
57
57
  * the component. Web only.
58
58
  *
59
+ * **Example:** Query within an extent, selecting the layer to query by
60
+ * title.
61
+ *
62
+ * ```
63
+ * {
64
+ * "geometry": {
65
+ * "xmin": 13871520.850500003,
66
+ * "ymin": 3910293.086000003,
67
+ * "xmax": 14574034.873400003,
68
+ * "ymax": 4686306.161399998,
69
+ * "spatialReference": {
70
+ * "wkid": 102100,
71
+ * "latestWkid": 3857
72
+ * }
73
+ * },
74
+ * "layers": {
75
+ * "title": "Buildings"
76
+ * },
77
+ * "where": "FULL_ADDR = '900 GOVERNMENT ST'"
78
+ * }
79
+ * ```
80
+ *
59
81
  * @webOnly
60
82
  */
61
83
  get displayQuery(): Command<SetQueryArgs>;