@vertigis/viewer-spec 58.9.0 → 58.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.
@@ -1,1240 +1,1240 @@
1
- <?xml version="1.0" encoding="UTF-8" ?>
2
- <schema
3
- xmlns="http://www.w3.org/2001/XMLSchema"
4
- xmlns:tns="https://geocortex.com/layout/v1"
5
- targetNamespace="https://geocortex.com/layout/v1"
6
- elementFormDefault="qualified"
7
- xmlns:xs="http://www.w3.org/2001/XMLSchema"
8
- >
9
- <element name="layout">
10
- <complexType>
11
- <sequence>
12
- <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
13
- <element ref="tns:rootComponent" minOccurs="0" maxOccurs="unbounded" />
14
- </sequence>
15
- <attribute name="orientations">
16
- <annotation>
17
- <documentation xml:lang="en">
18
- Indicates the allowable orientations - landscape or portrait, or both. When
19
- set to "landscape" or "portrait", the orientation of
20
- the device will be locked to the specified value. Defaults to both if value
21
- not specified. Applies to iOS and Android Mobile only.
22
- </documentation>
23
- </annotation>
24
- <simpleType>
25
- <restriction base="string">
26
- <enumeration value="landscape" />
27
- <enumeration value="portrait" />
28
- <enumeration value="portrait,landscape" />
29
- </restriction>
30
- </simpleType>
31
- </attribute>
32
- </complexType>
33
- </element>
34
-
35
- <complexType name="ComponentWithChildren" abstract="true">
36
- <complexContent mixed="true">
37
- <extension base="tns:Component">
38
- <choice>
39
- <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
40
- </choice>
41
- <attribute name="gap">
42
- <annotation>
43
- <documentation xml:lang="en">
44
- The gaps (gutters) between child components in em
45
- units (double) or in spacing units (string)
46
- represented as the units followed by an 's' eg:
47
- '1s`. Web only.
48
- </documentation>
49
- </annotation>
50
- <simpleType>
51
- <union>
52
- <simpleType>
53
- <restriction base="double" />
54
- </simpleType>
55
- <simpleType>
56
- <restriction base="string">
57
- <pattern value="[0-9]+s" />
58
- </restriction>
59
- </simpleType>
60
- </union>
61
- </simpleType>
62
- </attribute>
63
- </extension>
64
- </complexContent>
65
- </complexType>
66
-
67
- <element name="rootComponent" type="tns:RootComponent" abstract="true" />
68
-
69
- <complexType name="RootComponent" abstract="true">
70
- <complexContent mixed="true">
71
- <extension base="tns:Component">
72
- <choice>
73
- <element ref="tns:component" minOccurs="1" maxOccurs="unbounded" />
74
- </choice>
75
- </extension>
76
- </complexContent>
77
- </complexType>
78
-
79
- <element name="component" type="tns:Component" abstract="true" />
80
-
81
- <complexType name="Component" abstract="true">
82
- <annotation>
83
- <documentation xml:lang="en">
84
- A visual element of an application's UI, e.g. a button, a map, a
85
- a dialog box, a panel, etc.
86
- </documentation>
87
- </annotation>
88
- <sequence />
89
- <attribute name="id" type="ID">
90
- <annotation>
91
- <documentation xml:lang="en">A unique ID for the component.</documentation>
92
- </annotation>
93
- </attribute>
94
- <attribute name="title" type="string">
95
- <annotation>
96
- <documentation xml:lang="en">
97
- A human-readable title for the component. Where the title
98
- appears (or whether it appears at all) varies with each type
99
- of component.
100
- </documentation>
101
- </annotation>
102
- </attribute>
103
- <attribute name="icon" type="string">
104
- <annotation>
105
- <documentation xml:lang="en">
106
- A resource key that can be mapped to an image for the icon.
107
- Where the icon appears (or whether it appears at all) varies
108
- with each type of component.
109
- </documentation>
110
- </annotation>
111
- </attribute>
112
- <attribute name="config" type="string">
113
- <annotation>
114
- <documentation xml:lang="en">
115
- The ID of a corresponding item in a VertiGIS Studio App that
116
- contains this component's configuration and state.
117
- </documentation>
118
- </annotation>
119
- </attribute>
120
- <attribute name="width">
121
- <annotation>
122
- <documentation xml:lang="en">
123
- The width of the component, in em units.
124
- </documentation>
125
- </annotation>
126
- <simpleType>
127
- <restriction base="double">
128
- <minInclusive value="0" />
129
- </restriction>
130
- </simpleType>
131
- </attribute>
132
- <attribute name="height">
133
- <annotation>
134
- <documentation xml:lang="en">
135
- The height of the component, in em units.
136
- </documentation>
137
- </annotation>
138
- <simpleType>
139
- <restriction base="double">
140
- <minInclusive value="0" />
141
- </restriction>
142
- </simpleType>
143
- </attribute>
144
- <attribute name="margin">
145
- <annotation>
146
- <documentation xml:lang="en">
147
- The margin around the component, in em units. In web this
148
- can also be specified in spacing units (string) represented
149
- as the units followed by an 's' eg: '1s`.
150
- </documentation>
151
- </annotation>
152
- <simpleType>
153
- <union>
154
- <simpleType>
155
- <restriction base="double" />
156
- </simpleType>
157
- <simpleType>
158
- <restriction base="string">
159
- <pattern value="[0-9]+s" />
160
- </restriction>
161
- </simpleType>
162
- </union>
163
- </simpleType>
164
- </attribute>
165
- <attribute name="padding">
166
- <annotation>
167
- <documentation xml:lang="en">
168
- The padding within the component, in em units. In web this
169
- can also be specified in spacing units (string) represented
170
- as the units followed by an 's' eg: '1s`.
171
- </documentation>
172
- </annotation>
173
- <simpleType>
174
- <union>
175
- <simpleType>
176
- <restriction base="double" />
177
- </simpleType>
178
- <simpleType>
179
- <restriction base="string">
180
- <pattern value="[0-9]+s" />
181
- </restriction>
182
- </simpleType>
183
- </union>
184
- </simpleType>
185
- </attribute>
186
- <attribute name="halign" default="start">
187
- <annotation>
188
- <documentation xml:lang="en">
189
- Describes how the content of a component is horizontally
190
- aligned. For stacks and splits, the content is the child
191
- components. For a component like text, the content is the
192
- text itself.
193
- </documentation>
194
- </annotation>
195
- <simpleType>
196
- <restriction base="string">
197
- <enumeration value="start" />
198
- <enumeration value="center" />
199
- <enumeration value="end" />
200
- </restriction>
201
- </simpleType>
202
- </attribute>
203
- <attribute name="valign" default="start">
204
- <annotation>
205
- <documentation xml:lang="en">
206
- Describes how the content of a component is vertically
207
- aligned. For stacks and splits, the content is the child
208
- components. For a component like text, the content is the
209
- text itself.
210
- </documentation>
211
- </annotation>
212
- <simpleType>
213
- <restriction base="string">
214
- <enumeration value="start" />
215
- <enumeration value="center" />
216
- <enumeration value="end" />
217
- </restriction>
218
- </simpleType>
219
- </attribute>
220
- <attribute name="grow" default="0">
221
- <annotation>
222
- <documentation xml:lang="en">
223
- Sets whether or not a component's width or height will grow
224
- over its parents primary axis. Components with a grow of 0
225
- will fill to their natural or requested width/height.
226
- Components with a specified grow will fill up a percentage
227
- of the remaining space equal to their grow value divided by
228
- the total grow of all sibling components (including the
229
- component in question).
230
- </documentation>
231
- </annotation>
232
- <simpleType>
233
- <restriction base="double">
234
- <minInclusive value="0" />
235
- </restriction>
236
- </simpleType>
237
- </attribute>
238
- <attribute name="slot" type="string">
239
- <annotation>
240
- <documentation xml:lang="en">
241
- When a component is nested inside of another component, it
242
- may explicitly reference a named "slot" in the parent
243
- component to indicate where the child should appear.
244
- </documentation>
245
- </annotation>
246
- </attribute>
247
- <attribute name="active" type="boolean">
248
- <annotation>
249
- <documentation xml:lang="en">
250
- Specifies whether a component is active by default or not.
251
- When this attribute is not defined, the parent component
252
- decides the child's behavior. In Web, an inactive component
253
- means that the component is initially not visible. An active
254
- component means the component is initially visible. In
255
- Mobile, inactive and active components are up to the
256
- interpretation of the parent to decide on how to render.
257
- </documentation>
258
- </annotation>
259
- </attribute>
260
- <attribute name="models" type="string">
261
- <annotation>
262
- <documentation xml:lang="en">
263
- Some components import the models of other components (for
264
- example, a scalebar component might need access to a map
265
- component's model). When these relationships cannot be
266
- determined implicitly from the layout, then the layout
267
- author can explicitly specify these dependencies via this
268
- attribute. The value is a comma-separated list of CSS-style
269
- selectors indiciating which components to import models
270
- from. For example, "map,#primary-scene" would specify all
271
- map components and a component with ID "primary-scene".
272
- </documentation>
273
- </annotation>
274
- </attribute>
275
- <attribute name="available" type="boolean">
276
- <annotation>
277
- <documentation xml:lang="en">
278
- This property marks a component as being available. The
279
- interpretation of what effect this has is up to the component.
280
- Currently the only component that will react to this property
281
- is the task-bar, which will have the effect of showing/hiding
282
- the tab/button for that component. Defaults to true. Mobile only.
283
- </documentation>
284
- </annotation>
285
- </attribute>
286
- </complexType>
287
-
288
- <!-- Basic Components -->
289
-
290
- <element name="button" substitutionGroup="tns:component">
291
- <annotation>
292
- <documentation xml:lang="en">
293
- A button that executes a command when clicked. The caption will
294
- be the contained text, e.g. "Click Me!" in the case of
295
- <![CDATA[<button>Click Me!</button>]]>.
296
- </documentation>
297
- </annotation>
298
- <complexType>
299
- <complexContent mixed="true">
300
- <extension base="tns:Component">
301
- <attribute name="command" type="string">
302
- <annotation>
303
- <documentation xml:lang="en">
304
- The name of the command to execute.
305
- </documentation>
306
- </annotation>
307
- </attribute>
308
- <attribute name="arguments" type="string">
309
- <annotation>
310
- <documentation xml:lang="en">
311
- The arguments for the command (optional).
312
- </documentation>
313
- </annotation>
314
- </attribute>
315
- <attribute name="style">
316
- <annotation>
317
- <documentation xml:lang="en">
318
- The desired visual style for the button.
319
- </documentation>
320
- </annotation>
321
- <simpleType>
322
- <restriction base="string">
323
- <enumeration value="round" />
324
- <enumeration value="square" />
325
- </restriction>
326
- </simpleType>
327
- </attribute>
328
- <attribute name="size">
329
- <annotation>
330
- <documentation xml:lang="en">
331
- The desired size of the button. Web only.
332
- </documentation>
333
- </annotation>
334
- <simpleType>
335
- <restriction base="string">
336
- <enumeration value="small" />
337
- <enumeration value="medium" />
338
- <enumeration value="large" />
339
- </restriction>
340
- </simpleType>
341
- </attribute>
342
- <attribute name="icon-position">
343
- <annotation>
344
- <documentation xml:lang="en">
345
- The position of the icon with respect to the button text. Web only.
346
- </documentation>
347
- </annotation>
348
- <simpleType>
349
- <restriction base="string">
350
- <enumeration value="above" />
351
- <enumeration value="below" />
352
- <enumeration value="before" />
353
- <enumeration value="after" />
354
- </restriction>
355
- </simpleType>
356
- </attribute>
357
- <attribute name="background-color" type="string">
358
- <annotation>
359
- <documentation xml:lang="en">
360
- The background color used by the button. Web only. This
361
- can be in any format accepted by the ESRI JSAPI
362
- Color constructor:
363
- https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html
364
- </documentation>
365
- </annotation>
366
- </attribute>
367
- <attribute name="foreground-color" type="string">
368
- <annotation>
369
- <documentation xml:lang="en">
370
- The foreground color used by the button. Web only. This
371
- can be in any format accepted by the ESRI JSAPI
372
- Color constructor:
373
- https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html
374
- </documentation>
375
- </annotation>
376
- </attribute>
377
- <attribute name="border" type="boolean">
378
- <annotation>
379
- <documentation xml:lang="en">
380
- Whether to show a border on this button. Web only.
381
- </documentation>
382
- </annotation>
383
- </attribute>
384
- <attribute name="show-title" type="boolean" default="true">
385
- <annotation>
386
- <documentation xml:lang="en">
387
- Whether to show the button's title.
388
- </documentation>
389
- </annotation>
390
- </attribute>
391
- </extension>
392
- </complexContent>
393
- </complexType>
394
- </element>
395
-
396
- <element name="bookmarks" substitutionGroup="tns:component">
397
- <annotation>
398
- <documentation xml:lang="en">
399
- A component that shows the bookmarks associated with a map, and
400
- allows users to create their own bookmarks.
401
- </documentation>
402
- </annotation>
403
- <complexType>
404
- <complexContent>
405
- <extension base="tns:Component">
406
- <attribute name="button-style">
407
- <annotation>
408
- <documentation xml:lang="en">
409
- The desired visual style for the button.
410
- </documentation>
411
- </annotation>
412
- <simpleType>
413
- <restriction base="string">
414
- <enumeration value="round" />
415
- <enumeration value="square" />
416
- </restriction>
417
- </simpleType>
418
- </attribute>
419
- </extension>
420
- </complexContent>
421
- </complexType>
422
- </element>
423
-
424
- <element name="dialog" substitutionGroup="tns:rootComponent">
425
- <annotation>
426
- <documentation xml:lang="en">
427
- Displays a single child component in a dialog. Initially hidden.
428
- Displayed when the dialog component is activated. Not supported
429
- in Web.
430
- </documentation>
431
- </annotation>
432
- <complexType>
433
- <complexContent>
434
- <extension base="tns:RootComponent">
435
- <attribute name="allow-close" type="boolean" default="true">
436
- <annotation>
437
- <documentation xml:lang="en">
438
- Whether or not the dialog provides a built-in way for users to
439
- dismiss the dialog (e.g. a close button, hitting "Esc", clicking
440
- outside the dialog, etc.). If "false", the dialog will need to be
441
- explicitly deactivated via some other means. The default
442
- is "true". Web only.
443
- </documentation>
444
- </annotation>
445
- </attribute>
446
- </extension>
447
- </complexContent>
448
- </complexType>
449
- </element>
450
-
451
- <element name="expand" substitutionGroup="tns:component">
452
- <annotation>
453
- <documentation xml:lang="en">
454
- A container whose content is hidden by default and only becomes
455
- visible when the small "expand" button is clicked. When the
456
- button is clicked, the container "pops up" and appears beside
457
- the expand button. Clicking the expand button while the
458
- container is open closes the container. This component is useful
459
- for hiding widget-like components that become visible at the
460
- click of a button.
461
- </documentation>
462
- </annotation>
463
- <complexType>
464
- <complexContent mixed="true">
465
- <extension base="tns:ComponentWithChildren">
466
- <attribute name="visual-state">
467
- <annotation>
468
- <documentation xml:lang="en">
469
- The initial state of the Expand. Not supported in Mobile.
470
- </documentation>
471
- </annotation>
472
- <simpleType>
473
- <restriction base="string">
474
- <enumeration value="open" />
475
- <enumeration value="closed" />
476
- </restriction>
477
- </simpleType>
478
- </attribute>
479
- <attribute name="modal" type="boolean" default="true">
480
- <annotation>
481
- <documentation xml:lang="en">
482
- Whether or not the expand container behaves as a modal window.
483
- </documentation>
484
- </annotation>
485
- </attribute>
486
- <attribute name="show-icon" type="boolean" default="true">
487
- <annotation>
488
- <documentation xml:lang="en">
489
- Whether or not the icon should be displayed.
490
- </documentation>
491
- </annotation>
492
- </attribute>
493
- <attribute name="show-title" type="boolean" default="false">
494
- <annotation>
495
- <documentation xml:lang="en">
496
- Whether or not the title should be displayed.
497
- </documentation>
498
- </annotation>
499
- </attribute>
500
- <attribute name="style">
501
- <annotation>
502
- <documentation xml:lang="en">
503
- The desired visual style for the expand button.
504
- </documentation>
505
- </annotation>
506
- <simpleType>
507
- <restriction base="string">
508
- <enumeration value="round" />
509
- <enumeration value="square" />
510
- </restriction>
511
- </simpleType>
512
- </attribute>
513
- <attribute name="size">
514
- <annotation>
515
- <documentation xml:lang="en">
516
- The desired size of the expand button. Web only.
517
- </documentation>
518
- </annotation>
519
- <simpleType>
520
- <restriction base="string">
521
- <enumeration value="small" />
522
- <enumeration value="medium" />
523
- <enumeration value="large" />
524
- </restriction>
525
- </simpleType>
526
- </attribute>
527
- <attribute name="icon-position">
528
- <annotation>
529
- <documentation xml:lang="en">
530
- The position of the icon with respect to the expand button text. Web
531
- only.
532
- </documentation>
533
- </annotation>
534
- <simpleType>
535
- <restriction base="string">
536
- <enumeration value="above" />
537
- <enumeration value="below" />
538
- <enumeration value="before" />
539
- <enumeration value="after" />
540
- </restriction>
541
- </simpleType>
542
- </attribute>
543
- </extension>
544
- </complexContent>
545
- </complexType>
546
- </element>
547
-
548
- <element name="image" substitutionGroup="tns:component">
549
- <annotation>
550
- <documentation xml:lang="en">An image. Not supported in Mobile.</documentation>
551
- </annotation>
552
- <complexType>
553
- <complexContent>
554
- <extension base="tns:Component" />
555
- </complexContent>
556
- </complexType>
557
- </element>
558
-
559
- <element name="iwtm" substitutionGroup="tns:component">
560
- <annotation>
561
- <documentation xml:lang="en">
562
- An "I Want To..." menu (the actual title can be specified via
563
- the "title" attribute). Has a single slot in Web, at the top.
564
- Supports both "top" and "bottom" named slots in Mobile.
565
- </documentation>
566
- </annotation>
567
- <complexType>
568
- <complexContent>
569
- <extension base="tns:ComponentWithChildren" />
570
- </complexContent>
571
- </complexType>
572
- </element>
573
-
574
- <element name="panel" substitutionGroup="tns:component">
575
- <annotation>
576
- <documentation xml:lang="en">
577
- A container that enables hierarchical navigation between its
578
- child components. The user can navigate backwards to components
579
- that were activated prior to the currently active component and
580
- are ordered above the current component in configuration. The
581
- last component that is marked as active will be initially
582
- displayed, with all other components configured above that last
583
- component as active being accessible via navigating backwards.
584
- For example, if a panel has child components A, B, and C
585
- (configured in that order), and initially A is active, then
586
- activating C would display the C component but allow the user to
587
- navigate back to A. If the user then activated B while C is
588
- active, then C would be popped, and B would be shown, again with
589
- a back button to navigate to A but with no way of navigating to
590
- C because the configured order is maintained.
591
- </documentation>
592
- </annotation>
593
- <complexType>
594
- <complexContent mixed="true">
595
- <extension base="tns:ComponentWithChildren">
596
- <attribute name="show-close-button" type="boolean" default="true">
597
- <annotation>
598
- <documentation xml:lang="en">
599
- Whether to show a button that closes the Panel.
600
- Not supported in Mobile.
601
- </documentation>
602
- </annotation>
603
- </attribute>
604
- <attribute name="show-back-button" type="boolean" default="true">
605
- <annotation>
606
- <documentation xml:lang="en">
607
- Whether to show a button that allows the user to
608
- go "back". If a Panel has child components A, B,
609
- and C, and C is currently active, clicking the
610
- back button will hide C and B will be shown. Not
611
- supported in Mobile.
612
- </documentation>
613
- </annotation>
614
- </attribute>
615
- <attribute name="show-maximize-button" type="boolean" default="true">
616
- <annotation>
617
- <documentation xml:lang="en">
618
- Whether to show a button that allows the user to
619
- maximize the panel. A maximized panel will grow
620
- and fill the size of its parent container. Not
621
- supported in Mobile.
622
- </documentation>
623
- </annotation>
624
- </attribute>
625
- <attribute name="show-minimize-button" type="boolean" default="true">
626
- <annotation>
627
- <documentation xml:lang="en">
628
- Whether to show a button that allows the user to
629
- minimize the panel. A minimized panel will
630
- shrink to a small bar that only contains a
631
- "restore size" button. In a split, this is a
632
- vertical bar; in a stack (and other containers
633
- the arrange children vertically), this is a
634
- horizontal bar. Not supported in Mobile.
635
- </documentation>
636
- </annotation>
637
- </attribute>
638
- <attribute name="show-title" type="boolean" default="false">
639
- <annotation>
640
- <documentation xml:lang="en">
641
- Whether or not the title should be displayed.
642
- Not supported in Mobile.
643
- </documentation>
644
- </annotation>
645
- </attribute>
646
- <attribute name="visual-state">
647
- <annotation>
648
- <documentation xml:lang="en">
649
- The initial state of the panel. Not supported in Mobile.
650
- </documentation>
651
- </annotation>
652
- <simpleType>
653
- <restriction base="string">
654
- <enumeration value="normal" />
655
- <enumeration value="minimized" />
656
- <enumeration value="maximized" />
657
- </restriction>
658
- </simpleType>
659
- </attribute>
660
- </extension>
661
- </complexContent>
662
- </complexType>
663
- </element>
664
-
665
- <element name="split" substitutionGroup="tns:component">
666
- <annotation>
667
- <documentation xml:lang="en">
668
- A container for other components that organizes its children
669
- horizontally.
670
- </documentation>
671
- </annotation>
672
- <complexType>
673
- <complexContent mixed="true">
674
- <extension base="tns:ComponentWithChildren">
675
- <choice>
676
- <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
677
- </choice>
678
- <attribute name="resizable" type="boolean" default="false">
679
- <annotation>
680
- <documentation xml:lang="en">
681
- Whether the user can interactively resize the
682
- contained components. Not supported on all
683
- platforms.
684
- </documentation>
685
- </annotation>
686
- </attribute>
687
- </extension>
688
- </complexContent>
689
- </complexType>
690
- </element>
691
-
692
- <element name="stack" substitutionGroup="tns:component">
693
- <annotation>
694
- <documentation xml:lang="en">
695
- A container for other components that organizes its children
696
- vertically.
697
- </documentation>
698
- </annotation>
699
- <complexType>
700
- <complexContent mixed="true">
701
- <extension base="tns:ComponentWithChildren">
702
- <choice>
703
- <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
704
- </choice>
705
- <attribute name="resizable" type="boolean" default="false">
706
- <annotation>
707
- <documentation xml:lang="en">
708
- Whether the user can interactively resize the
709
- contained components. Not supported on all
710
- platforms.
711
- </documentation>
712
- </annotation>
713
- </attribute>
714
- </extension>
715
- </complexContent>
716
- </complexType>
717
- </element>
718
-
719
- <element name="text" substitutionGroup="tns:component">
720
- <annotation>
721
- <documentation xml:lang="en">A component that displays text.</documentation>
722
- </annotation>
723
- <complexType>
724
- <complexContent mixed="true">
725
- <extension base="tns:Component">
726
- <attribute name="showBackground" type="boolean" default="true">
727
- <annotation>
728
- <documentation xml:lang="en">
729
- Whether or not the text background should be displayed. Mobile
730
- only. Defaults to true.
731
- </documentation>
732
- </annotation>
733
- </attribute>
734
- </extension>
735
- </complexContent>
736
- </complexType>
737
- </element>
738
-
739
- <!-- NOTE: GXW-only, despite being in the common namespace. -->
740
- <element name="toolbar" substitutionGroup="tns:component">
741
- <annotation>
742
- <documentation xml:lang="en">
743
- A toolbar menu. The toolbar supports up to one level of nesting
744
- (a set of tools can be grouped together in one 'parent' that is
745
- displayed on the root toolbar menu.). Not supported in Mobile.
746
- </documentation>
747
- </annotation>
748
- <complexType>
749
- <complexContent>
750
- <extension base="tns:Component">
751
- <attribute name="orientation">
752
- <annotation>
753
- <documentation xml:lang="en">
754
- Determines the orientation of the toolbar menu items.
755
- </documentation>
756
- </annotation>
757
- <simpleType>
758
- <restriction base="string">
759
- <enumeration value="vertical" />
760
- <enumeration value="horizontal" />
761
- </restriction>
762
- </simpleType>
763
- </attribute>
764
- <attribute name="toolbar-style">
765
- <annotation>
766
- <documentation xml:lang="en">
767
- The visual style of the toolbar. If the toolbar
768
- is not in a map slot, or nested in rows/columns
769
- within a map slot, then the toolbar will appear
770
- with square styling.
771
- </documentation>
772
- </annotation>
773
- <simpleType>
774
- <restriction base="string">
775
- <enumeration value="round" />
776
- <enumeration value="square" />
777
- </restriction>
778
- </simpleType>
779
- </attribute>
780
- <attribute name="show-titles" type="boolean" default="true">
781
- <annotation>
782
- <documentation xml:lang="en">
783
- Whether to display the titles on buttons. You
784
- may wish to hide the titles in order to show
785
- just icons.
786
- </documentation>
787
- </annotation>
788
- </attribute>
789
- <attribute name="show-icons" type="boolean" default="true">
790
- <annotation>
791
- <documentation xml:lang="en">
792
- Whether to display the icons on buttons. You may wish to hide the
793
- icons in order to show just titles.
794
- </documentation>
795
- </annotation>
796
- </attribute>
797
- <attribute name="icon-position">
798
- <annotation>
799
- <documentation xml:lang="en">
800
- The position of the icon on each button relative to its
801
- corresponding title.
802
- </documentation>
803
- </annotation>
804
- <simpleType>
805
- <restriction base="string">
806
- <enumeration value="top" />
807
- <enumeration value="bottom" />
808
- <enumeration value="start" />
809
- <enumeration value="end" />
810
- </restriction>
811
- </simpleType>
812
- </attribute>
813
- </extension>
814
- </complexContent>
815
- </complexType>
816
- </element>
817
-
818
- <element name="user" substitutionGroup="tns:component">
819
- <annotation>
820
- <documentation xml:lang="en">
821
- Shows information about the current user (if there is one), and
822
- allows the user to sign in or out as appropriate. The user
823
- component does not support child components in Mobile.
824
- </documentation>
825
- </annotation>
826
- <complexType>
827
- <complexContent>
828
- <extension base="tns:ComponentWithChildren">
829
- <attribute name="style">
830
- <annotation>
831
- <documentation xml:lang="en">
832
- The desired visual style for the button. Web only.
833
- </documentation>
834
- </annotation>
835
- <simpleType>
836
- <restriction base="string">
837
- <enumeration value="round" />
838
- <enumeration value="square" />
839
- </restriction>
840
- </simpleType>
841
- </attribute>
842
- <attribute name="size">
843
- <annotation>
844
- <documentation xml:lang="en">
845
- The desired size of the button. Web only.
846
- </documentation>
847
- </annotation>
848
- <simpleType>
849
- <restriction base="string">
850
- <enumeration value="small" />
851
- <enumeration value="medium" />
852
- <enumeration value="large" />
853
- </restriction>
854
- </simpleType>
855
- </attribute>
856
- </extension>
857
- </complexContent>
858
- </complexType>
859
- </element>
860
-
861
- <element name="workflow" substitutionGroup="tns:component">
862
- <annotation>
863
- <documentation xml:lang="en">
864
- A component that hosts workflow forms. When a workflow item
865
- config is specified, the workflow will be run when the component
866
- is activated. Any command to run a workflow can use the
867
- component by adding '#{componentId}' to its target. If the
868
- component is activated outside the context of running a
869
- workflow, and does not have a workflow item config, it will
870
- appear empty. Only one workflow can use the component at a time.
871
- If a second workflow attempts to use the component, the user
872
- will be asked to cancel one of the workflows in Mobile. In Web,
873
- the first workflow is canceled automatically.
874
- </documentation>
875
- </annotation>
876
- <complexType>
877
- <complexContent mixed="true">
878
- <extension base="tns:Component" />
879
- </complexContent>
880
- </complexType>
881
- </element>
882
-
883
- <!-- GIS Components -->
884
-
885
- <element name="basemap-picker" substitutionGroup="tns:component">
886
- <annotation>
887
- <documentation xml:lang="en">
888
- Allows users to choose between available basemaps for the webmap
889
- or webscene. Requiers an associated map component (see the
890
- "models" attribute).
891
- </documentation>
892
- </annotation>
893
- <complexType>
894
- <complexContent>
895
- <extension base="tns:Component" />
896
- </complexContent>
897
- </complexType>
898
- </element>
899
-
900
- <element name="compass" substitutionGroup="tns:component">
901
- <annotation>
902
- <documentation xml:lang="en">
903
- Displays a North-pointing compass that rotates with the rotation of the map to which
904
- it is associated.
905
- </documentation>
906
- </annotation>
907
- <complexType>
908
- <complexContent>
909
- <extension base="tns:Component" />
910
- </complexContent>
911
- </complexType>
912
- </element>
913
-
914
- <element name="feature-details" substitutionGroup="tns:component">
915
- <annotation>
916
- <documentation xml:lang="en">
917
- A component that allows the user to view feature details.
918
- </documentation>
919
- </annotation>
920
- <complexType>
921
- <complexContent>
922
- <extension base="tns:Component">
923
- <attribute name="button-style" default="medium">
924
- <annotation>
925
- <documentation xml:lang="en">
926
- The desired size for the action buttons. Web
927
- only.
928
- </documentation>
929
- </annotation>
930
- <simpleType>
931
- <restriction base="string">
932
- <enumeration value="small" />
933
- <enumeration value="medium" />
934
- <enumeration value="large" />
935
- </restriction>
936
- </simpleType>
937
- </attribute>
938
- <attribute name="button-size" default="medium">
939
- <annotation>
940
- <documentation xml:lang="en">
941
- The desired size for the action buttons. Web
942
- only.
943
- </documentation>
944
- </annotation>
945
- <simpleType>
946
- <restriction base="string">
947
- <enumeration value="small" />
948
- <enumeration value="medium" />
949
- <enumeration value="large" />
950
- </restriction>
951
- </simpleType>
952
- </attribute>
953
- <attribute name="related-record-display" default="preview">
954
- <annotation>
955
- <documentation xml:lang="en">
956
- The style in which related records are
957
- displayed. Web only.
958
- </documentation>
959
- </annotation>
960
- <simpleType>
961
- <restriction base="string">
962
- <enumeration value="preview" />
963
- <enumeration value="table" />
964
- </restriction>
965
- </simpleType>
966
- </attribute>
967
- <attribute name="show-action-icons" type="boolean" default="true">
968
- <annotation>
969
- <documentation xml:lang="en">
970
- Whether or not the icon should be displayed in
971
- action buttons. If neither icons nor titles are
972
- shown, then the action buttons will not display.
973
- Web only.
974
- </documentation>
975
- </annotation>
976
- </attribute>
977
- <attribute name="show-action-titles" type="boolean" default="false">
978
- <annotation>
979
- <documentation xml:lang="en">
980
- Whether or not the title should be displayed in
981
- action buttons. If neither icons nor titles are
982
- shown, then the action buttons will not display.
983
- Web only.
984
- </documentation>
985
- </annotation>
986
- </attribute>
987
- <attribute name="show-star-controls" type="boolean" default="false">
988
- <annotation>
989
- <documentation xml:lang="en">
990
- Whether or not the starred feature icons and
991
- functionality should be included. Defaults to
992
- false. Web only.
993
- </documentation>
994
- </annotation>
995
- </attribute>
996
- </extension>
997
- </complexContent>
998
- </complexType>
999
- </element>
1000
-
1001
- <element name="geolocate" substitutionGroup="tns:component">
1002
- <annotation>
1003
- <documentation xml:lang="en">
1004
- Displays a clickable/tappable indicator that toggles GPS
1005
- geolocation behavior. In Mobile, the accuracy is also shown, and
1006
- can be displayed in either metric or imperial units.
1007
- </documentation>
1008
- </annotation>
1009
- <complexType>
1010
- <complexContent>
1011
- <extension base="tns:Component" />
1012
- </complexContent>
1013
- </complexType>
1014
- </element>
1015
-
1016
- <element name="layer-list" substitutionGroup="tns:component">
1017
- <annotation>
1018
- <documentation xml:lang="en">
1019
- Allows users to see the structure of layers on the map and
1020
- change their visibility. Requires an associated map component
1021
- (see the "models" attribute).
1022
- </documentation>
1023
- </annotation>
1024
- <complexType>
1025
- <complexContent>
1026
- <extension base="tns:Component">
1027
- <attribute name="show-reorder-buttons" type="boolean" default="true">
1028
- <annotation>
1029
- <documentation xml:lang="en">
1030
- Whether to show the arrow buttons used for
1031
- moving layers up and down within the drawing
1032
- order. If the LayerListModel.canReorder property
1033
- is true, drag-and-drop functionality will be
1034
- available regardless of this property. If the
1035
- LayerListModel.canReorder property is false,
1036
- this property is ignored. Web only.
1037
- </documentation>
1038
- </annotation>
1039
- </attribute>
1040
- <attribute name="show-filter-control" type="boolean" default="false">
1041
- <annotation>
1042
- <documentation xml:lang="en">
1043
- Whether to show an text input control for
1044
- filtering layers by title. Web only.
1045
- </documentation>
1046
- </annotation>
1047
- </attribute>
1048
- <attribute name="show-action-menu" type="boolean" default="true">
1049
- <annotation>
1050
- <documentation xml:lang="en">
1051
- Whether to show a menu button that can be used
1052
- to execute actions on all layers that are
1053
- currently displayed in the layer list. Web only.
1054
- </documentation>
1055
- </annotation>
1056
- </attribute>
1057
- </extension>
1058
- </complexContent>
1059
- </complexType>
1060
- </element>
1061
-
1062
- <element name="layer-presets" substitutionGroup="tns:component">
1063
- <annotation>
1064
- <documentation xml:lang="en">
1065
- A component that shows a list of layer presets and allows users
1066
- to apply them.
1067
- </documentation>
1068
- </annotation>
1069
- <complexType>
1070
- <complexContent>
1071
- <extension base="tns:Component">
1072
- <attribute name="filter-by">
1073
- <annotation>
1074
- <documentation xml:lang="en">
1075
- Indicates how the filter box will behave; if the
1076
- value is 'none', no filter box will be
1077
- displayed. Web only.
1078
- </documentation>
1079
- </annotation>
1080
- <simpleType>
1081
- <restriction base="string">
1082
- <enumeration value="none" />
1083
- <enumeration value="title" />
1084
- <enumeration value="title-and-description" />
1085
- </restriction>
1086
- </simpleType>
1087
- </attribute>
1088
- <attribute name="show-title" type="boolean" default="true">
1089
- <annotation>
1090
- <documentation xml:lang="en">
1091
- Indicates if the title should be displayed. Web only.
1092
- </documentation>
1093
- </annotation>
1094
- </attribute>
1095
- <attribute name="show-icon" type="boolean" default="true">
1096
- <annotation>
1097
- <documentation xml:lang="en">
1098
- Indicates if the icon should be displayed. Web only.
1099
- </documentation>
1100
- </annotation>
1101
- </attribute>
1102
- </extension>
1103
- </complexContent>
1104
- </complexType>
1105
- </element>
1106
-
1107
- <element name="legend" substitutionGroup="tns:component">
1108
- <annotation>
1109
- <documentation xml:lang="en">
1110
- Allows the user to see the symbology of the layers on the map.
1111
- Requires an associated map component (see the "models"
1112
- attribute").
1113
- </documentation>
1114
- </annotation>
1115
- <complexType>
1116
- <complexContent>
1117
- <extension base="tns:Component" />
1118
- </complexContent>
1119
- </complexType>
1120
- </element>
1121
-
1122
- <element name="map" substitutionGroup="tns:component">
1123
- <annotation>
1124
- <documentation xml:lang="en">
1125
- A 2D map (and/or a 3D scene in Web). A map can host child
1126
- components and has the following slots in Mobile: "top-left",
1127
- "top-right", "bottom-left", "bottom-right", "top",
1128
- "top-center-visible", "bottom" and "bottom-center-visible". A
1129
- child component in the "center-visible" slot will be centered in
1130
- the visible area of the map, factoring in other components that
1131
- are overlapping the map.
1132
-
1133
- A map in Web has the following slots: "top-start", "top-center",
1134
- "top-end", "bottom-start", "bottom-center", "bottom-end",
1135
- "context-menu", and "popup". In left-to-right locales, "start"
1136
- will be on the left, and "end" will be on the right. In
1137
- right-to-left locales, these will be reversed.
1138
- </documentation>
1139
- </annotation>
1140
- <complexType>
1141
- <complexContent mixed="true">
1142
- <extension base="tns:ComponentWithChildren" />
1143
- </complexContent>
1144
- </complexType>
1145
- </element>
1146
-
1147
- <!-- NOTE: GXW-only, despite being in the common namespace. -->
1148
- <element name="map-coordinates" substitutionGroup="tns:component">
1149
- <annotation>
1150
- <documentation xml:lang="en">
1151
- Allows the user to see the coordinates under the current mouse
1152
- position. Requires an associated map component (see the "models"
1153
- attribute"). Not supported in Mobile.
1154
- </documentation>
1155
- </annotation>
1156
- <complexType>
1157
- <complexContent>
1158
- <extension base="tns:Component" />
1159
- </complexContent>
1160
- </complexType>
1161
- </element>
1162
-
1163
- <element name="results-list" substitutionGroup="tns:component">
1164
- <annotation>
1165
- <documentation xml:lang="en">
1166
- A component that allows the user to view results from a search,
1167
- identify, query, or any other activity that produces features in
1168
- a list view.
1169
- </documentation>
1170
- </annotation>
1171
- <complexType>
1172
- <complexContent>
1173
- <extension base="tns:Component">
1174
- <attribute name="show-star-controls" type="boolean" default="false">
1175
- <annotation>
1176
- <documentation xml:lang="en">
1177
- Whether or not the starred feature icons and
1178
- functionality should be included. Defaults to
1179
- false. Web only
1180
- </documentation>
1181
- </annotation>
1182
- </attribute>
1183
- </extension>
1184
- </complexContent>
1185
- </complexType>
1186
- </element>
1187
-
1188
- <element name="scalebar" substitutionGroup="tns:component">
1189
- <annotation>
1190
- <documentation xml:lang="en">A component that shows the scale of a map.</documentation>
1191
- </annotation>
1192
- <complexType>
1193
- <complexContent>
1194
- <extension base="tns:Component" />
1195
- </complexContent>
1196
- </complexType>
1197
- </element>
1198
-
1199
- <element name="search" substitutionGroup="tns:component">
1200
- <annotation>
1201
- <documentation xml:lang="en">
1202
- A component that allows the user to search one ore more sources
1203
- (maps, scenes, tables, geocoders, etc.).
1204
- </documentation>
1205
- </annotation>
1206
- <complexType>
1207
- <complexContent>
1208
- <extension base="tns:Component" />
1209
- </complexContent>
1210
- </complexType>
1211
- </element>
1212
-
1213
- <element name="search-new-extent" substitutionGroup="tns:component">
1214
- <annotation>
1215
- <documentation xml:lang="en">
1216
- A component that provides a single button that allows the user
1217
- to "search this area" when the extent of the map changes to be
1218
- different than the extent that was originally searched.
1219
- </documentation>
1220
- </annotation>
1221
- <complexType>
1222
- <complexContent>
1223
- <extension base="tns:Component" />
1224
- </complexContent>
1225
- </complexType>
1226
- </element>
1227
-
1228
- <element name="zoom" substitutionGroup="tns:component">
1229
- <annotation>
1230
- <documentation xml:lang="en">
1231
- Displays a pair of buttons that allow the user to zoom the map in or out.
1232
- </documentation>
1233
- </annotation>
1234
- <complexType>
1235
- <complexContent>
1236
- <extension base="tns:Component" />
1237
- </complexContent>
1238
- </complexType>
1239
- </element>
1240
- </schema>
1
+ <?xml version="1.0" encoding="UTF-8" ?>
2
+ <schema
3
+ xmlns="http://www.w3.org/2001/XMLSchema"
4
+ xmlns:tns="https://geocortex.com/layout/v1"
5
+ targetNamespace="https://geocortex.com/layout/v1"
6
+ elementFormDefault="qualified"
7
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
8
+ >
9
+ <element name="layout">
10
+ <complexType>
11
+ <sequence>
12
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
13
+ <element ref="tns:rootComponent" minOccurs="0" maxOccurs="unbounded" />
14
+ </sequence>
15
+ <attribute name="orientations">
16
+ <annotation>
17
+ <documentation xml:lang="en">
18
+ Indicates the allowable orientations - landscape or portrait, or both. When
19
+ set to "landscape" or "portrait", the orientation of
20
+ the device will be locked to the specified value. Defaults to both if value
21
+ not specified. Applies to iOS and Android Mobile only.
22
+ </documentation>
23
+ </annotation>
24
+ <simpleType>
25
+ <restriction base="string">
26
+ <enumeration value="landscape" />
27
+ <enumeration value="portrait" />
28
+ <enumeration value="portrait,landscape" />
29
+ </restriction>
30
+ </simpleType>
31
+ </attribute>
32
+ </complexType>
33
+ </element>
34
+
35
+ <complexType name="ComponentWithChildren" abstract="true">
36
+ <complexContent mixed="true">
37
+ <extension base="tns:Component">
38
+ <choice>
39
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
40
+ </choice>
41
+ <attribute name="gap">
42
+ <annotation>
43
+ <documentation xml:lang="en">
44
+ The gaps (gutters) between child components in em
45
+ units (double) or in spacing units (string)
46
+ represented as the units followed by an 's' eg:
47
+ '1s`. Web only.
48
+ </documentation>
49
+ </annotation>
50
+ <simpleType>
51
+ <union>
52
+ <simpleType>
53
+ <restriction base="double" />
54
+ </simpleType>
55
+ <simpleType>
56
+ <restriction base="string">
57
+ <pattern value="[0-9]+s" />
58
+ </restriction>
59
+ </simpleType>
60
+ </union>
61
+ </simpleType>
62
+ </attribute>
63
+ </extension>
64
+ </complexContent>
65
+ </complexType>
66
+
67
+ <element name="rootComponent" type="tns:RootComponent" abstract="true" />
68
+
69
+ <complexType name="RootComponent" abstract="true">
70
+ <complexContent mixed="true">
71
+ <extension base="tns:Component">
72
+ <choice>
73
+ <element ref="tns:component" minOccurs="1" maxOccurs="unbounded" />
74
+ </choice>
75
+ </extension>
76
+ </complexContent>
77
+ </complexType>
78
+
79
+ <element name="component" type="tns:Component" abstract="true" />
80
+
81
+ <complexType name="Component" abstract="true">
82
+ <annotation>
83
+ <documentation xml:lang="en">
84
+ A visual element of an application's UI, e.g. a button, a map, a
85
+ a dialog box, a panel, etc.
86
+ </documentation>
87
+ </annotation>
88
+ <sequence />
89
+ <attribute name="id" type="ID">
90
+ <annotation>
91
+ <documentation xml:lang="en">A unique ID for the component.</documentation>
92
+ </annotation>
93
+ </attribute>
94
+ <attribute name="title" type="string">
95
+ <annotation>
96
+ <documentation xml:lang="en">
97
+ A human-readable title for the component. Where the title
98
+ appears (or whether it appears at all) varies with each type
99
+ of component.
100
+ </documentation>
101
+ </annotation>
102
+ </attribute>
103
+ <attribute name="icon" type="string">
104
+ <annotation>
105
+ <documentation xml:lang="en">
106
+ A resource key that can be mapped to an image for the icon.
107
+ Where the icon appears (or whether it appears at all) varies
108
+ with each type of component.
109
+ </documentation>
110
+ </annotation>
111
+ </attribute>
112
+ <attribute name="config" type="string">
113
+ <annotation>
114
+ <documentation xml:lang="en">
115
+ The ID of a corresponding item in a VertiGIS Studio App that
116
+ contains this component's configuration and state.
117
+ </documentation>
118
+ </annotation>
119
+ </attribute>
120
+ <attribute name="width">
121
+ <annotation>
122
+ <documentation xml:lang="en">
123
+ The width of the component, in em units.
124
+ </documentation>
125
+ </annotation>
126
+ <simpleType>
127
+ <restriction base="double">
128
+ <minInclusive value="0" />
129
+ </restriction>
130
+ </simpleType>
131
+ </attribute>
132
+ <attribute name="height">
133
+ <annotation>
134
+ <documentation xml:lang="en">
135
+ The height of the component, in em units.
136
+ </documentation>
137
+ </annotation>
138
+ <simpleType>
139
+ <restriction base="double">
140
+ <minInclusive value="0" />
141
+ </restriction>
142
+ </simpleType>
143
+ </attribute>
144
+ <attribute name="margin">
145
+ <annotation>
146
+ <documentation xml:lang="en">
147
+ The margin around the component, in em units. In web this
148
+ can also be specified in spacing units (string) represented
149
+ as the units followed by an 's' eg: '1s`.
150
+ </documentation>
151
+ </annotation>
152
+ <simpleType>
153
+ <union>
154
+ <simpleType>
155
+ <restriction base="double" />
156
+ </simpleType>
157
+ <simpleType>
158
+ <restriction base="string">
159
+ <pattern value="[0-9]+s" />
160
+ </restriction>
161
+ </simpleType>
162
+ </union>
163
+ </simpleType>
164
+ </attribute>
165
+ <attribute name="padding">
166
+ <annotation>
167
+ <documentation xml:lang="en">
168
+ The padding within the component, in em units. In web this
169
+ can also be specified in spacing units (string) represented
170
+ as the units followed by an 's' eg: '1s`.
171
+ </documentation>
172
+ </annotation>
173
+ <simpleType>
174
+ <union>
175
+ <simpleType>
176
+ <restriction base="double" />
177
+ </simpleType>
178
+ <simpleType>
179
+ <restriction base="string">
180
+ <pattern value="[0-9]+s" />
181
+ </restriction>
182
+ </simpleType>
183
+ </union>
184
+ </simpleType>
185
+ </attribute>
186
+ <attribute name="halign" default="start">
187
+ <annotation>
188
+ <documentation xml:lang="en">
189
+ Describes how the content of a component is horizontally
190
+ aligned. For stacks and splits, the content is the child
191
+ components. For a component like text, the content is the
192
+ text itself.
193
+ </documentation>
194
+ </annotation>
195
+ <simpleType>
196
+ <restriction base="string">
197
+ <enumeration value="start" />
198
+ <enumeration value="center" />
199
+ <enumeration value="end" />
200
+ </restriction>
201
+ </simpleType>
202
+ </attribute>
203
+ <attribute name="valign" default="start">
204
+ <annotation>
205
+ <documentation xml:lang="en">
206
+ Describes how the content of a component is vertically
207
+ aligned. For stacks and splits, the content is the child
208
+ components. For a component like text, the content is the
209
+ text itself.
210
+ </documentation>
211
+ </annotation>
212
+ <simpleType>
213
+ <restriction base="string">
214
+ <enumeration value="start" />
215
+ <enumeration value="center" />
216
+ <enumeration value="end" />
217
+ </restriction>
218
+ </simpleType>
219
+ </attribute>
220
+ <attribute name="grow" default="0">
221
+ <annotation>
222
+ <documentation xml:lang="en">
223
+ Sets whether or not a component's width or height will grow
224
+ over its parents primary axis. Components with a grow of 0
225
+ will fill to their natural or requested width/height.
226
+ Components with a specified grow will fill up a percentage
227
+ of the remaining space equal to their grow value divided by
228
+ the total grow of all sibling components (including the
229
+ component in question).
230
+ </documentation>
231
+ </annotation>
232
+ <simpleType>
233
+ <restriction base="double">
234
+ <minInclusive value="0" />
235
+ </restriction>
236
+ </simpleType>
237
+ </attribute>
238
+ <attribute name="slot" type="string">
239
+ <annotation>
240
+ <documentation xml:lang="en">
241
+ When a component is nested inside of another component, it
242
+ may explicitly reference a named "slot" in the parent
243
+ component to indicate where the child should appear.
244
+ </documentation>
245
+ </annotation>
246
+ </attribute>
247
+ <attribute name="active" type="boolean">
248
+ <annotation>
249
+ <documentation xml:lang="en">
250
+ Specifies whether a component is active by default or not.
251
+ When this attribute is not defined, the parent component
252
+ decides the child's behavior. In Web, an inactive component
253
+ means that the component is initially not visible. An active
254
+ component means the component is initially visible. In
255
+ Mobile, inactive and active components are up to the
256
+ interpretation of the parent to decide on how to render.
257
+ </documentation>
258
+ </annotation>
259
+ </attribute>
260
+ <attribute name="models" type="string">
261
+ <annotation>
262
+ <documentation xml:lang="en">
263
+ Some components import the models of other components (for
264
+ example, a scalebar component might need access to a map
265
+ component's model). When these relationships cannot be
266
+ determined implicitly from the layout, then the layout
267
+ author can explicitly specify these dependencies via this
268
+ attribute. The value is a comma-separated list of CSS-style
269
+ selectors indiciating which components to import models
270
+ from. For example, "map,#primary-scene" would specify all
271
+ map components and a component with ID "primary-scene".
272
+ </documentation>
273
+ </annotation>
274
+ </attribute>
275
+ <attribute name="available" type="boolean">
276
+ <annotation>
277
+ <documentation xml:lang="en">
278
+ This property marks a component as being available. The
279
+ interpretation of what effect this has is up to the component.
280
+ Currently the only component that will react to this property
281
+ is the task-bar, which will have the effect of showing/hiding
282
+ the tab/button for that component. Defaults to true. Mobile only.
283
+ </documentation>
284
+ </annotation>
285
+ </attribute>
286
+ </complexType>
287
+
288
+ <!-- Basic Components -->
289
+
290
+ <element name="button" substitutionGroup="tns:component">
291
+ <annotation>
292
+ <documentation xml:lang="en">
293
+ A button that executes a command when clicked. The caption will
294
+ be the contained text, e.g. "Click Me!" in the case of
295
+ <![CDATA[<button>Click Me!</button>]]>.
296
+ </documentation>
297
+ </annotation>
298
+ <complexType>
299
+ <complexContent mixed="true">
300
+ <extension base="tns:Component">
301
+ <attribute name="command" type="string">
302
+ <annotation>
303
+ <documentation xml:lang="en">
304
+ The name of the command to execute.
305
+ </documentation>
306
+ </annotation>
307
+ </attribute>
308
+ <attribute name="arguments" type="string">
309
+ <annotation>
310
+ <documentation xml:lang="en">
311
+ The arguments for the command (optional).
312
+ </documentation>
313
+ </annotation>
314
+ </attribute>
315
+ <attribute name="style">
316
+ <annotation>
317
+ <documentation xml:lang="en">
318
+ The desired visual style for the button.
319
+ </documentation>
320
+ </annotation>
321
+ <simpleType>
322
+ <restriction base="string">
323
+ <enumeration value="round" />
324
+ <enumeration value="square" />
325
+ </restriction>
326
+ </simpleType>
327
+ </attribute>
328
+ <attribute name="size">
329
+ <annotation>
330
+ <documentation xml:lang="en">
331
+ The desired size of the button. Web only.
332
+ </documentation>
333
+ </annotation>
334
+ <simpleType>
335
+ <restriction base="string">
336
+ <enumeration value="small" />
337
+ <enumeration value="medium" />
338
+ <enumeration value="large" />
339
+ </restriction>
340
+ </simpleType>
341
+ </attribute>
342
+ <attribute name="icon-position">
343
+ <annotation>
344
+ <documentation xml:lang="en">
345
+ The position of the icon with respect to the button text. Web only.
346
+ </documentation>
347
+ </annotation>
348
+ <simpleType>
349
+ <restriction base="string">
350
+ <enumeration value="above" />
351
+ <enumeration value="below" />
352
+ <enumeration value="before" />
353
+ <enumeration value="after" />
354
+ </restriction>
355
+ </simpleType>
356
+ </attribute>
357
+ <attribute name="background-color" type="string">
358
+ <annotation>
359
+ <documentation xml:lang="en">
360
+ The background color used by the button. Web only. This
361
+ can be in any format accepted by the ESRI JSAPI
362
+ Color constructor:
363
+ https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html
364
+ </documentation>
365
+ </annotation>
366
+ </attribute>
367
+ <attribute name="foreground-color" type="string">
368
+ <annotation>
369
+ <documentation xml:lang="en">
370
+ The foreground color used by the button. Web only. This
371
+ can be in any format accepted by the ESRI JSAPI
372
+ Color constructor:
373
+ https://developers.arcgis.com/javascript/latest/api-reference/esri-Color.html
374
+ </documentation>
375
+ </annotation>
376
+ </attribute>
377
+ <attribute name="border" type="boolean">
378
+ <annotation>
379
+ <documentation xml:lang="en">
380
+ Whether to show a border on this button. Web only.
381
+ </documentation>
382
+ </annotation>
383
+ </attribute>
384
+ <attribute name="show-title" type="boolean" default="true">
385
+ <annotation>
386
+ <documentation xml:lang="en">
387
+ Whether to show the button's title.
388
+ </documentation>
389
+ </annotation>
390
+ </attribute>
391
+ </extension>
392
+ </complexContent>
393
+ </complexType>
394
+ </element>
395
+
396
+ <element name="bookmarks" substitutionGroup="tns:component">
397
+ <annotation>
398
+ <documentation xml:lang="en">
399
+ A component that shows the bookmarks associated with a map, and
400
+ allows users to create their own bookmarks.
401
+ </documentation>
402
+ </annotation>
403
+ <complexType>
404
+ <complexContent>
405
+ <extension base="tns:Component">
406
+ <attribute name="button-style">
407
+ <annotation>
408
+ <documentation xml:lang="en">
409
+ The desired visual style for the button.
410
+ </documentation>
411
+ </annotation>
412
+ <simpleType>
413
+ <restriction base="string">
414
+ <enumeration value="round" />
415
+ <enumeration value="square" />
416
+ </restriction>
417
+ </simpleType>
418
+ </attribute>
419
+ </extension>
420
+ </complexContent>
421
+ </complexType>
422
+ </element>
423
+
424
+ <element name="dialog" substitutionGroup="tns:rootComponent">
425
+ <annotation>
426
+ <documentation xml:lang="en">
427
+ Displays a single child component in a dialog. Initially hidden.
428
+ Displayed when the dialog component is activated. Not supported
429
+ in Web.
430
+ </documentation>
431
+ </annotation>
432
+ <complexType>
433
+ <complexContent>
434
+ <extension base="tns:RootComponent">
435
+ <attribute name="allow-close" type="boolean" default="true">
436
+ <annotation>
437
+ <documentation xml:lang="en">
438
+ Whether or not the dialog provides a built-in way for users to
439
+ dismiss the dialog (e.g. a close button, hitting "Esc", clicking
440
+ outside the dialog, etc.). If "false", the dialog will need to be
441
+ explicitly deactivated via some other means. The default
442
+ is "true". Web only.
443
+ </documentation>
444
+ </annotation>
445
+ </attribute>
446
+ </extension>
447
+ </complexContent>
448
+ </complexType>
449
+ </element>
450
+
451
+ <element name="expand" substitutionGroup="tns:component">
452
+ <annotation>
453
+ <documentation xml:lang="en">
454
+ A container whose content is hidden by default and only becomes
455
+ visible when the small "expand" button is clicked. When the
456
+ button is clicked, the container "pops up" and appears beside
457
+ the expand button. Clicking the expand button while the
458
+ container is open closes the container. This component is useful
459
+ for hiding widget-like components that become visible at the
460
+ click of a button.
461
+ </documentation>
462
+ </annotation>
463
+ <complexType>
464
+ <complexContent mixed="true">
465
+ <extension base="tns:ComponentWithChildren">
466
+ <attribute name="visual-state">
467
+ <annotation>
468
+ <documentation xml:lang="en">
469
+ The initial state of the Expand. Not supported in Mobile.
470
+ </documentation>
471
+ </annotation>
472
+ <simpleType>
473
+ <restriction base="string">
474
+ <enumeration value="open" />
475
+ <enumeration value="closed" />
476
+ </restriction>
477
+ </simpleType>
478
+ </attribute>
479
+ <attribute name="modal" type="boolean" default="true">
480
+ <annotation>
481
+ <documentation xml:lang="en">
482
+ Whether or not the expand container behaves as a modal window.
483
+ </documentation>
484
+ </annotation>
485
+ </attribute>
486
+ <attribute name="show-icon" type="boolean" default="true">
487
+ <annotation>
488
+ <documentation xml:lang="en">
489
+ Whether or not the icon should be displayed.
490
+ </documentation>
491
+ </annotation>
492
+ </attribute>
493
+ <attribute name="show-title" type="boolean" default="false">
494
+ <annotation>
495
+ <documentation xml:lang="en">
496
+ Whether or not the title should be displayed.
497
+ </documentation>
498
+ </annotation>
499
+ </attribute>
500
+ <attribute name="style">
501
+ <annotation>
502
+ <documentation xml:lang="en">
503
+ The desired visual style for the expand button.
504
+ </documentation>
505
+ </annotation>
506
+ <simpleType>
507
+ <restriction base="string">
508
+ <enumeration value="round" />
509
+ <enumeration value="square" />
510
+ </restriction>
511
+ </simpleType>
512
+ </attribute>
513
+ <attribute name="size">
514
+ <annotation>
515
+ <documentation xml:lang="en">
516
+ The desired size of the expand button. Web only.
517
+ </documentation>
518
+ </annotation>
519
+ <simpleType>
520
+ <restriction base="string">
521
+ <enumeration value="small" />
522
+ <enumeration value="medium" />
523
+ <enumeration value="large" />
524
+ </restriction>
525
+ </simpleType>
526
+ </attribute>
527
+ <attribute name="icon-position">
528
+ <annotation>
529
+ <documentation xml:lang="en">
530
+ The position of the icon with respect to the expand button text. Web
531
+ only.
532
+ </documentation>
533
+ </annotation>
534
+ <simpleType>
535
+ <restriction base="string">
536
+ <enumeration value="above" />
537
+ <enumeration value="below" />
538
+ <enumeration value="before" />
539
+ <enumeration value="after" />
540
+ </restriction>
541
+ </simpleType>
542
+ </attribute>
543
+ </extension>
544
+ </complexContent>
545
+ </complexType>
546
+ </element>
547
+
548
+ <element name="image" substitutionGroup="tns:component">
549
+ <annotation>
550
+ <documentation xml:lang="en">An image. Not supported in Mobile.</documentation>
551
+ </annotation>
552
+ <complexType>
553
+ <complexContent>
554
+ <extension base="tns:Component" />
555
+ </complexContent>
556
+ </complexType>
557
+ </element>
558
+
559
+ <element name="iwtm" substitutionGroup="tns:component">
560
+ <annotation>
561
+ <documentation xml:lang="en">
562
+ An "I Want To..." menu (the actual title can be specified via
563
+ the "title" attribute). Has a single slot in Web, at the top.
564
+ Supports both "top" and "bottom" named slots in Mobile.
565
+ </documentation>
566
+ </annotation>
567
+ <complexType>
568
+ <complexContent>
569
+ <extension base="tns:ComponentWithChildren" />
570
+ </complexContent>
571
+ </complexType>
572
+ </element>
573
+
574
+ <element name="panel" substitutionGroup="tns:component">
575
+ <annotation>
576
+ <documentation xml:lang="en">
577
+ A container that enables hierarchical navigation between its
578
+ child components. The user can navigate backwards to components
579
+ that were activated prior to the currently active component and
580
+ are ordered above the current component in configuration. The
581
+ last component that is marked as active will be initially
582
+ displayed, with all other components configured above that last
583
+ component as active being accessible via navigating backwards.
584
+ For example, if a panel has child components A, B, and C
585
+ (configured in that order), and initially A is active, then
586
+ activating C would display the C component but allow the user to
587
+ navigate back to A. If the user then activated B while C is
588
+ active, then C would be popped, and B would be shown, again with
589
+ a back button to navigate to A but with no way of navigating to
590
+ C because the configured order is maintained.
591
+ </documentation>
592
+ </annotation>
593
+ <complexType>
594
+ <complexContent mixed="true">
595
+ <extension base="tns:ComponentWithChildren">
596
+ <attribute name="show-close-button" type="boolean" default="true">
597
+ <annotation>
598
+ <documentation xml:lang="en">
599
+ Whether to show a button that closes the Panel.
600
+ Not supported in Mobile.
601
+ </documentation>
602
+ </annotation>
603
+ </attribute>
604
+ <attribute name="show-back-button" type="boolean" default="true">
605
+ <annotation>
606
+ <documentation xml:lang="en">
607
+ Whether to show a button that allows the user to
608
+ go "back". If a Panel has child components A, B,
609
+ and C, and C is currently active, clicking the
610
+ back button will hide C and B will be shown. Not
611
+ supported in Mobile.
612
+ </documentation>
613
+ </annotation>
614
+ </attribute>
615
+ <attribute name="show-maximize-button" type="boolean" default="true">
616
+ <annotation>
617
+ <documentation xml:lang="en">
618
+ Whether to show a button that allows the user to
619
+ maximize the panel. A maximized panel will grow
620
+ and fill the size of its parent container. Not
621
+ supported in Mobile.
622
+ </documentation>
623
+ </annotation>
624
+ </attribute>
625
+ <attribute name="show-minimize-button" type="boolean" default="true">
626
+ <annotation>
627
+ <documentation xml:lang="en">
628
+ Whether to show a button that allows the user to
629
+ minimize the panel. A minimized panel will
630
+ shrink to a small bar that only contains a
631
+ "restore size" button. In a split, this is a
632
+ vertical bar; in a stack (and other containers
633
+ the arrange children vertically), this is a
634
+ horizontal bar. Not supported in Mobile.
635
+ </documentation>
636
+ </annotation>
637
+ </attribute>
638
+ <attribute name="show-title" type="boolean" default="false">
639
+ <annotation>
640
+ <documentation xml:lang="en">
641
+ Whether or not the title should be displayed.
642
+ Not supported in Mobile.
643
+ </documentation>
644
+ </annotation>
645
+ </attribute>
646
+ <attribute name="visual-state">
647
+ <annotation>
648
+ <documentation xml:lang="en">
649
+ The initial state of the panel. Not supported in Mobile.
650
+ </documentation>
651
+ </annotation>
652
+ <simpleType>
653
+ <restriction base="string">
654
+ <enumeration value="normal" />
655
+ <enumeration value="minimized" />
656
+ <enumeration value="maximized" />
657
+ </restriction>
658
+ </simpleType>
659
+ </attribute>
660
+ </extension>
661
+ </complexContent>
662
+ </complexType>
663
+ </element>
664
+
665
+ <element name="split" substitutionGroup="tns:component">
666
+ <annotation>
667
+ <documentation xml:lang="en">
668
+ A container for other components that organizes its children
669
+ horizontally.
670
+ </documentation>
671
+ </annotation>
672
+ <complexType>
673
+ <complexContent mixed="true">
674
+ <extension base="tns:ComponentWithChildren">
675
+ <choice>
676
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
677
+ </choice>
678
+ <attribute name="resizable" type="boolean" default="false">
679
+ <annotation>
680
+ <documentation xml:lang="en">
681
+ Whether the user can interactively resize the
682
+ contained components. Not supported on all
683
+ platforms.
684
+ </documentation>
685
+ </annotation>
686
+ </attribute>
687
+ </extension>
688
+ </complexContent>
689
+ </complexType>
690
+ </element>
691
+
692
+ <element name="stack" substitutionGroup="tns:component">
693
+ <annotation>
694
+ <documentation xml:lang="en">
695
+ A container for other components that organizes its children
696
+ vertically.
697
+ </documentation>
698
+ </annotation>
699
+ <complexType>
700
+ <complexContent mixed="true">
701
+ <extension base="tns:ComponentWithChildren">
702
+ <choice>
703
+ <element ref="tns:component" minOccurs="0" maxOccurs="unbounded" />
704
+ </choice>
705
+ <attribute name="resizable" type="boolean" default="false">
706
+ <annotation>
707
+ <documentation xml:lang="en">
708
+ Whether the user can interactively resize the
709
+ contained components. Not supported on all
710
+ platforms.
711
+ </documentation>
712
+ </annotation>
713
+ </attribute>
714
+ </extension>
715
+ </complexContent>
716
+ </complexType>
717
+ </element>
718
+
719
+ <element name="text" substitutionGroup="tns:component">
720
+ <annotation>
721
+ <documentation xml:lang="en">A component that displays text.</documentation>
722
+ </annotation>
723
+ <complexType>
724
+ <complexContent mixed="true">
725
+ <extension base="tns:Component">
726
+ <attribute name="showBackground" type="boolean" default="true">
727
+ <annotation>
728
+ <documentation xml:lang="en">
729
+ Whether or not the text background should be displayed. Mobile
730
+ only. Defaults to true.
731
+ </documentation>
732
+ </annotation>
733
+ </attribute>
734
+ </extension>
735
+ </complexContent>
736
+ </complexType>
737
+ </element>
738
+
739
+ <!-- NOTE: GXW-only, despite being in the common namespace. -->
740
+ <element name="toolbar" substitutionGroup="tns:component">
741
+ <annotation>
742
+ <documentation xml:lang="en">
743
+ A toolbar menu. The toolbar supports up to one level of nesting
744
+ (a set of tools can be grouped together in one 'parent' that is
745
+ displayed on the root toolbar menu.). Not supported in Mobile.
746
+ </documentation>
747
+ </annotation>
748
+ <complexType>
749
+ <complexContent>
750
+ <extension base="tns:Component">
751
+ <attribute name="orientation">
752
+ <annotation>
753
+ <documentation xml:lang="en">
754
+ Determines the orientation of the toolbar menu items.
755
+ </documentation>
756
+ </annotation>
757
+ <simpleType>
758
+ <restriction base="string">
759
+ <enumeration value="vertical" />
760
+ <enumeration value="horizontal" />
761
+ </restriction>
762
+ </simpleType>
763
+ </attribute>
764
+ <attribute name="toolbar-style">
765
+ <annotation>
766
+ <documentation xml:lang="en">
767
+ The visual style of the toolbar. If the toolbar
768
+ is not in a map slot, or nested in rows/columns
769
+ within a map slot, then the toolbar will appear
770
+ with square styling.
771
+ </documentation>
772
+ </annotation>
773
+ <simpleType>
774
+ <restriction base="string">
775
+ <enumeration value="round" />
776
+ <enumeration value="square" />
777
+ </restriction>
778
+ </simpleType>
779
+ </attribute>
780
+ <attribute name="show-titles" type="boolean" default="true">
781
+ <annotation>
782
+ <documentation xml:lang="en">
783
+ Whether to display the titles on buttons. You
784
+ may wish to hide the titles in order to show
785
+ just icons.
786
+ </documentation>
787
+ </annotation>
788
+ </attribute>
789
+ <attribute name="show-icons" type="boolean" default="true">
790
+ <annotation>
791
+ <documentation xml:lang="en">
792
+ Whether to display the icons on buttons. You may wish to hide the
793
+ icons in order to show just titles.
794
+ </documentation>
795
+ </annotation>
796
+ </attribute>
797
+ <attribute name="icon-position">
798
+ <annotation>
799
+ <documentation xml:lang="en">
800
+ The position of the icon on each button relative to its
801
+ corresponding title.
802
+ </documentation>
803
+ </annotation>
804
+ <simpleType>
805
+ <restriction base="string">
806
+ <enumeration value="top" />
807
+ <enumeration value="bottom" />
808
+ <enumeration value="start" />
809
+ <enumeration value="end" />
810
+ </restriction>
811
+ </simpleType>
812
+ </attribute>
813
+ </extension>
814
+ </complexContent>
815
+ </complexType>
816
+ </element>
817
+
818
+ <element name="user" substitutionGroup="tns:component">
819
+ <annotation>
820
+ <documentation xml:lang="en">
821
+ Shows information about the current user (if there is one), and
822
+ allows the user to sign in or out as appropriate. The user
823
+ component does not support child components in Mobile.
824
+ </documentation>
825
+ </annotation>
826
+ <complexType>
827
+ <complexContent>
828
+ <extension base="tns:ComponentWithChildren">
829
+ <attribute name="style">
830
+ <annotation>
831
+ <documentation xml:lang="en">
832
+ The desired visual style for the button. Web only.
833
+ </documentation>
834
+ </annotation>
835
+ <simpleType>
836
+ <restriction base="string">
837
+ <enumeration value="round" />
838
+ <enumeration value="square" />
839
+ </restriction>
840
+ </simpleType>
841
+ </attribute>
842
+ <attribute name="size">
843
+ <annotation>
844
+ <documentation xml:lang="en">
845
+ The desired size of the button. Web only.
846
+ </documentation>
847
+ </annotation>
848
+ <simpleType>
849
+ <restriction base="string">
850
+ <enumeration value="small" />
851
+ <enumeration value="medium" />
852
+ <enumeration value="large" />
853
+ </restriction>
854
+ </simpleType>
855
+ </attribute>
856
+ </extension>
857
+ </complexContent>
858
+ </complexType>
859
+ </element>
860
+
861
+ <element name="workflow" substitutionGroup="tns:component">
862
+ <annotation>
863
+ <documentation xml:lang="en">
864
+ A component that hosts workflow forms. When a workflow item
865
+ config is specified, the workflow will be run when the component
866
+ is activated. Any command to run a workflow can use the
867
+ component by adding '#{componentId}' to its target. If the
868
+ component is activated outside the context of running a
869
+ workflow, and does not have a workflow item config, it will
870
+ appear empty. Only one workflow can use the component at a time.
871
+ If a second workflow attempts to use the component, the user
872
+ will be asked to cancel one of the workflows in Mobile. In Web,
873
+ the first workflow is canceled automatically.
874
+ </documentation>
875
+ </annotation>
876
+ <complexType>
877
+ <complexContent mixed="true">
878
+ <extension base="tns:Component" />
879
+ </complexContent>
880
+ </complexType>
881
+ </element>
882
+
883
+ <!-- GIS Components -->
884
+
885
+ <element name="basemap-picker" substitutionGroup="tns:component">
886
+ <annotation>
887
+ <documentation xml:lang="en">
888
+ Allows users to choose between available basemaps for the webmap
889
+ or webscene. Requiers an associated map component (see the
890
+ "models" attribute).
891
+ </documentation>
892
+ </annotation>
893
+ <complexType>
894
+ <complexContent>
895
+ <extension base="tns:Component" />
896
+ </complexContent>
897
+ </complexType>
898
+ </element>
899
+
900
+ <element name="compass" substitutionGroup="tns:component">
901
+ <annotation>
902
+ <documentation xml:lang="en">
903
+ Displays a North-pointing compass that rotates with the rotation of the map to which
904
+ it is associated.
905
+ </documentation>
906
+ </annotation>
907
+ <complexType>
908
+ <complexContent>
909
+ <extension base="tns:Component" />
910
+ </complexContent>
911
+ </complexType>
912
+ </element>
913
+
914
+ <element name="feature-details" substitutionGroup="tns:component">
915
+ <annotation>
916
+ <documentation xml:lang="en">
917
+ A component that allows the user to view feature details.
918
+ </documentation>
919
+ </annotation>
920
+ <complexType>
921
+ <complexContent>
922
+ <extension base="tns:Component">
923
+ <attribute name="button-style" default="medium">
924
+ <annotation>
925
+ <documentation xml:lang="en">
926
+ The desired size for the action buttons. Web
927
+ only.
928
+ </documentation>
929
+ </annotation>
930
+ <simpleType>
931
+ <restriction base="string">
932
+ <enumeration value="small" />
933
+ <enumeration value="medium" />
934
+ <enumeration value="large" />
935
+ </restriction>
936
+ </simpleType>
937
+ </attribute>
938
+ <attribute name="button-size" default="medium">
939
+ <annotation>
940
+ <documentation xml:lang="en">
941
+ The desired size for the action buttons. Web
942
+ only.
943
+ </documentation>
944
+ </annotation>
945
+ <simpleType>
946
+ <restriction base="string">
947
+ <enumeration value="small" />
948
+ <enumeration value="medium" />
949
+ <enumeration value="large" />
950
+ </restriction>
951
+ </simpleType>
952
+ </attribute>
953
+ <attribute name="related-record-display" default="preview">
954
+ <annotation>
955
+ <documentation xml:lang="en">
956
+ The style in which related records are
957
+ displayed. Web only.
958
+ </documentation>
959
+ </annotation>
960
+ <simpleType>
961
+ <restriction base="string">
962
+ <enumeration value="preview" />
963
+ <enumeration value="table" />
964
+ </restriction>
965
+ </simpleType>
966
+ </attribute>
967
+ <attribute name="show-action-icons" type="boolean" default="true">
968
+ <annotation>
969
+ <documentation xml:lang="en">
970
+ Whether or not the icon should be displayed in
971
+ action buttons. If neither icons nor titles are
972
+ shown, then the action buttons will not display.
973
+ Web only.
974
+ </documentation>
975
+ </annotation>
976
+ </attribute>
977
+ <attribute name="show-action-titles" type="boolean" default="false">
978
+ <annotation>
979
+ <documentation xml:lang="en">
980
+ Whether or not the title should be displayed in
981
+ action buttons. If neither icons nor titles are
982
+ shown, then the action buttons will not display.
983
+ Web only.
984
+ </documentation>
985
+ </annotation>
986
+ </attribute>
987
+ <attribute name="show-star-controls" type="boolean" default="false">
988
+ <annotation>
989
+ <documentation xml:lang="en">
990
+ Whether or not the starred feature icons and
991
+ functionality should be included. Defaults to
992
+ false. Web only.
993
+ </documentation>
994
+ </annotation>
995
+ </attribute>
996
+ </extension>
997
+ </complexContent>
998
+ </complexType>
999
+ </element>
1000
+
1001
+ <element name="geolocate" substitutionGroup="tns:component">
1002
+ <annotation>
1003
+ <documentation xml:lang="en">
1004
+ Displays a clickable/tappable indicator that toggles GPS
1005
+ geolocation behavior. In Mobile, the accuracy is also shown, and
1006
+ can be displayed in either metric or imperial units.
1007
+ </documentation>
1008
+ </annotation>
1009
+ <complexType>
1010
+ <complexContent>
1011
+ <extension base="tns:Component" />
1012
+ </complexContent>
1013
+ </complexType>
1014
+ </element>
1015
+
1016
+ <element name="layer-list" substitutionGroup="tns:component">
1017
+ <annotation>
1018
+ <documentation xml:lang="en">
1019
+ Allows users to see the structure of layers on the map and
1020
+ change their visibility. Requires an associated map component
1021
+ (see the "models" attribute).
1022
+ </documentation>
1023
+ </annotation>
1024
+ <complexType>
1025
+ <complexContent>
1026
+ <extension base="tns:Component">
1027
+ <attribute name="show-reorder-buttons" type="boolean" default="true">
1028
+ <annotation>
1029
+ <documentation xml:lang="en">
1030
+ Whether to show the arrow buttons used for
1031
+ moving layers up and down within the drawing
1032
+ order. If the LayerListModel.canReorder property
1033
+ is true, drag-and-drop functionality will be
1034
+ available regardless of this property. If the
1035
+ LayerListModel.canReorder property is false,
1036
+ this property is ignored. Web only.
1037
+ </documentation>
1038
+ </annotation>
1039
+ </attribute>
1040
+ <attribute name="show-filter-control" type="boolean" default="false">
1041
+ <annotation>
1042
+ <documentation xml:lang="en">
1043
+ Whether to show an text input control for
1044
+ filtering layers by title. Web only.
1045
+ </documentation>
1046
+ </annotation>
1047
+ </attribute>
1048
+ <attribute name="show-action-menu" type="boolean" default="true">
1049
+ <annotation>
1050
+ <documentation xml:lang="en">
1051
+ Whether to show a menu button that can be used
1052
+ to execute actions on all layers that are
1053
+ currently displayed in the layer list. Web only.
1054
+ </documentation>
1055
+ </annotation>
1056
+ </attribute>
1057
+ </extension>
1058
+ </complexContent>
1059
+ </complexType>
1060
+ </element>
1061
+
1062
+ <element name="layer-presets" substitutionGroup="tns:component">
1063
+ <annotation>
1064
+ <documentation xml:lang="en">
1065
+ A component that shows a list of layer presets and allows users
1066
+ to apply them.
1067
+ </documentation>
1068
+ </annotation>
1069
+ <complexType>
1070
+ <complexContent>
1071
+ <extension base="tns:Component">
1072
+ <attribute name="filter-by">
1073
+ <annotation>
1074
+ <documentation xml:lang="en">
1075
+ Indicates how the filter box will behave; if the
1076
+ value is 'none', no filter box will be
1077
+ displayed. Web only.
1078
+ </documentation>
1079
+ </annotation>
1080
+ <simpleType>
1081
+ <restriction base="string">
1082
+ <enumeration value="none" />
1083
+ <enumeration value="title" />
1084
+ <enumeration value="title-and-description" />
1085
+ </restriction>
1086
+ </simpleType>
1087
+ </attribute>
1088
+ <attribute name="show-title" type="boolean" default="true">
1089
+ <annotation>
1090
+ <documentation xml:lang="en">
1091
+ Indicates if the title should be displayed. Web only.
1092
+ </documentation>
1093
+ </annotation>
1094
+ </attribute>
1095
+ <attribute name="show-icon" type="boolean" default="true">
1096
+ <annotation>
1097
+ <documentation xml:lang="en">
1098
+ Indicates if the icon should be displayed. Web only.
1099
+ </documentation>
1100
+ </annotation>
1101
+ </attribute>
1102
+ </extension>
1103
+ </complexContent>
1104
+ </complexType>
1105
+ </element>
1106
+
1107
+ <element name="legend" substitutionGroup="tns:component">
1108
+ <annotation>
1109
+ <documentation xml:lang="en">
1110
+ Allows the user to see the symbology of the layers on the map.
1111
+ Requires an associated map component (see the "models"
1112
+ attribute").
1113
+ </documentation>
1114
+ </annotation>
1115
+ <complexType>
1116
+ <complexContent>
1117
+ <extension base="tns:Component" />
1118
+ </complexContent>
1119
+ </complexType>
1120
+ </element>
1121
+
1122
+ <element name="map" substitutionGroup="tns:component">
1123
+ <annotation>
1124
+ <documentation xml:lang="en">
1125
+ A 2D map (and/or a 3D scene in Web). A map can host child
1126
+ components and has the following slots in Mobile: "top-left",
1127
+ "top-right", "bottom-left", "bottom-right", "top",
1128
+ "top-center-visible", "bottom" and "bottom-center-visible". A
1129
+ child component in the "center-visible" slot will be centered in
1130
+ the visible area of the map, factoring in other components that
1131
+ are overlapping the map.
1132
+
1133
+ A map in Web has the following slots: "top-start", "top-center",
1134
+ "top-end", "bottom-start", "bottom-center", "bottom-end",
1135
+ "context-menu", and "popup". In left-to-right locales, "start"
1136
+ will be on the left, and "end" will be on the right. In
1137
+ right-to-left locales, these will be reversed.
1138
+ </documentation>
1139
+ </annotation>
1140
+ <complexType>
1141
+ <complexContent mixed="true">
1142
+ <extension base="tns:ComponentWithChildren" />
1143
+ </complexContent>
1144
+ </complexType>
1145
+ </element>
1146
+
1147
+ <!-- NOTE: GXW-only, despite being in the common namespace. -->
1148
+ <element name="map-coordinates" substitutionGroup="tns:component">
1149
+ <annotation>
1150
+ <documentation xml:lang="en">
1151
+ Allows the user to see the coordinates under the current mouse
1152
+ position. Requires an associated map component (see the "models"
1153
+ attribute"). Not supported in Mobile.
1154
+ </documentation>
1155
+ </annotation>
1156
+ <complexType>
1157
+ <complexContent>
1158
+ <extension base="tns:Component" />
1159
+ </complexContent>
1160
+ </complexType>
1161
+ </element>
1162
+
1163
+ <element name="results-list" substitutionGroup="tns:component">
1164
+ <annotation>
1165
+ <documentation xml:lang="en">
1166
+ A component that allows the user to view results from a search,
1167
+ identify, query, or any other activity that produces features in
1168
+ a list view.
1169
+ </documentation>
1170
+ </annotation>
1171
+ <complexType>
1172
+ <complexContent>
1173
+ <extension base="tns:Component">
1174
+ <attribute name="show-star-controls" type="boolean" default="false">
1175
+ <annotation>
1176
+ <documentation xml:lang="en">
1177
+ Whether or not the starred feature icons and
1178
+ functionality should be included. Defaults to
1179
+ false. Web only
1180
+ </documentation>
1181
+ </annotation>
1182
+ </attribute>
1183
+ </extension>
1184
+ </complexContent>
1185
+ </complexType>
1186
+ </element>
1187
+
1188
+ <element name="scalebar" substitutionGroup="tns:component">
1189
+ <annotation>
1190
+ <documentation xml:lang="en">A component that shows the scale of a map.</documentation>
1191
+ </annotation>
1192
+ <complexType>
1193
+ <complexContent>
1194
+ <extension base="tns:Component" />
1195
+ </complexContent>
1196
+ </complexType>
1197
+ </element>
1198
+
1199
+ <element name="search" substitutionGroup="tns:component">
1200
+ <annotation>
1201
+ <documentation xml:lang="en">
1202
+ A component that allows the user to search one ore more sources
1203
+ (maps, scenes, tables, geocoders, etc.).
1204
+ </documentation>
1205
+ </annotation>
1206
+ <complexType>
1207
+ <complexContent>
1208
+ <extension base="tns:Component" />
1209
+ </complexContent>
1210
+ </complexType>
1211
+ </element>
1212
+
1213
+ <element name="search-new-extent" substitutionGroup="tns:component">
1214
+ <annotation>
1215
+ <documentation xml:lang="en">
1216
+ A component that provides a single button that allows the user
1217
+ to "search this area" when the extent of the map changes to be
1218
+ different than the extent that was originally searched.
1219
+ </documentation>
1220
+ </annotation>
1221
+ <complexType>
1222
+ <complexContent>
1223
+ <extension base="tns:Component" />
1224
+ </complexContent>
1225
+ </complexType>
1226
+ </element>
1227
+
1228
+ <element name="zoom" substitutionGroup="tns:component">
1229
+ <annotation>
1230
+ <documentation xml:lang="en">
1231
+ Displays a pair of buttons that allow the user to zoom the map in or out.
1232
+ </documentation>
1233
+ </annotation>
1234
+ <complexType>
1235
+ <complexContent>
1236
+ <extension base="tns:Component" />
1237
+ </complexContent>
1238
+ </complexType>
1239
+ </element>
1240
+ </schema>