@vertigis/viewer-spec 52.0.0 → 53.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.
Files changed (35) hide show
  1. package/analytics/WebAction.d.ts +1 -1
  2. package/app-config/schema/common-app-config.schema.json +1 -1
  3. package/app-config/schema/mobile-app-config.schema.json +1 -1
  4. package/app-config/schema/web-app-config.schema.json +1 -1
  5. package/app-config/web/HasVisibilityFilters.d.ts +2 -2
  6. package/app-config/web/ProjectModelProperties.d.ts +12 -0
  7. package/app-config/web/ProjectModelProperties.js +1 -0
  8. package/app-config/web/SharedProjectsModelProperties.d.ts +53 -0
  9. package/app-config/web/SharedProjectsModelProperties.js +1 -0
  10. package/app-config/web/SharedStorageModelProperties.d.ts +30 -0
  11. package/app-config/web/SharedStorageModelProperties.js +1 -0
  12. package/app-config/web/VertigisWebModelProperties.d.ts +0 -6
  13. package/layout/schema/layout-common.xsd +11 -0
  14. package/layout/schema/layout-web.xsd +13 -0
  15. package/messaging/registry/Commands.d.ts +2 -0
  16. package/messaging/registry/Commands.js +1 -1
  17. package/messaging/registry/Events.d.ts +2 -0
  18. package/messaging/registry/Events.js +1 -1
  19. package/messaging/registry/Operations.d.ts +2 -0
  20. package/messaging/registry/Operations.js +1 -1
  21. package/messaging/registry/app.d.ts +4 -2
  22. package/messaging/registry/project.d.ts +141 -0
  23. package/messaging/registry/project.js +1 -0
  24. package/messaging/registry/system.d.ts +17 -2
  25. package/messaging/registry/ui.d.ts +29 -0
  26. package/messaging/registry/ui.js +1 -1
  27. package/messaging/schema/common-action.schema.json +483 -500
  28. package/messaging/schema/common-event.schema.json +371 -412
  29. package/messaging/schema/mobile-action.schema.json +584 -522
  30. package/messaging/schema/mobile-event.schema.json +404 -445
  31. package/messaging/schema/web-action.schema.json +1454 -770
  32. package/messaging/schema/web-event.schema.json +540 -479
  33. package/package.json +4 -1
  34. package/version.d.ts +1 -1
  35. package/version.js +1 -1
@@ -26,11 +26,11 @@ export interface HasVisibilityFilters {
26
26
  * end-user. If both visibleTo and hiddenFrom are undefined/empty, the
27
27
  * component will be visible to all users.
28
28
  */
29
- visibleTo?: VisibilityFilter[];
29
+ visibleTo?: Iterable<VisibilityFilter>;
30
30
  /**
31
31
  * Filters that determine whether the UI element is hidden from a given
32
32
  * end-user. If both visibleTo and hiddenFrom are undefined/empty, the
33
33
  * component will be visible to all users.
34
34
  */
35
- hiddenFrom?: VisibilityFilter[];
35
+ hiddenFrom?: Iterable<VisibilityFilter>;
36
36
  }
@@ -0,0 +1,12 @@
1
+ import type { ItemRef } from "../common/ItemRef.js";
2
+ import type { ServiceModelProperties } from "../common/ServiceModelProperties.js";
3
+ /**
4
+ * Configuration for project service.
5
+ */
6
+ export interface ProjectModelProperties extends ServiceModelProperties {
7
+ /**
8
+ * The active layout of VertiGIS Studio Web. This property is only
9
+ * serialized to saved projects.
10
+ */
11
+ layout?: ItemRef;
12
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,53 @@
1
+ import type { ItemRef } from "../common/ItemRef";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties";
3
+ import type { HasVisibilityFilters, PortalUsername } from "./HasVisibilityFilters";
4
+ /**
5
+ * Configuration for a shared project.
6
+ */
7
+ export interface SharedProject extends HasVisibilityFilters {
8
+ /**
9
+ * The unique ID for this entity.
10
+ */
11
+ readonly id: string;
12
+ /**
13
+ * A human-readable title for the shared project.
14
+ */
15
+ title: string;
16
+ /**
17
+ * A description for the shared project.
18
+ */
19
+ description: string;
20
+ /**
21
+ * The created Date.
22
+ */
23
+ created: Date;
24
+ /**
25
+ * Indicates if the shared project is shared as 'read only'.
26
+ */
27
+ readOnly?: boolean;
28
+ /**
29
+ * The modified Date.
30
+ */
31
+ modified?: Date;
32
+ /**
33
+ * The username of the last modifier.
34
+ */
35
+ modifiedBy?: PortalUsername;
36
+ /**
37
+ * The username of the owner.
38
+ */
39
+ owner?: PortalUsername;
40
+ }
41
+ /**
42
+ * Configuration for the Shared Projects component.
43
+ */
44
+ export interface SharedProjectsModelProperties extends ComponentModelProperties {
45
+ /**
46
+ * The actions to be shown in the shared projects title context menu.
47
+ */
48
+ titleActions?: ItemRef;
49
+ /**
50
+ * The actions to be shown in the shared projects list context menu.
51
+ */
52
+ projectActions?: ItemRef;
53
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,30 @@
1
+ import type { ServiceModelProperties } from "../common/ServiceModelProperties";
2
+ /**
3
+ * Configuration for an application specific shared storage share. Backed by an
4
+ * S3 api compatible service.
5
+ */
6
+ export interface SharedStorageModelProperties extends ServiceModelProperties {
7
+ /**
8
+ * The bucket for the share.
9
+ */
10
+ bucket?: string;
11
+ /**
12
+ * The endpoint to be used.
13
+ */
14
+ endpoint?: string;
15
+ /**
16
+ * The portal item that holds the read write credentials for shared storage.
17
+ * Access to these credentials will be limited by its portal item sharing
18
+ * settings. This portal item should never be shared publicly as this would
19
+ * provide public read write access to your endpoint. Extra care should be
20
+ * given to restrict the scope of these credentials to only the specific
21
+ * endpoint and bucket needed.
22
+ */
23
+ credentialsPortalItem?: string;
24
+ /**
25
+ * Additional config that will be passed to the S3 api config on
26
+ * initialization. (See
27
+ * https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-s3/interfaces/s3clientconfig.html).
28
+ */
29
+ additionalConfiguration?: Record<string, unknown>;
30
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -1,6 +1,5 @@
1
1
  import type { EntityProperties } from "@vertigis/arcgis-extensions/Entity";
2
2
  import type { ApplicationModelProperties } from "../common/ApplicationModelProperties.js";
3
- import type { ItemRef } from "../common/ItemRef.js";
4
3
  /**
5
4
  * The privacy policy link location options.
6
5
  */
@@ -58,11 +57,6 @@ export interface VertigisWebModelProperties extends ApplicationModelProperties {
58
57
  * configuration.
59
58
  */
60
59
  version?: string;
61
- /**
62
- * The active layout of VertiGIS Studio Web. This property is only
63
- * serialized to saved projects.
64
- */
65
- layout?: ItemRef;
66
60
  }
67
61
  /**
68
62
  * An object specifying a URL that should use a specific proxy.
@@ -222,6 +222,17 @@
222
222
  </documentation>
223
223
  </annotation>
224
224
  </attribute>
225
+ <attribute name="available" type="boolean">
226
+ <annotation>
227
+ <documentation xml:lang="en">
228
+ This property marks a component as being available. The
229
+ interpretation of what effect this has is up to the component.
230
+ Currently the only component that will react to this property
231
+ is the task-bar, which will have the effect of showing/hiding
232
+ the tab/button for that component. Defaults to true. Mobile only.
233
+ </documentation>
234
+ </annotation>
235
+ </attribute>
225
236
  </complexType>
226
237
 
227
238
  <!-- Basic Components -->
@@ -197,6 +197,19 @@
197
197
  </complexType>
198
198
  </element>
199
199
 
200
+ <element name="shared-projects" substitutionGroup="base:component">
201
+ <annotation>
202
+ <documentation xml:lang="en">
203
+ A component that allows the user to manage and view shared projects.
204
+ </documentation>
205
+ </annotation>
206
+ <complexType>
207
+ <complexContent>
208
+ <extension base="base:Component" />
209
+ </complexContent>
210
+ </complexType>
211
+ </element>
212
+
200
213
  <element name="results-table" substitutionGroup="base:component">
201
214
  <annotation>
202
215
  <documentation xml:lang="en">
@@ -22,6 +22,7 @@ import { OfflineCommands } from "./offline.js";
22
22
  import { PanelCommands } from "./panel.js";
23
23
  import { PhotosCommands } from "./photos.js";
24
24
  import { PrintCommands } from "./printing.js";
25
+ import { ProjectCommands } from "./project.js";
25
26
  import { RegionCommands } from "./region.js";
26
27
  import { ReportsCommands } from "./reports.js";
27
28
  import { ResultsCommands } from "./results.js";
@@ -54,6 +55,7 @@ export declare class Commands extends CommandRegistry {
54
55
  readonly measurement: MeasurementCommands;
55
56
  readonly offline: OfflineCommands;
56
57
  readonly panel: PanelCommands;
58
+ readonly project: ProjectCommands;
57
59
  readonly photos: PhotosCommands;
58
60
  readonly printing: PrintCommands;
59
61
  readonly region: RegionCommands;
@@ -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{RegionCommands as v}from"./region.js";import{ReportsCommands as x}from"./reports.js";import{ResultsCommands as A}from"./results.js";import{SearchCommands as M}from"./search.js";import{SketchingCommands as P}from"./sketching.js";import{StudioAnalyticsCommands as R}from"./studioAnalytics.js";import{SystemCommands as T}from"./system.js";import{UICommands as q}from"./ui.js";import{ViewerCommands as z}from"./viewer.js";import{WorkflowCommands as B}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.photos=new b(this._messages),this.printing=new C(this._messages),this.region=new v(this._messages),this.reports=new x(this._messages),this.results=new A(this._messages),this.search=new M(this._messages),this.sketching=new P(this._messages),this.studioAnalytics=new R(this._messages),this.system=new T(this._messages),this.ui=new q(this._messages),this.viewer=new z(this._messages),this.workflow=new B(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{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)}}
@@ -17,6 +17,7 @@ import { PanelEvents } from "./panel.js";
17
17
  import { PhotosEvents } from "./photos.js";
18
18
  import { PortalEvents } from "./portal.js";
19
19
  import { PrintEvents } from "./printing.js";
20
+ import { ProjectEvents } from "./project.js";
20
21
  import { RegionEvents } from "./region.js";
21
22
  import { ReportEvents } from "./reports.js";
22
23
  import { ResultsEvents } from "./results.js";
@@ -43,6 +44,7 @@ export declare class Events extends EventRegistry {
43
44
  readonly map: MapEvents;
44
45
  readonly offline: OfflineEvents;
45
46
  readonly panel: PanelEvents;
47
+ readonly project: ProjectEvents;
46
48
  readonly photos: PhotosEvents;
47
49
  readonly portal: PortalEvents;
48
50
  readonly printing: PrintEvents;
@@ -1 +1 @@
1
- import{EventRegistry as s}from"../EventRegistry.js";import{AppConfigEvents as t}from"./app-config.js";import{AppEvents as e}from"./app.js";import{AuthEvents as i}from"./auth.js";import{BookmarkEvents as o}from"./bookmark.js";import{DeviceEvents as m}from"./device.js";import{DisplayEvents as r}from"./display.js";import{EditEvents as h}from"./edit.js";import{GeolocationEvents as a}from"./geolocation.js";import{InputEvents as p}from"./input.js";import{LayersEvents as n}from"./layers.js";import{LayoutEvents as g}from"./layout.js";import{LocationMarkerEvents as f}from"./location-marker.js";import{MapEvents as w}from"./map.js";import{OfflineEvents as j}from"./offline.js";import{PanelEvents as _}from"./panel.js";import{PhotosEvents as l}from"./photos.js";import{PortalEvents as c}from"./portal.js";import{PrintEvents as u}from"./printing.js";import{RegionEvents as k}from"./region.js";import{ReportEvents as d}from"./reports.js";import{ResultsEvents as y}from"./results.js";import{SearchEvents as v}from"./search.js";import{SettingsEvents as b}from"./settings.js";import{ShortcutEvents as x}from"./shortcut.js";import{TasksEvents as E}from"./tasks.js";import{UIEvents as C}from"./ui.js";import{ViewerEvents as M}from"./viewer.js";import{WorkflowEvents as R}from"./workflow.js";export class Events extends s{constructor(){super(...arguments),this.app=new e(this._messages),this.appConfig=new t(this._messages),this.auth=new i(this._messages),this.bookmark=new o(this._messages),this.device=new m(this._messages),this.display=new r(this._messages),this.edit=new h(this._messages),this.geolocation=new a(this._messages),this.input=new p(this._messages),this.layers=new n(this._messages),this.layout=new g(this._messages),this.locationMarker=new f(this._messages),this.map=new w(this._messages),this.offline=new j(this._messages),this.panel=new _(this._messages),this.photos=new l(this._messages),this.portal=new c(this._messages),this.printing=new u(this._messages),this.region=new k(this._messages),this.reports=new d(this._messages),this.results=new y(this._messages),this.search=new v(this._messages),this.settings=new b(this._messages),this.shortcuts=new x(this._messages),this.tasks=new E(this._messages),this.ui=new C(this._messages),this.viewer=new M(this._messages),this.workflow=new R(this._messages)}}
1
+ import{EventRegistry as s}from"../EventRegistry.js";import{AppConfigEvents as t}from"./app-config.js";import{AppEvents as e}from"./app.js";import{AuthEvents as i}from"./auth.js";import{BookmarkEvents as o}from"./bookmark.js";import{DeviceEvents as r}from"./device.js";import{DisplayEvents as m}from"./display.js";import{EditEvents as h}from"./edit.js";import{GeolocationEvents as a}from"./geolocation.js";import{InputEvents as p}from"./input.js";import{LayersEvents as n}from"./layers.js";import{LayoutEvents as g}from"./layout.js";import{LocationMarkerEvents as f}from"./location-marker.js";import{MapEvents as w}from"./map.js";import{OfflineEvents as j}from"./offline.js";import{PanelEvents as _}from"./panel.js";import{PhotosEvents as l}from"./photos.js";import{PortalEvents as c}from"./portal.js";import{PrintEvents as u}from"./printing.js";import{ProjectEvents as k}from"./project.js";import{RegionEvents as d}from"./region.js";import{ReportEvents as y}from"./reports.js";import{ResultsEvents as v}from"./results.js";import{SearchEvents as b}from"./search.js";import{SettingsEvents as x}from"./settings.js";import{ShortcutEvents as E}from"./shortcut.js";import{TasksEvents as C}from"./tasks.js";import{UIEvents as M}from"./ui.js";import{ViewerEvents as R}from"./viewer.js";import{WorkflowEvents as q}from"./workflow.js";export class Events extends s{constructor(){super(...arguments),this.app=new e(this._messages),this.appConfig=new t(this._messages),this.auth=new i(this._messages),this.bookmark=new o(this._messages),this.device=new r(this._messages),this.display=new m(this._messages),this.edit=new h(this._messages),this.geolocation=new a(this._messages),this.input=new p(this._messages),this.layers=new n(this._messages),this.layout=new g(this._messages),this.locationMarker=new f(this._messages),this.map=new w(this._messages),this.offline=new j(this._messages),this.panel=new _(this._messages),this.project=new k(this._messages),this.photos=new l(this._messages),this.portal=new c(this._messages),this.printing=new u(this._messages),this.region=new d(this._messages),this.reports=new y(this._messages),this.results=new v(this._messages),this.search=new b(this._messages),this.settings=new x(this._messages),this.shortcuts=new E(this._messages),this.tasks=new C(this._messages),this.ui=new M(this._messages),this.viewer=new R(this._messages),this.workflow=new q(this._messages)}}
@@ -19,6 +19,7 @@ import { MeasurementOperations } from "./measurement.js";
19
19
  import { MessagingOperations } from "./messaging.js";
20
20
  import { NetworkOperations } from "./network.js";
21
21
  import { OfflineOperations } from "./offline.js";
22
+ import { ProjectOperations } from "./project.js";
22
23
  import { ResultsOperations } from "./results.js";
23
24
  import { SketchingOperations } from "./sketching.js";
24
25
  import { SystemOperations } from "./system.js";
@@ -46,6 +47,7 @@ export declare class Operations extends OperationRegistry {
46
47
  readonly messaging: MessagingOperations;
47
48
  readonly network: NetworkOperations;
48
49
  readonly offline: OfflineOperations;
50
+ readonly project: ProjectOperations;
49
51
  readonly sketching: SketchingOperations;
50
52
  readonly system: SystemOperations;
51
53
  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{ResultsOperations as y}from"./results.js";import{SketchingOperations as b}from"./sketching.js";import{SystemOperations as v}from"./system.js";import{TasksOperations as x}from"./tasks.js";import{UIOperations as C}from"./ui.js";import{ViewerOperations as O}from"./viewer.js";import{WorkflowOperations as V}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.sketching=new b(this._messages),this.system=new v(this._messages),this.results=new y(this._messages),this.tasks=new x(this._messages),this.ui=new C(this._messages),this.viewer=new O(this._messages),this.workflow=new V(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 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)}}
@@ -95,8 +95,9 @@ export declare class AppCommands extends CommandRegistry {
95
95
  /**
96
96
  * Loads a project's app config and updates the application's current state,
97
97
  * accordingly. If more than one file is provided, only the first will be
98
- * loaded.
98
+ * loaded. Deprecated; use project.load instead.
99
99
  *
100
+ * @deprecated
100
101
  * @webOnly
101
102
  */
102
103
  get loadProject(): Command<AppConfig | Blob | Blob[]>;
@@ -200,8 +201,9 @@ export declare class AppOperations extends OperationRegistry {
200
201
  get getVersion(): Operation<void, string>;
201
202
  /**
202
203
  * Creates app config for a project, based on the current state of the
203
- * application.
204
+ * application. Deprecated; use project.create instead.
204
205
  *
206
+ * @deprecated
205
207
  * @webOnly
206
208
  */
207
209
  get createProject(): Operation<void, AppConfig>;
@@ -0,0 +1,141 @@
1
+ import type { AppConfig } from "../../app-config";
2
+ import type { SharedProject } from "../../app-config/web/SharedProjectsModelProperties";
3
+ import type { Command } from "../Command";
4
+ import { CommandRegistry } from "../CommandRegistry.js";
5
+ import type { Event } from "../Event";
6
+ import { EventRegistry } from "../EventRegistry.js";
7
+ import type { Operation } from "../Operation";
8
+ import { OperationRegistry } from "../OperationRegistry.js";
9
+ import type { Blob } from "../common";
10
+ /**
11
+ * An object that has a `appConfig` property.
12
+ */
13
+ export interface HasAppConfig {
14
+ /**
15
+ * The AppConfig for the command or operation.
16
+ */
17
+ appConfig?: AppConfig;
18
+ }
19
+ /**
20
+ * Arguments for the project.delete-shared command. Only available in VertiGIS
21
+ * Studio Web.
22
+ */
23
+ export interface DeleteSharedProjectArgs extends Partial<SharedProject> {
24
+ /**
25
+ * Whether to show a confirm prompt, when overwriting a shared project.
26
+ * Defaults to 'true'.
27
+ */
28
+ showConfirm?: boolean;
29
+ }
30
+ /**
31
+ * Arguments for the project.show-settings command. Only available in VertiGIS
32
+ * Studio Web.
33
+ */
34
+ export interface ShowSharedProjectArgs extends Partial<SharedProject>, HasAppConfig {
35
+ /**
36
+ * Whether to create a new project. If a project is provided it will be used
37
+ * as the starting point for configuration.
38
+ */
39
+ createNewProject?: boolean;
40
+ }
41
+ /**
42
+ * Arguments for the project.save-shared operation. Only available in VertiGIS
43
+ * Studio Web.
44
+ */
45
+ export interface SaveSharedProjectArgs extends Partial<SharedProject>, HasAppConfig {
46
+ /**
47
+ * Whether to show a confirm prompt, when overwriting a shared project.
48
+ * Defaults to 'true'.
49
+ */
50
+ showConfirm?: boolean;
51
+ }
52
+ export declare class ProjectCommands extends CommandRegistry {
53
+ /**
54
+ * Loads a project's app config and updates the application's current state,
55
+ * accordingly. If more than one file is provided, only the first will be
56
+ * loaded.
57
+ *
58
+ * @webOnly
59
+ */
60
+ get load(): Command<AppConfig | HasAppConfig | SharedProject | Blob | Blob[]>;
61
+ /**
62
+ * Create or updates a shared project with the specified shared project
63
+ * details and project config.
64
+ *
65
+ * @webOnly
66
+ */
67
+ get saveShared(): Command<SaveSharedProjectArgs>;
68
+ /**
69
+ * Guard command for enabling the project.save-shared command.
70
+ *
71
+ * @webOnly
72
+ */
73
+ get ensureCanSaveShared(): Command<SaveSharedProjectArgs>;
74
+ /**
75
+ * Shows a shared projects settings. Requires a shared-projects component to
76
+ * be in the layout.
77
+ *
78
+ * @webOnly
79
+ */
80
+ get showSettings(): Command<ShowSharedProjectArgs>;
81
+ /**
82
+ * Shows a shared projects share link. Requires a shared-projects component
83
+ * to be in the layout.
84
+ *
85
+ * @webOnly
86
+ */
87
+ get showShareLink(): Command<SharedProject>;
88
+ /**
89
+ * Deletes a shared project and its associated project config.
90
+ *
91
+ * @webOnly
92
+ */
93
+ get deleteShared(): Command<DeleteSharedProjectArgs>;
94
+ }
95
+ export declare class ProjectOperations extends OperationRegistry {
96
+ /**
97
+ * Creates app config for a project, based on the current state of the
98
+ * application.
99
+ *
100
+ * @webOnly
101
+ */
102
+ get create(): Operation<unknown, AppConfig | HasAppConfig>;
103
+ /**
104
+ * Returns a Shared Project Content.
105
+ *
106
+ * @webOnly
107
+ */
108
+ get getSharedContent(): Operation<SharedProject, HasAppConfig>;
109
+ /**
110
+ * Returns a url share link for the provided Shared Project.
111
+ *
112
+ * @webOnly
113
+ */
114
+ get getShareLink(): Operation<SharedProject, string>;
115
+ /**
116
+ * Returns a list of Shared Projects.
117
+ *
118
+ * @webOnly
119
+ */
120
+ get getShared(): Operation<void, SharedProject[]>;
121
+ }
122
+ export declare class ProjectEvents extends EventRegistry {
123
+ /**
124
+ * Raised when a project is loaded.
125
+ *
126
+ * @webOnly
127
+ */
128
+ get loaded(): Event<SharedProject>;
129
+ /**
130
+ * Raised when a shared project is added.
131
+ *
132
+ * @webOnly
133
+ */
134
+ get shareAdded(): Event<SharedProject>;
135
+ /**
136
+ * Raised when a shared project is removed.
137
+ *
138
+ * @webOnly
139
+ */
140
+ get shareRemoved(): Event<SharedProject>;
141
+ }
@@ -0,0 +1 @@
1
+ import{CommandRegistry as e}from"../CommandRegistry.js";import{EventRegistry as t}from"../EventRegistry.js";import{OperationRegistry as s}from"../OperationRegistry.js";export class ProjectCommands extends e{get load(){return this._messages.command("project.load")}get saveShared(){return this._messages.operation("project.save-shared")}get ensureCanSaveShared(){return this._messages.command("project.ensure-can-save-shared")}get showSettings(){return this._messages.operation("project.show-settings")}get showShareLink(){return this._messages.operation("project.show-share-link")}get deleteShared(){return this._messages.operation("project.delete-shared")}}export class ProjectOperations extends s{get create(){return this._messages.operation("project.create")}get getSharedContent(){return this._messages.operation("project.get-shared-content")}get getShareLink(){return this._messages.operation("project.get-share-link")}get getShared(){return this._messages.operation("project.get-shared")}}export class ProjectEvents extends t{get loaded(){return this._messages.event("project.loaded")}get shareAdded(){return this._messages.event("project.share-added")}get shareRemoved(){return this._messages.event("project.share-removed")}}
@@ -13,11 +13,26 @@ export interface DownloadArgs {
13
13
  /**
14
14
  * The blob to download.
15
15
  */
16
- result: Blob | Record<string, unknown> | string;
16
+ result?: Blob | Record<string, unknown> | string;
17
17
  /**
18
18
  * A filename for the download.
19
19
  */
20
- name: string;
20
+ name?: string;
21
+ /**
22
+ * Optionally specify the record attribute to be used as the result content.
23
+ * Defaults to 'result'.
24
+ */
25
+ resultAttribute?: string;
26
+ /**
27
+ * Optionally specify the record attribute to be used as the file name.
28
+ * Defaults to 'name'.
29
+ */
30
+ fileNameAttribute?: string;
31
+ /**
32
+ * Optionally specify the file name extension to be used if the file name
33
+ * does not end with one. Defaults to '.json'.
34
+ */
35
+ fileNameExtension?: string;
21
36
  }
22
37
  /**
23
38
  * Arguments for the system.read-file operation.
@@ -1,3 +1,4 @@
1
+ import type { ItemRef } from "app-config/common/ItemRef.js";
1
2
  import type { UIDensity } from "../../app-config/common/BrandingModelProperties.js";
2
3
  import type { TranslatableText, TranslateOptions } from "../../app-config/common/TranslatableText.js";
3
4
  import type { Command } from "../Command.js";
@@ -306,6 +307,26 @@ export declare class UICommands extends CommandRegistry {
306
307
  * Hides a notification previously shown to the user.
307
308
  */
308
309
  get hideNotification(): Command;
310
+ /**
311
+ * Marks a component as being available. The interpretation of what effect
312
+ * this has is up to the component. Currently the only component that will
313
+ * react to this is the task-bar, which will have the effect of showing the
314
+ * tab/button for that component. The argument can be an id of the
315
+ * component, or the model for the component.
316
+ *
317
+ * @mobileOnly
318
+ */
319
+ get makeAvailable(): Command<ComponentId | Model>;
320
+ /**
321
+ * Marks a component as being unavailable. The interpretation of what effect
322
+ * this has is up to the component. Currently the only component that will
323
+ * react to this is the task-bar, which will have the effect of hiding the
324
+ * tab/button for that component, and deactivating the component. The
325
+ * argument can be an id of the component, or the model for the component.
326
+ *
327
+ * @mobileOnly
328
+ */
329
+ get makeUnavailable(): Command<ComponentId | Model>;
309
330
  /**
310
331
  * Forces assistive technology (screen readers) to narrate a translatable
311
332
  * message to the end user.
@@ -343,6 +364,14 @@ export declare class UIOperations extends OperationRegistry {
343
364
  * Gets user confirmation by way of a popup box.
344
365
  */
345
366
  get confirm(): Operation<ConfirmOperationArgs, boolean>;
367
+ /**
368
+ * Get the IDs of components in the current layout that are backed by the
369
+ * given model. Most models are used by a single component, but in some
370
+ * cases multiple components can share a model.
371
+ *
372
+ * @webOnly
373
+ */
374
+ get getComponentIds(): Operation<ItemRef, string>;
346
375
  /**
347
376
  * Gets the current locale code for the application. (example: "en", "fr" or
348
377
  * "de-AT").
@@ -1 +1 @@
1
- import{CommandRegistry as e}from"../CommandRegistry.js";import{EventRegistry as t}from"../EventRegistry.js";import{OperationRegistry as s}from"../OperationRegistry.js";export var NotificationCategory;!function(e){e.ERROR="error",e.INFO="info",e.SUCCESS="success",e.WARNING="warning"}(NotificationCategory||(NotificationCategory={}));export var NotificationType;!function(e){e.AUTO="auto",e.APP="app",e.SYSTEM="system"}(NotificationType||(NotificationType={}));export var Position;!function(e){e.BOTTOM="bottom",e.LEFT="left",e.RIGHT="right",e.TOP="top"}(Position||(Position={}));export class UICommands extends e{get activate(){return this._messages.command("ui.activate")}get activeToggle(){return this._messages.command("ui.active-toggle")}get alert(){return this._messages.command("ui.alert")}get await(){return this._messages.command("ui.await")}get deactivate(){return this._messages.command("ui.deactivate")}get displayBusyState(){return this._messages.command("ui.display-busy-state")}get displayNotification(){return this._messages.command("ui.display-notification")}get pauseNotifications(){return this._messages.command("ui.pause-notifications")}get resumeNotifications(){return this._messages.command("ui.resume-notifications")}get focus(){return this._messages.command("ui.focus")}get hideBusyState(){return this._messages.command("ui.hide-busy-state")}get hideNotification(){return this._messages.command("ui.hide-notification")}get narrate(){return this._messages.command("ui.narrate")}get setDensity(){return this._messages.command("ui.set-density")}get setLocale(){return this._messages.command("ui.set-locale")}get setTheme(){return this._messages.command("ui.set-theme")}get setVisualState(){return this._messages.command("ui.set-visual-state")}}export class UIOperations extends s{get confirm(){return this._messages.operation("ui.confirm")}get getLocale(){return this._messages.operation("ui.get-locale")}get getTheme(){return this._messages.operation("ui.get-theme")}get getThemes(){return this._messages.operation("ui.get-themes")}get getVisualState(){return this._messages.operation("ui.get-visual-state")}get prompt(){return this._messages.operation("ui.prompt")}}export class UIEvents extends t{get activated(){return this._messages.event("ui.activated")}get added(){return this._messages.event("ui.added")}get ancestorActivated(){return this._messages.event("ui.ancestor-activated")}get ancestorDeactivated(){return this._messages.event("ui.ancestor-deactivated")}get deactivated(){return this._messages.event("ui.deactivated")}get densityChanged(){return this._messages.event("ui.density-changed")}get localeChanged(){return this._messages.event("ui.locale-changed")}get initializing(){return this._messages.event("ui.initializing")}get initialized(){return this._messages.event("ui.initialized")}get removed(){return this._messages.event("ui.removed")}get reordered(){return this._messages.event("ui.reordered")}get themeChanged(){return this._messages.event("ui.theme-changed")}get visualStateChanged(){return this._messages.event("ui.visual-state-changed")}}
1
+ import{CommandRegistry as e}from"../CommandRegistry.js";import{EventRegistry as t}from"../EventRegistry.js";import{OperationRegistry as s}from"../OperationRegistry.js";export var NotificationCategory;!function(e){e.ERROR="error",e.INFO="info",e.SUCCESS="success",e.WARNING="warning"}(NotificationCategory||(NotificationCategory={}));export var NotificationType;!function(e){e.AUTO="auto",e.APP="app",e.SYSTEM="system"}(NotificationType||(NotificationType={}));export var Position;!function(e){e.BOTTOM="bottom",e.LEFT="left",e.RIGHT="right",e.TOP="top"}(Position||(Position={}));export class UICommands extends e{get activate(){return this._messages.command("ui.activate")}get activeToggle(){return this._messages.command("ui.active-toggle")}get alert(){return this._messages.command("ui.alert")}get await(){return this._messages.command("ui.await")}get deactivate(){return this._messages.command("ui.deactivate")}get displayBusyState(){return this._messages.command("ui.display-busy-state")}get displayNotification(){return this._messages.command("ui.display-notification")}get pauseNotifications(){return this._messages.command("ui.pause-notifications")}get resumeNotifications(){return this._messages.command("ui.resume-notifications")}get focus(){return this._messages.command("ui.focus")}get hideBusyState(){return this._messages.command("ui.hide-busy-state")}get hideNotification(){return this._messages.command("ui.hide-notification")}get makeAvailable(){return this._messages.command("ui.make-available")}get makeUnavailable(){return this._messages.command("ui.make-unavailable")}get narrate(){return this._messages.command("ui.narrate")}get setDensity(){return this._messages.command("ui.set-density")}get setLocale(){return this._messages.command("ui.set-locale")}get setTheme(){return this._messages.command("ui.set-theme")}get setVisualState(){return this._messages.command("ui.set-visual-state")}}export class UIOperations extends s{get confirm(){return this._messages.operation("ui.confirm")}get getComponentIds(){return this._messages.operation("ui.get-component-ids")}get getLocale(){return this._messages.operation("ui.get-locale")}get getTheme(){return this._messages.operation("ui.get-theme")}get getThemes(){return this._messages.operation("ui.get-themes")}get getVisualState(){return this._messages.operation("ui.get-visual-state")}get prompt(){return this._messages.operation("ui.prompt")}}export class UIEvents extends t{get activated(){return this._messages.event("ui.activated")}get added(){return this._messages.event("ui.added")}get ancestorActivated(){return this._messages.event("ui.ancestor-activated")}get ancestorDeactivated(){return this._messages.event("ui.ancestor-deactivated")}get deactivated(){return this._messages.event("ui.deactivated")}get densityChanged(){return this._messages.event("ui.density-changed")}get localeChanged(){return this._messages.event("ui.locale-changed")}get initializing(){return this._messages.event("ui.initializing")}get initialized(){return this._messages.event("ui.initialized")}get removed(){return this._messages.event("ui.removed")}get reordered(){return this._messages.event("ui.reordered")}get themeChanged(){return this._messages.event("ui.theme-changed")}get visualStateChanged(){return this._messages.event("ui.visual-state-changed")}}