@esri/solutions-components 0.6.13 → 0.6.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
+ }