@vertigis/viewer-spec 42.10.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 (345) hide show
  1. package/LICENSE +5 -0
  2. package/README.md +3 -0
  3. package/app-config/AppConfig.d.ts +55 -0
  4. package/app-config/AppConfig.js +1 -0
  5. package/app-config/ItemConfig.d.ts +18 -0
  6. package/app-config/ItemConfig.js +1 -0
  7. package/app-config/common/BasemapPickerModelProperties.d.ts +6 -0
  8. package/app-config/common/BasemapPickerModelProperties.js +1 -0
  9. package/app-config/common/BookmarksModelProperties.d.ts +17 -0
  10. package/app-config/common/BookmarksModelProperties.js +1 -0
  11. package/app-config/common/BrandingColors.d.ts +94 -0
  12. package/app-config/common/BrandingColors.js +1 -0
  13. package/app-config/common/BrandingModelProperties.d.ts +23 -0
  14. package/app-config/common/BrandingModelProperties.js +1 -0
  15. package/app-config/common/BrandingThemeProperties.d.ts +35 -0
  16. package/app-config/common/BrandingThemeProperties.js +1 -0
  17. package/app-config/common/CompassModelProperties.d.ts +6 -0
  18. package/app-config/common/CompassModelProperties.js +1 -0
  19. package/app-config/common/ComponentModelProperties.d.ts +14 -0
  20. package/app-config/common/ComponentModelProperties.js +1 -0
  21. package/app-config/common/CoordinateModelProperties.d.ts +34 -0
  22. package/app-config/common/CoordinateModelProperties.js +1 -0
  23. package/app-config/common/DialogModelProperties.d.ts +6 -0
  24. package/app-config/common/DialogModelProperties.js +1 -0
  25. package/app-config/common/ExpandModelProperties.d.ts +6 -0
  26. package/app-config/common/ExpandModelProperties.js +1 -0
  27. package/app-config/common/FeatureDetailsModelProperties.d.ts +27 -0
  28. package/app-config/common/FeatureDetailsModelProperties.js +1 -0
  29. package/app-config/common/GeolocationModelProperties.d.ts +6 -0
  30. package/app-config/common/GeolocationModelProperties.js +1 -0
  31. package/app-config/common/HighlightModelProperties.d.ts +69 -0
  32. package/app-config/common/HighlightModelProperties.js +1 -0
  33. package/app-config/common/ImageModelProperties.d.ts +14 -0
  34. package/app-config/common/ImageModelProperties.js +1 -0
  35. package/app-config/common/ItemRef.d.ts +4 -0
  36. package/app-config/common/ItemRef.js +1 -0
  37. package/app-config/common/LayerListModelProperties.d.ts +12 -0
  38. package/app-config/common/LayerListModelProperties.js +1 -0
  39. package/app-config/common/LayerPresetsModelProperties.d.ts +14 -0
  40. package/app-config/common/LayerPresetsModelProperties.js +1 -0
  41. package/app-config/common/LayoutProperties.d.ts +33 -0
  42. package/app-config/common/LayoutProperties.js +1 -0
  43. package/app-config/common/LegendModelProperties.d.ts +6 -0
  44. package/app-config/common/LegendModelProperties.js +1 -0
  45. package/app-config/common/LicensingModelProperties.d.ts +10 -0
  46. package/app-config/common/LicensingModelProperties.js +1 -0
  47. package/app-config/common/MapCoordinatesModelProperties.d.ts +6 -0
  48. package/app-config/common/MapCoordinatesModelProperties.js +1 -0
  49. package/app-config/common/MapModelProperties.d.ts +7 -0
  50. package/app-config/common/MapModelProperties.js +1 -0
  51. package/app-config/common/MenuModelProperties.d.ts +13 -0
  52. package/app-config/common/MenuModelProperties.js +1 -0
  53. package/app-config/common/ModelProperties.d.ts +6 -0
  54. package/app-config/common/ModelProperties.js +1 -0
  55. package/app-config/common/PanelModelProperties.d.ts +6 -0
  56. package/app-config/common/PanelModelProperties.js +1 -0
  57. package/app-config/common/RegionModelProperties.d.ts +26 -0
  58. package/app-config/common/RegionModelProperties.js +1 -0
  59. package/app-config/common/ResultsModelProperties.d.ts +12 -0
  60. package/app-config/common/ResultsModelProperties.js +1 -0
  61. package/app-config/common/ScalebarModelProperties.d.ts +6 -0
  62. package/app-config/common/ScalebarModelProperties.js +1 -0
  63. package/app-config/common/SearchModelProperties.d.ts +26 -0
  64. package/app-config/common/SearchModelProperties.js +1 -0
  65. package/app-config/common/ServiceModelProperties.d.ts +6 -0
  66. package/app-config/common/ServiceModelProperties.js +1 -0
  67. package/app-config/common/SplitModelProperties.d.ts +6 -0
  68. package/app-config/common/SplitModelProperties.js +1 -0
  69. package/app-config/common/StackModelProperties.d.ts +6 -0
  70. package/app-config/common/StackModelProperties.js +1 -0
  71. package/app-config/common/TextModelProperties.d.ts +10 -0
  72. package/app-config/common/TextModelProperties.js +1 -0
  73. package/app-config/common/TranslatableText.d.ts +27 -0
  74. package/app-config/common/TranslatableText.js +1 -0
  75. package/app-config/common/UserModelProperties.d.ts +6 -0
  76. package/app-config/common/UserModelProperties.js +1 -0
  77. package/app-config/common/WorkflowEventsProperties.d.ts +11 -0
  78. package/app-config/common/WorkflowEventsProperties.js +1 -0
  79. package/app-config/common/WorkflowModelProperties.d.ts +44 -0
  80. package/app-config/common/WorkflowModelProperties.js +1 -0
  81. package/app-config/common/ZoomModelProperties.d.ts +6 -0
  82. package/app-config/common/ZoomModelProperties.js +1 -0
  83. package/app-config/common/colors.d.ts +6 -0
  84. package/app-config/common/colors.js +1 -0
  85. package/app-config/index.d.ts +2 -0
  86. package/app-config/index.js +1 -0
  87. package/app-config/mobile/AddFeatureModelProperties.d.ts +6 -0
  88. package/app-config/mobile/AddFeatureModelProperties.js +1 -0
  89. package/app-config/mobile/AddRelatedFeatureModelProperties.d.ts +6 -0
  90. package/app-config/mobile/AddRelatedFeatureModelProperties.js +1 -0
  91. package/app-config/mobile/BasemapModelProperties.d.ts +11 -0
  92. package/app-config/mobile/BasemapModelProperties.js +1 -0
  93. package/app-config/mobile/FeatureDetailsModelProperties.d.ts +23 -0
  94. package/app-config/mobile/FeatureDetailsModelProperties.js +1 -0
  95. package/app-config/mobile/GeometryToolbarModelProperties.d.ts +6 -0
  96. package/app-config/mobile/GeometryToolbarModelProperties.js +1 -0
  97. package/app-config/mobile/GnssDeviceSelectionModelProperties.d.ts +6 -0
  98. package/app-config/mobile/GnssDeviceSelectionModelProperties.js +1 -0
  99. package/app-config/mobile/GnssDeviceSettingsModelProperties.d.ts +6 -0
  100. package/app-config/mobile/GnssDeviceSettingsModelProperties.js +1 -0
  101. package/app-config/mobile/GnssMetadataModelProperties.d.ts +6 -0
  102. package/app-config/mobile/GnssMetadataModelProperties.js +1 -0
  103. package/app-config/mobile/MapModelProperties.d.ts +45 -0
  104. package/app-config/mobile/MapModelProperties.js +1 -0
  105. package/app-config/mobile/OfflineModelProperties.d.ts +48 -0
  106. package/app-config/mobile/OfflineModelProperties.js +1 -0
  107. package/app-config/mobile/PortalExtensionSettingsProperties.d.ts +27 -0
  108. package/app-config/mobile/PortalExtensionSettingsProperties.js +1 -0
  109. package/app-config/mobile/ScrollModelProperties.d.ts +6 -0
  110. package/app-config/mobile/ScrollModelProperties.js +1 -0
  111. package/app-config/mobile/SelectLayerSettingsModelProperties.d.ts +11 -0
  112. package/app-config/mobile/SelectLayerSettingsModelProperties.js +1 -0
  113. package/app-config/mobile/TaskbarModelProperties.d.ts +6 -0
  114. package/app-config/mobile/TaskbarModelProperties.js +1 -0
  115. package/app-config/mobile/UpdateFeatureModelProperties.d.ts +6 -0
  116. package/app-config/mobile/UpdateFeatureModelProperties.js +1 -0
  117. package/app-config/mobile/VertigisMobileModelProperties.d.ts +65 -0
  118. package/app-config/mobile/VertigisMobileModelProperties.js +1 -0
  119. package/app-config/schema/common-app-config.schema.json +1 -0
  120. package/app-config/schema/mobile-app-config.schema.json +1 -0
  121. package/app-config/schema/web-app-config.schema.json +1 -0
  122. package/app-config/web/AddressModelProperties.d.ts +6 -0
  123. package/app-config/web/AddressModelProperties.js +1 -0
  124. package/app-config/web/BasemapPickerModelProperties.d.ts +7 -0
  125. package/app-config/web/BasemapPickerModelProperties.js +1 -0
  126. package/app-config/web/BookmarksModelProperties.d.ts +7 -0
  127. package/app-config/web/BookmarksModelProperties.js +1 -0
  128. package/app-config/web/BrandingModelProperties.d.ts +14 -0
  129. package/app-config/web/BrandingModelProperties.js +1 -0
  130. package/app-config/web/ChartModelProperties.d.ts +58 -0
  131. package/app-config/web/ChartModelProperties.js +1 -0
  132. package/app-config/web/CompassModelProperties.d.ts +7 -0
  133. package/app-config/web/CompassModelProperties.js +1 -0
  134. package/app-config/web/ComponentModelProperties.d.ts +12 -0
  135. package/app-config/web/ComponentModelProperties.js +1 -0
  136. package/app-config/web/CoordinateModelProperties.d.ts +7 -0
  137. package/app-config/web/CoordinateModelProperties.js +1 -0
  138. package/app-config/web/DialogModelProperties.d.ts +7 -0
  139. package/app-config/web/DialogModelProperties.js +1 -0
  140. package/app-config/web/DrawModelProperties.d.ts +102 -0
  141. package/app-config/web/DrawModelProperties.js +1 -0
  142. package/app-config/web/FeatureDetailsModelProperties.d.ts +12 -0
  143. package/app-config/web/FeatureDetailsModelProperties.js +1 -0
  144. package/app-config/web/FeatureInfoModelProperties.d.ts +22 -0
  145. package/app-config/web/FeatureInfoModelProperties.js +1 -0
  146. package/app-config/web/FeatureListProperties.d.ts +12 -0
  147. package/app-config/web/FeatureListProperties.js +1 -0
  148. package/app-config/web/FeatureSetProperties.d.ts +16 -0
  149. package/app-config/web/FeatureSetProperties.js +1 -0
  150. package/app-config/web/FeatureSummaryModelProperties.d.ts +22 -0
  151. package/app-config/web/FeatureSummaryModelProperties.js +1 -0
  152. package/app-config/web/GeolocationModelProperties.d.ts +7 -0
  153. package/app-config/web/GeolocationModelProperties.js +1 -0
  154. package/app-config/web/GeometryModelProperties.d.ts +27 -0
  155. package/app-config/web/GeometryModelProperties.js +1 -0
  156. package/app-config/web/HasVisibilityFilters.d.ts +35 -0
  157. package/app-config/web/HasVisibilityFilters.js +1 -0
  158. package/app-config/web/ImageModelProperties.d.ts +7 -0
  159. package/app-config/web/ImageModelProperties.js +1 -0
  160. package/app-config/web/KpiCardModelProperties.d.ts +145 -0
  161. package/app-config/web/KpiCardModelProperties.js +1 -0
  162. package/app-config/web/LayerListModelProperties.d.ts +7 -0
  163. package/app-config/web/LayerListModelProperties.js +1 -0
  164. package/app-config/web/LayerPresetsModelProperties.d.ts +7 -0
  165. package/app-config/web/LayerPresetsModelProperties.js +1 -0
  166. package/app-config/web/LegendModelProperties.d.ts +7 -0
  167. package/app-config/web/LegendModelProperties.js +1 -0
  168. package/app-config/web/Map3dToggleModelProperties.d.ts +6 -0
  169. package/app-config/web/Map3dToggleModelProperties.js +1 -0
  170. package/app-config/web/MapCoordinatesModelProperties.d.ts +43 -0
  171. package/app-config/web/MapCoordinatesModelProperties.js +1 -0
  172. package/app-config/web/MapModelProperties.d.ts +81 -0
  173. package/app-config/web/MapModelProperties.js +1 -0
  174. package/app-config/web/MeasurementModelProperties.d.ts +36 -0
  175. package/app-config/web/MeasurementModelProperties.js +1 -0
  176. package/app-config/web/MenuItemModelProperties.d.ts +7 -0
  177. package/app-config/web/MenuItemModelProperties.js +1 -0
  178. package/app-config/web/MenuModelProperties.d.ts +13 -0
  179. package/app-config/web/MenuModelProperties.js +1 -0
  180. package/app-config/web/ModelProperties.d.ts +7 -0
  181. package/app-config/web/ModelProperties.js +1 -0
  182. package/app-config/web/PanelModelProperties.d.ts +7 -0
  183. package/app-config/web/PanelModelProperties.js +1 -0
  184. package/app-config/web/PortalModelProperties.d.ts +10 -0
  185. package/app-config/web/PortalModelProperties.js +1 -0
  186. package/app-config/web/PrintFormModelProperties.d.ts +42 -0
  187. package/app-config/web/PrintFormModelProperties.js +1 -0
  188. package/app-config/web/ReportModelProperties.d.ts +15 -0
  189. package/app-config/web/ReportModelProperties.js +1 -0
  190. package/app-config/web/ResultsModelProperties.d.ts +93 -0
  191. package/app-config/web/ResultsModelProperties.js +1 -0
  192. package/app-config/web/ScaleInputModelProperties.d.ts +6 -0
  193. package/app-config/web/ScaleInputModelProperties.js +1 -0
  194. package/app-config/web/ScalebarModelProperties.d.ts +22 -0
  195. package/app-config/web/ScalebarModelProperties.js +1 -0
  196. package/app-config/web/SearchModelProperties.d.ts +22 -0
  197. package/app-config/web/SearchModelProperties.js +1 -0
  198. package/app-config/web/SplitModelProperties.d.ts +7 -0
  199. package/app-config/web/SplitModelProperties.js +1 -0
  200. package/app-config/web/StackModelProperties.d.ts +7 -0
  201. package/app-config/web/StackModelProperties.js +1 -0
  202. package/app-config/web/TabsModelProperties.d.ts +6 -0
  203. package/app-config/web/TabsModelProperties.js +1 -0
  204. package/app-config/web/TextModelProperties.d.ts +7 -0
  205. package/app-config/web/TextModelProperties.js +1 -0
  206. package/app-config/web/UserModelProperties.d.ts +12 -0
  207. package/app-config/web/UserModelProperties.js +1 -0
  208. package/app-config/web/UserPreferencesModelProperties.d.ts +10 -0
  209. package/app-config/web/UserPreferencesModelProperties.js +1 -0
  210. package/app-config/web/VertigisWebModelProperties.d.ts +84 -0
  211. package/app-config/web/VertigisWebModelProperties.js +1 -0
  212. package/app-config/web/WorkflowModelProperties.d.ts +7 -0
  213. package/app-config/web/WorkflowModelProperties.js +1 -0
  214. package/app-config/web/ZoomModelProperties.d.ts +7 -0
  215. package/app-config/web/ZoomModelProperties.js +1 -0
  216. package/docs/Geocortex Apps.md +311 -0
  217. package/docs/layout-spec.md +720 -0
  218. package/docs/presentation.md +98 -0
  219. package/layout/schema/layout-common.xsd +849 -0
  220. package/layout/schema/layout-mobile.xsd +256 -0
  221. package/layout/schema/layout-web.xsd +248 -0
  222. package/layout/schema/schema-reference-example.xml +14 -0
  223. package/messaging/Command.d.ts +74 -0
  224. package/messaging/Command.js +1 -0
  225. package/messaging/CommandRegistry.d.ts +13 -0
  226. package/messaging/CommandRegistry.js +1 -0
  227. package/messaging/Event.d.ts +25 -0
  228. package/messaging/Event.js +1 -0
  229. package/messaging/EventRegistry.d.ts +13 -0
  230. package/messaging/EventRegistry.js +1 -0
  231. package/messaging/Message.d.ts +23 -0
  232. package/messaging/Message.js +1 -0
  233. package/messaging/MessageBus.d.ts +54 -0
  234. package/messaging/MessageBus.js +1 -0
  235. package/messaging/Operation.d.ts +53 -0
  236. package/messaging/Operation.js +1 -0
  237. package/messaging/OperationRegistry.d.ts +13 -0
  238. package/messaging/OperationRegistry.js +1 -0
  239. package/messaging/common.d.ts +246 -0
  240. package/messaging/common.js +1 -0
  241. package/messaging/mobile.d.ts +13 -0
  242. package/messaging/mobile.js +1 -0
  243. package/messaging/registry/Commands.d.ts +65 -0
  244. package/messaging/registry/Commands.js +1 -0
  245. package/messaging/registry/Events.d.ts +53 -0
  246. package/messaging/registry/Events.js +1 -0
  247. package/messaging/registry/Operations.d.ts +54 -0
  248. package/messaging/registry/Operations.js +1 -0
  249. package/messaging/registry/app-config.d.ts +11 -0
  250. package/messaging/registry/app-config.js +1 -0
  251. package/messaging/registry/app.d.ts +136 -0
  252. package/messaging/registry/app.js +1 -0
  253. package/messaging/registry/auth.d.ts +125 -0
  254. package/messaging/registry/auth.js +1 -0
  255. package/messaging/registry/basemap.d.ts +52 -0
  256. package/messaging/registry/basemap.js +1 -0
  257. package/messaging/registry/charts.d.ts +78 -0
  258. package/messaging/registry/charts.js +1 -0
  259. package/messaging/registry/debugConsole.d.ts +24 -0
  260. package/messaging/registry/debugConsole.js +1 -0
  261. package/messaging/registry/device.d.ts +15 -0
  262. package/messaging/registry/device.js +1 -0
  263. package/messaging/registry/display.d.ts +16 -0
  264. package/messaging/registry/display.js +1 -0
  265. package/messaging/registry/drawing.d.ts +126 -0
  266. package/messaging/registry/drawing.js +1 -0
  267. package/messaging/registry/edit.d.ts +123 -0
  268. package/messaging/registry/edit.js +1 -0
  269. package/messaging/registry/file.d.ts +58 -0
  270. package/messaging/registry/file.js +1 -0
  271. package/messaging/registry/geocode.d.ts +91 -0
  272. package/messaging/registry/geocode.js +1 -0
  273. package/messaging/registry/geolocation.d.ts +268 -0
  274. package/messaging/registry/geolocation.js +1 -0
  275. package/messaging/registry/geometry-toolbar.d.ts +28 -0
  276. package/messaging/registry/geometry-toolbar.js +1 -0
  277. package/messaging/registry/geometry.d.ts +101 -0
  278. package/messaging/registry/geometry.js +1 -0
  279. package/messaging/registry/highlights.d.ts +83 -0
  280. package/messaging/registry/highlights.js +1 -0
  281. package/messaging/registry/input.d.ts +21 -0
  282. package/messaging/registry/input.js +1 -0
  283. package/messaging/registry/iwtm.d.ts +10 -0
  284. package/messaging/registry/iwtm.js +1 -0
  285. package/messaging/registry/kpi.d.ts +95 -0
  286. package/messaging/registry/kpi.js +1 -0
  287. package/messaging/registry/layer-comparison.d.ts +102 -0
  288. package/messaging/registry/layer-comparison.js +1 -0
  289. package/messaging/registry/layer-presets.d.ts +28 -0
  290. package/messaging/registry/layer-presets.js +1 -0
  291. package/messaging/registry/layers.d.ts +45 -0
  292. package/messaging/registry/layers.js +1 -0
  293. package/messaging/registry/layout.d.ts +48 -0
  294. package/messaging/registry/layout.js +1 -0
  295. package/messaging/registry/location-marker.d.ts +172 -0
  296. package/messaging/registry/location-marker.js +1 -0
  297. package/messaging/registry/logViewer.d.ts +16 -0
  298. package/messaging/registry/logViewer.js +1 -0
  299. package/messaging/registry/map.d.ts +893 -0
  300. package/messaging/registry/map.js +1 -0
  301. package/messaging/registry/measurement.d.ts +142 -0
  302. package/messaging/registry/measurement.js +1 -0
  303. package/messaging/registry/messaging.d.ts +22 -0
  304. package/messaging/registry/messaging.js +1 -0
  305. package/messaging/registry/network.d.ts +50 -0
  306. package/messaging/registry/network.js +1 -0
  307. package/messaging/registry/offline.d.ts +357 -0
  308. package/messaging/registry/offline.js +1 -0
  309. package/messaging/registry/panel.d.ts +93 -0
  310. package/messaging/registry/panel.js +1 -0
  311. package/messaging/registry/photos.d.ts +45 -0
  312. package/messaging/registry/photos.js +1 -0
  313. package/messaging/registry/portal.d.ts +47 -0
  314. package/messaging/registry/portal.js +1 -0
  315. package/messaging/registry/printing.d.ts +138 -0
  316. package/messaging/registry/printing.js +1 -0
  317. package/messaging/registry/region.d.ts +21 -0
  318. package/messaging/registry/region.js +1 -0
  319. package/messaging/registry/reports.d.ts +112 -0
  320. package/messaging/registry/reports.js +1 -0
  321. package/messaging/registry/results.d.ts +454 -0
  322. package/messaging/registry/results.js +1 -0
  323. package/messaging/registry/search.d.ts +51 -0
  324. package/messaging/registry/search.js +1 -0
  325. package/messaging/registry/sketching.d.ts +521 -0
  326. package/messaging/registry/sketching.js +1 -0
  327. package/messaging/registry/system.d.ts +117 -0
  328. package/messaging/registry/system.js +1 -0
  329. package/messaging/registry/tasks.d.ts +178 -0
  330. package/messaging/registry/tasks.js +1 -0
  331. package/messaging/registry/ui.d.ts +361 -0
  332. package/messaging/registry/ui.js +1 -0
  333. package/messaging/registry/viewer.d.ts +95 -0
  334. package/messaging/registry/viewer.js +1 -0
  335. package/messaging/registry/workflow.d.ts +134 -0
  336. package/messaging/registry/workflow.js +1 -0
  337. package/messaging/schema/common-action.schema.json +11130 -0
  338. package/messaging/schema/common-event.schema.json +7955 -0
  339. package/messaging/schema/mobile-action.schema.json +14328 -0
  340. package/messaging/schema/mobile-event.schema.json +9245 -0
  341. package/messaging/schema/web-action.schema.json +18896 -0
  342. package/messaging/schema/web-event.schema.json +8515 -0
  343. package/package.json +71 -0
  344. package/version.d.ts +4 -0
  345. package/version.js +4 -0
@@ -0,0 +1,42 @@
1
+ import type { ItemRef } from "../common/ItemRef.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ import type { ReportModelProperties } from "./ReportModelProperties.js";
4
+ /**
5
+ * Properties that can be passed into the constructor for {@link PrintTemplate}.
6
+ */
7
+ export interface PrintTemplateModelProperties extends ReportModelProperties {
8
+ }
9
+ /**
10
+ * A spatial reference grid to use for printing.
11
+ */
12
+ export interface SpatialReferenceGrid {
13
+ /**
14
+ * The name of the spatial reference.
15
+ */
16
+ displayName: string;
17
+ /**
18
+ * The well-known ID if there is one.
19
+ */
20
+ wkid?: number;
21
+ /**
22
+ * The well-known text if no well-known ID is provided.
23
+ */
24
+ wkt?: string;
25
+ }
26
+ /**
27
+ * Configuration for a print form component.
28
+ */
29
+ export interface PrintFormModelProperties extends ComponentModelProperties {
30
+ /**
31
+ * The templates to choose from.
32
+ */
33
+ templates?: (ItemRef | PrintTemplateModelProperties)[];
34
+ /**
35
+ * The spatial reference grids to choose from.
36
+ */
37
+ grids?: SpatialReferenceGrid[];
38
+ /**
39
+ * The supported print resolutions to choose from.
40
+ */
41
+ resolutions?: number[];
42
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,15 @@
1
+ import type { PortalItemLike } from "@vertigis/arcgis-extensions/utilities/portal";
2
+ import type { ModelProperties } from "./ModelProperties.js";
3
+ /**
4
+ * Properties that can be passed into the constructor for {@link ReportBase}.
5
+ */
6
+ export interface ReportModelProperties extends ModelProperties {
7
+ /**
8
+ * See {@link ReportBase.title}.
9
+ */
10
+ title?: string;
11
+ /**
12
+ * See {@link ReportBase.portalItem}.
13
+ */
14
+ portalItem?: PortalItemLike;
15
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,93 @@
1
+ import type { Action } from "@vertigis/arcgis-extensions/support/Action";
2
+ import type { ResultsModelProperties as CommonResultsModelProperties } from "../common/ResultsModelProperties.js";
3
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
4
+ import type { FeatureListProperties } from "./FeatureListProperties.js";
5
+ /**
6
+ * @inheritdoc
7
+ */
8
+ export interface ResultsModelProperties extends CommonResultsModelProperties, ComponentModelProperties {
9
+ /**
10
+ * A command or set of commands to execute when all features have been
11
+ * removed. This action is only supported in Geocortex Mobile Viewer.
12
+ */
13
+ onAllFeaturesRemoved?: Action;
14
+ /**
15
+ * A command or set of commands to execute when a feature or group of
16
+ * features is deselected. Web only.
17
+ */
18
+ onDeselect?: Action;
19
+ /**
20
+ * A command or set of commands to execute when a feature gets added.
21
+ */
22
+ onFeatureAdd?: Action;
23
+ /**
24
+ * A command or set of commands to execute when a single feature is clicked.
25
+ */
26
+ onFeatureClick?: Action;
27
+ /**
28
+ * A command or set of commands to execute when a feature becomes invisible.
29
+ */
30
+ onFeatureHide?: Action;
31
+ /**
32
+ * A command or set of commands to execute when a feature gets removed.
33
+ */
34
+ onFeatureRemove?: Action;
35
+ /**
36
+ * A command or set of commands to execute when a feature becomes visible.
37
+ */
38
+ onFeatureShow?: Action;
39
+ /**
40
+ * A command or set of commands to execute when a feature or group is
41
+ * moused-over. Web only.
42
+ */
43
+ onHover?: Action;
44
+ /**
45
+ * A command or set of commands to execute when a feature or group is
46
+ * has finished the moused-over event. Web only.
47
+ */
48
+ onHoverEnd?: Action;
49
+ /**
50
+ * A command or set of commands to execute when a feature or group of
51
+ * features is selected. Web only.
52
+ */
53
+ onSelect?: Action;
54
+ /**
55
+ * The admin preference for the view mode used to display the results. The
56
+ * default is "ungrouped". Web only.
57
+ */
58
+ viewMode?: ViewMode;
59
+ /**
60
+ * The admin preference for the card size used to display the results. The
61
+ * default is "standard". Web only.
62
+ */
63
+ cardSize?: CardSize;
64
+ /**
65
+ * Whether or not to allow the user to change feature grouping. Web only.
66
+ */
67
+ showViewModeToggle?: boolean;
68
+ /**
69
+ * Whether or not to allow results to be filtered by source. Web only.
70
+ */
71
+ showFilter?: boolean;
72
+ /**
73
+ * Whether or not to allow the user to change the card size. Web only.
74
+ */
75
+ showSizeToggle?: boolean;
76
+ /**
77
+ * The list of features contained by the results model. This property is
78
+ * only serialized into saved projects. Web only.
79
+ */
80
+ results?: FeatureListProperties;
81
+ }
82
+ /**
83
+ * Specifies whether a results list component should display results grouped by source.
84
+ *
85
+ * @webOnly
86
+ */
87
+ export declare type ViewMode = "ungrouped" | "grouped";
88
+ /**
89
+ * Specifies what card size a results list component should use to display result items.
90
+ *
91
+ * @webOnly
92
+ */
93
+ export declare type CardSize = "standard" | "compact";
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,6 @@
1
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
2
+ /**
3
+ * Configuration for a scale input component.
4
+ */
5
+ export interface ScaleInputModelProperties extends ComponentModelProperties {
6
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,22 @@
1
+ import type { ScalebarModelProperties as CommonScalebarModelProperties } from "../common/ScalebarModelProperties.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * The visual style to set for the scalebar.
5
+ */
6
+ export declare enum ScalebarStyle {
7
+ RULER = "ruler",
8
+ LINE = "line"
9
+ }
10
+ /**
11
+ * @inheritdoc
12
+ */
13
+ export interface ScalebarModelProperties extends CommonScalebarModelProperties, ComponentModelProperties {
14
+ /**
15
+ * The visual style for the scalebar.
16
+ */
17
+ style?: ScalebarStyle;
18
+ /**
19
+ * Whether or not to show both metric and US customary units at once.
20
+ */
21
+ showDualUnits?: boolean;
22
+ }
@@ -0,0 +1 @@
1
+ export var ScalebarStyle;!function(e){e.RULER="ruler",e.LINE="line"}(ScalebarStyle||(ScalebarStyle={}));
@@ -0,0 +1,22 @@
1
+ import type { SearchModelProperties as CommonSearchModelProperties } from "../common/SearchModelProperties.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * @inheritdoc
5
+ */
6
+ export interface SearchModelProperties extends CommonSearchModelProperties, ComponentModelProperties {
7
+ /**
8
+ * By default the search area will be expanded to try and return the
9
+ * specified maxResults. Set to true to disable this behavior.
10
+ */
11
+ disableSearchAreaExpansion?: boolean;
12
+ /**
13
+ * This setting is used to indicate if the geocoder should be used by the
14
+ * search.
15
+ */
16
+ geocoderEnabled?: boolean;
17
+ /**
18
+ * The maximum number of suggestions to show based on the user's input.
19
+ * Setting this to 0 will disable suggestions.
20
+ */
21
+ maxSuggestions?: number;
22
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,7 @@
1
+ import type { SplitModelProperties as CommonSplitModelProperties } from "../common/SplitModelProperties.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * @inheritdoc
5
+ */
6
+ export interface SplitModelProperties extends CommonSplitModelProperties, ComponentModelProperties {
7
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,7 @@
1
+ import type { StackModelProperties as CommonStackModelProperties } from "../common/StackModelProperties.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * @inheritdoc
5
+ */
6
+ export interface StackModelProperties extends CommonStackModelProperties, ComponentModelProperties {
7
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,6 @@
1
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
2
+ /**
3
+ * Configuration for a tabs component.
4
+ */
5
+ export interface TabsModelProperties extends ComponentModelProperties {
6
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,7 @@
1
+ import type { TextModelProperties as CommonTextModelProperties } from "../common/TextModelProperties.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * @inheritdoc
5
+ */
6
+ export interface TextModelProperties extends CommonTextModelProperties, ComponentModelProperties {
7
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,12 @@
1
+ import type { ItemRef } from "../common/ItemRef.js";
2
+ import type { UserModelProperties as CommonUserModelProperties } from "../common/UserModelProperties.js";
3
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
4
+ /**
5
+ * @inheritdoc
6
+ */
7
+ export interface UserModelProperties extends CommonUserModelProperties, ComponentModelProperties {
8
+ /**
9
+ * A menu to display in the user component's fly-out panel.
10
+ */
11
+ menu?: ItemRef;
12
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,10 @@
1
+ import type { ServiceModelProperties } from "../common/ServiceModelProperties.js";
2
+ /**
3
+ * Configuration for a user preferences component.
4
+ */
5
+ export interface UserPreferencesModelProperties extends ServiceModelProperties {
6
+ /**
7
+ * The amount of time we debounce the save operation for.
8
+ */
9
+ saveDelay?: number;
10
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,84 @@
1
+ import type { EntityProperties } from "@vertigis/arcgis-extensions/Entity";
2
+ import type { Action } from "@vertigis/arcgis-extensions/support/Action";
3
+ import type { ItemRef } from "../common/ItemRef.js";
4
+ import type { ServiceModelProperties } from "../common/ServiceModelProperties.js";
5
+ /**
6
+ * The privacy policy link location options.
7
+ */
8
+ export declare type PrivacyPolicyLocation = "app-top-beginning" | "app-top-end" | "app-bottom-beginning" | "app-bottom-end" | "map-top-beginning" | "map-top-end" | "map-bottom-beginning" | "map-bottom-end" | "user-component" | "app-footer";
9
+ /**
10
+ * Information on how and where to display the privacy policy link.
11
+ */
12
+ export interface PrivacyPolicyInfo extends EntityProperties {
13
+ /**
14
+ * The location in which the privacy policy information should be shown.
15
+ * Defaults to user-component and falls back to the app-footer
16
+ * if the specified location is not available.
17
+ */
18
+ location?: PrivacyPolicyLocation;
19
+ /**
20
+ * Optional markdown that contains additional information. This information
21
+ * is shown in a secondary dialog when the location is not the user
22
+ * component, or directly in the user component when it is the location.
23
+ */
24
+ markdown?: string;
25
+ }
26
+ /**
27
+ * Global configuration for a VertiGIS Web application.
28
+ */
29
+ export interface VertigisWebModelProperties extends ServiceModelProperties {
30
+ /**
31
+ * Action to be triggered when viewer initialization is complete.
32
+ */
33
+ onInitialized?: Action;
34
+ /**
35
+ * Action to be triggered on viewer initialization before layout selection.
36
+ */
37
+ onInitializing?: Action;
38
+ /**
39
+ * Allowed origin for sending and receiving PostMessages.
40
+ */
41
+ postMessageAllowedOrigin?: string;
42
+ /**
43
+ * The privacy policy information.
44
+ */
45
+ privacyPolicyInfo?: PrivacyPolicyInfo;
46
+ /**
47
+ * The collection of rules specifying the proxy URL to use for a given URL
48
+ * prefix.
49
+ */
50
+ proxyRules?: ProxyRule[];
51
+ /**
52
+ * The proxy URL for the application.
53
+ */
54
+ proxyUrl?: string;
55
+ /**
56
+ * Indicates whether cross origin requests made to the associated server
57
+ * should include credentials such as cookies and authorization headers.
58
+ */
59
+ trustedServers?: string[];
60
+ /**
61
+ * The version of the Geocortex Web Viewer that was used to create this app
62
+ * configuration.
63
+ */
64
+ version?: string;
65
+ /**
66
+ * The active layout of the Geocortex Web Viewer. This property is only
67
+ * serialized to saved projects.
68
+ */
69
+ layout?: ItemRef;
70
+ }
71
+ /**
72
+ * An object specifying a URL that should use a specific proxy.
73
+ */
74
+ export interface ProxyRule {
75
+ /**
76
+ * The URL of the proxy.
77
+ */
78
+ proxyUrl: string;
79
+ /**
80
+ * The URL prefix of the resources that should be accessed through the given
81
+ * proxy.
82
+ */
83
+ urlPrefix: string;
84
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,7 @@
1
+ import type { WorkflowModelProperties as CommonWorkflowModelProperties } from "../common/WorkflowModelProperties.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * @inheritdoc
5
+ */
6
+ export interface WorkflowModelProperties extends CommonWorkflowModelProperties, ComponentModelProperties {
7
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,7 @@
1
+ import type { ZoomModelProperties as CommonZoomModelProperties } from "../common/ZoomModelProperties.js";
2
+ import type { ComponentModelProperties } from "./ComponentModelProperties.js";
3
+ /**
4
+ * @inheritdoc
5
+ */
6
+ export interface ZoomModelProperties extends CommonZoomModelProperties, ComponentModelProperties {
7
+ }
@@ -0,0 +1 @@
1
+ export{};
@@ -0,0 +1,311 @@
1
+ # Geocortex Apps
2
+
3
+ ## Introduction
4
+
5
+ A Geocortex App is a JSON document containing configuration for an application
6
+ that is built on top of the Geocortex API. Building on the Esri Web Map
7
+ Specification, Geocortex Apps enable a declarative approach to working with the
8
+ Geocortex and Esri APIs. Rather than initializing the properties of API objects
9
+ programmatically in code, you can define all of their settings externally in an
10
+ App JSON document. Then, you can access the configured objects via the
11
+ `AppContainer` class. Here is an example Geocortex App containing a map
12
+ extension and a menu:
13
+
14
+ ```
15
+ {
16
+ "schemaVersion": "1.0",
17
+ "items": [
18
+ {
19
+ "$type": "map-extension",
20
+ "id": "default",
21
+ "title": "LA County",
22
+ "webMap": "b6c7a4a9eb5a4954a0d284c6c53537d2"
23
+ },
24
+ {
25
+ "$type": "menu",
26
+ "id": "i-want-to",
27
+ "items": [
28
+ {
29
+ "id": "zoom-in",
30
+ "title": "Zoom In"
31
+ },
32
+ {
33
+ "id": "zoom-out",
34
+ "title": "Zoom Out"
35
+ }
36
+ ]
37
+ }
38
+ ]
39
+ }
40
+ ```
41
+
42
+ In code, you would then access the items defined in this App like so:
43
+
44
+ ```
45
+ const appJson = ... // Load the JSON from somewhere.
46
+ const container = new AppContainer(appJson);
47
+ const mapX = await container.get("map-extension", "default");
48
+ const iwtm = await container.get("menu", "i-want-to");
49
+ ```
50
+
51
+ With the exception of a few special App properties like `$type`, the JSON for
52
+ each item uses the same schema that is supported by the constructor for the
53
+ corresponding API object. For example, this produces the same end result as the
54
+ above code:
55
+
56
+ ```
57
+ const mapX = new MapExtension({
58
+ "id": "default",
59
+ "title": "LA County",
60
+ "webMap": "b6c7a4a9eb5a4954a0d284c6c53537d2"
61
+ });
62
+ const iwtm = new Menu({
63
+ "id": "i-want-to",
64
+ "items": [
65
+ {
66
+ "id": "zoom-in",
67
+ "title": "Zoom In"
68
+ },
69
+ {
70
+ "id": "zoom-out",
71
+ "title": "Zoom Out"
72
+ }
73
+ ]
74
+ });
75
+ ```
76
+
77
+ ## App Items
78
+
79
+ The `items` property of an App contains the set of configured items for an
80
+ application (order is irrelevant). At minimum, each item must have `id` and
81
+ `$type` properties (see [ItemType](apidoc://ItemType/ItemType) for a list of
82
+ default supported types). The combination of type and ID must be unique within
83
+ an App. This means that you are permitted to have two items with an ID of
84
+ `"default"`, but only if they are of different types. IDs must consist of only
85
+ [unreserved URI characters](https://tools.ietf.org/html/rfc3986).
86
+
87
+ Any remaining properties on an item that do not start with "\$" are its
88
+ configured settings, and vary based on the type of item. For example, the map
89
+ extension's `"title"` property in the previous example. These properties will
90
+ get passed in to the appropriate [item factory](#Custom-Item-Types) for that
91
+ item type.
92
+
93
+ ### Item URIs
94
+
95
+ Items in an App can be uniquely identified via URIs that use a special `item://`
96
+ scheme, like so:
97
+
98
+ ```
99
+ item://<type>/<id>
100
+ ```
101
+
102
+ The AppContainer class allows retrieving an item via its `item://` URI:
103
+
104
+ ```
105
+ const mapX = await container.get("item://map-extension/default");
106
+ ```
107
+
108
+ ### Item References
109
+
110
+ The property values for an item can reference other items, using `item://` URIs.
111
+ For example:
112
+
113
+ ```
114
+ items: [
115
+ {
116
+ "$type": "layer-extension",
117
+ "id": "incidents",
118
+ "layer": {
119
+ "layerType": "ArcGISFeatureLayer",
120
+ "url": "http://sampleserver6.arcgisonline.com/arcgis/rest/services/SF311/FeatureServer/0"
121
+ }
122
+ },
123
+ {
124
+ $type: "map-extension",
125
+ id: "default",
126
+ layerExtensions: [
127
+ "item://layer-extension/incidents"
128
+ ]
129
+ }
130
+ ]
131
+ ```
132
+
133
+ When the `item://map-extension/default` item is requested from the AppContainer,
134
+ it will first create the `item://layer-extension/incidents` object that it
135
+ references, and then substitute it in place of the reference prior to creating
136
+ the map extension.
137
+
138
+ **NOTE**: Regardless of how many times an item is requested or referenced by
139
+ other items, only a single object instance is ever created per unique item.
140
+
141
+ ### Custom Item Types
142
+
143
+ By default, AppContainer is pre-configured to understand the various items types
144
+ that are built in the Geocortex API, e.g. MapExtension and Menu. However, you
145
+ can work with custom item types in an App by registering custom item factories
146
+ with AppContainer. An item factory is just a method that takes item
147
+ configuration and produces an actual object. For more information, see
148
+ [AppContainer.registerType()](apidoc://AppContainer.registerType).
149
+
150
+ You can also override the built-in factories for Geocortex API items with your
151
+ own factories to customize how these items are created.
152
+
153
+ ## Settings
154
+
155
+ An App may contain a `settings` block at the top level, which is a place to
156
+ define custom, application-wide settings as a set of key/value pairs. The key is
157
+ a unique name for the setting, and the value is a simple scalar value (string,
158
+ boolean, or number).
159
+
160
+ ```
161
+ {
162
+ "schemaVersion": "1.0",
163
+ "settings": {
164
+ "baseServiceUrl": "http://sampleserver6.arcgisonline.com/arcgis/rest/",
165
+ "defaultMaxResults": 300
166
+ }
167
+ }
168
+ ```
169
+
170
+ Settings can be accessed programmatically via the
171
+ [AppContainer.settings](apidoc://AppContainer.settings) property. Setting values
172
+ can also be referenced within an App by using a special URI syntax:
173
+
174
+ ```
175
+ setting://<setting-name>.
176
+ ```
177
+
178
+ Whenever an item’s property has a value like this, the configuration loader will
179
+ substitute it for the actual setting value. This is useful when a setting is
180
+ used by more than one item in an App, as it gives you a single place to change
181
+ it. You can also insert a setting’s value into a string property or other
182
+ settings, by surrounding the `setting://` URI with `{}` characters within a
183
+ string. For example:
184
+
185
+ ```
186
+ {
187
+ "schemaVersion": "1.0",
188
+ "settings": {
189
+ "baseServiceUrl": "http://sampleserver6.arcgisonline.com/arcgis/rest"
190
+ },
191
+ items: [
192
+ {
193
+ "$type": "layer-extension",
194
+ "id": "hurricanes",
195
+ "layer": {
196
+ "layerType": "ArcGISMapServiceLayer",
197
+ "url": "{setting://baseServiceUrl}/services/Hurricanes/MapServer"
198
+ }
199
+ }
200
+ ]
201
+ }
202
+ ```
203
+
204
+ ## Failure Modes
205
+
206
+ By default, when one item references another and the referenced item cannot be
207
+ created, then the original item cannot be created either. In this case an error
208
+ will occur when you attempt to get the original item from the App container. You
209
+ can adjust this behavior by defining a custom failure mode for an item in the
210
+ top-level `failureModes` property. This property maps an `item://` URI to the
211
+ failure mode value for that item. Possible values are `"error"`, `"warn"`, and
212
+ `"ignore"`, with `"error"` being the default. For example:
213
+
214
+ ```
215
+ {
216
+ "schemaVersion": "1.0",
217
+ items: [
218
+ {
219
+ "$type": "layer-extension",
220
+ "id": "broken",
221
+ "layer": {
222
+ "url": "invalid URL"
223
+ }
224
+ },
225
+ {
226
+ $type: "map-extension",
227
+ id: "default",
228
+ layerExtensions: [
229
+ "item://layer-extension/broken"
230
+ ]
231
+ }
232
+ ],
233
+ "failureModes": [
234
+ "item://layer-extension/broken": "warn"
235
+ ]
236
+ }
237
+ ```
238
+
239
+ In this example, the item `item://layer-extension/broken` contains an invalid
240
+ URL, and so it cannot be created. Normally this would mean that
241
+ `item://map-extension/default` couldn't be created either, but because of the
242
+ configured failure mode of `"warn"` for the layer extension, the map extension
243
+ can still be created. The AppContainer will remove the invalid URI prior to
244
+ creating the map extension, and will raise a special `configWarning` event
245
+ containing details about the item that could not be created. In this case, the
246
+ host application should handle this event by warning the end user about the
247
+ missing layer.
248
+
249
+ Failure modes are also passed on to the item factories. This means that objects
250
+ that are created by the AppContainer can also respond to failure modes. For
251
+ example, MapExtension will honor a layer extension's failure mode if the layer
252
+ fails to load successfully (e.g. the map service is currently unavailable). The
253
+ exact behavior depends on the type of object.
254
+
255
+ ## App Imports
256
+
257
+ An App can import one or more other Apps via the top-level `import` block. This
258
+ is a list of one or more URLs pointing to other Apps to import, like so:
259
+
260
+ ```
261
+ {
262
+ "schemaVersion": "1.0",
263
+ "import": [
264
+ "http://some.company.com/apps/default-basemaps.app.json",
265
+ "default-layers.app.json"
266
+ ]
267
+ }
268
+ ```
269
+
270
+ When an App imports another one, the items, settings, failure modes, etc.
271
+ defined in the referenced app become part of the current App, as though they had
272
+ been defined inline.
273
+
274
+ If the current App contains one or more items that also appear in the imported
275
+ App, then the items' properties are merged, with locally defined property values
276
+ overriding imported ones. Similarly, locally defined settings and failure modes
277
+ override ones that are imported. If multiple Apps are imported, then content
278
+ from Apps that appear later in the list of imports will override the content of
279
+ earlier ones.
280
+
281
+ An imported App can itself contain App imports. In that case, those inner imports
282
+ are resolved first, and the resulting App is then imported into the outer one.
283
+
284
+ ## Importing Apps from Portal
285
+
286
+ It is possible to import Apps from a portal instance by using one of the
287
+ following URI patterns:
288
+
289
+ - portal://<portal-id>/<item-id>
290
+ - portal://<item-id>
291
+
292
+ The first version (with _portal-id_) can be used when you want to specify the
293
+ portal instance where the item is located. In order for this portal:// URI to
294
+ successfully be resolved, you must associate _portal-id_ with an instance of
295
+ @arcgis/core/portal/Portal. This can be done using the _portals_ map in
296
+ @vertigis/arcgis-extensions/config.
297
+
298
+ You can import App configuration from a portal instance like this:
299
+
300
+ ```
301
+ {
302
+ "schemaVersion": "1.0",
303
+ "import": [
304
+ "portal://test-portal/abcdef0123456789abcdef0123456789,
305
+ ]
306
+ }
307
+ ```
308
+
309
+ If the imported configuration has any further imports in form
310
+ portal://<item-id>, these will be changed to use the _portal-id_ of the parent
311
+ App.