@esri/solutions-components 0.5.1 → 0.5.2

Sign up to get free protection for your applications and to get access to all the features.
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
  *