@vertigis/viewer-spec 53.0.0 → 53.2.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.
@@ -0,0 +1,16 @@
1
+ import type { Action } from "@vertigis/arcgis-extensions/support/Action";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * Properties for a query component.
5
+ */
6
+ export interface QueryBuilderModelProperties extends ComponentModelProperties {
7
+ /**
8
+ * The maximum number of query results to return.
9
+ */
10
+ maxResults?: number;
11
+ /**
12
+ * The command to execute when the user executes a query. It will get an
13
+ * instance of `QueryArgs` passed in as context.
14
+ */
15
+ onQuery?: Action;
16
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -59,6 +59,33 @@
59
59
  </complexType>
60
60
  </element>
61
61
 
62
+ <element name="filter-builder" substitutionGroup="base:component">
63
+ <annotation>
64
+ <documentation xml:lang="en">
65
+ A component that allows the user to interactively apply filters
66
+ to the maps' layers.
67
+ </documentation>
68
+ </annotation>
69
+ <complexType>
70
+ <complexContent>
71
+ <extension base="base:Component">
72
+ <attribute name="show-cancel-button" type="boolean" default="false">
73
+ <annotation>
74
+ <documentation xml:lang="en">
75
+ Whether or not to show a "Cancel" button. This
76
+ button will cancel any pending changes to the
77
+ current filter and deactivate the component.
78
+ This is useful when the component is being shown
79
+ in a temporary way, e.g. in a dialog. The
80
+ default is false.
81
+ </documentation>
82
+ </annotation>
83
+ </attribute>
84
+ </extension>
85
+ </complexContent>
86
+ </complexType>
87
+ </element>
88
+
62
89
  <element name="geometry-toolbar" substitutionGroup="base:component">
63
90
  <annotation>
64
91
  <documentation xml:lang="en">
@@ -197,15 +224,28 @@
197
224
  </complexType>
198
225
  </element>
199
226
 
200
- <element name="shared-projects" substitutionGroup="base:component">
227
+ <element name="query-builder" substitutionGroup="base:component">
201
228
  <annotation>
202
229
  <documentation xml:lang="en">
203
- A component that allows the user to manage and view shared projects.
230
+ A component that allows the user to interactively run queries against the
231
+ maps' layers.
204
232
  </documentation>
205
233
  </annotation>
206
234
  <complexType>
207
235
  <complexContent>
208
- <extension base="base:Component" />
236
+ <extension base="base:Component">
237
+ <attribute name="show-cancel-button" type="boolean" default="false">
238
+ <annotation>
239
+ <documentation xml:lang="en">
240
+ Whether or not to show a "Cancel" button. This
241
+ button will cancel any pending query and
242
+ deactivate the component. This is useful when
243
+ the component is being shown in a temporary way,
244
+ e.g. in a dialog. The default is false.
245
+ </documentation>
246
+ </annotation>
247
+ </attribute>
248
+ </extension>
209
249
  </complexContent>
210
250
  </complexType>
211
251
  </element>
@@ -235,6 +275,19 @@
235
275
  </complexType>
236
276
  </element>
237
277
 
278
+ <element name="shared-projects" substitutionGroup="base:component">
279
+ <annotation>
280
+ <documentation xml:lang="en">
281
+ A component that allows the user to manage and view shared projects.
282
+ </documentation>
283
+ </annotation>
284
+ <complexType>
285
+ <complexContent>
286
+ <extension base="base:Component" />
287
+ </complexContent>
288
+ </complexType>
289
+ </element>
290
+
238
291
  <element name="scale-input" substitutionGroup="base:component">
239
292
  <annotation>
240
293
  <documentation xml:lang="en">
@@ -270,6 +270,15 @@ export interface HasSymbol {
270
270
  */
271
271
  symbol?: SymbolLike;
272
272
  }
273
+ /**
274
+ * An object that has a `symbols`property.
275
+ */
276
+ export interface HasSymbols {
277
+ /**
278
+ * The symbols to use for the command/operation.
279
+ */
280
+ symbols?: SymbolLike | SymbolLike[];
281
+ }
273
282
  /**
274
283
  * An object that is convertible to an Esri Viewpoint, or that has a viewpoint
275
284
  * property.
@@ -324,3 +333,16 @@ export interface File extends Blob {
324
333
  */
325
334
  readonly name: string;
326
335
  }
336
+ /**
337
+ * A data containing object that may or may not be named.
338
+ */
339
+ export type FileLike = File | Blob;
340
+ /**
341
+ * An object that has a `blobs` property containing data files.
342
+ */
343
+ export interface HasFiles {
344
+ /**
345
+ * The data files to use for the command/operation.
346
+ */
347
+ blobs?: FileLike[];
348
+ }
@@ -6,6 +6,7 @@ import { ChartsCommands } from "./charts.js";
6
6
  import { DrawingCommands } from "./drawing.js";
7
7
  import { EditCommands } from "./edit.js";
8
8
  import { FileCommands } from "./file.js";
9
+ import { FilterBuilderCommands } from "./filter-builder.js";
9
10
  import { GeolocationCommands } from "./geolocation.js";
10
11
  import { GeometryToolbarCommands } from "./geometry-toolbar.js";
11
12
  import { GeometryCommands } from "./geometry.js";
@@ -23,6 +24,7 @@ import { PanelCommands } from "./panel.js";
23
24
  import { PhotosCommands } from "./photos.js";
24
25
  import { PrintCommands } from "./printing.js";
25
26
  import { ProjectCommands } from "./project.js";
27
+ import { QueryBuilderCommands } from "./query-builder.js";
26
28
  import { RegionCommands } from "./region.js";
27
29
  import { ReportsCommands } from "./reports.js";
28
30
  import { ResultsCommands } from "./results.js";
@@ -41,6 +43,7 @@ export declare class Commands extends CommandRegistry {
41
43
  readonly drawing: DrawingCommands;
42
44
  readonly edit: EditCommands;
43
45
  readonly file: FileCommands;
46
+ readonly filterBuilder: FilterBuilderCommands;
44
47
  readonly geolocation: GeolocationCommands;
45
48
  readonly geometry: GeometryCommands;
46
49
  readonly geometryToolbar: GeometryToolbarCommands;
@@ -58,6 +61,7 @@ export declare class Commands extends CommandRegistry {
58
61
  readonly project: ProjectCommands;
59
62
  readonly photos: PhotosCommands;
60
63
  readonly printing: PrintCommands;
64
+ readonly queryBuilder: QueryBuilderCommands;
61
65
  readonly region: RegionCommands;
62
66
  readonly reports: ReportsCommands;
63
67
  readonly results: ResultsCommands;
@@ -1 +1 @@
1
- import{CommandRegistry as s}from"../CommandRegistry.js";import{AppCommands as e}from"./app.js";import{AuthCommands as t}from"./auth.js";import{BasemapCommands as i}from"./basemap.js";import{ChartsCommands as m}from"./charts.js";import{DrawingCommands as r}from"./drawing.js";import{EditCommands as o}from"./edit.js";import{FileCommands as h}from"./file.js";import{GeolocationCommands as a}from"./geolocation.js";import{GeometryToolbarCommands as n}from"./geometry-toolbar.js";import{GeometryCommands as p}from"./geometry.js";import{HighlightsCommands as g}from"./highlights.js";import{IwtmCommands as w}from"./iwtm.js";import{KpiCommands as f}from"./kpi.js";import{LayerComparisonCommands as j}from"./layer-comparison.js";import{LayerPresetsCommands as _}from"./layer-presets.js";import{LayersCommands as l}from"./layers.js";import{LocationMarkerCommands as c}from"./location-marker.js";import{MapCommands as y}from"./map.js";import{MeasurementCommands as u}from"./measurement.js";import{OfflineCommands as d}from"./offline.js";import{PanelCommands as k}from"./panel.js";import{PhotosCommands as b}from"./photos.js";import{PrintCommands as C}from"./printing.js";import{ProjectCommands as v}from"./project.js";import{RegionCommands as x}from"./region.js";import{ReportsCommands as A}from"./reports.js";import{ResultsCommands as M}from"./results.js";import{SearchCommands as P}from"./search.js";import{SketchingCommands as R}from"./sketching.js";import{StudioAnalyticsCommands as T}from"./studioAnalytics.js";import{SystemCommands as q}from"./system.js";import{UICommands as z}from"./ui.js";import{ViewerCommands as B}from"./viewer.js";import{WorkflowCommands as D}from"./workflow.js";export class Commands extends s{constructor(){super(...arguments),this.app=new e(this._messages),this.auth=new t(this._messages),this.basemap=new i(this._messages),this.charts=new m(this._messages),this.drawing=new r(this._messages),this.edit=new o(this._messages),this.file=new h(this._messages),this.geolocation=new a(this._messages),this.geometry=new p(this._messages),this.geometryToolbar=new n(this._messages),this.highlights=new g(this._messages),this.iwtm=new w(this._messages),this.kpi=new f(this._messages),this.layers=new l(this._messages),this.layerComparison=new j(this._messages),this.layerPresets=new _(this._messages),this.locationMarker=new c(this._messages),this.map=new y(this._messages),this.measurement=new u(this._messages),this.offline=new d(this._messages),this.panel=new k(this._messages),this.project=new v(this._messages),this.photos=new b(this._messages),this.printing=new C(this._messages),this.region=new x(this._messages),this.reports=new A(this._messages),this.results=new M(this._messages),this.search=new P(this._messages),this.sketching=new R(this._messages),this.studioAnalytics=new T(this._messages),this.system=new q(this._messages),this.ui=new z(this._messages),this.viewer=new B(this._messages),this.workflow=new D(this._messages)}}
1
+ import{CommandRegistry as s}from"../CommandRegistry.js";import{AppCommands as e}from"./app.js";import{AuthCommands as t}from"./auth.js";import{BasemapCommands as i}from"./basemap.js";import{ChartsCommands as m}from"./charts.js";import{DrawingCommands as r}from"./drawing.js";import{EditCommands as o}from"./edit.js";import{FileCommands as h}from"./file.js";import{FilterBuilderCommands as a}from"./filter-builder.js";import{GeolocationCommands as n}from"./geolocation.js";import{GeometryToolbarCommands as p}from"./geometry-toolbar.js";import{GeometryCommands as g}from"./geometry.js";import{HighlightsCommands as f}from"./highlights.js";import{IwtmCommands as w}from"./iwtm.js";import{KpiCommands as j}from"./kpi.js";import{LayerComparisonCommands as _}from"./layer-comparison.js";import{LayerPresetsCommands as l}from"./layer-presets.js";import{LayersCommands as c}from"./layers.js";import{LocationMarkerCommands as u}from"./location-marker.js";import{MapCommands as y}from"./map.js";import{MeasurementCommands as d}from"./measurement.js";import{OfflineCommands as k}from"./offline.js";import{PanelCommands as b}from"./panel.js";import{PhotosCommands as C}from"./photos.js";import{PrintCommands as q}from"./printing.js";import{ProjectCommands as v}from"./project.js";import{QueryBuilderCommands as x}from"./query-builder.js";import{RegionCommands as A}from"./region.js";import{ReportsCommands as B}from"./reports.js";import{ResultsCommands as M}from"./results.js";import{SearchCommands as P}from"./search.js";import{SketchingCommands as R}from"./sketching.js";import{StudioAnalyticsCommands as T}from"./studioAnalytics.js";import{SystemCommands as z}from"./system.js";import{UICommands as D}from"./ui.js";import{ViewerCommands as E}from"./viewer.js";import{WorkflowCommands as F}from"./workflow.js";export class Commands extends s{constructor(){super(...arguments),this.app=new e(this._messages),this.auth=new t(this._messages),this.basemap=new i(this._messages),this.charts=new m(this._messages),this.drawing=new r(this._messages),this.edit=new o(this._messages),this.file=new h(this._messages),this.filterBuilder=new a(this._messages),this.geolocation=new n(this._messages),this.geometry=new g(this._messages),this.geometryToolbar=new p(this._messages),this.highlights=new f(this._messages),this.iwtm=new w(this._messages),this.kpi=new j(this._messages),this.layers=new c(this._messages),this.layerComparison=new _(this._messages),this.layerPresets=new l(this._messages),this.locationMarker=new u(this._messages),this.map=new y(this._messages),this.measurement=new d(this._messages),this.offline=new k(this._messages),this.panel=new b(this._messages),this.project=new v(this._messages),this.photos=new C(this._messages),this.printing=new q(this._messages),this.queryBuilder=new x(this._messages),this.region=new A(this._messages),this.reports=new B(this._messages),this.results=new M(this._messages),this.search=new P(this._messages),this.sketching=new R(this._messages),this.studioAnalytics=new T(this._messages),this.system=new z(this._messages),this.ui=new D(this._messages),this.viewer=new E(this._messages),this.workflow=new F(this._messages)}}
@@ -8,6 +8,7 @@ import { DebugConsoleOperations } from "./debugConsole.js";
8
8
  import { DrawingOperations } from "./drawing.js";
9
9
  import { EditOperations } from "./edit.js";
10
10
  import { FileOperations } from "./file.js";
11
+ import { FilterBuilderOperations } from "./filter-builder.js";
11
12
  import { GeocodeOperations } from "./geocode.js";
12
13
  import { GeolocationOperations } from "./geolocation.js";
13
14
  import { GeometryOperations } from "./geometry.js";
@@ -20,6 +21,7 @@ import { MessagingOperations } from "./messaging.js";
20
21
  import { NetworkOperations } from "./network.js";
21
22
  import { OfflineOperations } from "./offline.js";
22
23
  import { ProjectOperations } from "./project.js";
24
+ import { QueryBuilderOperations } from "./query-builder.js";
23
25
  import { ResultsOperations } from "./results.js";
24
26
  import { SketchingOperations } from "./sketching.js";
25
27
  import { SystemOperations } from "./system.js";
@@ -36,6 +38,7 @@ export declare class Operations extends OperationRegistry {
36
38
  readonly edit: EditOperations;
37
39
  readonly drawing: DrawingOperations;
38
40
  readonly file: FileOperations;
41
+ readonly filterBuilder: FilterBuilderOperations;
39
42
  readonly geocode: GeocodeOperations;
40
43
  readonly geolocation: GeolocationOperations;
41
44
  readonly geometry: GeometryOperations;
@@ -48,6 +51,7 @@ export declare class Operations extends OperationRegistry {
48
51
  readonly network: NetworkOperations;
49
52
  readonly offline: OfflineOperations;
50
53
  readonly project: ProjectOperations;
54
+ readonly queryBuilder: QueryBuilderOperations;
51
55
  readonly sketching: SketchingOperations;
52
56
  readonly system: SystemOperations;
53
57
  readonly results: ResultsOperations;
@@ -1 +1 @@
1
- import{OperationRegistry as s}from"../OperationRegistry.js";import{AppOperations as e}from"./app.js";import{ArcadeOperations as t}from"./arcade.js";import{AuthOperations as i}from"./auth.js";import{BasemapOperations as m}from"./basemap.js";import{ChartOperations as o}from"./charts.js";import{DebugConsoleOperations as r}from"./debugConsole.js";import{DrawingOperations as h}from"./drawing.js";import{EditOperations as a}from"./edit.js";import{FileOperations as g}from"./file.js";import{GeocodeOperations as n}from"./geocode.js";import{GeolocationOperations as p}from"./geolocation.js";import{GeometryOperations as w}from"./geometry.js";import{HighlightsOperations as f}from"./highlights.js";import{KpiOperations as j}from"./kpi.js";import{LogViewerOperations as _}from"./logViewer.js";import{MapOperations as l}from"./map.js";import{MeasurementOperations as c}from"./measurement.js";import{MessagingOperations as u}from"./messaging.js";import{NetworkOperations as d}from"./network.js";import{OfflineOperations as k}from"./offline.js";import{ProjectOperations as y}from"./project.js";import{ResultsOperations as b}from"./results.js";import{SketchingOperations as v}from"./sketching.js";import{SystemOperations as x}from"./system.js";import{TasksOperations as C}from"./tasks.js";import{UIOperations as O}from"./ui.js";import{ViewerOperations as V}from"./viewer.js";import{WorkflowOperations as R}from"./workflow.js";export class Operations extends s{constructor(){super(...arguments),this.arcade=new t(this._messages),this.auth=new i(this._messages),this.app=new e(this._messages),this.basemap=new m(this._messages),this.charts=new o(this._messages),this.edit=new a(this._messages),this.drawing=new h(this._messages),this.file=new g(this._messages),this.geocode=new n(this._messages),this.geolocation=new p(this._messages),this.geometry=new w(this._messages),this.highlights=new f(this._messages),this.kpi=new j(this._messages),this.logViewer=new _(this._messages),this.map=new l(this._messages),this.measurement=new c(this._messages),this.messaging=new u(this._messages),this.network=new d(this._messages),this.offline=new k(this._messages),this.project=new y(this._messages),this.sketching=new v(this._messages),this.system=new x(this._messages),this.results=new b(this._messages),this.tasks=new C(this._messages),this.ui=new O(this._messages),this.viewer=new V(this._messages),this.workflow=new R(this._messages),this.debugConsole=new r(this._messages)}}
1
+ import{OperationRegistry as s}from"../OperationRegistry.js";import{AppOperations as e}from"./app.js";import{ArcadeOperations as i}from"./arcade.js";import{AuthOperations as t}from"./auth.js";import{BasemapOperations as m}from"./basemap.js";import{ChartOperations as r}from"./charts.js";import{DebugConsoleOperations as o}from"./debugConsole.js";import{DrawingOperations as h}from"./drawing.js";import{EditOperations as a}from"./edit.js";import{FileOperations as g}from"./file.js";import{FilterBuilderOperations as n}from"./filter-builder.js";import{GeocodeOperations as p}from"./geocode.js";import{GeolocationOperations as w}from"./geolocation.js";import{GeometryOperations as f}from"./geometry.js";import{HighlightsOperations as j}from"./highlights.js";import{KpiOperations as _}from"./kpi.js";import{LogViewerOperations as l}from"./logViewer.js";import{MapOperations as u}from"./map.js";import{MeasurementOperations as c}from"./measurement.js";import{MessagingOperations as d}from"./messaging.js";import{NetworkOperations as k}from"./network.js";import{OfflineOperations as y}from"./offline.js";import{ProjectOperations as b}from"./project.js";import{QueryBuilderOperations as q}from"./query-builder.js";import{ResultsOperations as v}from"./results.js";import{SketchingOperations as x}from"./sketching.js";import{SystemOperations as B}from"./system.js";import{TasksOperations as C}from"./tasks.js";import{UIOperations as O}from"./ui.js";import{ViewerOperations as V}from"./viewer.js";import{WorkflowOperations as R}from"./workflow.js";export class Operations extends s{constructor(){super(...arguments),this.arcade=new i(this._messages),this.auth=new t(this._messages),this.app=new e(this._messages),this.basemap=new m(this._messages),this.charts=new r(this._messages),this.edit=new a(this._messages),this.drawing=new h(this._messages),this.file=new g(this._messages),this.filterBuilder=new n(this._messages),this.geocode=new p(this._messages),this.geolocation=new w(this._messages),this.geometry=new f(this._messages),this.highlights=new j(this._messages),this.kpi=new _(this._messages),this.logViewer=new l(this._messages),this.map=new u(this._messages),this.measurement=new c(this._messages),this.messaging=new d(this._messages),this.network=new k(this._messages),this.offline=new y(this._messages),this.project=new b(this._messages),this.queryBuilder=new q(this._messages),this.sketching=new x(this._messages),this.system=new B(this._messages),this.results=new v(this._messages),this.tasks=new C(this._messages),this.ui=new O(this._messages),this.viewer=new V(this._messages),this.workflow=new R(this._messages),this.debugConsole=new o(this._messages)}}
@@ -22,7 +22,7 @@ import type { Command } from "../Command.js";
22
22
  import { CommandRegistry } from "../CommandRegistry.js";
23
23
  import type { Operation } from "../Operation.js";
24
24
  import { OperationRegistry } from "../OperationRegistry.js";
25
- import type { CreateGraphicsResult, FeaturesLike, GeometryLike, HasFeatures, HasGraphics, HasLayers, HasMaps, HasSymbol, HasUITarget, SymbolLike } from "../common.js";
25
+ import type { CreateGraphicsResult, FeaturesLike, GeometryLike, HasFeatures, HasGraphics, HasLayers, HasMaps, HasSymbol, HasSymbols, HasUITarget, SymbolLike } from "../common.js";
26
26
  import type { CaptureGeometryArgs } from "./sketching.js";
27
27
  /**
28
28
  * Symbols supported for drawing.
@@ -42,16 +42,11 @@ export interface GetDefaultSymbolArgs {
42
42
  * Arguments for the drawing.edit-symbol operation. Only available in VertiGIS
43
43
  * Studio Web.
44
44
  */
45
- export interface EditSymbolArgs extends HasMaps, HasLayers, HasGraphics, HasFeatures, HasUITarget {
45
+ export interface EditSymbolArgs extends HasSymbol, HasSymbols, HasMaps, HasLayers, HasGraphics, HasFeatures, HasUITarget {
46
46
  /**
47
47
  * The geometry type for the symbol to create.
48
48
  */
49
49
  geometryType?: GeometryType;
50
- /**
51
- * The symbol to edit. (Currently supports only SimpleLineSymbol and
52
- * SimpleFillSymbol).
53
- */
54
- symbol?: Symbol;
55
50
  /**
56
51
  * Symbol presets that can be assigned to a graphic. If defined, these
57
52
  * presets will override any that are configured in the DrawService.
@@ -69,11 +64,7 @@ export interface EditSymbolArgs extends HasMaps, HasLayers, HasGraphics, HasFeat
69
64
  * Arguments for the drawing.edit-symbol operation. Only available in VertiGIS
70
65
  * Studio Web.
71
66
  */
72
- export interface EditSymbolResult extends HasMaps, HasLayers, HasGraphics, HasFeatures {
73
- /**
74
- * The symbol that is the result of the operation.
75
- */
76
- symbol: Symbol;
67
+ export interface EditSymbolResult extends HasMaps, HasLayers, HasGraphics, HasFeatures, HasSymbols, HasSymbol {
77
68
  }
78
69
  /**
79
70
  * Arguments for the "drawing.create-graphics" operation. `GeometryLike`,
@@ -0,0 +1,70 @@
1
+ import type { FeatureSource } from "@vertigis/arcgis-extensions/data/FeatureSource.js";
2
+ import type { Command } from "../Command.js";
3
+ import { CommandRegistry } from "../CommandRegistry.js";
4
+ import type { Operation } from "../Operation.js";
5
+ import { OperationRegistry } from "../OperationRegistry.js";
6
+ import type { LayersLike, ModelRef } from "../common.js";
7
+ /**
8
+ * A filter that can be displayed in the filter builder.
9
+ */
10
+ export interface Filter {
11
+ /**
12
+ * The feature source to filter. One of `source` or `layers` is required.
13
+ */
14
+ source?: FeatureSource;
15
+ /**
16
+ * Alias of `source`, to facilitate command chaining. If multiple layers are
17
+ * present, only the first will be used as the source. One of `source` or
18
+ * `layers` is required.
19
+ */
20
+ layers?: LayersLike;
21
+ /**
22
+ * The where clause to filter by.
23
+ */
24
+ where?: string;
25
+ }
26
+ /**
27
+ * Base arguments for commands/operations that target filter builder components.
28
+ */
29
+ export interface FilterBuilderArgsBase {
30
+ /**
31
+ * The filter builder component that will be targeted. If not specified, all
32
+ * active filter builder components in the layout will be targeted.
33
+ */
34
+ filterBuilder?: ModelRef;
35
+ }
36
+ /**
37
+ * Arguments for the "filter-builder.set-filter" command.
38
+ */
39
+ export interface SetFilterArgs extends FilterBuilderArgsBase, Filter {
40
+ }
41
+ export declare class FilterBuilderCommands extends CommandRegistry {
42
+ /**
43
+ * Sets the current filter criteria in the filter builder and also activates
44
+ * the component.
45
+ *
46
+ * @webOnly
47
+ */
48
+ get displayFilter(): Command<SetFilterArgs>;
49
+ /**
50
+ * Sets the current filter criteria in the filter builder.
51
+ *
52
+ * @webOnly
53
+ */
54
+ get setFilter(): Command<SetFilterArgs>;
55
+ }
56
+ /**
57
+ * Arguments for the "filter-builder.get-filter" operation.
58
+ */
59
+ export interface GetFilterArgs extends Required<FilterBuilderArgsBase> {
60
+ }
61
+ export declare class FilterBuilderOperations extends OperationRegistry {
62
+ /**
63
+ * Gets the currently visible filter from the specified filter builder
64
+ * component. Note that this filter may not have yet been applied to the
65
+ * layer, so it might differ from the layer's definition expression.
66
+ *
67
+ * @webOnly
68
+ */
69
+ get getFilter(): Operation<GetFilterArgs, Filter | undefined>;
70
+ }
@@ -0,0 +1 @@
1
+ import{CommandRegistry as e}from"../CommandRegistry.js";import{OperationRegistry as t}from"../OperationRegistry.js";export class FilterBuilderCommands extends e{get displayFilter(){return this._messages.command("filter-builder.display-filter")}get setFilter(){return this._messages.command("filter-builder.set-filter")}}export class FilterBuilderOperations extends t{get getFilter(){return this._messages.operation("filter-builder.get-filter")}}
@@ -1,8 +1,12 @@
1
+ import type { TaskSettingsProperties } from "@vertigis/arcgis-extensions/data/TaskSettings.js";
2
+ import type { PopupInfo } from "@vertigis/arcgis-extensions/portal/PopupInfo.js";
1
3
  import type { Command } from "../Command.js";
2
4
  import { CommandRegistry } from "../CommandRegistry.js";
3
5
  import type { Event } from "../Event.js";
4
6
  import { EventRegistry } from "../EventRegistry.js";
5
- import type { HasLayers, HasMaps, HasSymbol } from "../common.js";
7
+ import type { Operation } from "../Operation.js";
8
+ import { OperationRegistry } from "../OperationRegistry.js";
9
+ import type { HasLayers, HasMaps, HasSymbol, HasSymbols } from "../common.js";
6
10
  /**
7
11
  * Arguments for the "layer.visibility-changed" event.
8
12
  */
@@ -29,7 +33,7 @@ export interface SetLabelVisibilityArgs extends HasLayers, HasMaps {
29
33
  /**
30
34
  * Arguments for the layer.set-symbol command.
31
35
  */
32
- export type SetSymbolArgs = Required<HasSymbol & HasLayers> & Partial<HasMaps>;
36
+ export type SetSymbolArgs = HasSymbol & HasSymbols & HasLayers & HasMaps;
33
37
  /**
34
38
  * Arguments for the layer.set-visibility command. If no 'maps' are specified,
35
39
  * all active maps in the layout will be targeted. If no 'layers' are specified,
@@ -43,6 +47,28 @@ export interface SetVisibilityArgs extends HasLayers, HasMaps {
43
47
  */
44
48
  visible: boolean;
45
49
  }
50
+ /**
51
+ * Common settings for a layer.
52
+ */
53
+ export interface HasLayerSettings {
54
+ /**
55
+ * Settings relevant to layer tasks.
56
+ */
57
+ taskSettings?: TaskSettingsProperties | TaskSettingsProperties[];
58
+ /**
59
+ * Configuration for a popup template to be used by features in the layer.
60
+ */
61
+ popupTemplate?: PopupInfo | PopupInfo[];
62
+ /**
63
+ * The title of the layer.
64
+ */
65
+ title?: string | string[];
66
+ }
67
+ /**
68
+ * Arguments for a `layers.edit-settings` operation.
69
+ */
70
+ export interface LayerSettingsArgs extends HasLayerSettings, HasLayers, HasSymbols, HasMaps {
71
+ }
46
72
  export declare class LayersCommands extends CommandRegistry {
47
73
  /**
48
74
  * Guard command for enabling the layers.set-symbol command.
@@ -50,12 +76,30 @@ export declare class LayersCommands extends CommandRegistry {
50
76
  * @webOnly
51
77
  */
52
78
  get ensureCanSetSymbol(): Command<SetSymbolArgs>;
79
+ /**
80
+ * Updates the provided layer(s) with new popup template configuration.
81
+ *
82
+ * @webOnly
83
+ */
84
+ get setPopupTemplate(): Command<LayerSettingsArgs>;
53
85
  /**
54
86
  * Updates the symbol for the provided layer(s).
55
87
  *
56
88
  * @webOnly
57
89
  */
58
90
  get setSymbol(): Command<SetSymbolArgs>;
91
+ /**
92
+ * Updates the provided layer(s) with new task settings.
93
+ *
94
+ * @webOnly
95
+ */
96
+ get setTaskSettings(): Command<LayerSettingsArgs>;
97
+ /**
98
+ * Changes the title of the provided layer(s).
99
+ *
100
+ * @webOnly
101
+ */
102
+ get setTitle(): Command<LayerSettingsArgs>;
59
103
  /**
60
104
  * Updates the visibility of the provided layer(s).
61
105
  *
@@ -75,6 +119,43 @@ export declare class LayersCommands extends CommandRegistry {
75
119
  */
76
120
  get hideLabels(): Command<SetLabelVisibilityArgs>;
77
121
  }
122
+ export declare class LayersOperations extends OperationRegistry {
123
+ /**
124
+ * Retrieves the popup configuration applied to the supplied layer(s).
125
+ *
126
+ * @webOnly
127
+ */
128
+ get getPopupTemplate(): Operation<HasLayers, LayerSettingsArgs>;
129
+ /**
130
+ * Retrieves the values for the 'taskSettings' applied to the supplied
131
+ * layer(s).
132
+ *
133
+ * @webOnly
134
+ */
135
+ get getTaskSettings(): Operation<HasLayers, LayerSettingsArgs>;
136
+ /**
137
+ * Retrieves the titles of the supplied layer(s).
138
+ *
139
+ * @webOnly
140
+ */
141
+ get getTitle(): Operation<HasLayers, LayerSettingsArgs>;
142
+ /**
143
+ * Shows a UI for editing the settings on an existing layer or layers. Note
144
+ * that changes will not be applied to the supplied layers by this
145
+ * operation. Use `layers.set-*` for this.
146
+ *
147
+ * @webOnly
148
+ */
149
+ get editSettings(): Operation<LayerSettingsArgs, LayerSettingsArgs>;
150
+ /**
151
+ * Edit the symbol from an existing layer or layers. Note that changes to
152
+ * these symbols will not be applied to the layers by this operation. Use
153
+ * `layers.set-symbol` for this.
154
+ *
155
+ * @webOnly
156
+ */
157
+ get editSymbols(): Operation<SetSymbolArgs, HasLayers & HasMaps & HasSymbols>;
158
+ }
78
159
  export declare class LayersEvents extends EventRegistry {
79
160
  /**
80
161
  * Raised when a layer's visibility changes.
@@ -1 +1 @@
1
- import{CommandRegistry as s}from"../CommandRegistry.js";import{EventRegistry as e}from"../EventRegistry.js";export class LayersCommands extends s{get ensureCanSetSymbol(){return this._messages.command("layers.ensure-can-set-symbol")}get setSymbol(){return this._messages.command("layers.set-symbol")}get setVisibility(){return this._messages.command("layers.set-visibility")}get showLabels(){return this._messages.command("layers.show-labels")}get hideLabels(){return this._messages.command("layers.hide-labels")}}export class LayersEvents extends e{get visibilityChanged(){return this._messages.event("layers.visibility-changed")}}
1
+ import{CommandRegistry as e}from"../CommandRegistry.js";import{EventRegistry as s}from"../EventRegistry.js";import{OperationRegistry as t}from"../OperationRegistry.js";export class LayersCommands extends e{get ensureCanSetSymbol(){return this._messages.command("layers.ensure-can-set-symbol")}get setPopupTemplate(){return this._messages.command("layers.set-popup-template")}get setSymbol(){return this._messages.command("layers.set-symbol")}get setTaskSettings(){return this._messages.command("layers.set-task-settings")}get setTitle(){return this._messages.command("layers.set-title")}get setVisibility(){return this._messages.command("layers.set-visibility")}get showLabels(){return this._messages.command("layers.show-labels")}get hideLabels(){return this._messages.command("layers.hide-labels")}}export class LayersOperations extends t{get getPopupTemplate(){return this._messages.operation("layers.get-popup-template")}get getTaskSettings(){return this._messages.operation("layers.get-task-settings")}get getTitle(){return this._messages.operation("layers.get-title")}get editSettings(){return this._messages.operation("layers.edit-settings")}get editSymbols(){return this._messages.operation("layers.edit-symbols")}}export class LayersEvents extends s{get visibilityChanged(){return this._messages.event("layers.visibility-changed")}}
@@ -0,0 +1,75 @@
1
+ import type { FeatureSource } from "@vertigis/arcgis-extensions/data/FeatureSource.js";
2
+ import type { Command } from "../Command.js";
3
+ import { CommandRegistry } from "../CommandRegistry.js";
4
+ import type { Operation } from "../Operation.js";
5
+ import { OperationRegistry } from "../OperationRegistry.js";
6
+ import type { GeometryLike, LayersLike, ModelRef } from "../common.js";
7
+ /**
8
+ * A query that can be displayed in the query builder, or executed using the
9
+ * `tasks.query` operation.
10
+ */
11
+ export interface Query {
12
+ /**
13
+ * The feature source to query. One of `source` or `layers` is required.
14
+ */
15
+ source?: FeatureSource;
16
+ /**
17
+ * Alias of `source`, to facilitate command chaining. If multiple layers are
18
+ * present, only the first will be used as the source. One of `source` or
19
+ * `layers` is required.
20
+ */
21
+ layers?: LayersLike;
22
+ /**
23
+ * The where clause to query by.
24
+ */
25
+ where?: string;
26
+ /**
27
+ * If specified, limits the results to ones that intersect the given
28
+ * geometry.
29
+ */
30
+ geometry?: GeometryLike;
31
+ }
32
+ /**
33
+ * Base arguments for commands/operations that target query builder components.
34
+ */
35
+ export interface QueryBuilderArgsBase {
36
+ /**
37
+ * The query builder component that will be targeted. If not specified, all
38
+ * active query builder components in the layout will be targeted.
39
+ */
40
+ queryBuilder?: ModelRef;
41
+ }
42
+ /**
43
+ * Arguments for the "query-builder.set-query" command.
44
+ */
45
+ export interface SetQueryArgs extends QueryBuilderArgsBase, Query {
46
+ }
47
+ export declare class QueryBuilderCommands extends CommandRegistry {
48
+ /**
49
+ * Sets the current query criteria in the query builder and also activates
50
+ * the component.
51
+ *
52
+ * @webOnly
53
+ */
54
+ get displayQuery(): Command<SetQueryArgs>;
55
+ /**
56
+ * Sets the current query criteria in the query builder.
57
+ *
58
+ * @webOnly
59
+ */
60
+ get setQuery(): Command<SetQueryArgs>;
61
+ }
62
+ /**
63
+ * Arguments for the "query-builder.get-query" operation.
64
+ */
65
+ export interface GetQueryArgs extends Required<QueryBuilderArgsBase> {
66
+ }
67
+ export declare class QueryBuilderOperations extends OperationRegistry {
68
+ /**
69
+ * Gets the currently visible query from the specified query builder
70
+ * component.
71
+ *
72
+ * @webOnly
73
+ */
74
+ get getQuery(): Operation<GetQueryArgs, Query | undefined>;
75
+ }
@@ -0,0 +1 @@
1
+ import{CommandRegistry as e}from"../CommandRegistry.js";import{OperationRegistry as r}from"../OperationRegistry.js";export class QueryBuilderCommands extends e{get displayQuery(){return this._messages.command("query-builder.display-query")}get setQuery(){return this._messages.command("query-builder.set-query")}}export class QueryBuilderOperations extends r{get getQuery(){return this._messages.operation("query-builder.get-query")}}