@esri/solutions-components 0.5.1 → 0.5.2

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 (156) hide show
  1. package/dist/assets/arcgis-pdf-creator/PDFCreator.js +6 -3
  2. package/dist/assets/arcgis-pdf-creator/PDFCreator_jsPDF.js +1 -1
  3. package/dist/assets/arcgis-pdf-creator/PDFCreator_pdf_lib.js +1 -1
  4. package/dist/assets/arcgis-pdf-creator/PDFLabels.js +54 -3
  5. package/dist/assets/arcgis-pdf-creator/grid.js +1 -1
  6. package/dist/assets/data/images/grid.png +0 -0
  7. package/dist/assets/data/images/horizontal.png +0 -0
  8. package/dist/assets/data/images/vertical.png +0 -0
  9. package/dist/assets/t9n/crowdsource-manager/resources.json +7 -1
  10. package/dist/assets/t9n/crowdsource-manager/resources_en.json +7 -1
  11. package/dist/cjs/buffer-tools_6.cjs.entry.js +85 -85
  12. package/dist/cjs/{calcite-block_2.cjs.entry.js → calcite-action-bar_4.cjs.entry.js} +307 -18
  13. package/dist/cjs/{calcite-action.cjs.entry.js → calcite-action_2.cjs.entry.js} +84 -1
  14. package/dist/cjs/{calcite-combobox_3.cjs.entry.js → calcite-chip_4.cjs.entry.js} +187 -61
  15. package/dist/cjs/{calcite-dropdown-group_4.cjs.entry.js → calcite-dropdown_5.cjs.entry.js} +467 -1
  16. package/dist/cjs/calcite-input-message_5.cjs.entry.js +283 -283
  17. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2 -2
  18. package/dist/cjs/{calcite-action-bar_2.cjs.entry.js → calcite-tooltip.cjs.entry.js} +2 -208
  19. package/dist/cjs/crowdsource-manager.cjs.entry.js +88 -14
  20. package/dist/cjs/{downloadUtils-b85476e8.js → downloadUtils-9359e9ff.js} +1218 -1127
  21. package/dist/cjs/{index.es-3ba50626.js → index.es-9c0d0ed6.js} +10682 -10682
  22. package/dist/cjs/{interfaces-17c631bf.js → interfaces-cac36920.js} +6 -0
  23. package/dist/cjs/layer-table_2.cjs.entry.js +512 -0
  24. package/dist/cjs/loader.cjs.js +30 -30
  25. package/dist/cjs/{mapViewUtils-df63bfa4.js → mapViewUtils-090f4d4d.js} +24 -24
  26. package/dist/cjs/public-notification.cjs.entry.js +69 -49
  27. package/dist/cjs/solution-configuration.cjs.entry.js +2 -2
  28. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -2
  29. package/dist/cjs/{solution-store-b86759b2.js → solution-store-d28c332e.js} +1 -1
  30. package/dist/cjs/solutions-components.cjs.js +31 -31
  31. package/dist/collection/assets/arcgis-pdf-creator/PDFCreator.js +6 -3
  32. package/dist/collection/assets/arcgis-pdf-creator/PDFCreator_jsPDF.js +1 -1
  33. package/dist/collection/assets/arcgis-pdf-creator/PDFCreator_pdf_lib.js +1 -1
  34. package/dist/collection/assets/arcgis-pdf-creator/PDFLabels.js +54 -3
  35. package/dist/collection/assets/arcgis-pdf-creator/grid.js +1 -1
  36. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +122 -0
  37. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +130 -14
  38. package/dist/collection/components/layer-table/layer-table.css +2 -70
  39. package/dist/collection/components/layer-table/layer-table.js +66 -106
  40. package/dist/collection/components/map-card/map-card.css +4 -7
  41. package/dist/collection/components/map-card/map-card.js +44 -10
  42. package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
  43. package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
  44. package/dist/collection/components/public-notification/public-notification.js +45 -27
  45. package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +1 -1
  46. package/dist/collection/demos/crowdsource-manager.html +14 -41
  47. package/dist/collection/utils/csvDownload.js +41 -0
  48. package/dist/collection/utils/csvDownload.ts +42 -0
  49. package/dist/collection/utils/csvUtils.js +6 -23
  50. package/dist/collection/utils/csvUtils.ts +8 -27
  51. package/dist/collection/utils/downloadUtils.js +30 -14
  52. package/dist/collection/utils/downloadUtils.ts +36 -14
  53. package/dist/collection/utils/interfaces.js +6 -0
  54. package/dist/collection/utils/interfaces.ts +6 -0
  55. package/dist/collection/utils/pdfUtils.js +9 -6
  56. package/dist/collection/utils/pdfUtils.ts +13 -8
  57. package/dist/collection/utils/test/csvUtils.spec.tsx +56 -0
  58. package/dist/collection/utils/test/downloadUtils.spec.tsx +133 -0
  59. package/dist/components/crowdsource-manager.js +293 -17
  60. package/dist/components/downloadUtils.js +133 -42
  61. package/dist/components/interfaces3.js +7 -1
  62. package/dist/components/layer-table.js +1 -443
  63. package/dist/components/layer-table2.js +429 -0
  64. package/dist/components/map-card.js +1 -339
  65. package/dist/{esm/map-card.entry.js → components/map-card2.js} +118 -22
  66. package/dist/components/map-draw-tools2.js +16 -16
  67. package/dist/components/map-layer-picker2.js +1 -1
  68. package/dist/components/map-select-tools2.js +38 -38
  69. package/dist/components/public-notification.js +102 -82
  70. package/dist/components/queryUtils.js +10 -10
  71. package/dist/components/refine-selection-tools2.js +3 -3
  72. package/dist/components/refine-selection2.js +1 -1
  73. package/dist/components/solution-resource-item2.js +1 -1
  74. package/dist/components/solution-store.js +1 -1
  75. package/dist/esm/buffer-tools_6.entry.js +76 -76
  76. package/dist/esm/{calcite-block_2.entry.js → calcite-action-bar_4.entry.js} +307 -20
  77. package/dist/esm/{calcite-action.entry.js → calcite-action_2.entry.js} +84 -2
  78. package/dist/esm/{calcite-combobox_3.entry.js → calcite-chip_4.entry.js} +181 -56
  79. package/dist/esm/{calcite-dropdown-group_4.entry.js → calcite-dropdown_5.entry.js} +468 -3
  80. package/dist/esm/calcite-input-message_5.entry.js +275 -275
  81. package/dist/esm/calcite-shell-panel_14.entry.js +2 -2
  82. package/dist/esm/{calcite-action-bar_2.entry.js → calcite-tooltip.entry.js} +4 -209
  83. package/dist/esm/crowdsource-manager.entry.js +88 -14
  84. package/dist/esm/{downloadUtils-f278742f.js → downloadUtils-a8f139c5.js} +1214 -1123
  85. package/dist/esm/{index.es-6f3a1143.js → index.es-a75412ff.js} +10596 -10596
  86. package/dist/esm/{interfaces-d0d83efa.js → interfaces-cd4054e5.js} +7 -1
  87. package/dist/esm/layer-table_2.entry.js +507 -0
  88. package/dist/esm/loader.js +26 -26
  89. package/dist/esm/{mapViewUtils-bd1809f0.js → mapViewUtils-8ffcd36d.js} +12 -12
  90. package/dist/esm/public-notification.entry.js +65 -45
  91. package/dist/esm/solution-configuration.entry.js +2 -2
  92. package/dist/esm/solution-contents_3.entry.js +2 -2
  93. package/dist/esm/{solution-store-477288ac.js → solution-store-1b67f2c8.js} +1 -1
  94. package/dist/esm/solutions-components.js +26 -26
  95. package/dist/solutions-components/demos/crowdsource-manager.html +14 -41
  96. package/dist/solutions-components/{p-dd11eeb2.js → p-1395b0ef.js} +1 -1
  97. package/dist/solutions-components/{p-cbac29fb.entry.js → p-1affd711.entry.js} +18 -18
  98. package/dist/solutions-components/p-30de8da1.entry.js +17 -0
  99. package/dist/solutions-components/{p-91cad71e.entry.js → p-439c878d.entry.js} +3 -9
  100. package/dist/solutions-components/{p-03e2c6fd.js → p-765a27f3.js} +60 -60
  101. package/dist/solutions-components/p-813a04c3.entry.js +6 -0
  102. package/dist/solutions-components/{p-9e8a371f.entry.js → p-874b39a7.entry.js} +3 -3
  103. package/dist/solutions-components/p-8cece97f.js +21 -0
  104. package/dist/solutions-components/{p-dd0241fb.entry.js → p-97aa7211.entry.js} +1 -1
  105. package/dist/solutions-components/{p-0e459cc7.entry.js → p-a955a3e6.entry.js} +10 -4
  106. package/dist/solutions-components/{p-40c12650.js → p-bb64bd47.js} +453 -437
  107. package/dist/solutions-components/{p-70e1d4d8.entry.js → p-c392dd95.entry.js} +17 -17
  108. package/dist/solutions-components/p-ca386a72.entry.js +6 -0
  109. package/dist/solutions-components/p-d47d74a6.entry.js +23 -0
  110. package/dist/solutions-components/p-db846ee2.entry.js +11 -0
  111. package/dist/solutions-components/{p-88e5a76d.js → p-dc53c9c1.js} +36 -36
  112. package/dist/solutions-components/p-e1c93241.entry.js +6 -0
  113. package/dist/solutions-components/{p-4cbaf0f1.entry.js → p-e6d235d6.entry.js} +1 -1
  114. package/dist/solutions-components/solutions-components.esm.js +6 -6
  115. package/dist/solutions-components/utils/csvDownload.ts +42 -0
  116. package/dist/solutions-components/utils/csvUtils.ts +8 -27
  117. package/dist/solutions-components/utils/downloadUtils.ts +36 -14
  118. package/dist/solutions-components/utils/interfaces.ts +6 -0
  119. package/dist/solutions-components/utils/pdfUtils.ts +13 -8
  120. package/dist/solutions-components/utils/test/csvUtils.spec.tsx +56 -0
  121. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +133 -0
  122. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +39 -0
  123. package/dist/types/components/layer-table/layer-table.d.ts +35 -48
  124. package/dist/types/components/map-card/map-card.d.ts +10 -6
  125. package/dist/types/components/public-notification/public-notification.d.ts +18 -6
  126. package/dist/types/components.d.ts +1621 -1601
  127. package/dist/types/preact.d.ts +2 -1
  128. package/dist/types/utils/csvDownload.d.ts +24 -0
  129. package/dist/types/utils/csvUtils.d.ts +2 -1
  130. package/dist/types/utils/downloadUtils.d.ts +25 -0
  131. package/dist/types/utils/interfaces.d.ts +5 -0
  132. package/dist/types/utils/pdfUtils.d.ts +2 -1
  133. package/package.json +4 -4
  134. package/dist/cjs/calcite-chip.cjs.entry.js +0 -142
  135. package/dist/cjs/calcite-dropdown.cjs.entry.js +0 -481
  136. package/dist/cjs/calcite-handle.cjs.entry.js +0 -99
  137. package/dist/cjs/calcite-loader.cjs.entry.js +0 -95
  138. package/dist/cjs/layer-table.cjs.entry.js +0 -317
  139. package/dist/cjs/map-card.cjs.entry.js +0 -252
  140. package/dist/esm/calcite-chip.entry.js +0 -138
  141. package/dist/esm/calcite-dropdown.entry.js +0 -477
  142. package/dist/esm/calcite-handle.entry.js +0 -95
  143. package/dist/esm/calcite-loader.entry.js +0 -91
  144. package/dist/esm/layer-table.entry.js +0 -313
  145. package/dist/solutions-components/p-045d3988.entry.js +0 -12
  146. package/dist/solutions-components/p-11132485.entry.js +0 -11
  147. package/dist/solutions-components/p-15b43c29.entry.js +0 -11
  148. package/dist/solutions-components/p-5034aabc.entry.js +0 -11
  149. package/dist/solutions-components/p-6f012424.entry.js +0 -6
  150. package/dist/solutions-components/p-7fd10eb3.entry.js +0 -11
  151. package/dist/solutions-components/p-a57ef371.entry.js +0 -6
  152. package/dist/solutions-components/p-bc39f296.entry.js +0 -6
  153. package/dist/solutions-components/p-c93d8e80.entry.js +0 -6
  154. package/dist/solutions-components/p-dbc9a5a8.js +0 -21
  155. package/dist/solutions-components/p-f5c70be2.entry.js +0 -6
  156. package/dist/solutions-components/p-f6b17cc6.entry.js +0 -11
@@ -0,0 +1,133 @@
1
+ /** @license
2
+ * Copyright 2023 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import * as downloadUtils from "../downloadUtils";
18
+
19
+ describe("downloadUtils", () => {
20
+
21
+ describe("_convertPopupFieldsToLabelSpec", () => {
22
+
23
+ it("handles fieldname visibility", () => {
24
+ const fieldInfos: __esri.FieldInfo[] = [
25
+ { fieldName: "A", visible: true },
26
+ { fieldName: "B", visible: true },
27
+ { fieldName: "C", visible: false },
28
+ { fieldName: "D", visible: true }
29
+ ];
30
+ const bypassFieldVisiblity = false;
31
+ const expectedLabelSpec = "{A}|{B}|{D}";
32
+
33
+ const labelSpec = downloadUtils._convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity);
34
+ expect(labelSpec).toEqual(expectedLabelSpec);
35
+ });
36
+
37
+ it("handles fieldname ignoring visibility", () => {
38
+ const fieldInfos: __esri.FieldInfo[] = [
39
+ { fieldName: "A", visible: true },
40
+ { fieldName: "B", visible: true },
41
+ { fieldName: "C", visible: false },
42
+ { fieldName: "D", visible: true }
43
+ ];
44
+ const bypassFieldVisiblity = true;
45
+ const expectedLabelSpec = "{A}|{B}|{C}|{D}";
46
+
47
+ const labelSpec = downloadUtils._convertPopupFieldsToLabelSpec(fieldInfos, bypassFieldVisiblity);
48
+ expect(labelSpec).toEqual(expectedLabelSpec);
49
+ });
50
+
51
+ });
52
+
53
+ describe("_convertPopupTextToLabelSpec", () => {
54
+
55
+ it("handles <br> variants", () => {
56
+ const popupInfo = "<div style='text-align: left;'>{NAME}<br />{STREET}<br/>{CITY}, {STATE} {ZIP} <br></div>";
57
+ const expectedLabelSpec = "{NAME}|{STREET}|{CITY}, {STATE} {ZIP}";
58
+
59
+ const labelSpec = downloadUtils._convertPopupTextToLabelSpec(popupInfo);
60
+ expect(labelSpec).toEqual(expectedLabelSpec);
61
+ });
62
+
63
+ it("handles <p>", () => {
64
+ const popupInfo = "<p>{NAME}</p><p>{STREET}</p><p>{CITY}, {STATE} {ZIP}</p>";
65
+ const expectedLabelSpec = "{NAME}|{STREET}|{CITY}, {STATE} {ZIP}";
66
+
67
+ const labelSpec = downloadUtils._convertPopupTextToLabelSpec(popupInfo);
68
+ expect(labelSpec).toEqual(expectedLabelSpec);
69
+ });
70
+
71
+ it("handles popup's use of \xA0", () => {
72
+ const popupInfo = "<div style='text-align: left;'>{NAME}<br />{STREET}<br />{CITY},\xA0{STATE}\xA0{ZIP}\xA0<br /></div>";
73
+ const expectedLabelSpec = "{NAME}|{STREET}|{CITY}, {STATE} {ZIP}";
74
+
75
+ const labelSpec = downloadUtils._convertPopupTextToLabelSpec(popupInfo);
76
+ expect(labelSpec).toEqual(expectedLabelSpec);
77
+ });
78
+
79
+ it("removes newlines and blank lines, and trims each line", () => {
80
+ const popupInfo = " \n\n {NAME} \n \n\n {STREET}\n{CITY}, {STATE} {ZIP}\n\n \n ";
81
+ const expectedLabelSpec = "{NAME}|{STREET}|{CITY}, {STATE} {ZIP}";
82
+
83
+ const labelSpec = downloadUtils._convertPopupTextToLabelSpec(popupInfo);
84
+ expect(labelSpec).toEqual(expectedLabelSpec);
85
+ });
86
+
87
+ it("removes extra HTML", () => {
88
+ const popupInfo = "\n<div style='text-align: left;'><span style='font-weight:bold'>{NAME}</span><br />{STREET}<br />{CITY},\xA0{STATE}\xA0{ZIP}\xA0<br /></div>\n";
89
+ const expectedLabelSpec = "{NAME}|{STREET}|{CITY}, {STATE} {ZIP}";
90
+
91
+ const labelSpec = downloadUtils._convertPopupTextToLabelSpec(popupInfo);
92
+ expect(labelSpec).toEqual(expectedLabelSpec);
93
+ });
94
+
95
+ it("handles some special characters", () => {
96
+ const popupInfo = "<div style='text-align: left;'>&lt;{NAME}&gt;<br />{STREET}<br/>{CITY},&nbsp;{STATE}&nbsp;{ZIP}<br></div>";
97
+ const expectedLabelSpec = "<{NAME}>|{STREET}|{CITY}, {STATE} {ZIP}";
98
+
99
+ const labelSpec = downloadUtils._convertPopupTextToLabelSpec(popupInfo);
100
+ expect(labelSpec).toEqual(expectedLabelSpec);
101
+ });
102
+
103
+ });
104
+
105
+ describe("_createTitle", () => {
106
+
107
+ it("handles no selection set names", () => {
108
+ const selectionSetNames: string[] = [];
109
+ const expectedTitle = "download";
110
+
111
+ const title = downloadUtils._createTitle(selectionSetNames);
112
+ expect(title).toEqual(expectedTitle);
113
+ });
114
+
115
+ it("handles one selection set name", () => {
116
+ const selectionSetNames: string[] = ["fred"];
117
+ const expectedTitle = "fred";
118
+
119
+ const title = downloadUtils._createTitle(selectionSetNames);
120
+ expect(title).toEqual(expectedTitle);
121
+ });
122
+
123
+ it("handles two selection set names", () => {
124
+ const selectionSetNames: string[] = ["fred", "ginger"];
125
+ const expectedTitle = "fred,ginger";
126
+
127
+ const title = downloadUtils._createTitle(selectionSetNames);
128
+ expect(title).toEqual(expectedTitle);
129
+ });
130
+
131
+ });
132
+
133
+ });
@@ -13,9 +13,48 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ /// <reference types="arcgis-js-api" />
17
+ import { VNode } from '../../stencil-public-runtime';
18
+ import CrowdsourceManager_T9n from "../../assets/t9n/crowdsource-manager/resources.json";
19
+ import { ELayoutMode, IMapInfo } from '../../utils/interfaces';
16
20
  export declare class CrowdsourceManager {
17
21
  el: HTMLCrowdsourceManagerElement;
22
+ /**
23
+ * IMapInfo[]: array of map infos (name and id)
24
+ */
25
+ mapInfos: IMapInfo[];
26
+ /**
27
+ * Contains the translations for this component.
28
+ * All UI strings should be defined here.
29
+ */
30
+ _translations: typeof CrowdsourceManager_T9n;
31
+ /**
32
+ * Controls the layout of the application
33
+ */
34
+ _layoutMode: ELayoutMode;
35
+ /**
36
+ * Stores the current map view
37
+ */
38
+ _mapView: __esri.MapView;
39
+ /**
40
+ * Controls the layout of the application
41
+ */
42
+ _panelOpen: boolean;
43
+ /**
44
+ * Handle changes to the buffer distance value
45
+ */
46
+ mapChanged(event: CustomEvent): void;
47
+ componentWillLoad(): Promise<void>;
18
48
  render(): any;
49
+ protected _getAction(imgClass: string, layoutMode: ELayoutMode, tip: string): VNode;
50
+ protected _getDividerIcon(layoutMode: ELayoutMode, panelOpen: boolean): string;
51
+ protected _getMapSizeClass(layoutMode: ELayoutMode, panelOpen: boolean): string;
52
+ protected _getTableSizeClass(layoutMode: ELayoutMode, panelOpen: boolean): string;
53
+ protected _getBody(layoutMode: ELayoutMode, panelOpen: boolean): VNode;
54
+ protected _getMap(layoutMode: ELayoutMode, panelOpen: boolean): VNode;
55
+ protected _getTable(layoutMode: ELayoutMode, panelOpen: boolean): VNode;
56
+ protected _setLayoutMode(layoutMode: ELayoutMode): void;
57
+ protected _toggleLayout(): void;
19
58
  /**
20
59
  * Fetches the component's translations
21
60
  *
@@ -22,35 +22,48 @@ export declare class LayerTable {
22
22
  * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
23
23
  */
24
24
  mapView: __esri.MapView;
25
+ /**
26
+ * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html
27
+ */
28
+ _layerView: __esri.FeatureLayerView;
29
+ /**
30
+ * A list of indexes that are currently selected
31
+ */
32
+ _selectedIndexes: number[];
25
33
  /**
26
34
  * Contains the translations for this component.
27
35
  * All UI strings should be defined here.
28
36
  */
29
37
  _translations: typeof LayerTable_T9n;
30
38
  /**
31
- * A list of indexes that are currently selected
39
+ * esri/widgets/FeatureTable: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html
32
40
  */
33
- _selectedIndexes: number[];
41
+ protected FeatureTable: typeof import("esri/widgets/FeatureTable");
34
42
  /**
35
43
  * HTMLEditRecordModalElement: Modal used to edit multiple records
36
44
  */
37
45
  protected _editMultipleMpdal: HTMLEditRecordModalElement;
46
+ /**
47
+ * string[]: List of field names to display
48
+ */
49
+ protected _fieldNames: string[];
38
50
  /**
39
51
  * esri/Graphic[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html
40
52
  */
41
53
  protected _graphics: __esri.Graphic[];
42
54
  /**
43
- * esri/views/layers/FeatureLayerView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-layers-FeatureLayerView.html
55
+ * HTMLCalciteCheckboxElement: Element to force selection of all records
44
56
  */
45
- protected _layerView: __esri.FeatureLayerView;
57
+ protected _selectAllElement: HTMLCalciteCheckboxElement;
46
58
  /**
47
- * string[]: List of field names to display
59
+ * esri/widgets/FeatureTable: https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html
48
60
  */
49
- protected _fieldNames: string[];
61
+ protected _table: __esri.FeatureTable;
50
62
  /**
51
- * HTMLCalciteCheckboxElement: Element to force selection of all records
63
+ * HTMLDivElement: Element to hold the FeatureTable
52
64
  */
53
- protected _selectAllElement: HTMLCalciteCheckboxElement;
65
+ protected _tableNode: HTMLDivElement;
66
+ mapViewWatchHandler(): Promise<void>;
54
67
  /**
55
68
  * StencilJS: Called once just after the component is first connected to the DOM.
56
69
  *
@@ -62,58 +75,32 @@ export declare class LayerTable {
62
75
  */
63
76
  render(): any;
64
77
  /**
65
- * Gets a row of controls that can be used for various interactions with the table
78
+ * Load esri javascript api modules
66
79
  *
67
- * @returns The dom node that contains the controls
68
- */
69
- protected _getTableControlRow(): VNode;
70
- /**
71
- * Gets the table header with a select all control and column headers for each field
72
- *
73
- * @returns The dom node that contains the header
74
- */
75
- protected _getTableHeader(): VNode;
76
- /**
77
- * Gets a header cell for the table header
78
- *
79
- * @param name the string to display in the cell
80
- *
81
- * @returns The dom node that contains the header cell
82
- */
83
- protected _getTableHeaderCell(name: string): VNode;
84
- /**
85
- * Gets the table rows for all features
80
+ * @returns Promise resolving when function is done
86
81
  *
87
- * @returns The dom node that contains the body of the table
82
+ * @protected
88
83
  */
89
- protected _getTableRows(): VNode[];
84
+ protected _initModules(): Promise<void>;
90
85
  /**
91
- * Gets the individual table row for a feature
92
- *
93
- * @param g the graphic the row is based on
94
- * @param index the index location of the row within the table
86
+ * Gets a row of controls that can be used for various interactions with the table
95
87
  *
96
- * @returns The dom node that contains the row
88
+ * @returns The dom node that contains the controls
97
89
  */
98
- protected _getTableRow(g: __esri.Graphic, index: number): VNode;
90
+ protected _getTableControlRow(): VNode;
99
91
  /**
100
- * Gets the individual table cell for the provided field
101
- *
102
- * @param v the value to display
103
- * @param field the field the row is based on
104
- * @param rowSelected when true editable fields will render a control that will allow the value to be updated
92
+ * Store a reference to the table node after it's first created
93
+ * and initializes the FeatureTable
105
94
  *
106
- * @returns The dom node that contains the table cell
95
+ * @returns void
107
96
  */
108
- protected _getTableRowCell(v: string, field: __esri.Field, rowSelected: boolean): VNode;
97
+ private onTableNodeCreate;
109
98
  /**
110
- * Simple lookup that will get the appropriate edit control for the value type
99
+ * Initialize the FeatureTable
111
100
  *
112
- * @param type the Esri field type
113
- *
114
- * @returns A string for the type of control to create based on the provided field type
101
+ * @returns void
115
102
  */
116
- protected _getInputType(type: string): "number" | "datetime-local" | "text";
103
+ protected _getTable(node: HTMLDivElement): void;
117
104
  /**
118
105
  * Select or deselect all rows
119
106
  *
@@ -24,13 +24,13 @@ export declare class MapCard {
24
24
  */
25
25
  mapInfos: IMapInfo[];
26
26
  /**
27
- * boolean: controls the state of the map list
27
+ * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
28
28
  */
29
- _mapListExpanded: boolean;
29
+ mapView: __esri.MapView;
30
30
  /**
31
- * esri/views/View: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html
31
+ * boolean: controls the state of the map list
32
32
  */
33
- _mapView: __esri.MapView;
33
+ _mapListExpanded: boolean;
34
34
  /**
35
35
  * Contains the translations for this component.
36
36
  * All UI strings should be defined here.
@@ -53,9 +53,9 @@ export declare class MapCard {
53
53
  */
54
54
  protected _loadedId: string;
55
55
  /**
56
- * string: the id of the container div for the map
56
+ * HTMLDivElement: the container div for the map
57
57
  */
58
- protected _mapDivId: string;
58
+ protected _mapDiv: HTMLDivElement;
59
59
  /**
60
60
  * Called each time the _webMapId prop is changed.
61
61
  */
@@ -68,6 +68,10 @@ export declare class MapCard {
68
68
  * Emitted when the expand button is clicked
69
69
  */
70
70
  expandMap: EventEmitter<EExpandType>;
71
+ /**
72
+ * Emitted when a new map is loaded
73
+ */
74
+ mapChanged: EventEmitter<__esri.MapView>;
71
75
  /**
72
76
  * StencilJS: Called once just after the component is first connected to the DOM.
73
77
  */
@@ -217,10 +217,6 @@ export declare class PublicNotification {
217
217
  * @returns Promise when complete
218
218
  */
219
219
  watchSearchConfigurationHandler(newValue: ISearchConfiguration, oldValue: ISearchConfiguration): Promise<void>;
220
- /**
221
- * Called each time the selectionSets prop is changed.
222
- */
223
- selectionSetsWatchHandler(v: ISelectionSet[], oldV: ISelectionSet[]): Promise<void>;
224
220
  /**
225
221
  * Called each time the sketchLineSymbol prop is changed.
226
222
  */
@@ -383,13 +379,29 @@ export declare class PublicNotification {
383
379
  */
384
380
  protected _handleLayerChange(): Promise<void>;
385
381
  /**
386
- * Check if any selection sets exist.
382
+ * Check if any valid selection sets exist.
387
383
  *
388
- * @returns true if selection sets exist
384
+ * @returns true if valid selection sets exist
389
385
  *
390
386
  * @protected
391
387
  */
392
388
  protected _hasSelections(): boolean;
389
+ /**
390
+ * Check if any duplicates exist
391
+ *
392
+ * @returns true if duplicates are found
393
+ *
394
+ * @protected
395
+ */
396
+ protected _hasDuplicates(): boolean;
397
+ /**
398
+ * Check if a selection set is valid (exists or has at least one added if its a refine set)
399
+ *
400
+ * @returns true if selection set is valid
401
+ *
402
+ * @protected
403
+ */
404
+ protected _isValidSet(ss: ISelectionSet): boolean;
393
405
  /**
394
406
  * Create the Select page that shows the selection workflows
395
407
  *