@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,98 @@
1
+ # Presentation
2
+
3
+ This document describes the syntax and semantics for presentation attributes:
4
+ * Margin
5
+ * Padding
6
+ * Width
7
+ * Height
8
+ * Grow
9
+ * Horizontal alignment
10
+ * Vertical alignment
11
+
12
+ ## Applicability
13
+
14
+ All attributes apply to all components unless otherwise stated.
15
+
16
+ ## Units
17
+
18
+ All dimensional units are expressed in 'em's, unless specified otherwise, where 1 em is equal to the current font size.
19
+
20
+ ## Margin
21
+
22
+ **Attribute name**: "margin".
23
+ **Expected value**: Either 0 or a positive number (integer or floating point).
24
+ **Description**: Sets the size of the white space outside of the component.
25
+
26
+ **Example**:
27
+ ```
28
+ <map margin="1.5"/> <!-- Sets the margin on a map to be equal to 1.5x the current font size -->
29
+ ```
30
+
31
+ ## Padding
32
+
33
+ **Attribute name**: "padding".
34
+ **Expected value**: Either 0 or a positive number (integer or floating point).
35
+ **Description**: Sets the size of the white space between a component and its content.
36
+ **Applies to**: In the Geocortex Mobile Viewer, this attribute will only apply to components with children, due to technical restrictions.
37
+
38
+ **Example**:
39
+ ```
40
+ <stack padding="0.5"/> <!-- Sets the padding on a stack to be equal to 0.5x the current font size -->
41
+ ```
42
+
43
+ ## Width and Height
44
+
45
+ **Attribute name**: "width".
46
+ **Expected value**: Em units: Either 0 or a positive number (integer or floating point). Example: 12.
47
+
48
+ **Default value**: If a width is not set, then the width shall be the natural width of the component (however much space it needs).
49
+ **Description**: Sets the width of a component. If em units, then the width is a literal value.
50
+
51
+ **Attribute name**: "height".
52
+ **Expected value**: Em units: Either 0 or a positive number (integer or floating point). Example: 12.
53
+
54
+ **Description**: Sets the height of a component. If em units, then the height is a literal value.
55
+
56
+ **Example**:
57
+ ```
58
+ <!-- Sets the width of a map to 30em, and the height to 20em. -->
59
+ <map width="30em" height="20"/>
60
+ ```
61
+
62
+ ## Grow
63
+
64
+ **Attribute name**: "grow".
65
+ **Expected value**: Either 0 or a positive number (integer or floating point).
66
+ **Description**: Sets whether or not a component's width or height will grow over its parents primary axis. Components with a grow of 0 will fill to their natural or requested height. Components with a specified grow will fill up a percentage of the remaining space equal to their grow value divided by the total grow of all sibling components (including the component in question).
67
+ The default value for a component varies by component. For most components, if no grow value is specified, they will default to a grow value of "0". The following components however will have a default grow value of "1":
68
+ * Map
69
+ * Stack
70
+ * Split
71
+
72
+ **Applies to**: All components may specify this value, but it will only take effect if the component is a child of a split or a stack. For stacks, grow indicates how the child grows along the vertical axis. For splits, grow indicates how the child grows along the horizontal axis.
73
+
74
+ **Example**:
75
+ ```
76
+ <stack>
77
+ <!-- Heading will take up whatever vertical space it requires, and will occupy its natural width. -->
78
+ <text content="Heading"/>
79
+ <!-- The first map will occupy 1/3 of the remaining vertical space, and will occupy the full width available. -->
80
+ <map grow="1"/>
81
+ <!-- The first map will occupy 2/3 of the remaining vertical space, and will occupy the full width available. -->
82
+ <map grow="2"/>
83
+ </stack>
84
+ ```
85
+
86
+ ## Alignment
87
+
88
+ **Attribute name**: "halign".
89
+ **Expected value**: One of: "start", "center", or "end"
90
+ **Description**: Describes how the content of a component is aligned. For stacks and splits, the content is the child components. For a component like text, the content is the text itself.
91
+
92
+ **Attribute name**: "valign".
93
+ **Expected value**: One of: "start", "center", or "end"
94
+ **Description**: Describes how the content of a component is aligned. For stacks and splits, the content is the child components. For a component like text, the content is the text itself.
95
+
96
+ ### Effect on cross-axis stretching
97
+ All components will stretch across the cross-axis if the corresponding alignment attribute (halign for stacks, valign for splits) is not set on the parent of that componet. But if a cross-axis alignment is set, then they will no longer stretch across the cross axis (otherwise the effect of alignment would not be observed).
98
+ Some components will stretch across the cross-axis even if the cross-axis alignment is set on the parent: map, stack, split.
@@ -0,0 +1,849 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <schema xmlns="http://www.w3.org/2001/XMLSchema"
3
+ xmlns:tns="https://geocortex.com/layout/v1" targetNamespace="https://geocortex.com/layout/v1" elementFormDefault="qualified"
4
+ xmlns:xs="http://www.w3.org/2001/XMLSchema">
5
+ <element name="layout">
6
+ <complexType>
7
+ <sequence>
8
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded"/>
9
+ <element ref="tns:rootComponent" minOccurs="0" maxOccurs="unbounded"/>
10
+ </sequence>
11
+ <attribute name="orientations">
12
+ <annotation>
13
+ <documentation xml:lang="en">
14
+ Indicates the allowable orientations - landscape or portrait, or both. When set to "landscape" or "portrait", the orientation of
15
+ the device will be locked to the specified value. Defaults to both if value not specified. Applies to iOS and Android Mobile only.
16
+ </documentation>
17
+ </annotation>
18
+ <simpleType>
19
+ <restriction base="string">
20
+ <enumeration value="landscape"/>
21
+ <enumeration value="portrait"/>
22
+ <enumeration value="portrait,landscape"/>
23
+ </restriction>
24
+ </simpleType>
25
+ </attribute>
26
+ </complexType>
27
+ </element>
28
+
29
+ <complexType name="ComponentWithChildren" abstract="true">
30
+ <complexContent mixed="true">
31
+ <extension base="tns:Component">
32
+ <choice>
33
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded"/>
34
+ </choice>
35
+ </extension>
36
+ </complexContent>
37
+ </complexType>
38
+
39
+ <element name="rootComponent" type="tns:RootComponent" abstract="true"/>
40
+
41
+ <complexType name="RootComponent" abstract="true">
42
+ <complexContent mixed="true">
43
+ <extension base="tns:Component">
44
+ <choice>
45
+ <element ref="tns:component" minOccurs="1" maxOccurs="unbounded"/>
46
+ </choice>
47
+ </extension>
48
+ </complexContent>
49
+ </complexType>
50
+
51
+ <element name="component" type="tns:Component" abstract="true"/>
52
+
53
+ <complexType name="Component" abstract="true">
54
+ <annotation>
55
+ <documentation xml:lang="en">
56
+ A visual element of an application's UI, e.g. a button, a map, a
57
+ a dialog box, a panel, etc.
58
+ </documentation>
59
+ </annotation>
60
+ <sequence/>
61
+ <attribute name="id" type="ID">
62
+ <annotation>
63
+ <documentation xml:lang="en">
64
+ A unique ID for the component.
65
+ </documentation>
66
+ </annotation>
67
+ </attribute>
68
+ <attribute name="title" type="string">
69
+ <annotation>
70
+ <documentation xml:lang="en">
71
+ A human-readable title for the component. Where the title
72
+ appears (or whether it appears at all) varies with each type
73
+ of component.
74
+ </documentation>
75
+ </annotation>
76
+ </attribute>
77
+ <attribute name="icon" type="string">
78
+ <annotation>
79
+ <documentation xml:lang="en">
80
+ A resource key that can be mapped to an image for the icon.
81
+ Where the icon appears (or whether it appears at all) varies
82
+ with each type of component.
83
+ </documentation>
84
+ </annotation>
85
+ </attribute>
86
+ <attribute name="config" type="string">
87
+ <annotation>
88
+ <documentation xml:lang="en">
89
+ The ID of a corresponding item in a Geocortex App that
90
+ contains this component's configuration and state.
91
+ </documentation>
92
+ </annotation>
93
+ </attribute>
94
+ <attribute name="width">
95
+ <annotation>
96
+ <documentation xml:lang="en">
97
+ The width of the component, in em units.
98
+ </documentation>
99
+ </annotation>
100
+ <simpleType>
101
+ <restriction base="double">
102
+ <minInclusive value="0" />
103
+ </restriction>
104
+ </simpleType>
105
+ </attribute>
106
+ <attribute name="height">
107
+ <annotation>
108
+ <documentation xml:lang="en">
109
+ The height of the component, in em units.
110
+ </documentation>
111
+ </annotation>
112
+ <simpleType>
113
+ <restriction base="double">
114
+ <minInclusive value="0" />
115
+ </restriction>
116
+ </simpleType>
117
+ </attribute>
118
+ <attribute name="margin" type="double">
119
+ <annotation>
120
+ <documentation xml:lang="en">
121
+ The margin around the component, in em units.
122
+ </documentation>
123
+ </annotation>
124
+ </attribute>
125
+ <attribute name="padding" type="double">
126
+ <annotation>
127
+ <documentation xml:lang="en">
128
+ The padding within the component, in em units.
129
+ </documentation>
130
+ </annotation>
131
+ </attribute>
132
+ <attribute name="halign" default="start">
133
+ <annotation>
134
+ <documentation xml:lang="en">
135
+ Describes how the content of a component is horizontally
136
+ aligned. For stacks and splits, the content is the child
137
+ components. For a component like text, the content is the
138
+ text itself.
139
+ </documentation>
140
+ </annotation>
141
+ <simpleType>
142
+ <restriction base="string">
143
+ <enumeration value="start"/>
144
+ <enumeration value="center"/>
145
+ <enumeration value="end"/>
146
+ </restriction>
147
+ </simpleType>
148
+ </attribute>
149
+ <attribute name="valign" default="start">
150
+ <annotation>
151
+ <documentation xml:lang="en">
152
+ Describes how the content of a component is vertically
153
+ aligned. For stacks and splits, the content is the child
154
+ components. For a component like text, the content is the
155
+ text itself.
156
+ </documentation>
157
+ </annotation>
158
+ <simpleType>
159
+ <restriction base="string">
160
+ <enumeration value="start"/>
161
+ <enumeration value="center"/>
162
+ <enumeration value="end"/>
163
+ </restriction>
164
+ </simpleType>
165
+ </attribute>
166
+ <attribute name="grow" default="0">
167
+ <annotation>
168
+ <documentation xml:lang="en">
169
+ Sets whether or not a component's width or height will grow
170
+ over its parents primary axis. Components with a grow of 0
171
+ will fill to their natural or requested width/height.
172
+ Components with a specified grow will fill up a percentage
173
+ of the remaining space equal to their grow value divided by
174
+ the total grow of all sibling components (including the
175
+ component in question).
176
+ </documentation>
177
+ </annotation>
178
+ <simpleType>
179
+ <restriction base="double">
180
+ <minInclusive value="0" />
181
+ </restriction>
182
+ </simpleType>
183
+ </attribute>
184
+ <attribute name="slot" type="string">
185
+ <annotation>
186
+ <documentation xml:lang="en">
187
+ When a component is nested inside of another component, it
188
+ may explicitly reference a named "slot" in the parent
189
+ component to indicate where the child should appear.
190
+ </documentation>
191
+ </annotation>
192
+ </attribute>
193
+ <attribute name="active" type="boolean">
194
+ <annotation>
195
+ <documentation xml:lang="en">
196
+ Specifies whether a component is active by default or not. When this
197
+ attribute is not defined, the parent component decides the child's
198
+ behavior. In Web, an inactive component means that the component is
199
+ initially not visible. An active component means the component is
200
+ initially visible. In Mobile, inactive and active components are up to
201
+ the interpretation of the parent to decide on how to render.
202
+ </documentation>
203
+ </annotation>
204
+ </attribute>
205
+ <attribute name="models" type="string">
206
+ <annotation>
207
+ <documentation xml:lang="en">
208
+ Some components import the models of other components (for
209
+ example, a scalebar component might need access to a map
210
+ component's model). When these relationships cannot be
211
+ determined implicitly from the layout, then the layout
212
+ author can explicitly specify these dependencies via this
213
+ attribute. The value is a comma-separated list of CSS-style
214
+ selectors indiciating which components to import models
215
+ from. For example, "map,#primary-scene" would specify all
216
+ map components and a component with ID "primary-scene".
217
+ </documentation>
218
+ </annotation>
219
+ </attribute>
220
+ </complexType>
221
+
222
+ <!-- Basic Components -->
223
+
224
+ <element name="button" substitutionGroup="tns:component">
225
+ <annotation>
226
+ <documentation xml:lang="en">
227
+ A button that executes a command when clicked. The caption will be
228
+ the contained text, e.g. "Click Me!" in the case of
229
+ <![CDATA[<button>Click Me!</button>]]>.
230
+ </documentation>
231
+ </annotation>
232
+ <complexType>
233
+ <complexContent mixed="true">
234
+ <extension base="tns:Component">
235
+ <attribute name="command" type="string">
236
+ <annotation>
237
+ <documentation xml:lang="en">
238
+ The name of the command to execute.
239
+ </documentation>
240
+ </annotation>
241
+ </attribute>
242
+ <attribute name="arguments" type="string">
243
+ <annotation>
244
+ <documentation xml:lang="en">
245
+ The arguments for the command (optional).
246
+ </documentation>
247
+ </annotation>
248
+ </attribute>
249
+ <attribute name="style">
250
+ <annotation>
251
+ <documentation xml:lang="en">
252
+ The desired visual style for the button.
253
+ </documentation>
254
+ </annotation>
255
+ <simpleType>
256
+ <restriction base="string">
257
+ <enumeration value="round"/>
258
+ <enumeration value="square"/>
259
+ </restriction>
260
+ </simpleType>
261
+ </attribute>
262
+ <attribute name="show-title" type="boolean" default="true">
263
+ <annotation>
264
+ <documentation xml:lang="en">
265
+ Whether to show the button's title.
266
+ </documentation>
267
+ </annotation>
268
+ </attribute>
269
+ </extension>
270
+ </complexContent>
271
+ </complexType>
272
+ </element>
273
+
274
+ <element name="bookmarks" substitutionGroup="tns:component">
275
+ <annotation>
276
+ <documentation xml:lang="en">
277
+ A component that shows the bookmarks associated with a map,
278
+ and allows users to create their own bookmarks.
279
+ </documentation>
280
+ </annotation>
281
+ <complexType>
282
+ <complexContent>
283
+ <extension base="tns:Component">
284
+ <attribute name="style">
285
+ <annotation>
286
+ <documentation xml:lang="en">
287
+ The desired visual style for the button.
288
+ </documentation>
289
+ </annotation>
290
+ <simpleType>
291
+ <restriction base="string">
292
+ <enumeration value="round"/>
293
+ <enumeration value="square"/>
294
+ </restriction>
295
+ </simpleType>
296
+ </attribute>
297
+ </extension>
298
+ </complexContent>
299
+ </complexType>
300
+ </element>
301
+
302
+ <element name="dialog" substitutionGroup="tns:rootComponent">
303
+ <annotation>
304
+ <documentation xml:lang="en">
305
+ Displays a single child component in a dialog. Initially hidden. Displayed when
306
+ the dialog component is activated. Not supported in Web.
307
+ </documentation>
308
+ </annotation>
309
+ <complexType>
310
+ <complexContent>
311
+ <extension base="tns:RootComponent" />
312
+ </complexContent>
313
+ </complexType>
314
+ </element>
315
+
316
+ <element name="expand" substitutionGroup="tns:component">
317
+ <annotation>
318
+ <documentation xml:lang="en">
319
+ A container whose content is hidden by default and only becomes visible
320
+ when the small "expand" button is clicked. When the button is clicked,
321
+ the container "pops up" and appears beside the expand button. Clicking
322
+ the expand button while the container is open closes the container. This
323
+ component is useful for hiding widget-like components that become
324
+ visible at the click of a button.
325
+ </documentation>
326
+ </annotation>
327
+ <complexType>
328
+ <complexContent mixed="true">
329
+ <extension base="tns:ComponentWithChildren">
330
+ <attribute name="visual-state">
331
+ <annotation>
332
+ <documentation xml:lang="en">
333
+ The initial state of the Expand. Not supported in Mobile.
334
+ </documentation>
335
+ </annotation>
336
+ <simpleType>
337
+ <restriction base="string">
338
+ <enumeration value="open"/>
339
+ <enumeration value="closed"/>
340
+ </restriction>
341
+ </simpleType>
342
+ </attribute>
343
+ <attribute name="modal" type="boolean" default="true">
344
+ <annotation>
345
+ <documentation xml:lang="en">
346
+ Whether or not the expand container behaves as a modal window.
347
+ </documentation>
348
+ </annotation>
349
+ </attribute>
350
+ <attribute name="showIcon" type="boolean" default="true">
351
+ <annotation>
352
+ <documentation xml:lang="en">
353
+ Whether or not the icon should be displayed.
354
+ </documentation>
355
+ </annotation>
356
+ </attribute>
357
+ <attribute name="showTitle" type="boolean" default="false">
358
+ <annotation>
359
+ <documentation xml:lang="en">
360
+ Whether or not the title should be displayed.
361
+ </documentation>
362
+ </annotation>
363
+ </attribute>
364
+ <attribute name="style">
365
+ <annotation>
366
+ <documentation xml:lang="en">
367
+ The desired visual style for the button.
368
+ </documentation>
369
+ </annotation>
370
+ <simpleType>
371
+ <restriction base="string">
372
+ <enumeration value="round"/>
373
+ <enumeration value="square"/>
374
+ </restriction>
375
+ </simpleType>
376
+ </attribute>
377
+ </extension>
378
+ </complexContent>
379
+ </complexType>
380
+ </element>
381
+
382
+ <element name="image" substitutionGroup="tns:component">
383
+ <annotation>
384
+ <documentation xml:lang="en">
385
+ An image. Not supported in Mobile.
386
+ </documentation>
387
+ </annotation>
388
+ <complexType>
389
+ <complexContent>
390
+ <extension base="tns:Component" />
391
+ </complexContent>
392
+ </complexType>
393
+ </element>
394
+
395
+ <element name="iwtm" substitutionGroup="tns:component">
396
+ <annotation>
397
+ <documentation xml:lang="en">
398
+ An "I Want To..." menu (the actual title can be specified via the
399
+ "title" attribute). Has a single slot in Web, at the top. Supports
400
+ both "top" and "bottom" named slots in Mobile.
401
+ </documentation>
402
+ </annotation>
403
+ <complexType>
404
+ <complexContent>
405
+ <extension base="tns:ComponentWithChildren" />
406
+ </complexContent>
407
+ </complexType>
408
+ </element>
409
+
410
+ <element name="panel" substitutionGroup="tns:component">
411
+ <annotation>
412
+ <documentation xml:lang="en">
413
+ A container that enables hierarchical navigation between its
414
+ child components. The user can navigate backwards to
415
+ components that were activated prior to the currently active
416
+ component and are ordered above the current component in
417
+ configuration. The last component that is marked as active
418
+ will be initially displayed, with all other components
419
+ configured above that last component as active being
420
+ accessible via navigating backwards.
421
+ For example, if a panel has child components A, B, and C
422
+ (configured in that order), and initially A is active, then
423
+ activating C would display the C component but allow the user
424
+ to navigate back to A. If the user then activated B while C
425
+ is active, then C would be popped, and B would be shown,
426
+ again with a back button to navigate to A but with no way of
427
+ navigating to C because the configured order is maintained.
428
+ </documentation>
429
+ </annotation>
430
+ <complexType>
431
+ <complexContent mixed="true">
432
+ <extension base="tns:ComponentWithChildren">
433
+ <attribute name="show-close-button" type="boolean" default="true">
434
+ <annotation>
435
+ <documentation xml:lang="en">
436
+ Whether to show a button that closes the Panel. Not supported in
437
+ Mobile.
438
+ </documentation>
439
+ </annotation>
440
+ </attribute>
441
+ <attribute name="show-back-button" type="boolean" default="true">
442
+ <annotation>
443
+ <documentation xml:lang="en">
444
+ Whether to show a button that allows the user to go "back". If a
445
+ Panel has child components A, B, and C, and C is currently
446
+ active, clicking the back button will hide C and B will be
447
+ shown. Not supported in Mobile.
448
+ </documentation>
449
+ </annotation>
450
+ </attribute>
451
+ <attribute name="show-maximize-button" type="boolean" default="true">
452
+ <annotation>
453
+ <documentation xml:lang="en">
454
+ Whether to show a button that allows the user to maximize the
455
+ panel. A maximized panel will grow and fill the size of its
456
+ parent container. Not supported in Mobile.
457
+ </documentation>
458
+ </annotation>
459
+ </attribute>
460
+ <attribute name="show-minimize-button" type="boolean" default="true">
461
+ <annotation>
462
+ <documentation xml:lang="en">
463
+ Whether to show a button that allows the user to minimize the
464
+ panel. A minimized panel will shrink to a small bar that only
465
+ contains a "restore size" button. In a split, this is a vertical
466
+ bar; in a stack (and other containers the arrange children
467
+ vertically), this is a horizontal bar. Not supported in Mobile.
468
+ </documentation>
469
+ </annotation>
470
+ </attribute>
471
+ <attribute name="visual-state">
472
+ <annotation>
473
+ <documentation xml:lang="en">
474
+ The initial state of the panel. Not supported in Mobile.
475
+ </documentation>
476
+ </annotation>
477
+ <simpleType>
478
+ <restriction base="string">
479
+ <enumeration value="normal"/>
480
+ <enumeration value="minimized"/>
481
+ <enumeration value="maximized"/>
482
+ </restriction>
483
+ </simpleType>
484
+ </attribute>
485
+ </extension>
486
+ </complexContent>
487
+ </complexType>
488
+ </element>
489
+
490
+ <element name="split" substitutionGroup="tns:component">
491
+ <annotation>
492
+ <documentation xml:lang="en">
493
+ A container for other components that organizes its children
494
+ horizontally.
495
+ </documentation>
496
+ </annotation>
497
+ <complexType>
498
+ <complexContent mixed="true">
499
+ <extension base="tns:Component">
500
+ <choice>
501
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded"/>
502
+ </choice>
503
+ <attribute name="resizable" type="boolean" default="false">
504
+ <annotation>
505
+ <documentation xml:lang="en">
506
+ Whether the user can interactively resize the
507
+ contained components. Not supported on all
508
+ platforms.
509
+ </documentation>
510
+ </annotation>
511
+ </attribute>
512
+ </extension>
513
+ </complexContent>
514
+ </complexType>
515
+ </element>
516
+
517
+ <element name="stack" substitutionGroup="tns:component">
518
+ <annotation>
519
+ <documentation xml:lang="en">
520
+ A container for other components that organizes its children
521
+ vertically.
522
+ </documentation>
523
+ </annotation>
524
+ <complexType>
525
+ <complexContent mixed="true">
526
+ <extension base="tns:Component">
527
+ <choice>
528
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded"/>
529
+ </choice>
530
+ <attribute name="resizable" type="boolean" default="false">
531
+ <annotation>
532
+ <documentation xml:lang="en">
533
+ Whether the user can interactively resize the
534
+ contained components. Not supported on all
535
+ platforms.
536
+ </documentation>
537
+ </annotation>
538
+ </attribute>
539
+ </extension>
540
+ </complexContent>
541
+ </complexType>
542
+ </element>
543
+
544
+ <element name="text" substitutionGroup="tns:component">
545
+ <annotation>
546
+ <documentation xml:lang="en">
547
+ A component that displays text.
548
+ </documentation>
549
+ </annotation>
550
+ <complexType>
551
+ <complexContent mixed="true">
552
+ <extension base="tns:Component" />
553
+ </complexContent>
554
+ </complexType>
555
+ </element>
556
+
557
+ <!-- NOTE: GXW-only, despite being in the common namespace. -->
558
+ <element name="toolbar" substitutionGroup="tns:component">
559
+ <annotation>
560
+ <documentation xml:lang="en">
561
+ A toolbar menu. The toolbar supports up to one level of nesting (a set of
562
+ tools can be grouped together in one 'parent' that is displayed on the
563
+ root toolbar menu.). Not supported in Mobile.
564
+ </documentation>
565
+ </annotation>
566
+ <complexType>
567
+ <complexContent>
568
+ <extension base="tns:Component">
569
+ <attribute name="orientation">
570
+ <annotation>
571
+ <documentation xml:lang="en">
572
+ Determines the orientation of the toolbar menu items.
573
+ </documentation>
574
+ </annotation>
575
+ <simpleType>
576
+ <restriction base="string">
577
+ <enumeration value="vertical"/>
578
+ <enumeration value="horizontal"/>
579
+ </restriction>
580
+ </simpleType>
581
+ </attribute>
582
+ <attribute name="showTitles" type="boolean" default="true">
583
+ <annotation>
584
+ <documentation xml:lang="en">
585
+ Whether to display the titles on buttons. You may wish to hide
586
+ the titles in order to show just icons.
587
+ </documentation>
588
+ </annotation>
589
+ </attribute>
590
+ <attribute name="showDescriptions" type="boolean" default="true">
591
+ <annotation>
592
+ <documentation xml:lang="en">
593
+ Whether to display the descriptions inline in buttons. If turned
594
+ off, the description will be in the tooltip instead for desktop
595
+ users. No effect unless the orientation is "vertical" and titles
596
+ are also shown.
597
+ </documentation>
598
+ </annotation>
599
+ </attribute>
600
+ </extension>
601
+ </complexContent>
602
+ </complexType>
603
+ </element>
604
+
605
+ <element name="user" substitutionGroup="tns:component">
606
+ <annotation>
607
+ <documentation xml:lang="en">
608
+ Shows information about the current user (if there is one), and allows
609
+ the user to sign in or out as appropriate. The user component does not
610
+ support child components in Mobile.
611
+ </documentation>
612
+ </annotation>
613
+ <complexType>
614
+ <complexContent>
615
+ <extension base="tns:ComponentWithChildren" />
616
+ </complexContent>
617
+ </complexType>
618
+ </element>
619
+
620
+ <element name="workflow" substitutionGroup="tns:component">
621
+ <annotation>
622
+ <documentation xml:lang="en">
623
+ A component that hosts workflow forms. When a workflow item config is
624
+ specified, the workflow will be run when the component is activated. Any
625
+ command to run a workflow can use the component by adding
626
+ '#{componentId}' to its target. If the component is activated outside
627
+ the context of running a workflow, and does not have a workflow item
628
+ config, it will appear empty. Only one workflow can use the component at
629
+ a time. If a second workflow attempts to use the component, the user
630
+ will be asked to cancel one of the workflows in Mobile. In Web, the
631
+ first workflow is canceled automatically.
632
+ </documentation>
633
+ </annotation>
634
+ <complexType>
635
+ <complexContent mixed="true">
636
+ <extension base="tns:Component" />
637
+ </complexContent>
638
+ </complexType>
639
+ </element>
640
+
641
+ <!-- GIS Components -->
642
+
643
+ <element name="basemap-picker" substitutionGroup="tns:component">
644
+ <annotation>
645
+ <documentation xml:lang="en">
646
+ Allows users to choose between available basemaps for the webmap or
647
+ webscene. Requiers an associated map component (see the "models"
648
+ attribute).
649
+ </documentation>
650
+ </annotation>
651
+ <complexType>
652
+ <complexContent>
653
+ <extension base="tns:Component" />
654
+ </complexContent>
655
+ </complexType>
656
+ </element>
657
+
658
+ <element name="compass" substitutionGroup="tns:component">
659
+ <annotation>
660
+ <documentation xml:lang="en">
661
+ Displays a North-pointing compass that rotates with the rotation of the map to which it is associated.
662
+ </documentation>
663
+ </annotation>
664
+ <complexType>
665
+ <complexContent>
666
+ <extension base="tns:Component" />
667
+ </complexContent>
668
+ </complexType>
669
+ </element>
670
+
671
+ <element name="feature-details" substitutionGroup="tns:component">
672
+ <annotation>
673
+ <documentation xml:lang="en">
674
+ A component that allows the user to view feature details.
675
+ </documentation>
676
+ </annotation>
677
+ <complexType>
678
+ <complexContent>
679
+ <extension base="tns:Component" />
680
+ </complexContent>
681
+ </complexType>
682
+ </element>
683
+
684
+ <element name="geolocate" substitutionGroup="tns:component">
685
+ <annotation>
686
+ <documentation xml:lang="en">
687
+ Displays a clickable/tappable indicator that toggles GPS geolocation behavior. In Mobile,
688
+ the accuracy is also shown, and can be displayed in either metric or imperial units.
689
+ </documentation>
690
+ </annotation>
691
+ <complexType>
692
+ <complexContent>
693
+ <extension base="tns:Component" />
694
+ </complexContent>
695
+ </complexType>
696
+ </element>
697
+
698
+ <element name="layer-list" substitutionGroup="tns:component">
699
+ <annotation>
700
+ <documentation xml:lang="en">
701
+ Allows users to see the structure of layers on the map and change their
702
+ visibility. Requires an associated map component (see the "models"
703
+ attribute).
704
+ </documentation>
705
+ </annotation>
706
+ <complexType>
707
+ <complexContent>
708
+ <extension base="tns:Component" />
709
+ </complexContent>
710
+ </complexType>
711
+ </element>
712
+
713
+ <element name="layer-presets" substitutionGroup="tns:component">
714
+ <annotation>
715
+ <documentation xml:lang="en">
716
+ A component that shows a list of layer presets and allows users
717
+ to apply them.
718
+ </documentation>
719
+ </annotation>
720
+ <complexType>
721
+ <complexContent>
722
+ <extension base="tns:Component" />
723
+ </complexContent>
724
+ </complexType>
725
+ </element>
726
+
727
+ <element name="legend" substitutionGroup="tns:component">
728
+ <annotation>
729
+ <documentation xml:lang="en">
730
+ Allows the user to see the symbology of the layers on the map. Requires
731
+ an associated map component (see the "models" attribute").
732
+ </documentation>
733
+ </annotation>
734
+ <complexType>
735
+ <complexContent>
736
+ <extension base="tns:Component" />
737
+ </complexContent>
738
+ </complexType>
739
+ </element>
740
+
741
+ <element name="map" substitutionGroup="tns:component">
742
+ <annotation>
743
+ <documentation xml:lang="en">
744
+ A 2D map (and/or a 3D scene in Web). A map can host child components and
745
+ has the following slots in Mobile: "top-left", "top-right",
746
+ "bottom-left", "bottom-right", "top", "top-center-visible", "bottom" and
747
+ "bottom-center-visible". A child component in the "center-visible" slot
748
+ will be centered in the visible area of the map, factoring in other
749
+ components that are overlapping the map.
750
+
751
+ A map in Web has the following slots: "top-start", "top-center",
752
+ "top-end", "bottom-start", "bottom-center", "bottom-end",
753
+ "context-menu", and "popup". In left-to-right locales, "start" will be
754
+ on the left, and "end" will be on the right. In right-to-left locales,
755
+ these will be reversed.
756
+ </documentation>
757
+ </annotation>
758
+ <complexType>
759
+ <complexContent mixed="true">
760
+ <extension base="tns:ComponentWithChildren" />
761
+ </complexContent>
762
+ </complexType>
763
+ </element>
764
+
765
+ <!-- NOTE: GXW-only, despite being in the common namespace. -->
766
+ <element name="map-coordinates" substitutionGroup="tns:component">
767
+ <annotation>
768
+ <documentation xml:lang="en">
769
+ Allows the user to see the coordinates under the current mouse position.
770
+ Requires an associated map component (see the "models" attribute"). Not
771
+ supported in Mobile.
772
+ </documentation>
773
+ </annotation>
774
+ <complexType>
775
+ <complexContent>
776
+ <extension base="tns:Component" />
777
+ </complexContent>
778
+ </complexType>
779
+ </element>
780
+
781
+ <element name="results-list" substitutionGroup="tns:component">
782
+ <annotation>
783
+ <documentation xml:lang="en">
784
+ A component that allows the user to view results from a search,
785
+ identify, query, or any other activity that produces features in a list
786
+ view.
787
+ </documentation>
788
+ </annotation>
789
+ <complexType>
790
+ <complexContent>
791
+ <extension base="tns:Component" />
792
+ </complexContent>
793
+ </complexType>
794
+ </element>
795
+
796
+ <element name="scalebar" substitutionGroup="tns:component">
797
+ <annotation>
798
+ <documentation xml:lang="en">
799
+ A component that shows the scale of a map.
800
+ </documentation>
801
+ </annotation>
802
+ <complexType>
803
+ <complexContent>
804
+ <extension base="tns:Component" />
805
+ </complexContent>
806
+ </complexType>
807
+ </element>
808
+
809
+ <element name="search" substitutionGroup="tns:component">
810
+ <annotation>
811
+ <documentation xml:lang="en">
812
+ A component that allows the user to search one ore more sources
813
+ (maps, scenes, tables, geocoders, etc.).
814
+ </documentation>
815
+ </annotation>
816
+ <complexType>
817
+ <complexContent>
818
+ <extension base="tns:Component" />
819
+ </complexContent>
820
+ </complexType>
821
+ </element>
822
+
823
+ <element name="search-new-extent" substitutionGroup="tns:component">
824
+ <annotation>
825
+ <documentation xml:lang="en">
826
+ A component that provides a single button that allows the user to "search this area"
827
+ when the extent of the map changes to be different than the extent that was originally searched.
828
+ </documentation>
829
+ </annotation>
830
+ <complexType>
831
+ <complexContent>
832
+ <extension base="tns:Component" />
833
+ </complexContent>
834
+ </complexType>
835
+ </element>
836
+
837
+ <element name="zoom" substitutionGroup="tns:component">
838
+ <annotation>
839
+ <documentation xml:lang="en">
840
+ Displays a pair of buttons that allow the user to zoom the map in or out.
841
+ </documentation>
842
+ </annotation>
843
+ <complexType>
844
+ <complexContent>
845
+ <extension base="tns:Component" />
846
+ </complexContent>
847
+ </complexType>
848
+ </element>
849
+ </schema>