@esri/solutions-components 0.6.13 → 0.6.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (109) hide show
  1. package/dist/assets/t9n/layer-table/resources.json +1 -1
  2. package/dist/assets/t9n/layer-table/resources_en.json +1 -1
  3. package/dist/assets/t9n/map-layer-picker/resources.json +4 -0
  4. package/dist/assets/t9n/map-layer-picker/resources_en.json +4 -0
  5. package/dist/cjs/basemap-gallery_6.cjs.entry.js +20 -5
  6. package/dist/cjs/buffer-tools_4.cjs.entry.js +1 -1
  7. package/dist/cjs/calcite-chip_3.cjs.entry.js +803 -0
  8. package/dist/cjs/calcite-combobox_6.cjs.entry.js +76 -28
  9. package/dist/cjs/card-manager_3.cjs.entry.js +112 -54
  10. package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -5
  11. package/dist/cjs/{downloadUtils-fb4744e0.js → downloadUtils-34a515ad.js} +2 -2
  12. package/dist/cjs/edit-card_2.cjs.entry.js +5 -0
  13. package/dist/cjs/{index.es-372e33de.js → index.es-0ba11065.js} +2 -2
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
  16. package/dist/cjs/{mapViewUtils-a4dd36ec.js → mapViewUtils-a2884698.js} +39 -55
  17. package/dist/cjs/public-notification.cjs.entry.js +3 -3
  18. package/dist/cjs/{publicNotificationStore-b69862af.js → publicNotificationStore-610bd880.js} +0 -4
  19. package/dist/cjs/solutions-components.cjs.js +1 -1
  20. package/dist/collection/components/basemap-gallery/basemap-gallery.js +23 -1
  21. package/dist/collection/components/card-manager/card-manager.js +2 -2
  22. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +171 -5
  23. package/dist/collection/components/edit-card/edit-card.js +19 -0
  24. package/dist/collection/components/layer-table/layer-table.js +127 -47
  25. package/dist/collection/components/map-card/map-card.js +115 -5
  26. package/dist/collection/components/map-layer-picker/map-layer-picker.css +4 -0
  27. package/dist/collection/components/map-layer-picker/map-layer-picker.js +107 -27
  28. package/dist/collection/components/map-picker/map-picker.css +5 -1
  29. package/dist/collection/components/map-picker/map-picker.js +3 -3
  30. package/dist/collection/components/map-tools/map-tools.js +104 -1
  31. package/dist/collection/utils/interfaces.ts +12 -1
  32. package/dist/collection/utils/mapViewUtils.js +38 -52
  33. package/dist/collection/utils/mapViewUtils.ts +41 -57
  34. package/dist/collection/utils/publicNotificationStore.js +0 -4
  35. package/dist/collection/utils/publicNotificationStore.ts +0 -4
  36. package/dist/components/basemap-gallery2.js +2 -0
  37. package/dist/components/card-manager2.js +2 -2
  38. package/dist/components/crowdsource-manager.js +27 -6
  39. package/dist/components/edit-card2.js +5 -0
  40. package/dist/components/layer-table2.js +136 -78
  41. package/dist/components/map-card2.js +17 -5
  42. package/dist/components/map-layer-picker2.js +114 -52
  43. package/dist/components/map-picker2.js +4 -4
  44. package/dist/components/map-select-tools2.js +55 -43
  45. package/dist/components/map-tools2.js +20 -1
  46. package/dist/components/mapViewUtils.js +39 -53
  47. package/dist/components/public-notification.js +1 -1
  48. package/dist/components/publicNotificationStore.js +0 -4
  49. package/dist/components/refine-selection2.js +61 -49
  50. package/dist/esm/basemap-gallery_6.entry.js +20 -5
  51. package/dist/esm/buffer-tools_4.entry.js +1 -1
  52. package/dist/esm/calcite-chip_3.entry.js +797 -0
  53. package/dist/esm/calcite-combobox_6.entry.js +76 -28
  54. package/dist/esm/card-manager_3.entry.js +112 -54
  55. package/dist/esm/crowdsource-manager.entry.js +18 -5
  56. package/dist/esm/{downloadUtils-67c7a6c8.js → downloadUtils-ac67a786.js} +2 -2
  57. package/dist/esm/edit-card_2.entry.js +5 -0
  58. package/dist/esm/{index.es-59a67d3d.js → index.es-f553598f.js} +2 -2
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/esm/map-select-tools_3.entry.js +3 -3
  61. package/dist/esm/{mapViewUtils-00a04d52.js → mapViewUtils-8141d8c1.js} +39 -53
  62. package/dist/esm/public-notification.entry.js +3 -3
  63. package/dist/esm/{publicNotificationStore-90a6a274.js → publicNotificationStore-dcf39a55.js} +0 -4
  64. package/dist/esm/solutions-components.js +1 -1
  65. package/dist/solutions-components/p-08b52ed8.entry.js +6 -0
  66. package/dist/solutions-components/p-16362eb4.js +36 -0
  67. package/dist/solutions-components/{p-3691a072.js → p-1ab414e0.js} +2 -2
  68. package/dist/solutions-components/{p-73ab9d9a.entry.js → p-3d7aa1b2.entry.js} +1 -1
  69. package/dist/solutions-components/{p-9a8c51bf.entry.js → p-57cf6784.entry.js} +1 -1
  70. package/dist/solutions-components/p-64b22d57.entry.js +6 -0
  71. package/dist/solutions-components/p-654dd5df.entry.js +6 -0
  72. package/dist/solutions-components/{p-f9166fcb.js → p-a26711e8.js} +1 -1
  73. package/dist/solutions-components/p-b1c8c6d7.entry.js +6 -0
  74. package/dist/solutions-components/{p-b892e595.entry.js → p-b9d29f30.entry.js} +1 -1
  75. package/dist/solutions-components/{p-1b41181b.js → p-c8d0ce92.js} +2 -2
  76. package/dist/solutions-components/{p-0219a1a9.entry.js → p-e76949eb.entry.js} +6 -6
  77. package/dist/solutions-components/p-ee7e2f00.entry.js +34 -0
  78. package/dist/solutions-components/solutions-components.esm.js +1 -1
  79. package/dist/solutions-components/utils/interfaces.ts +12 -1
  80. package/dist/solutions-components/utils/mapViewUtils.ts +41 -57
  81. package/dist/solutions-components/utils/publicNotificationStore.ts +0 -4
  82. package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +5 -0
  83. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +37 -1
  84. package/dist/types/components/edit-card/edit-card.d.ts +8 -0
  85. package/dist/types/components/layer-table/layer-table.d.ts +40 -0
  86. package/dist/types/components/map-card/map-card.d.ts +25 -1
  87. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +50 -3
  88. package/dist/types/components/map-picker/map-picker.d.ts +2 -2
  89. package/dist/types/components/map-tools/map-tools.d.ts +21 -1
  90. package/dist/types/components.d.ts +182 -2
  91. package/dist/types/preact.d.ts +6 -3
  92. package/dist/types/utils/interfaces.d.ts +10 -1
  93. package/dist/types/utils/mapViewUtils.d.ts +8 -24
  94. package/dist/types/utils/publicNotificationStore.d.ts +0 -2
  95. package/package.json +1 -1
  96. package/dist/cjs/calcite-chip.cjs.entry.js +0 -259
  97. package/dist/cjs/calcite-notice.cjs.entry.js +0 -139
  98. package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -439
  99. package/dist/esm/calcite-chip.entry.js +0 -255
  100. package/dist/esm/calcite-notice.entry.js +0 -135
  101. package/dist/esm/calcite-tooltip.entry.js +0 -435
  102. package/dist/solutions-components/p-2cff8331.entry.js +0 -6
  103. package/dist/solutions-components/p-3a6c8fc3.entry.js +0 -6
  104. package/dist/solutions-components/p-3b1fc7a2.entry.js +0 -6
  105. package/dist/solutions-components/p-767002cd.js +0 -36
  106. package/dist/solutions-components/p-a776b7e6.entry.js +0 -6
  107. package/dist/solutions-components/p-be36d5ed.entry.js +0 -22
  108. package/dist/solutions-components/p-c644edf5.entry.js +0 -11
  109. package/dist/solutions-components/p-cfd88a2f.entry.js +0 -11
@@ -51,6 +51,10 @@ export declare class EditCard {
51
51
  * esri/core/Accessor: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html#WatchHandle
52
52
  */
53
53
  protected _editHandle: __esri.WatchHandle;
54
+ /**
55
+ * esri/core/Accessor: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Accessor.html#WatchHandle
56
+ */
57
+ protected _layerEditHandle: __esri.WatchHandle;
54
58
  /**
55
59
  * esri/widgets/Editor: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html
56
60
  * The Editor constructor
@@ -102,6 +106,10 @@ export declare class EditCard {
102
106
  * Emitted on demand when the Editor widget should be closed
103
107
  */
104
108
  closeEdit: EventEmitter<void>;
109
+ /**
110
+ * Emitted on demand when edits are completed on current edit layer
111
+ */
112
+ editsComplete: EventEmitter<void>;
105
113
  /**
106
114
  * StencilJS: Called once just after the component is first connected to the DOM.
107
115
  *
@@ -35,6 +35,10 @@ export declare class LayerTable {
35
35
  * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
36
36
  */
37
37
  mapView: __esri.MapView;
38
+ /**
39
+ * boolean: When true only editable layers that support the update capability will be available
40
+ */
41
+ onlyShowUpdatableLayers: boolean;
38
42
  /**
39
43
  * boolean: when true the table will be sorted by objectid in descending order by default
40
44
  */
@@ -96,6 +100,10 @@ export declare class LayerTable {
96
100
  * boolean: When false alerts will be shown to indicate that the layer must have delete and editing enabled
97
101
  */
98
102
  protected _deleteEnabled: boolean;
103
+ /**
104
+ * IHandle: The map click handle
105
+ */
106
+ protected _mapClickHandle: IHandle;
99
107
  /**
100
108
  * esri/core/reactiveUtils: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html
101
109
  */
@@ -144,6 +152,16 @@ export declare class LayerTable {
144
152
  * @param evt CustomEvent the graphic for the current selection
145
153
  */
146
154
  selectionChanged(evt: CustomEvent): Promise<void>;
155
+ /**
156
+ * Refresh the table when edits are completed
157
+ *
158
+ */
159
+ editsComplete(): void;
160
+ /**
161
+ * Refresh the table when edits are completed
162
+ *
163
+ */
164
+ noLayersFound(): void;
147
165
  /**
148
166
  * StencilJS: Called once just after the component is first connected to the DOM.
149
167
  *
@@ -170,6 +188,28 @@ export declare class LayerTable {
170
188
  * @returns The dom node that contains the controls
171
189
  */
172
190
  protected _getTableControlRow(slot?: string): VNode;
191
+ /**
192
+ * Get an action and tooltip
193
+ *
194
+ * @param icon string the name of the icon to display, will also be used as the id
195
+ * @param label string the text to display and label the action
196
+ * @param func any the function to execute
197
+ * @param disabled boolean when true the user will not be able to interact with the action
198
+ *
199
+ * @returns VNode The node representing the DOM element that will contain the action
200
+ */
201
+ private _getAction;
202
+ /**
203
+ * Get an action with danger color icon and text
204
+ *
205
+ * @param icon string the name of the icon to display, will also be used as the id
206
+ * @param label string the text to display and label the action
207
+ * @param func any the function to execute
208
+ * @param disabled boolean when true the user will not be able to interact with the action
209
+ *
210
+ * @returns VNode The node representing the DOM element that will contain the action
211
+ */
212
+ private _getDangerAction;
173
213
  /**
174
214
  * Store a reference to the table node after it's first created
175
215
  * and initializes the FeatureTable
@@ -15,9 +15,29 @@
15
15
  */
16
16
  /// <reference types="arcgis-js-api" />
17
17
  import { EventEmitter } from "../../stencil-public-runtime";
18
- import { IMapChange, IMapInfo, ISearchConfiguration } from "../../utils/interfaces";
18
+ import { IBasemapConfig, IMapChange, IMapInfo, ISearchConfiguration } from "../../utils/interfaces";
19
19
  export declare class MapCard {
20
20
  el: HTMLMapCardElement;
21
+ /**
22
+ * boolean: when true the legend widget will be available
23
+ */
24
+ enableLegend: boolean;
25
+ /**
26
+ * boolean: when true the fullscreen widget will be available
27
+ */
28
+ enableFullscreen: boolean;
29
+ /**
30
+ * boolean: when true the search widget will be available
31
+ */
32
+ enableSearch: boolean;
33
+ /**
34
+ * boolean: when true the basemap widget will be available
35
+ */
36
+ enableBasemap: boolean;
37
+ /**
38
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
39
+ */
40
+ basemapConfig: IBasemapConfig;
21
41
  /**
22
42
  * IMapInfo[]: array of map infos (name and id)
23
43
  */
@@ -62,6 +82,10 @@ export declare class MapCard {
62
82
  * Emitted when a new map is loaded
63
83
  */
64
84
  mapChanged: EventEmitter<IMapChange>;
85
+ /**
86
+ * Emitted before a new map is loaded
87
+ */
88
+ beforeMapChanged: EventEmitter<void>;
65
89
  /**
66
90
  * Listen for changes to map info and load the appropriate map
67
91
  */
@@ -15,6 +15,8 @@
15
15
  */
16
16
  /// <reference types="arcgis-js-api" />
17
17
  import { EventEmitter, VNode } from "../../stencil-public-runtime";
18
+ import MapLayerPicker_T9n from "../../assets/t9n/map-layer-picker/resources.json";
19
+ import { IMapItemHash } from "../../utils/interfaces";
18
20
  export declare class MapLayerPicker {
19
21
  el: HTMLMapLayerPickerElement;
20
22
  /**
@@ -35,6 +37,10 @@ export declare class MapLayerPicker {
35
37
  * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
36
38
  */
37
39
  mapView: __esri.MapView;
40
+ /**
41
+ * boolean: When true only editable layers that support the update capability will be available
42
+ */
43
+ onlyShowUpdatableLayers: boolean;
38
44
  /**
39
45
  * string: optional placeholder icon used with "combobox" type
40
46
  */
@@ -55,23 +61,45 @@ export declare class MapLayerPicker {
55
61
  * "select" | "combobox" | "dropdown": type of component to leverage
56
62
  */
57
63
  type: "select" | "combobox" | "dropdown";
64
+ /**
65
+ * boolean: when true the map contains valid layers and all expected tools will be enabled
66
+ */
67
+ _hasValidLayers: boolean;
58
68
  /**
59
69
  * string[]: list of layer and table (if showTables is true) ids from the map
60
70
  */
61
71
  ids: string[];
62
72
  /**
63
- * string: lcurrent layer name to display when using "dropdown" type
73
+ * string: current layer name to display when using "dropdown" type
64
74
  */
65
75
  selectedName: string;
76
+ /**
77
+ * Contains the translations for this component.
78
+ * All UI strings should be defined here.
79
+ */
80
+ _translations: typeof MapLayerPicker_T9n;
66
81
  /**
67
82
  * HTMLCalciteSelectElement: The html element for selecting layers
68
83
  */
69
84
  protected _layerElement: HTMLCalciteSelectElement | HTMLCalciteComboboxElement;
85
+ /**
86
+ * IMapItemHash: id/name lookup
87
+ */
88
+ protected _layerNameHash: IMapItemHash;
89
+ /**
90
+ * IMapItemHash: id/name lookup
91
+ */
92
+ protected _tableNameHash: IMapItemHash;
70
93
  /**
71
94
  * Called each time the mapView prop is changed.
72
95
  *
73
96
  */
74
97
  mapViewWatchHandler(): Promise<void>;
98
+ /**
99
+ * Emitted on demand when no valid layers are found
100
+ *
101
+ */
102
+ noLayersFound: EventEmitter<void>;
75
103
  /**
76
104
  * Emitted on demand when a layer is selected
77
105
  *
@@ -89,6 +117,12 @@ export declare class MapLayerPicker {
89
117
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
90
118
  */
91
119
  componentDidLoad(): Promise<void>;
120
+ /**
121
+ * Create a notice to inform the user that no layers were found
122
+ *
123
+ * @returns Calcite Notice component with the message
124
+ */
125
+ protected _getInvalidPlaceholder(): VNode;
92
126
  /**
93
127
  * Create a list of layers from the map
94
128
  *
@@ -126,19 +160,25 @@ export declare class MapLayerPicker {
126
160
  /**
127
161
  * Store the layer name based on the user selection
128
162
  */
129
- _setSelectedLayer(id: string, type: "layer" | "table"): void;
163
+ _setSelectedLayer(id: string): void;
130
164
  /**
131
165
  * Fetch the ids of the layers from the map
132
166
  *
133
167
  * @returns Promise when the operation has completed
134
168
  */
135
169
  _setLayers(): Promise<void>;
170
+ /**
171
+ * Fetch the ids of all layers that support edits with the update capability
172
+ *
173
+ * @returns array of layer ids
174
+ */
175
+ protected _getEditableIds(hash: IMapItemHash): string[];
136
176
  /**
137
177
  * Create a layer id:title hash for layer name display
138
178
  *
139
179
  * @returns Promise when the operation has completed
140
180
  */
141
- protected _initStateHash(): Promise<void>;
181
+ protected _initLayerTableHash(): Promise<void>;
142
182
  /**
143
183
  * Evaluate if the id exists in the current hash and verify if it should be excluded
144
184
  *
@@ -157,4 +197,11 @@ export declare class MapLayerPicker {
157
197
  * @returns Promise when the operation has completed
158
198
  */
159
199
  _layerSelectionChange(): void;
200
+ /**
201
+ * Fetches the component's translations
202
+ *
203
+ * @returns Promise when complete
204
+ * @protected
205
+ */
206
+ protected _getTranslations(): Promise<void>;
160
207
  }
@@ -44,7 +44,7 @@ export declare class MapPicker {
44
44
  /**
45
45
  * Called each time the mapInfos prop is changed.
46
46
  */
47
- mapInfosWatchHandler(v: IMapInfo[], oldV: IMapInfo[]): void;
47
+ mapInfosWatchHandler(v: IMapInfo[], oldV: IMapInfo[]): Promise<void>;
48
48
  /**
49
49
  * Emitted when a new map is loaded
50
50
  */
@@ -60,7 +60,7 @@ export declare class MapPicker {
60
60
  /**
61
61
  * Called once after the component has loaded
62
62
  */
63
- componentDidLoad(): void;
63
+ componentDidLoad(): Promise<void>;
64
64
  /**
65
65
  * Get a calcite action group for the map list
66
66
  * Actions do not support multiple icons so this uses a block
@@ -16,9 +16,29 @@
16
16
  /// <reference types="arcgis-js-api" />
17
17
  import { VNode } from '../../stencil-public-runtime';
18
18
  import MapTools_T9n from "../../assets/t9n/map-tools/resources.json";
19
- import { ISearchConfiguration } from "../../utils/interfaces";
19
+ import { IBasemapConfig, ISearchConfiguration } from "../../utils/interfaces";
20
20
  export declare class MapTools {
21
21
  el: HTMLMapToolsElement;
22
+ /**
23
+ * boolean: when true the legend widget will be available
24
+ */
25
+ enableLegend: boolean;
26
+ /**
27
+ * boolean: when true the fullscreen widget will be available
28
+ */
29
+ enableFullscreen: boolean;
30
+ /**
31
+ * boolean: when true the search widget will be available
32
+ */
33
+ enableSearch: boolean;
34
+ /**
35
+ * boolean: when true the basemap widget will be available
36
+ */
37
+ enableBasemap: boolean;
38
+ /**
39
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
40
+ */
41
+ basemapConfig: IBasemapConfig;
22
42
  /**
23
43
  * "horizontal" | "vertical": used to control the orientation of the tools
24
44
  */
@@ -5,12 +5,16 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
- import { DistanceUnit, EDrawMode, ELayoutMode, IExportInfos, IInventoryItem, IMapChange, IMapInfo, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange } from "./utils/interfaces";
8
+ import { DistanceUnit, EDrawMode, ELayoutMode, IBasemapConfig, IExportInfos, IInventoryItem, IMapChange, IMapInfo, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange } from "./utils/interfaces";
9
9
  import { UserSession } from "@esri/solution-common";
10
- export { DistanceUnit, EDrawMode, ELayoutMode, IExportInfos, IInventoryItem, IMapChange, IMapInfo, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange } from "./utils/interfaces";
10
+ export { DistanceUnit, EDrawMode, ELayoutMode, IBasemapConfig, IExportInfos, IInventoryItem, IMapChange, IMapInfo, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange } from "./utils/interfaces";
11
11
  export { UserSession } from "@esri/solution-common";
12
12
  export namespace Components {
13
13
  interface BasemapGallery {
14
+ /**
15
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
16
+ */
17
+ "basemapConfig": IBasemapConfig;
14
18
  /**
15
19
  * esri/widgets/BasemapGallery: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapGallery.html BasemapGallery instance
16
20
  */
@@ -70,6 +74,10 @@ export namespace Components {
70
74
  "zoomAndScrollToSelected": boolean;
71
75
  }
72
76
  interface CrowdsourceManager {
77
+ /**
78
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
79
+ */
80
+ "basemapConfig": IBasemapConfig;
73
81
  /**
74
82
  * boolean: when true the grid will display like the previous manager app with the table across the top
75
83
  */
@@ -78,10 +86,34 @@ export namespace Components {
78
86
  * boolean: when true the layer table will auto refresh the data
79
87
  */
80
88
  "enableAutoRefresh": boolean;
89
+ /**
90
+ * boolean: when true the basemap widget will be available
91
+ */
92
+ "enableBasemap": boolean;
93
+ /**
94
+ * boolean: when true the fullscreen widget will be available
95
+ */
96
+ "enableFullscreen": boolean;
97
+ /**
98
+ * boolean: when true the home widget will be available
99
+ */
100
+ "enableHome": boolean;
81
101
  /**
82
102
  * boolean: when true edits can be applied directly within the table
83
103
  */
84
104
  "enableInlineEdit": boolean;
105
+ /**
106
+ * boolean: when true the legend widget will be available
107
+ */
108
+ "enableLegend": boolean;
109
+ /**
110
+ * boolean: when true the search widget will be available
111
+ */
112
+ "enableSearch": boolean;
113
+ /**
114
+ * boolean: when true the zoom widget will be available
115
+ */
116
+ "enableZoom": boolean;
85
117
  /**
86
118
  * boolean: when true no map is displayed for the app
87
119
  */
@@ -90,6 +122,10 @@ export namespace Components {
90
122
  * IMapInfo[]: array of map infos (name and id)
91
123
  */
92
124
  "mapInfos": IMapInfo[];
125
+ /**
126
+ * boolean: When true only editable layers that support the update capability will be available
127
+ */
128
+ "onlyShowUpdatableLayers": boolean;
93
129
  /**
94
130
  * ISearchConfiguration: Configuration details for the Search widget
95
131
  */
@@ -208,6 +244,10 @@ export namespace Components {
208
244
  * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
209
245
  */
210
246
  "mapView": __esri.MapView;
247
+ /**
248
+ * boolean: When true only editable layers that support the update capability will be available
249
+ */
250
+ "onlyShowUpdatableLayers": boolean;
211
251
  /**
212
252
  * boolean: when true the table will be sorted by objectid in descending order by default
213
253
  */
@@ -222,6 +262,26 @@ export namespace Components {
222
262
  interface ListItem {
223
263
  }
224
264
  interface MapCard {
265
+ /**
266
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
267
+ */
268
+ "basemapConfig": IBasemapConfig;
269
+ /**
270
+ * boolean: when true the basemap widget will be available
271
+ */
272
+ "enableBasemap": boolean;
273
+ /**
274
+ * boolean: when true the fullscreen widget will be available
275
+ */
276
+ "enableFullscreen": boolean;
277
+ /**
278
+ * boolean: when true the legend widget will be available
279
+ */
280
+ "enableLegend": boolean;
281
+ /**
282
+ * boolean: when true the search widget will be available
283
+ */
284
+ "enableSearch": boolean;
225
285
  /**
226
286
  * IMapInfo[]: array of map infos (name and id)
227
287
  */
@@ -310,6 +370,10 @@ export namespace Components {
310
370
  * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
311
371
  */
312
372
  "mapView": __esri.MapView;
373
+ /**
374
+ * boolean: When true only editable layers that support the update capability will be available
375
+ */
376
+ "onlyShowUpdatableLayers": boolean;
313
377
  /**
314
378
  * string: optional placeholder icon used with "combobox" type
315
379
  */
@@ -458,6 +522,26 @@ export namespace Components {
458
522
  "sketchPolygonSymbol": __esri.SimpleFillSymbol;
459
523
  }
460
524
  interface MapTools {
525
+ /**
526
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
527
+ */
528
+ "basemapConfig": IBasemapConfig;
529
+ /**
530
+ * boolean: when true the basemap widget will be available
531
+ */
532
+ "enableBasemap": boolean;
533
+ /**
534
+ * boolean: when true the fullscreen widget will be available
535
+ */
536
+ "enableFullscreen": boolean;
537
+ /**
538
+ * boolean: when true the legend widget will be available
539
+ */
540
+ "enableLegend": boolean;
541
+ /**
542
+ * boolean: when true the search widget will be available
543
+ */
544
+ "enableSearch": boolean;
461
545
  /**
462
546
  * "horizontal" | "vertical": used to control the orientation of the tools
463
547
  */
@@ -1110,6 +1194,10 @@ declare global {
1110
1194
  }
1111
1195
  declare namespace LocalJSX {
1112
1196
  interface BasemapGallery {
1197
+ /**
1198
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
1199
+ */
1200
+ "basemapConfig"?: IBasemapConfig;
1113
1201
  /**
1114
1202
  * esri/widgets/BasemapGallery: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-BasemapGallery.html BasemapGallery instance
1115
1203
  */
@@ -1181,6 +1269,10 @@ declare namespace LocalJSX {
1181
1269
  "zoomAndScrollToSelected"?: boolean;
1182
1270
  }
1183
1271
  interface CrowdsourceManager {
1272
+ /**
1273
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
1274
+ */
1275
+ "basemapConfig"?: IBasemapConfig;
1184
1276
  /**
1185
1277
  * boolean: when true the grid will display like the previous manager app with the table across the top
1186
1278
  */
@@ -1189,10 +1281,34 @@ declare namespace LocalJSX {
1189
1281
  * boolean: when true the layer table will auto refresh the data
1190
1282
  */
1191
1283
  "enableAutoRefresh"?: boolean;
1284
+ /**
1285
+ * boolean: when true the basemap widget will be available
1286
+ */
1287
+ "enableBasemap"?: boolean;
1288
+ /**
1289
+ * boolean: when true the fullscreen widget will be available
1290
+ */
1291
+ "enableFullscreen"?: boolean;
1292
+ /**
1293
+ * boolean: when true the home widget will be available
1294
+ */
1295
+ "enableHome"?: boolean;
1192
1296
  /**
1193
1297
  * boolean: when true edits can be applied directly within the table
1194
1298
  */
1195
1299
  "enableInlineEdit"?: boolean;
1300
+ /**
1301
+ * boolean: when true the legend widget will be available
1302
+ */
1303
+ "enableLegend"?: boolean;
1304
+ /**
1305
+ * boolean: when true the search widget will be available
1306
+ */
1307
+ "enableSearch"?: boolean;
1308
+ /**
1309
+ * boolean: when true the zoom widget will be available
1310
+ */
1311
+ "enableZoom"?: boolean;
1196
1312
  /**
1197
1313
  * boolean: when true no map is displayed for the app
1198
1314
  */
@@ -1201,6 +1317,10 @@ declare namespace LocalJSX {
1201
1317
  * IMapInfo[]: array of map infos (name and id)
1202
1318
  */
1203
1319
  "mapInfos"?: IMapInfo[];
1320
+ /**
1321
+ * boolean: When true only editable layers that support the update capability will be available
1322
+ */
1323
+ "onlyShowUpdatableLayers"?: boolean;
1204
1324
  /**
1205
1325
  * ISearchConfiguration: Configuration details for the Search widget
1206
1326
  */
@@ -1239,6 +1359,10 @@ declare namespace LocalJSX {
1239
1359
  * Emitted on demand when the Editor widget should be closed
1240
1360
  */
1241
1361
  "onCloseEdit"?: (event: EditCardCustomEvent<void>) => void;
1362
+ /**
1363
+ * Emitted on demand when edits are completed on current edit layer
1364
+ */
1365
+ "onEditsComplete"?: (event: EditCardCustomEvent<void>) => void;
1242
1366
  /**
1243
1367
  * When true the component is displayed
1244
1368
  */
@@ -1305,6 +1429,10 @@ declare namespace LocalJSX {
1305
1429
  * Emitted on demand when a layer is selected
1306
1430
  */
1307
1431
  "onFeatureSelectionChange"?: (event: LayerTableCustomEvent<number[]>) => void;
1432
+ /**
1433
+ * boolean: When true only editable layers that support the update capability will be available
1434
+ */
1435
+ "onlyShowUpdatableLayers"?: boolean;
1308
1436
  /**
1309
1437
  * boolean: when true the table will be sorted by objectid in descending order by default
1310
1438
  */
@@ -1323,6 +1451,26 @@ declare namespace LocalJSX {
1323
1451
  interface ListItem {
1324
1452
  }
1325
1453
  interface MapCard {
1454
+ /**
1455
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
1456
+ */
1457
+ "basemapConfig"?: IBasemapConfig;
1458
+ /**
1459
+ * boolean: when true the basemap widget will be available
1460
+ */
1461
+ "enableBasemap"?: boolean;
1462
+ /**
1463
+ * boolean: when true the fullscreen widget will be available
1464
+ */
1465
+ "enableFullscreen"?: boolean;
1466
+ /**
1467
+ * boolean: when true the legend widget will be available
1468
+ */
1469
+ "enableLegend"?: boolean;
1470
+ /**
1471
+ * boolean: when true the search widget will be available
1472
+ */
1473
+ "enableSearch"?: boolean;
1326
1474
  /**
1327
1475
  * IMapInfo[]: array of map infos (name and id)
1328
1476
  */
@@ -1331,6 +1479,10 @@ declare namespace LocalJSX {
1331
1479
  * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
1332
1480
  */
1333
1481
  "mapView"?: __esri.MapView;
1482
+ /**
1483
+ * Emitted before a new map is loaded
1484
+ */
1485
+ "onBeforeMapChanged"?: (event: MapCardCustomEvent<void>) => void;
1334
1486
  /**
1335
1487
  * Emitted when a new map is loaded
1336
1488
  */
@@ -1425,6 +1577,14 @@ declare namespace LocalJSX {
1425
1577
  * Emitted on demand when a layer is selected
1426
1578
  */
1427
1579
  "onLayerSelectionChange"?: (event: MapLayerPickerCustomEvent<string[]>) => void;
1580
+ /**
1581
+ * Emitted on demand when no valid layers are found
1582
+ */
1583
+ "onNoLayersFound"?: (event: MapLayerPickerCustomEvent<void>) => void;
1584
+ /**
1585
+ * boolean: When true only editable layers that support the update capability will be available
1586
+ */
1587
+ "onlyShowUpdatableLayers"?: boolean;
1428
1588
  /**
1429
1589
  * string: optional placeholder icon used with "combobox" type
1430
1590
  */
@@ -1571,6 +1731,26 @@ declare namespace LocalJSX {
1571
1731
  "sketchPolygonSymbol"?: __esri.SimpleFillSymbol;
1572
1732
  }
1573
1733
  interface MapTools {
1734
+ /**
1735
+ * IBasemapConfig: List of any basemaps to filter out from the basemap widget
1736
+ */
1737
+ "basemapConfig"?: IBasemapConfig;
1738
+ /**
1739
+ * boolean: when true the basemap widget will be available
1740
+ */
1741
+ "enableBasemap"?: boolean;
1742
+ /**
1743
+ * boolean: when true the fullscreen widget will be available
1744
+ */
1745
+ "enableFullscreen"?: boolean;
1746
+ /**
1747
+ * boolean: when true the legend widget will be available
1748
+ */
1749
+ "enableLegend"?: boolean;
1750
+ /**
1751
+ * boolean: when true the search widget will be available
1752
+ */
1753
+ "enableSearch"?: boolean;
1574
1754
  /**
1575
1755
  * "horizontal" | "vertical": used to control the orientation of the tools
1576
1756
  */
@@ -471,8 +471,9 @@ declare module "preact/src/jsx" {
471
471
  "ondeductValueComplete"?: (event: CustomEvent<any>) => void;
472
472
  }
473
473
 
474
- "edit-card": Omit<JSX.SolutionsEditCard, "onCloseEdit"> & JSXInternal.HTMLAttributes<HTMLSolutionsEditCardElement> & {
474
+ "edit-card": Omit<JSX.SolutionsEditCard, "onCloseEdit" | "onEditsComplete"> & JSXInternal.HTMLAttributes<HTMLSolutionsEditCardElement> & {
475
475
  "oncloseEdit"?: (event: CustomEvent<any>) => void;
476
+ "oneditsComplete"?: (event: CustomEvent<any>) => void;
476
477
  }
477
478
 
478
479
  "info-card": Omit<JSX.SolutionsInfoCard, "onSelectionChanged"> & JSXInternal.HTMLAttributes<HTMLSolutionsInfoCardElement> & {
@@ -491,8 +492,9 @@ declare module "preact/src/jsx" {
491
492
 
492
493
  "list-item": JSX.SolutionsListItem & JSXInternal.HTMLAttributes<HTMLSolutionsListItemElement>
493
494
 
494
- "map-card": Omit<JSX.SolutionsMapCard, "onMapChanged"> & JSXInternal.HTMLAttributes<HTMLSolutionsMapCardElement> & {
495
+ "map-card": Omit<JSX.SolutionsMapCard, "onMapChanged" | "onBeforeMapChanged"> & JSXInternal.HTMLAttributes<HTMLSolutionsMapCardElement> & {
495
496
  "onmapChanged"?: (event: CustomEvent<any>) => void;
497
+ "onbeforeMapChanged"?: (event: CustomEvent<any>) => void;
496
498
  }
497
499
 
498
500
  "map-draw-tools": Omit<JSX.SolutionsMapDrawTools, "onSelectionLoadingChange" | "onSketchGraphicsChange" | "onDrawUndo" | "onDrawRedo"> & JSXInternal.HTMLAttributes<HTMLSolutionsMapDrawToolsElement> & {
@@ -504,7 +506,8 @@ declare module "preact/src/jsx" {
504
506
 
505
507
  "map-fullscreen": JSX.SolutionsMapFullscreen & JSXInternal.HTMLAttributes<HTMLSolutionsMapFullscreenElement>
506
508
 
507
- "map-layer-picker": Omit<JSX.SolutionsMapLayerPicker, "onLayerSelectionChange"> & JSXInternal.HTMLAttributes<HTMLSolutionsMapLayerPickerElement> & {
509
+ "map-layer-picker": Omit<JSX.SolutionsMapLayerPicker, "onNoLayersFound" | "onLayerSelectionChange"> & JSXInternal.HTMLAttributes<HTMLSolutionsMapLayerPickerElement> & {
510
+ "onnoLayersFound"?: (event: CustomEvent<any>) => void;
508
511
  "onlayerSelectionChange"?: (event: CustomEvent<any>) => void;
509
512
  }
510
513
 
@@ -138,7 +138,11 @@ export interface IValueChange {
138
138
  * Layer or table id and title key value pair
139
139
  */
140
140
  export interface IMapItemHash {
141
- [key: string]: string;
141
+ [key: string]: ILayerHashInfo;
142
+ }
143
+ export interface ILayerHashInfo {
144
+ name: string;
145
+ supportsUpdate: boolean;
142
146
  }
143
147
  /**
144
148
  * Key details from the templates item
@@ -385,6 +389,8 @@ export interface IMapInfo {
385
389
  searchConfiguration?: ISearchConfiguration;
386
390
  filters?: any[];
387
391
  layerInfos?: ILayerInfo[];
392
+ _hasValidLayers?: boolean;
393
+ visible: boolean;
388
394
  }
389
395
  export interface ILayerInfo {
390
396
  id: string;
@@ -403,3 +409,6 @@ export interface IExportInfo {
403
409
  layerView?: __esri.FeatureLayerView;
404
410
  selectionSetNames: string[];
405
411
  }
412
+ export interface IBasemapConfig {
413
+ basemapIdsToFilter: string[];
414
+ }