@vertigis/viewer-spec 43.4.0 → 44.0.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.
@@ -47,6 +47,49 @@
47
47
  </complexType>
48
48
  </element>
49
49
 
50
+ <element name="geometry-toolbar" substitutionGroup="base:component">
51
+ <annotation>
52
+ <documentation xml:lang="en">
53
+ A geometry toolbar consisting of a collection of widgets and a
54
+ configurable toolbar that is displayed while geometry edits are being
55
+ performed.
56
+ </documentation>
57
+ </annotation>
58
+ <complexType>
59
+ <complexContent>
60
+ <extension base="base:Component">
61
+ <attribute name="orientation">
62
+ <annotation>
63
+ <documentation xml:lang="en">
64
+ Determines the orientation of the widgets and toolbar menu items.
65
+ </documentation>
66
+ </annotation>
67
+ <simpleType>
68
+ <restriction base="string">
69
+ <enumeration value="vertical"/>
70
+ <enumeration value="horizontal"/>
71
+ </restriction>
72
+ </simpleType>
73
+ </attribute>
74
+ <attribute name="size">
75
+ <annotation>
76
+ <documentation xml:lang="en">
77
+ The size of the geometry toolbar.
78
+ </documentation>
79
+ </annotation>
80
+ <simpleType>
81
+ <restriction base="string">
82
+ <enumeration value="small"/>
83
+ <enumeration value="medium"/>
84
+ <enumeration value="large"/>
85
+ </restriction>
86
+ </simpleType>
87
+ </attribute>
88
+ </extension>
89
+ </complexContent>
90
+ </complexType>
91
+ </element>
92
+
50
93
  <element name="inline" substitutionGroup="base:component">
51
94
  <annotation>
52
95
  <documentation xml:lang="en">
@@ -1,4 +1,5 @@
1
1
  import type { CancelToken } from "@vertigis/arcgis-extensions/support/Cancellable";
2
+ import type { Event } from "./Event.js";
2
3
  import type { Message, MessageExecuteOptions } from "./Message.js";
3
4
  /**
4
5
  * A named operation. Operations compute a value, but don't generally alter the
@@ -9,6 +10,15 @@ export interface Operation<T = void, TResult = undefined> extends Message {
9
10
  * The name of the operation.
10
11
  */
11
12
  name: string;
13
+ /**
14
+ * An event that is published whenever canExecute might return a new value.
15
+ * Implementations are responsible for calling publish() as appropriate.
16
+ */
17
+ readonly canExecuteChanged: Event;
18
+ /**
19
+ * Indicates whether the operation has been initialized.
20
+ */
21
+ readonly isInitialized: boolean;
12
22
  /**
13
23
  * Executes the operation and returns its result.
14
24
  *
@@ -17,6 +27,18 @@ export interface Operation<T = void, TResult = undefined> extends Message {
17
27
  * behavior.
18
28
  */
19
29
  execute: (argument: T, options?: CancelToken | MessageExecuteOptions) => Promise<TResult>;
30
+ /**
31
+ * Determines whether the operation can execute with the given arguments.
32
+ *
33
+ * @param argument The operation arguments.
34
+ */
35
+ canExecute(argument?: T): boolean;
36
+ /**
37
+ * Initializes the operation if it is not already initialized. Attempting to
38
+ * execute an operation will automatically initialize it, however calling
39
+ * canExecute() will always return false until the operation is initialized.
40
+ */
41
+ initialize(): Promise<void>;
20
42
  }
21
43
  /**
22
44
  * Context that will be passed in to each behavior for an operation.
@@ -1,5 +1,6 @@
1
1
  import { OperationRegistry } from "../OperationRegistry.js";
2
2
  import { AppOperations } from "./app.js";
3
+ import { ArcadeOperations } from "./arcade.js";
3
4
  import { AuthOperations } from "./auth.js";
4
5
  import { BasemapOperations } from "./basemap.js";
5
6
  import { ChartOperations } from "./charts.js";
@@ -24,6 +25,7 @@ import { TasksOperations } from "./tasks.js";
24
25
  import { UIOperations } from "./ui.js";
25
26
  import { ViewerOperations } from "./viewer.js";
26
27
  export declare class Operations extends OperationRegistry {
28
+ readonly arcade: ArcadeOperations;
27
29
  readonly auth: AuthOperations;
28
30
  readonly app: AppOperations;
29
31
  readonly basemap: BasemapOperations;
@@ -1 +1 @@
1
- import{OperationRegistry}from"../OperationRegistry.js";import{AppOperations}from"./app.js";import{AuthOperations}from"./auth.js";import{BasemapOperations}from"./basemap.js";import{ChartOperations}from"./charts.js";import{DebugConsoleOperations}from"./debugConsole.js";import{DrawingOperations}from"./drawing.js";import{FileOperations}from"./file.js";import{GeocodeOperations}from"./geocode.js";import{GeolocationOperations}from"./geolocation.js";import{GeometryOperations}from"./geometry.js";import{HighlightsOperations}from"./highlights.js";import{KpiOperations}from"./kpi.js";import{LogViewerOperations}from"./logViewer.js";import{MapOperations}from"./map.js";import{MeasurementOperations}from"./measurement.js";import{MessagingOperations}from"./messaging.js";import{NetworkOperations}from"./network.js";import{OfflineOperations}from"./offline.js";import{ResultsOperations}from"./results.js";import{SketchingOperations}from"./sketching.js";import{SystemOperations}from"./system.js";import{TasksOperations}from"./tasks.js";import{UIOperations}from"./ui.js";import{ViewerOperations}from"./viewer.js";export class Operations extends OperationRegistry{constructor(){super(...arguments),this.auth=new AuthOperations(this._messages),this.app=new AppOperations(this._messages),this.basemap=new BasemapOperations(this._messages),this.charts=new ChartOperations(this._messages),this.drawing=new DrawingOperations(this._messages),this.file=new FileOperations(this._messages),this.geocode=new GeocodeOperations(this._messages),this.geolocation=new GeolocationOperations(this._messages),this.geometry=new GeometryOperations(this._messages),this.highlights=new HighlightsOperations(this._messages),this.kpi=new KpiOperations(this._messages),this.logViewer=new LogViewerOperations(this._messages),this.map=new MapOperations(this._messages),this.measurement=new MeasurementOperations(this._messages),this.messaging=new MessagingOperations(this._messages),this.network=new NetworkOperations(this._messages),this.offline=new OfflineOperations(this._messages),this.sketching=new SketchingOperations(this._messages),this.system=new SystemOperations(this._messages),this.results=new ResultsOperations(this._messages),this.tasks=new TasksOperations(this._messages),this.ui=new UIOperations(this._messages),this.viewer=new ViewerOperations(this._messages),this.debugConsole=new DebugConsoleOperations(this._messages)}}
1
+ import{OperationRegistry}from"../OperationRegistry.js";import{AppOperations}from"./app.js";import{ArcadeOperations}from"./arcade.js";import{AuthOperations}from"./auth.js";import{BasemapOperations}from"./basemap.js";import{ChartOperations}from"./charts.js";import{DebugConsoleOperations}from"./debugConsole.js";import{DrawingOperations}from"./drawing.js";import{FileOperations}from"./file.js";import{GeocodeOperations}from"./geocode.js";import{GeolocationOperations}from"./geolocation.js";import{GeometryOperations}from"./geometry.js";import{HighlightsOperations}from"./highlights.js";import{KpiOperations}from"./kpi.js";import{LogViewerOperations}from"./logViewer.js";import{MapOperations}from"./map.js";import{MeasurementOperations}from"./measurement.js";import{MessagingOperations}from"./messaging.js";import{NetworkOperations}from"./network.js";import{OfflineOperations}from"./offline.js";import{ResultsOperations}from"./results.js";import{SketchingOperations}from"./sketching.js";import{SystemOperations}from"./system.js";import{TasksOperations}from"./tasks.js";import{UIOperations}from"./ui.js";import{ViewerOperations}from"./viewer.js";export class Operations extends OperationRegistry{constructor(){super(...arguments),this.arcade=new ArcadeOperations(this._messages),this.auth=new AuthOperations(this._messages),this.app=new AppOperations(this._messages),this.basemap=new BasemapOperations(this._messages),this.charts=new ChartOperations(this._messages),this.drawing=new DrawingOperations(this._messages),this.file=new FileOperations(this._messages),this.geocode=new GeocodeOperations(this._messages),this.geolocation=new GeolocationOperations(this._messages),this.geometry=new GeometryOperations(this._messages),this.highlights=new HighlightsOperations(this._messages),this.kpi=new KpiOperations(this._messages),this.logViewer=new LogViewerOperations(this._messages),this.map=new MapOperations(this._messages),this.measurement=new MeasurementOperations(this._messages),this.messaging=new MessagingOperations(this._messages),this.network=new NetworkOperations(this._messages),this.offline=new OfflineOperations(this._messages),this.sketching=new SketchingOperations(this._messages),this.system=new SystemOperations(this._messages),this.results=new ResultsOperations(this._messages),this.tasks=new TasksOperations(this._messages),this.ui=new UIOperations(this._messages),this.viewer=new ViewerOperations(this._messages),this.debugConsole=new DebugConsoleOperations(this._messages)}}
@@ -0,0 +1,100 @@
1
+ import type { ItemRef } from "app-config/common/ItemRef.js";
2
+ import type { Operation } from "../Operation.js";
3
+ import { OperationRegistry } from "../OperationRegistry.js";
4
+ import type { Model } from "../common.js";
5
+ /**
6
+ * The arguments for the arcade.run operation.
7
+ */
8
+ export interface RunArcadeArgs {
9
+ /**
10
+ * The stringified Arcade script to run. If this property is included, the
11
+ * operation will return the result of the script.
12
+ */
13
+ executeScript?: string;
14
+ /**
15
+ * The stringified Arcade script used to determine whether or not the
16
+ * executeScript can/should be run. If no executeScript is provided and the
17
+ * canExecuteScript returns a truthy value, the operation will return its
18
+ * input arguments; otherwise, if the canEecuteScript returns a falsey
19
+ * value, it will throw a {@link Cancellation}.
20
+ */
21
+ canExecuteScript?: string;
22
+ /**
23
+ * An arguments object that provides named variables and associated values,
24
+ * which can be referenced from within the executeScript and
25
+ * canExecuteScript.
26
+ *
27
+ * NOTE: All variable keys must consist of only lowercase letters;
28
+ * camel-cased context variables will break the script when they are
29
+ * referenced at runtime.
30
+ */
31
+ arguments?: Record<string, unknown | ItemPropertyPath>;
32
+ /**
33
+ * Properties used to set a series of watch handles and/or event listeners
34
+ * on an item that will trigger the canExecuteChanged event for the
35
+ * 'arcade.run' operation.
36
+ */
37
+ watchHandles?: WatchEventHandleProperties[];
38
+ }
39
+ /**
40
+ * An object containing a propertyPath that used to retrieve a property value
41
+ * from the given item.
42
+ */
43
+ export interface ItemPropertyPath {
44
+ /**
45
+ * The item from which to access a property value.
46
+ */
47
+ item: ItemRef | Model;
48
+ /**
49
+ * The path to a property on an item.
50
+ */
51
+ propertyPath: string;
52
+ }
53
+ export declare class ArcadeOperations extends OperationRegistry {
54
+ /**
55
+ * Runs a stringified Arcade script. If only a string is passed in as an
56
+ * argument, it is interpreted as an executeScript. If an executeSript is
57
+ * provided, the operation will return its result. If only a canExecute
58
+ * script is provided and it returns a truthy result, the operation will
59
+ * return its input arguments. If a canExecuteScript returns a falsey value,
60
+ * the operation will throw a {@link Cancellation}.
61
+ *
62
+ * @webOnly
63
+ *
64
+ */
65
+ get run(): Operation<RunArcadeArgs | string, unknown>;
66
+ }
67
+ /**
68
+ * Properties used to set a series of watch handles and/or event listeners on
69
+ * an item.
70
+ */
71
+ export interface WatchEventHandleProperties {
72
+ /**
73
+ * The item whose properties will be watched for changes and/or events.
74
+ */
75
+ item: ItemRef | Model;
76
+ /**
77
+ * One or more properties on the item that will be watched for changes
78
+ * and/or events. Any strings will be used as propertyPaths that will be
79
+ * watched for changes; for this to work, the item and all properties
80
+ * referenced within the path (except for the last) must implement
81
+ * {@link Observable}.
82
+ */
83
+ watch: string | WatchEventProperty | (string | WatchEventProperty)[];
84
+ }
85
+ /**
86
+ * Properties on an item to watch, with an optional event name to listen for.
87
+ */
88
+ export interface WatchEventProperty {
89
+ /**
90
+ * The path used to target a property on an item that will be watched for
91
+ * events. The watched property must implement {@link Evented}; this will
92
+ * effectively do `item[propertyPath].on(eventName)`.
93
+ */
94
+ propertyPath?: string;
95
+ /**
96
+ * The name of the event to listen for. If no propertyPath is included, the
97
+ * listener will go directly on the watched item.
98
+ */
99
+ eventName: string;
100
+ }
@@ -0,0 +1 @@
1
+ import{OperationRegistry}from"../OperationRegistry.js";export class ArcadeOperations extends OperationRegistry{get run(){return this._messages.operation("arcade.run")}}
@@ -1,4 +1,7 @@
1
1
  import type Geometry from "@arcgis/core/geometry/Geometry";
2
+ import type Point from "@arcgis/core/geometry/Point";
3
+ import type Polygon from "@arcgis/core/geometry/Polygon";
4
+ import type Polyline from "@arcgis/core/geometry/Polyline";
2
5
  import type SpatialReference from "@arcgis/core/geometry/SpatialReference";
3
6
  import type GeographicTransformation from "@arcgis/core/geometry/support/GeographicTransformation";
4
7
  import type { Command } from "../Command.js";
@@ -29,6 +32,10 @@ export interface ProjectArgs {
29
32
  * The units for distance buffers supported by ArcGIS.
30
33
  */
31
34
  export declare type LengthUnits = "meters" | "feet" | "kilometers" | "miles" | "nautical-miles" | "yards";
35
+ /**
36
+ * The units for distance supported by Mobile.
37
+ */
38
+ export declare type LengthUnitsMobile = LengthUnits | "millimeters" | "centimeters" | "inches" | "mm" | "cm" | "m" | "km" | "in" | "ft" | "yd" | "mi" | "nm";
32
39
  /**
33
40
  * The result of a geometry.buffer operation.
34
41
  */
@@ -42,6 +49,142 @@ export interface BufferResult {
42
49
  */
43
50
  maps?: MapsLike;
44
51
  }
52
+ /**
53
+ * Arguments for the geometry.add-point operation.
54
+ */
55
+ export interface AddPointArgs {
56
+ /**
57
+ * The starting geometry.
58
+ */
59
+ geometry: Polyline | Polygon;
60
+ /**
61
+ * The index of the part to which the point will be added.
62
+ * If null, the last part will be used.
63
+ */
64
+ partIndex?: number;
65
+ /**
66
+ * The index at which the point will be added.
67
+ * If null, the point will be added as the last point.
68
+ */
69
+ pointIndex?: number;
70
+ /**
71
+ * The new point to be added to 'geometry'. The spatial reference must
72
+ * match 'geometry' or an error will be thrown.
73
+ */
74
+ newPoint: Point;
75
+ }
76
+ /**
77
+ * Arguments for the geometry.add-part operation.
78
+ */
79
+ export interface AddPartArgs {
80
+ /**
81
+ * The starting geometry.
82
+ */
83
+ geometry: Polyline | Polygon;
84
+ /**
85
+ * The new part to be added to 'geometry'.
86
+ */
87
+ part: Point[];
88
+ }
89
+ /**
90
+ * A reference line used by the geometry.get-point operation.
91
+ */
92
+ export interface ReferenceLine {
93
+ /**
94
+ * The geometry that contains the reference line.
95
+ */
96
+ geometry: Polyline | Polygon;
97
+ /**
98
+ * The index of the part in 'geometry' that contains the reference line.
99
+ * If null, the last part will be used.
100
+ */
101
+ partIndex?: number;
102
+ /**
103
+ * The index of the segment that will be used as the reference line.
104
+ * If null, the last segment will be used.
105
+ */
106
+ segmentIndex?: number;
107
+ }
108
+ /**
109
+ * The different types of curves that can be used for geodetic distance
110
+ * calculations.
111
+ */
112
+ export declare type GeodeticCurveType = "geodesic" | "loxodrome" | "normal-section" | "great-elliptic";
113
+ /**
114
+ * Arguments for the geometry.calculate-point operation.
115
+ */
116
+ export interface CalculatePointArgs {
117
+ /**
118
+ * The units to be used for 'distance' and 'offset'.
119
+ * Defaults to the default units of the map.
120
+ */
121
+ units: LengthUnitsMobile;
122
+ /**
123
+ * The reference line that will be used to calculate the new point.
124
+ */
125
+ referenceLine: ReferenceLine;
126
+ /**
127
+ * The distance that will be used to calculate the new point.
128
+ *
129
+ * If using 'offset', this indicates the distance along
130
+ * the reference line.
131
+ *
132
+ * If using 'angle', this indicates the distance directly
133
+ * from the new point to the start point of the reference line.
134
+ *
135
+ * Cannot be negative.
136
+ */
137
+ distance: number;
138
+ /**
139
+ * The offset that will be used to calculate the new point.
140
+ * The 'offset' corresponds to the distance perpendicularly away from the
141
+ * reference line.
142
+ *
143
+ * Positive values will result in a point to the right of the reference
144
+ * line, negative values will be to the left.
145
+ *
146
+ * Exactly one of 'offset' and 'angle' must be set.
147
+ */
148
+ offset?: number;
149
+ /**
150
+ * The angle, relative to the angle of the reference line, that
151
+ * will be used to calculate the new point. Positive angles are
152
+ * calculated clockwise from the angle of the reference line,
153
+ * negative angles are calculated counter-clockwise.
154
+ *
155
+ * Exactly one of 'offset' and 'angle' must be set.
156
+ */
157
+ angle?: number;
158
+ /**
159
+ * Gets or sets a value indicating whether the distance calculations will
160
+ * be geodetic or planar. Defaults to true.
161
+ */
162
+ geodetic?: boolean;
163
+ /**
164
+ * Gets or sets the geodetic curve type used when calculating the new point.
165
+ * Only applies when 'geodetic' is true. Defaults to 'geodesic'.
166
+ */
167
+ geodeticCurveType: GeodeticCurveType;
168
+ }
169
+ /**
170
+ * Arguments for the geometry.remove-point operation.
171
+ */
172
+ export interface RemovePointArgs {
173
+ /**
174
+ * The starting geometry.
175
+ */
176
+ geometry: Polyline | Polygon;
177
+ /**
178
+ * The index of the part from which the point will be removed.
179
+ * If null, the last part will be used.
180
+ */
181
+ partIndex?: number;
182
+ /**
183
+ * The index of the point to be removed.
184
+ * If null, the last point wil be removed.
185
+ */
186
+ pointIndex?: number;
187
+ }
45
188
  export declare class GeometryOperations extends OperationRegistry {
46
189
  /**
47
190
  * Projects a set of geometries to a new spatial reference.
@@ -76,6 +219,30 @@ export declare class GeometryOperations extends OperationRegistry {
76
219
  * @webOnly
77
220
  */
78
221
  get getBufferUnits(): Operation<void, LengthUnits>;
222
+ /**
223
+ * Adds a point to a given geometry.
224
+ *
225
+ * @mobileOnly
226
+ */
227
+ get addPoint(): Operation<AddPointArgs, Geometry>;
228
+ /**
229
+ * Adds a part to a given geometry.
230
+ *
231
+ * @mobileOnly
232
+ */
233
+ get addPart(): Operation<AddPartArgs, Geometry>;
234
+ /**
235
+ * Calculates a point relative to a given reference line.
236
+ *
237
+ * @mobileOnly
238
+ */
239
+ get calculatePoint(): Operation<CalculatePointArgs, Point>;
240
+ /**
241
+ * Removes a point from a given geometry.
242
+ *
243
+ * @mobileOnly
244
+ */
245
+ get removePoint(): Operation<RemovePointArgs, Geometry>;
79
246
  }
80
247
  export declare class GeometryCommands extends CommandRegistry {
81
248
  /**
@@ -1 +1 @@
1
- import{CommandRegistry}from"../CommandRegistry.js";import{OperationRegistry}from"../OperationRegistry.js";export class GeometryOperations extends OperationRegistry{get project(){return this._messages.operation("geometry.project")}get addPixelTolerance(){return this._messages.operation("geometry.add-pixel-tolerance")}get buffer(){return this._messages.operation("geometry.buffer")}get getBufferDistance(){return this._messages.operation("geometry.get-buffer-distance")}get getBufferUnits(){return this._messages.operation("geometry.get-buffer-units")}}export class GeometryCommands extends CommandRegistry{get setBufferDistance(){return this._messages.command("geometry.set-buffer-distance")}get setBufferUnits(){return this._messages.command("geometry.set-buffer-units")}get showSettings(){return this._messages.command("geometry.show-settings")}}
1
+ import{CommandRegistry}from"../CommandRegistry.js";import{OperationRegistry}from"../OperationRegistry.js";export class GeometryOperations extends OperationRegistry{get project(){return this._messages.operation("geometry.project")}get addPixelTolerance(){return this._messages.operation("geometry.add-pixel-tolerance")}get buffer(){return this._messages.operation("geometry.buffer")}get getBufferDistance(){return this._messages.operation("geometry.get-buffer-distance")}get getBufferUnits(){return this._messages.operation("geometry.get-buffer-units")}get addPoint(){return this._messages.operation("geometry.add-point")}get addPart(){return this._messages.operation("geometry.add-part")}get calculatePoint(){return this._messages.operation("geometry.calculate-point")}get removePoint(){return this._messages.operation("geometry.remove-point")}}export class GeometryCommands extends CommandRegistry{get setBufferDistance(){return this._messages.command("geometry.set-buffer-distance")}get setBufferUnits(){return this._messages.command("geometry.set-buffer-units")}get showSettings(){return this._messages.command("geometry.show-settings")}}
@@ -27,6 +27,7 @@ import { CommandRegistry } from "../CommandRegistry.js";
27
27
  import type { Operation } from "../Operation.js";
28
28
  import { OperationRegistry } from "../OperationRegistry.js";
29
29
  import type { FeaturesLike, GeometryLike, GraphicsLike, HasMaps, MapsLike } from "../common.js";
30
+ import type { EditSymbolResult } from "./drawing.js";
30
31
  import type { LengthUnits } from "./geometry.js";
31
32
  /**
32
33
  * A representation of a 2D vector or point.
@@ -201,11 +202,15 @@ export interface GeometryOperationBase {
201
202
  export interface EditGeometryArgs extends GeometryOperationBase {
202
203
  /**
203
204
  * The options for this edit operation. Not supported in Mobile.
205
+ *
206
+ * @webOnly
204
207
  */
205
208
  options?: EditGeometryOptions;
206
209
  }
207
210
  /**
208
211
  * Options for the "sketching.edit-geometry operation.
212
+ *
213
+ * @webOnly
209
214
  */
210
215
  export interface EditGeometryOptions {
211
216
  /**
@@ -400,6 +405,12 @@ export declare class SketchingOperations extends OperationRegistry {
400
405
  * geometry that was drawn, along with the map that it was drawn on.
401
406
  */
402
407
  get captureGeometry(): Operation<CaptureGeometryArgs, CaptureGeometryResult>;
408
+ /**
409
+ * Allows the user to edit the symbology used by the graphics actively being edited.
410
+ *
411
+ * @webOnly
412
+ */
413
+ get editActiveSymbol(): Operation<void, EditSymbolResult | undefined>;
403
414
  /**
404
415
  * Allows the user to edit an existing geometry by drawing on a map. Returns
405
416
  * the geometry that was edited, or the supplied feature with the altered
@@ -441,10 +452,12 @@ export declare class SketchingOperations extends OperationRegistry {
441
452
  * geometry. If validateGeometry parameter is true and geometry is invalid,
442
453
  * returns null.
443
454
  */
444
- get stop(): Operation<StopGeometryEditArgs, CaptureGeometryResult>;
455
+ get stop(): Operation<StopGeometryEditArgs | void, CaptureGeometryResult>;
445
456
  /**
446
457
  * Adds a point to a given polyline or polygon geometry. Returns the
447
458
  * resulting geometry.
459
+ *
460
+ * Deprecated in Mobile, use geometry.add-point instead.
448
461
  */
449
462
  get addNodeToGeometry(): Operation<AddNodeToGeometryArgs, Geometry>;
450
463
  /**
@@ -461,6 +474,12 @@ export declare class SketchingOperations extends OperationRegistry {
461
474
  get getActiveNode(): Operation<ItemRef, GetActiveSketchResult>;
462
475
  }
463
476
  export declare class SketchingCommands extends CommandRegistry {
477
+ /**
478
+ * Cancels the current geometry edit or capture operation.
479
+ *
480
+ * @webOnly
481
+ */
482
+ get cancel(): Command<void>;
464
483
  /**
465
484
  * Undoes the last edit while editing a geometry.
466
485
  */
@@ -495,9 +514,10 @@ export declare class SketchingCommands extends CommandRegistry {
495
514
  */
496
515
  get setPointAtCurrentLocation(): Command<HasMaps>;
497
516
  /**
498
- * Deletes a point or the entire geometry, depending on which is selected
499
- * while editing a geometry. If a point is specified in the arguments, it
500
- * will be deleted (Web only).
517
+ * If a point is supplied while a sketching or editing operation is active,
518
+ * the vertex at that point will be deleted from the current geometry. If no
519
+ * point is supplied and a geometry editing session is active, the entire
520
+ * geometry will be deleted.
501
521
  */
502
522
  get delete(): Command<DeleteGeometryArgs>;
503
523
  /**
@@ -518,4 +538,28 @@ export declare class SketchingCommands extends CommandRegistry {
518
538
  * @mobileOnly
519
539
  */
520
540
  get setInteractionMode(): Command<SetInteractionModeArgs>;
541
+ /**
542
+ * Enables free scaling while editing geometries.
543
+ *
544
+ * @webOnly
545
+ */
546
+ get enableFreeScaleMode(): Command<void>;
547
+ /**
548
+ * Disables free scaling while editing geometries.
549
+ *
550
+ * @webOnly
551
+ */
552
+ get disableFreeScaleMode(): Command<void>;
553
+ /**
554
+ * Enables more precise inputs while editing geometries.
555
+ *
556
+ * @webOnly
557
+ */
558
+ get enablePrecisionMode(): Command<void>;
559
+ /**
560
+ * Disables more precise inputs while editing geometries.
561
+ *
562
+ * @webOnly
563
+ */
564
+ get disablePrecisionMode(): Command<void>;
521
565
  }
@@ -1 +1 @@
1
- import{CommandRegistry}from"../CommandRegistry.js";import{OperationRegistry}from"../OperationRegistry.js";export var SketchTool;!function(e){e.POINT="point",e.MULTIPOINT="multipoint",e.LINE="line",e.POLYLINE="polyline",e.POLYGON="polygon",e.EXTENT="extent",e.SQUARE="square",e.CIRCLE="circle"}(SketchTool||(SketchTool={}));export class SketchingOperations extends OperationRegistry{get captureGeometry(){return this._messages.operation("sketching.capture-geometry")}get editGeometry(){return this._messages.operation("sketching.edit-geometry")}get moveGeometry(){return this._messages.operation("sketching.move-geometry")}get scaleGeometry(){return this._messages.operation("sketching.scale-geometry")}get rotateGeometry(){return this._messages.operation("sketching.rotate-geometry")}get stop(){return this._messages.operation("sketching.stop")}get addNodeToGeometry(){return this._messages.operation("sketching.add-node-to-geometry")}get getActiveSketch(){return this._messages.operation("sketching.get-active-sketch")}get getActiveNode(){return this._messages.operation("sketching.get-active-node")}}export class SketchingCommands extends CommandRegistry{get undo(){return this._messages.command("sketching.undo")}get redo(){return this._messages.command("sketching.redo")}get setGeometryMode(){return this._messages.command("sketching.set-geometry-mode")}get addPointAtCenter(){return this._messages.command("sketching.add-point-at-center")}get addPointAtCurrentLocation(){return this._messages.command("sketching.add-point-at-current-location")}get setPointAtCurrentLocation(){return this._messages.command("sketching.set-point-at-current-location")}get delete(){return this._messages.command("sketching.delete")}get moveNode(){return this._messages.command("sketching.move-node")}get switchActiveNode(){return this._messages.command("sketching.switch-active-node")}get setInteractionMode(){return this._messages.command("sketching.set-interaction-mode")}}
1
+ import{CommandRegistry}from"../CommandRegistry.js";import{OperationRegistry}from"../OperationRegistry.js";export var SketchTool;!function(e){e.POINT="point",e.MULTIPOINT="multipoint",e.LINE="line",e.POLYLINE="polyline",e.POLYGON="polygon",e.EXTENT="extent",e.SQUARE="square",e.CIRCLE="circle"}(SketchTool||(SketchTool={}));export class SketchingOperations extends OperationRegistry{get captureGeometry(){return this._messages.operation("sketching.capture-geometry")}get editActiveSymbol(){return this._messages.operation("sketching.edit-active-symbol")}get editGeometry(){return this._messages.operation("sketching.edit-geometry")}get moveGeometry(){return this._messages.operation("sketching.move-geometry")}get scaleGeometry(){return this._messages.operation("sketching.scale-geometry")}get rotateGeometry(){return this._messages.operation("sketching.rotate-geometry")}get stop(){return this._messages.operation("sketching.stop")}get addNodeToGeometry(){return this._messages.operation("sketching.add-node-to-geometry")}get getActiveSketch(){return this._messages.operation("sketching.get-active-sketch")}get getActiveNode(){return this._messages.operation("sketching.get-active-node")}}export class SketchingCommands extends CommandRegistry{get cancel(){return this._messages.command("sketching.cancel")}get undo(){return this._messages.command("sketching.undo")}get redo(){return this._messages.command("sketching.redo")}get setGeometryMode(){return this._messages.command("sketching.set-geometry-mode")}get addPointAtCenter(){return this._messages.command("sketching.add-point-at-center")}get addPointAtCurrentLocation(){return this._messages.command("sketching.add-point-at-current-location")}get setPointAtCurrentLocation(){return this._messages.command("sketching.set-point-at-current-location")}get delete(){return this._messages.command("sketching.delete")}get moveNode(){return this._messages.command("sketching.move-node")}get switchActiveNode(){return this._messages.command("sketching.switch-active-node")}get setInteractionMode(){return this._messages.command("sketching.set-interaction-mode")}get enableFreeScaleMode(){return this._messages.command("sketching.enable-free-scale-mode")}get disableFreeScaleMode(){return this._messages.command("sketching.disable-free-scale-mode")}get enablePrecisionMode(){return this._messages.command("sketching.enable-precision-mode")}get disablePrecisionMode(){return this._messages.command("sketching.disable-precision-mode")}}
@@ -11124,7 +11124,7 @@
11124
11124
  ]
11125
11125
  },
11126
11126
  "sketching.add-node-to-geometry": {
11127
- "description": "Adds a point to a given polyline or polygon geometry. Returns the resulting geometry.",
11127
+ "description": "Adds a point to a given polyline or polygon geometry. Returns the resulting geometry. Deprecated in Mobile, use geometry.add-point instead.",
11128
11128
  "enum": [
11129
11129
  "sketching.add-node-to-geometry"
11130
11130
  ]
@@ -11148,7 +11148,7 @@
11148
11148
  "$ref": "#/definitions/CaptureGeometryResult"
11149
11149
  },
11150
11150
  "sketching.delete": {
11151
- "description": "Deletes a point or the entire geometry, depending on which is selected while editing a geometry. If a point is specified in the arguments, it will be deleted (Web only).",
11151
+ "description": "If a point is supplied while a sketching or editing operation is active, the vertex at that point will be deleted from the current geometry. If no point is supplied and a geometry editing session is active, the entire geometry will be deleted.",
11152
11152
  "enum": [
11153
11153
  "sketching.delete"
11154
11154
  ]
@@ -11193,7 +11193,14 @@
11193
11193
  ]
11194
11194
  },
11195
11195
  "sketching.stop:input": {
11196
- "$ref": "#/definitions/StopGeometryEditArgs"
11196
+ "anyOf": [
11197
+ {
11198
+ "$ref": "#/definitions/StopGeometryEditArgs"
11199
+ },
11200
+ {
11201
+ "type": "null"
11202
+ }
11203
+ ]
11197
11204
  },
11198
11205
  "sketching.stop:output": {
11199
11206
  "$ref": "#/definitions/CaptureGeometryResult"
@@ -506,6 +506,69 @@
506
506
  ],
507
507
  "type": "object"
508
508
  },
509
+ "AddPartArgs": {
510
+ "additionalProperties": false,
511
+ "description": "Arguments for the geometry.add-part operation.",
512
+ "properties": {
513
+ "geometry": {
514
+ "anyOf": [
515
+ {
516
+ "$ref": "#/definitions/esri.Polygon"
517
+ },
518
+ {
519
+ "$ref": "#/definitions/esri.Polyline"
520
+ }
521
+ ],
522
+ "description": "The starting geometry."
523
+ },
524
+ "part": {
525
+ "description": "The new part to be added to 'geometry'.",
526
+ "items": {
527
+ "$ref": "#/definitions/esri.Point"
528
+ },
529
+ "type": "array"
530
+ }
531
+ },
532
+ "required": [
533
+ "geometry",
534
+ "part"
535
+ ],
536
+ "type": "object"
537
+ },
538
+ "AddPointArgs": {
539
+ "additionalProperties": false,
540
+ "description": "Arguments for the geometry.add-point operation.",
541
+ "properties": {
542
+ "geometry": {
543
+ "anyOf": [
544
+ {
545
+ "$ref": "#/definitions/esri.Polygon"
546
+ },
547
+ {
548
+ "$ref": "#/definitions/esri.Polyline"
549
+ }
550
+ ],
551
+ "description": "The starting geometry."
552
+ },
553
+ "newPoint": {
554
+ "$ref": "#/definitions/esri.Point",
555
+ "description": "The new point to be added to 'geometry'. The spatial reference must match 'geometry' or an error will be thrown."
556
+ },
557
+ "partIndex": {
558
+ "description": "The index of the part to which the point will be added. If null, the last part will be used.",
559
+ "type": "number"
560
+ },
561
+ "pointIndex": {
562
+ "description": "The index at which the point will be added. If null, the point will be added as the last point.",
563
+ "type": "number"
564
+ }
565
+ },
566
+ "required": [
567
+ "geometry",
568
+ "newPoint"
569
+ ],
570
+ "type": "object"
571
+ },
509
572
  "AlertCommandArgs": {
510
573
  "additionalProperties": false,
511
574
  "description": "Arguments for the 'ui.alert' command.",
@@ -549,6 +612,47 @@
549
612
  ],
550
613
  "type": "object"
551
614
  },
615
+ "CalculatePointArgs": {
616
+ "additionalProperties": false,
617
+ "description": "Arguments for the geometry.calculate-point operation.",
618
+ "properties": {
619
+ "angle": {
620
+ "description": "The angle, relative to the angle of the reference line, that will be used to calculate the new point. Positive angles are calculated clockwise from the angle of the reference line, negative angles are calculated counter-clockwise. Exactly one of 'offset' and 'angle' must be set.",
621
+ "type": "number"
622
+ },
623
+ "distance": {
624
+ "description": "The distance that will be used to calculate the new point. If using 'offset', this indicates the distance along the reference line. If using 'angle', this indicates the distance directly from the new point to the start point of the reference line. Cannot be negative.",
625
+ "type": "number"
626
+ },
627
+ "geodetic": {
628
+ "description": "Gets or sets a value indicating whether the distance calculations will be geodetic or planar. Defaults to true.",
629
+ "type": "boolean"
630
+ },
631
+ "geodeticCurveType": {
632
+ "$ref": "#/definitions/GeodeticCurveType",
633
+ "description": "Gets or sets the geodetic curve type used when calculating the new point. Only applies when 'geodetic' is true. Defaults to 'geodesic'."
634
+ },
635
+ "offset": {
636
+ "description": "The offset that will be used to calculate the new point. The 'offset' corresponds to the distance perpendicularly away from the reference line. Positive values will result in a point to the right of the reference line, negative values will be to the left. Exactly one of 'offset' and 'angle' must be set.",
637
+ "type": "number"
638
+ },
639
+ "referenceLine": {
640
+ "$ref": "#/definitions/ReferenceLine",
641
+ "description": "The reference line that will be used to calculate the new point."
642
+ },
643
+ "units": {
644
+ "$ref": "#/definitions/LengthUnitsMobile",
645
+ "description": "The units to be used for 'distance' and 'offset'. Defaults to the default units of the map."
646
+ }
647
+ },
648
+ "required": [
649
+ "distance",
650
+ "geodeticCurveType",
651
+ "referenceLine",
652
+ "units"
653
+ ],
654
+ "type": "object"
655
+ },
552
656
  "CaptureGeometryArgs": {
553
657
  "additionalProperties": false,
554
658
  "description": "Arguments for the \"sketching.capture-geometry\" operation.",
@@ -1185,6 +1289,16 @@
1185
1289
  ],
1186
1290
  "type": "object"
1187
1291
  },
1292
+ "GeodeticCurveType": {
1293
+ "description": "The different types of curves that can be used for geodetic distance calculations.",
1294
+ "enum": [
1295
+ "geodesic",
1296
+ "great-elliptic",
1297
+ "loxodrome",
1298
+ "normal-section"
1299
+ ],
1300
+ "type": "string"
1301
+ },
1188
1302
  "GeolocateCurrentState": {
1189
1303
  "additionalProperties": false,
1190
1304
  "description": "Result for the \"geolocation.get-current-state\" operation.",
@@ -1592,6 +1706,30 @@
1592
1706
  ],
1593
1707
  "type": "object"
1594
1708
  },
1709
+ "LengthUnitsMobile": {
1710
+ "description": "The units for distance supported by Mobile.",
1711
+ "enum": [
1712
+ "centimeters",
1713
+ "cm",
1714
+ "feet",
1715
+ "ft",
1716
+ "in",
1717
+ "inches",
1718
+ "kilometers",
1719
+ "km",
1720
+ "m",
1721
+ "meters",
1722
+ "mi",
1723
+ "miles",
1724
+ "millimeters",
1725
+ "mm",
1726
+ "nautical-miles",
1727
+ "nm",
1728
+ "yards",
1729
+ "yd"
1730
+ ],
1731
+ "type": "string"
1732
+ },
1595
1733
  "MapExtensionArgs": {
1596
1734
  "additionalProperties": false,
1597
1735
  "description": "One or more map extensions.",
@@ -1850,6 +1988,64 @@
1850
1988
  ],
1851
1989
  "type": "object"
1852
1990
  },
1991
+ "ReferenceLine": {
1992
+ "additionalProperties": false,
1993
+ "description": "A reference line used by the geometry.get-point operation.",
1994
+ "properties": {
1995
+ "geometry": {
1996
+ "anyOf": [
1997
+ {
1998
+ "$ref": "#/definitions/esri.Polygon"
1999
+ },
2000
+ {
2001
+ "$ref": "#/definitions/esri.Polyline"
2002
+ }
2003
+ ],
2004
+ "description": "The geometry that contains the reference line."
2005
+ },
2006
+ "partIndex": {
2007
+ "description": "The index of the part in 'geometry' that contains the reference line. If null, the last part will be used.",
2008
+ "type": "number"
2009
+ },
2010
+ "segmentIndex": {
2011
+ "description": "The index of the segment that will be used as the reference line. If null, the last segment will be used.",
2012
+ "type": "number"
2013
+ }
2014
+ },
2015
+ "required": [
2016
+ "geometry"
2017
+ ],
2018
+ "type": "object"
2019
+ },
2020
+ "RemovePointArgs": {
2021
+ "additionalProperties": false,
2022
+ "description": "Arguments for the geometry.remove-point operation.",
2023
+ "properties": {
2024
+ "geometry": {
2025
+ "anyOf": [
2026
+ {
2027
+ "$ref": "#/definitions/esri.Polygon"
2028
+ },
2029
+ {
2030
+ "$ref": "#/definitions/esri.Polyline"
2031
+ }
2032
+ ],
2033
+ "description": "The starting geometry."
2034
+ },
2035
+ "partIndex": {
2036
+ "description": "The index of the part from which the point will be removed. If null, the last part will be used.",
2037
+ "type": "number"
2038
+ },
2039
+ "pointIndex": {
2040
+ "description": "The index of the point to be removed. If null, the last point wil be removed.",
2041
+ "type": "number"
2042
+ }
2043
+ },
2044
+ "required": [
2045
+ "geometry"
2046
+ ],
2047
+ "type": "object"
2048
+ },
1853
2049
  "ReplaceMapArgs": {
1854
2050
  "additionalProperties": false,
1855
2051
  "description": "Arguments for the \"map.replace*\" operations.",
@@ -2681,9 +2877,15 @@
2681
2877
  "esri.PointSymbol3D": {
2682
2878
  "$ref": "esri/symbols/PointSymbol3D"
2683
2879
  },
2880
+ "esri.Polygon": {
2881
+ "$ref": "esri/geometry/Polygon"
2882
+ },
2684
2883
  "esri.PolygonSymbol3D": {
2685
2884
  "$ref": "esri/symbols/PolygonSymbol3D"
2686
2885
  },
2886
+ "esri.Polyline": {
2887
+ "$ref": "esri/geometry/Polyline"
2888
+ },
2687
2889
  "esri.PopupTemplate": {
2688
2890
  "$ref": "esri/PopupTemplate"
2689
2891
  },
@@ -11592,6 +11794,54 @@
11592
11794
  }
11593
11795
  ]
11594
11796
  },
11797
+ "geometry.add-part": {
11798
+ "description": "Adds a part to a given geometry.",
11799
+ "enum": [
11800
+ "geometry.add-part"
11801
+ ]
11802
+ },
11803
+ "geometry.add-part:input": {
11804
+ "$ref": "#/definitions/AddPartArgs"
11805
+ },
11806
+ "geometry.add-part:output": {
11807
+ "$ref": "#/definitions/esri.Geometry"
11808
+ },
11809
+ "geometry.add-point": {
11810
+ "description": "Adds a point to a given geometry.",
11811
+ "enum": [
11812
+ "geometry.add-point"
11813
+ ]
11814
+ },
11815
+ "geometry.add-point:input": {
11816
+ "$ref": "#/definitions/AddPointArgs"
11817
+ },
11818
+ "geometry.add-point:output": {
11819
+ "$ref": "#/definitions/esri.Geometry"
11820
+ },
11821
+ "geometry.calculate-point": {
11822
+ "description": "Calculates a point relative to a given reference line.",
11823
+ "enum": [
11824
+ "geometry.calculate-point"
11825
+ ]
11826
+ },
11827
+ "geometry.calculate-point:input": {
11828
+ "$ref": "#/definitions/CalculatePointArgs"
11829
+ },
11830
+ "geometry.calculate-point:output": {
11831
+ "$ref": "#/definitions/esri.Point"
11832
+ },
11833
+ "geometry.remove-point": {
11834
+ "description": "Removes a point from a given geometry.",
11835
+ "enum": [
11836
+ "geometry.remove-point"
11837
+ ]
11838
+ },
11839
+ "geometry.remove-point:input": {
11840
+ "$ref": "#/definitions/RemovePointArgs"
11841
+ },
11842
+ "geometry.remove-point:output": {
11843
+ "$ref": "#/definitions/esri.Geometry"
11844
+ },
11595
11845
  "highlights.add": {
11596
11846
  "description": "Applies highlighting to one or more features.",
11597
11847
  "enum": [
@@ -12693,7 +12943,7 @@
12693
12943
  "type": "string"
12694
12944
  },
12695
12945
  "sketching.add-node-to-geometry": {
12696
- "description": "Adds a point to a given polyline or polygon geometry. Returns the resulting geometry.",
12946
+ "description": "Adds a point to a given polyline or polygon geometry. Returns the resulting geometry. Deprecated in Mobile, use geometry.add-point instead.",
12697
12947
  "enum": [
12698
12948
  "sketching.add-node-to-geometry"
12699
12949
  ]
@@ -12735,7 +12985,7 @@
12735
12985
  "$ref": "#/definitions/CaptureGeometryResult"
12736
12986
  },
12737
12987
  "sketching.delete": {
12738
- "description": "Deletes a point or the entire geometry, depending on which is selected while editing a geometry. If a point is specified in the arguments, it will be deleted (Web only).",
12988
+ "description": "If a point is supplied while a sketching or editing operation is active, the vertex at that point will be deleted from the current geometry. If no point is supplied and a geometry editing session is active, the entire geometry will be deleted.",
12739
12989
  "enum": [
12740
12990
  "sketching.delete"
12741
12991
  ]
@@ -12798,7 +13048,14 @@
12798
13048
  ]
12799
13049
  },
12800
13050
  "sketching.stop:input": {
12801
- "$ref": "#/definitions/StopGeometryEditArgs"
13051
+ "anyOf": [
13052
+ {
13053
+ "$ref": "#/definitions/StopGeometryEditArgs"
13054
+ },
13055
+ {
13056
+ "type": "null"
13057
+ }
13058
+ ]
12802
13059
  },
12803
13060
  "sketching.stop:output": {
12804
13061
  "$ref": "#/definitions/CaptureGeometryResult"
@@ -15008,6 +15265,70 @@
15008
15265
  ],
15009
15266
  "type": "object"
15010
15267
  },
15268
+ {
15269
+ "additionalProperties": false,
15270
+ "properties": {
15271
+ "arguments": {
15272
+ "$ref": "#/definitions/geometry.add-part:input"
15273
+ },
15274
+ "name": {
15275
+ "$ref": "#/definitions/geometry.add-part"
15276
+ }
15277
+ },
15278
+ "required": [
15279
+ "name",
15280
+ "arguments"
15281
+ ],
15282
+ "type": "object"
15283
+ },
15284
+ {
15285
+ "additionalProperties": false,
15286
+ "properties": {
15287
+ "arguments": {
15288
+ "$ref": "#/definitions/geometry.add-point:input"
15289
+ },
15290
+ "name": {
15291
+ "$ref": "#/definitions/geometry.add-point"
15292
+ }
15293
+ },
15294
+ "required": [
15295
+ "name",
15296
+ "arguments"
15297
+ ],
15298
+ "type": "object"
15299
+ },
15300
+ {
15301
+ "additionalProperties": false,
15302
+ "properties": {
15303
+ "arguments": {
15304
+ "$ref": "#/definitions/geometry.calculate-point:input"
15305
+ },
15306
+ "name": {
15307
+ "$ref": "#/definitions/geometry.calculate-point"
15308
+ }
15309
+ },
15310
+ "required": [
15311
+ "name",
15312
+ "arguments"
15313
+ ],
15314
+ "type": "object"
15315
+ },
15316
+ {
15317
+ "additionalProperties": false,
15318
+ "properties": {
15319
+ "arguments": {
15320
+ "$ref": "#/definitions/geometry.remove-point:input"
15321
+ },
15322
+ "name": {
15323
+ "$ref": "#/definitions/geometry.remove-point"
15324
+ }
15325
+ },
15326
+ "required": [
15327
+ "name",
15328
+ "arguments"
15329
+ ],
15330
+ "type": "object"
15331
+ },
15011
15332
  {
15012
15333
  "additionalProperties": false,
15013
15334
  "properties": {
@@ -15512,6 +15833,18 @@
15512
15833
  {
15513
15834
  "$ref": "#/definitions/geolocation.get-position"
15514
15835
  },
15836
+ {
15837
+ "$ref": "#/definitions/geometry.add-part"
15838
+ },
15839
+ {
15840
+ "$ref": "#/definitions/geometry.add-point"
15841
+ },
15842
+ {
15843
+ "$ref": "#/definitions/geometry.calculate-point"
15844
+ },
15845
+ {
15846
+ "$ref": "#/definitions/geometry.remove-point"
15847
+ },
15515
15848
  {
15516
15849
  "$ref": "#/definitions/map.export-image"
15517
15850
  },
@@ -3480,6 +3480,31 @@
3480
3480
  ],
3481
3481
  "type": "object"
3482
3482
  },
3483
+ "RunArcadeArgs": {
3484
+ "additionalProperties": false,
3485
+ "description": "The arguments for the arcade.run operation.",
3486
+ "properties": {
3487
+ "arguments": {
3488
+ "description": "An arguments object that provides named variables and associated values, which can be referenced from within the executeScript and canExecuteScript. NOTE: All variable keys must consist of only lowercase letters; camel-cased context variables will break the script when they are referenced at runtime."
3489
+ },
3490
+ "canExecuteScript": {
3491
+ "description": "The stringified Arcade script used to determine whether or not the executeScript can/should be run. If no executeScript is provided and the canExecuteScript returns a truthy value, the operation will return its input arguments; otherwise, if the canEecuteScript returns a falsey value, it will throw a {@link Cancellation}.",
3492
+ "type": "string"
3493
+ },
3494
+ "executeScript": {
3495
+ "description": "The stringified Arcade script to run. If this property is included, the operation will return the result of the script.",
3496
+ "type": "string"
3497
+ },
3498
+ "watchHandles": {
3499
+ "description": "Properties used to set a series of watch handles and/or event listeners on an item that will trigger the canExecuteChanged event for the 'arcade.run' operation.",
3500
+ "items": {
3501
+ "$ref": "#/definitions/WatchEventHandleProperties"
3502
+ },
3503
+ "type": "array"
3504
+ }
3505
+ },
3506
+ "type": "object"
3507
+ },
3483
3508
  "RunPrintArgs": {
3484
3509
  "additionalProperties": false,
3485
3510
  "description": "The arguments required by the printing.run command.",
@@ -4770,6 +4795,70 @@
4770
4795
  "description": "A component's visual state. The values will vary based on the component type.",
4771
4796
  "type": "string"
4772
4797
  },
4798
+ "WatchEventHandleProperties": {
4799
+ "additionalProperties": false,
4800
+ "description": "Properties used to set a series of watch handles and/or event listeners on an item.",
4801
+ "properties": {
4802
+ "item": {
4803
+ "anyOf": [
4804
+ {
4805
+ "$ref": "#/definitions/Model"
4806
+ },
4807
+ {
4808
+ "type": "string"
4809
+ }
4810
+ ],
4811
+ "description": "The item whose properties will be watched for changes and/or events."
4812
+ },
4813
+ "watch": {
4814
+ "anyOf": [
4815
+ {
4816
+ "$ref": "#/definitions/WatchEventProperty"
4817
+ },
4818
+ {
4819
+ "items": {
4820
+ "anyOf": [
4821
+ {
4822
+ "$ref": "#/definitions/WatchEventProperty"
4823
+ },
4824
+ {
4825
+ "type": "string"
4826
+ }
4827
+ ]
4828
+ },
4829
+ "type": "array"
4830
+ },
4831
+ {
4832
+ "type": "string"
4833
+ }
4834
+ ],
4835
+ "description": "One or more properties on the item that will be watched for changes and/or events. Any strings will be used as propertyPaths that will be watched for changes; for this to work, the item and all properties referenced within the path (except for the last) must implement {@link Observable}."
4836
+ }
4837
+ },
4838
+ "required": [
4839
+ "item",
4840
+ "watch"
4841
+ ],
4842
+ "type": "object"
4843
+ },
4844
+ "WatchEventProperty": {
4845
+ "additionalProperties": false,
4846
+ "description": "Properties on an item to watch, with an optional event name to listen for.",
4847
+ "properties": {
4848
+ "eventName": {
4849
+ "description": "The name of the event to listen for. If no propertyPath is included, the listener will go directly on the watched item.",
4850
+ "type": "string"
4851
+ },
4852
+ "propertyPath": {
4853
+ "description": "The path used to target a property on an item that will be watched for events. The watched property must implement {@link Evented}; this will effectively do `item[propertyPath].on(eventName)`.",
4854
+ "type": "string"
4855
+ }
4856
+ },
4857
+ "required": [
4858
+ "eventName"
4859
+ ],
4860
+ "type": "object"
4861
+ },
4773
4862
  "ZoomToLayerArgs": {
4774
4863
  "additionalProperties": false,
4775
4864
  "description": "Arguments for the map.zoom-to-layer-extent and map.zoom-to-layer-visible-scale commands.",
@@ -4880,6 +4969,22 @@
4880
4969
  }
4881
4970
  ]
4882
4971
  },
4972
+ "arcade.run": {
4973
+ "description": "Runs a stringified Arcade script. If only a string is passed in as an argument, it is interpreted as an executeScript. If an executeSript is provided, the operation will return its result. If only a canExecute script is provided and it returns a truthy result, the operation will return its input arguments. If a canExecuteScript returns a falsey value, the operation will throw a {@link Cancellation}.",
4974
+ "enum": [
4975
+ "arcade.run"
4976
+ ]
4977
+ },
4978
+ "arcade.run:input": {
4979
+ "anyOf": [
4980
+ {
4981
+ "$ref": "#/definitions/RunArcadeArgs"
4982
+ },
4983
+ {
4984
+ "type": "string"
4985
+ }
4986
+ ]
4987
+ },
4883
4988
  "auth.get-current-user": {
4884
4989
  "description": "Gets the user that is currently signed into the application.",
4885
4990
  "enum": [
@@ -16543,7 +16648,7 @@
16543
16648
  ]
16544
16649
  },
16545
16650
  "sketching.add-node-to-geometry": {
16546
- "description": "Adds a point to a given polyline or polygon geometry. Returns the resulting geometry.",
16651
+ "description": "Adds a point to a given polyline or polygon geometry. Returns the resulting geometry. Deprecated in Mobile, use geometry.add-point instead.",
16547
16652
  "enum": [
16548
16653
  "sketching.add-node-to-geometry"
16549
16654
  ]
@@ -16554,6 +16659,12 @@
16554
16659
  "sketching.add-node-to-geometry:output": {
16555
16660
  "$ref": "#/definitions/esri.Geometry"
16556
16661
  },
16662
+ "sketching.cancel": {
16663
+ "description": "Cancels the current geometry edit or capture operation.",
16664
+ "enum": [
16665
+ "sketching.cancel"
16666
+ ]
16667
+ },
16557
16668
  "sketching.capture-geometry": {
16558
16669
  "description": "Allows the user to create geometry by sketching on a map. Returns the geometry that was drawn, along with the map that it was drawn on.",
16559
16670
  "enum": [
@@ -16567,7 +16678,7 @@
16567
16678
  "$ref": "#/definitions/CaptureGeometryResult"
16568
16679
  },
16569
16680
  "sketching.delete": {
16570
- "description": "Deletes a point or the entire geometry, depending on which is selected while editing a geometry. If a point is specified in the arguments, it will be deleted (Web only).",
16681
+ "description": "If a point is supplied while a sketching or editing operation is active, the vertex at that point will be deleted from the current geometry. If no point is supplied and a geometry editing session is active, the entire geometry will be deleted.",
16571
16682
  "enum": [
16572
16683
  "sketching.delete"
16573
16684
  ]
@@ -16575,6 +16686,27 @@
16575
16686
  "sketching.delete:input": {
16576
16687
  "$ref": "#/definitions/DeleteGeometryArgs"
16577
16688
  },
16689
+ "sketching.disable-free-scale-mode": {
16690
+ "description": "Disables free scaling while editing geometries.",
16691
+ "enum": [
16692
+ "sketching.disable-free-scale-mode"
16693
+ ]
16694
+ },
16695
+ "sketching.disable-precision-mode": {
16696
+ "description": "Disables more precise inputs while editing geometries.",
16697
+ "enum": [
16698
+ "sketching.disable-precision-mode"
16699
+ ]
16700
+ },
16701
+ "sketching.edit-active-symbol": {
16702
+ "description": "Allows the user to edit the symbology used by the graphics actively being edited.",
16703
+ "enum": [
16704
+ "sketching.edit-active-symbol"
16705
+ ]
16706
+ },
16707
+ "sketching.edit-active-symbol:output": {
16708
+ "$ref": "#/definitions/EditSymbolResult"
16709
+ },
16578
16710
  "sketching.edit-geometry": {
16579
16711
  "description": "Allows the user to edit an existing geometry by drawing on a map. Returns the geometry that was edited, or the supplied feature with the altered geometry applied, along with the map that it was drawn on.",
16580
16712
  "enum": [
@@ -16587,6 +16719,18 @@
16587
16719
  "sketching.edit-geometry:output": {
16588
16720
  "$ref": "#/definitions/EditGeometryResult"
16589
16721
  },
16722
+ "sketching.enable-free-scale-mode": {
16723
+ "description": "Enables free scaling while editing geometries.",
16724
+ "enum": [
16725
+ "sketching.enable-free-scale-mode"
16726
+ ]
16727
+ },
16728
+ "sketching.enable-precision-mode": {
16729
+ "description": "Enables more precise inputs while editing geometries.",
16730
+ "enum": [
16731
+ "sketching.enable-precision-mode"
16732
+ ]
16733
+ },
16590
16734
  "sketching.get-active-node": {
16591
16735
  "description": "Returns the active point graphic of the active sketch on a map.",
16592
16736
  "enum": [
@@ -16678,7 +16822,14 @@
16678
16822
  ]
16679
16823
  },
16680
16824
  "sketching.stop:input": {
16681
- "$ref": "#/definitions/StopGeometryEditArgs"
16825
+ "anyOf": [
16826
+ {
16827
+ "$ref": "#/definitions/StopGeometryEditArgs"
16828
+ },
16829
+ {
16830
+ "type": "null"
16831
+ }
16832
+ ]
16682
16833
  },
16683
16834
  "sketching.stop:output": {
16684
16835
  "$ref": "#/definitions/CaptureGeometryResult"
@@ -17029,6 +17180,22 @@
17029
17180
  ],
17030
17181
  "type": "object"
17031
17182
  },
17183
+ {
17184
+ "additionalProperties": false,
17185
+ "properties": {
17186
+ "arguments": {
17187
+ "$ref": "#/definitions/arcade.run:input"
17188
+ },
17189
+ "name": {
17190
+ "$ref": "#/definitions/arcade.run"
17191
+ }
17192
+ },
17193
+ "required": [
17194
+ "name",
17195
+ "arguments"
17196
+ ],
17197
+ "type": "object"
17198
+ },
17032
17199
  {
17033
17200
  "additionalProperties": false,
17034
17201
  "properties": {
@@ -18856,6 +19023,9 @@
18856
19023
  {
18857
19024
  "$ref": "#/definitions/app.load-project"
18858
19025
  },
19026
+ {
19027
+ "$ref": "#/definitions/arcade.run"
19028
+ },
18859
19029
  {
18860
19030
  "$ref": "#/definitions/auth.sign-in"
18861
19031
  },
@@ -19144,9 +19314,24 @@
19144
19314
  {
19145
19315
  "$ref": "#/definitions/search.clear"
19146
19316
  },
19317
+ {
19318
+ "$ref": "#/definitions/sketching.cancel"
19319
+ },
19147
19320
  {
19148
19321
  "$ref": "#/definitions/sketching.delete"
19149
19322
  },
19323
+ {
19324
+ "$ref": "#/definitions/sketching.disable-free-scale-mode"
19325
+ },
19326
+ {
19327
+ "$ref": "#/definitions/sketching.disable-precision-mode"
19328
+ },
19329
+ {
19330
+ "$ref": "#/definitions/sketching.enable-free-scale-mode"
19331
+ },
19332
+ {
19333
+ "$ref": "#/definitions/sketching.enable-precision-mode"
19334
+ },
19150
19335
  {
19151
19336
  "$ref": "#/definitions/sketching.move-node"
19152
19337
  },
@@ -20206,6 +20391,9 @@
20206
20391
  {
20207
20392
  "$ref": "#/definitions/sketching.capture-geometry"
20208
20393
  },
20394
+ {
20395
+ "$ref": "#/definitions/sketching.edit-active-symbol"
20396
+ },
20209
20397
  {
20210
20398
  "$ref": "#/definitions/sketching.edit-geometry"
20211
20399
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertigis/viewer-spec",
3
- "version": "43.4.0",
3
+ "version": "44.0.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "description": "VertiGIS Viewer Specification",
6
6
  "type": "module",
@@ -34,11 +34,11 @@
34
34
  },
35
35
  "author": "VertiGIS Ltd.",
36
36
  "peerDependencies": {
37
- "@vertigis/arcgis-extensions": ">= 33.5.4 < 34.0.0"
37
+ "@vertigis/arcgis-extensions": ">= 34.1.0 < 35.0.0"
38
38
  },
39
39
  "devDependencies": {
40
40
  "@arcgis/core": "4.21.2",
41
- "@vertigis/arcgis-extensions": "33.5.4 ",
41
+ "@vertigis/arcgis-extensions": "34.1.0 ",
42
42
  "@types/glob": "7.1.4",
43
43
  "@types/json-stable-stringify": "1.0.33",
44
44
  "@types/node": "14.14.41",
package/version.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The current version of the Geocortex Viewer Specification.
3
3
  */
4
- export declare const version = "43.4.0";
4
+ export declare const version = "44.0.0";
package/version.js CHANGED
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * The current version of the Geocortex Viewer Specification.
3
3
  */
4
- export const version = "43.4.0";
4
+ export const version = "44.0.0";