@esri/solutions-components 0.3.2 → 0.3.3

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 (163) hide show
  1. package/dist/assets/t9n/public-notification/resources.json +4 -1
  2. package/dist/assets/t9n/public-notification/resources_en.json +4 -1
  3. package/dist/cjs/buffer-tools_6.cjs.entry.js +8 -7
  4. package/dist/cjs/calcite-combobox_3.cjs.entry.js +38 -25
  5. package/dist/cjs/calcite-input-message_5.cjs.entry.js +272 -21
  6. package/dist/cjs/{csvUtils-18a03353.js → csvUtils-83af7ae1.js} +5 -5
  7. package/dist/cjs/layer-table.cjs.entry.js +3 -3
  8. package/dist/cjs/loader.cjs.js +1 -1
  9. package/dist/cjs/map-search.cjs.entry.js +46 -7
  10. package/dist/cjs/{mapViewUtils-8ea9adc5.js → mapViewUtils-55ac76cb.js} +40 -25
  11. package/dist/cjs/public-notification.cjs.entry.js +101 -18
  12. package/dist/cjs/{publicNotificationStore-aca88430.js → publicNotificationStore-28a8759d.js} +3 -1
  13. package/dist/cjs/solutions-components.cjs.js +1 -1
  14. package/dist/collection/collection-manifest.json +0 -5
  15. package/dist/collection/components/buffer-tools/buffer-tools.js +7 -6
  16. package/dist/collection/components/layer-table/layer-table.js +1 -1
  17. package/dist/collection/components/map-layer-picker/map-layer-picker.js +47 -29
  18. package/dist/collection/components/map-search/map-search.js +66 -7
  19. package/dist/collection/components/map-select-tools/map-select-tools.js +125 -8
  20. package/dist/collection/components/pdf-download/pdf-download.js +32 -8
  21. package/dist/collection/components/public-notification/public-notification.css +46 -41
  22. package/dist/collection/components/public-notification/public-notification.js +267 -19
  23. package/dist/collection/components/refine-selection/refine-selection.js +18 -1
  24. package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +22 -5
  25. package/dist/{solutions-components/demos/config-pdf-download.html → collection/demos/buffer-tools.html} +13 -21
  26. package/dist/collection/demos/index.html +0 -24
  27. package/dist/collection/demos/map-draw-tools.html +17 -17
  28. package/dist/collection/demos/map-layer-picker.html +2 -0
  29. package/dist/collection/demos/map-search.html +16 -15
  30. package/dist/collection/demos/map-select-tools.html +16 -24
  31. package/dist/collection/demos/new-public-notification.html +46 -35
  32. package/dist/collection/demos/pdf-download.html +8 -1
  33. package/dist/collection/utils/csvUtils.js +4 -4
  34. package/dist/collection/utils/csvUtils.ts +6 -4
  35. package/dist/collection/utils/interfaces.ts +65 -1
  36. package/dist/collection/utils/mapViewUtils.js +36 -22
  37. package/dist/collection/utils/mapViewUtils.ts +50 -27
  38. package/dist/collection/utils/publicNotificationStore.js +3 -1
  39. package/dist/collection/utils/publicNotificationStore.ts +3 -1
  40. package/dist/collection/utils/queryUtils.js +2 -2
  41. package/dist/collection/utils/queryUtils.ts +2 -2
  42. package/dist/components/buffer-tools2.js +1 -1
  43. package/dist/components/csvUtils.js +4 -4
  44. package/dist/components/index.d.ts +0 -5
  45. package/dist/components/index.js +0 -5
  46. package/dist/components/layer-table.js +2 -3
  47. package/dist/components/map-layer-picker2.js +177 -28
  48. package/dist/components/map-search.js +47 -7
  49. package/dist/components/map-select-tools2.js +56 -11
  50. package/dist/components/pdf-download2.js +217 -8
  51. package/dist/components/public-notification.js +154 -55
  52. package/dist/components/publicNotificationStore.js +3 -1
  53. package/dist/components/queryUtils.js +3 -3
  54. package/dist/components/refine-selection-tools2.js +9 -8
  55. package/dist/components/refine-selection2.js +3 -1
  56. package/dist/esm/buffer-tools_6.entry.js +8 -7
  57. package/dist/esm/calcite-combobox_3.entry.js +38 -25
  58. package/dist/esm/calcite-input-message_5.entry.js +271 -20
  59. package/dist/esm/{csvUtils-edc0c2a8.js → csvUtils-eb231cfb.js} +5 -5
  60. package/dist/esm/layer-table.entry.js +3 -3
  61. package/dist/esm/loader.js +1 -1
  62. package/dist/esm/map-search.entry.js +46 -7
  63. package/dist/esm/{mapViewUtils-31d2c2bb.js → mapViewUtils-e5d8a1e1.js} +39 -25
  64. package/dist/esm/public-notification.entry.js +101 -18
  65. package/dist/esm/{publicNotificationStore-3e762eea.js → publicNotificationStore-8e9cb73b.js} +3 -1
  66. package/dist/esm/solutions-components.js +1 -1
  67. package/dist/{collection/demos/config-pdf-download.html → solutions-components/demos/buffer-tools.html} +13 -21
  68. package/dist/solutions-components/demos/index.html +0 -24
  69. package/dist/solutions-components/demos/map-draw-tools.html +17 -17
  70. package/dist/solutions-components/demos/map-layer-picker.html +2 -0
  71. package/dist/solutions-components/demos/map-search.html +16 -15
  72. package/dist/solutions-components/demos/map-select-tools.html +16 -24
  73. package/dist/solutions-components/demos/new-public-notification.html +46 -35
  74. package/dist/solutions-components/demos/pdf-download.html +8 -1
  75. package/dist/solutions-components/p-07593958.entry.js +6 -0
  76. package/dist/solutions-components/p-3fa9b3c8.js +36 -0
  77. package/dist/solutions-components/p-9b5a9117.entry.js +12 -0
  78. package/dist/solutions-components/{p-15cd8a97.js → p-9c1ebc90.js} +1 -1
  79. package/dist/solutions-components/{p-c76f8ff7.entry.js → p-a516c658.entry.js} +1 -1
  80. package/dist/solutions-components/{p-ad42039f.js → p-b668daf8.js} +2 -2
  81. package/dist/solutions-components/p-bfa95147.entry.js +17 -0
  82. package/dist/solutions-components/p-d09a168c.entry.js +6 -0
  83. package/dist/solutions-components/{p-fa6046a8.entry.js → p-fc9609e6.entry.js} +2 -2
  84. package/dist/solutions-components/solutions-components.esm.js +1 -1
  85. package/dist/solutions-components/utils/csvUtils.ts +6 -4
  86. package/dist/solutions-components/utils/interfaces.ts +65 -1
  87. package/dist/solutions-components/utils/mapViewUtils.ts +50 -27
  88. package/dist/solutions-components/utils/publicNotificationStore.ts +3 -1
  89. package/dist/solutions-components/utils/queryUtils.ts +2 -2
  90. package/dist/types/components/buffer-tools/buffer-tools.d.ts +4 -3
  91. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +22 -11
  92. package/dist/types/components/map-search/map-search.d.ts +18 -1
  93. package/dist/types/components/map-select-tools/map-select-tools.d.ts +31 -1
  94. package/dist/types/components/pdf-download/pdf-download.d.ts +7 -2
  95. package/dist/types/components/public-notification/public-notification.d.ts +98 -4
  96. package/dist/types/components/refine-selection/refine-selection.d.ts +5 -0
  97. package/dist/types/components/refine-selection-tools/refine-selection-tools.d.ts +6 -1
  98. package/dist/types/components.d.ts +154 -180
  99. package/dist/types/preact.d.ts +0 -10
  100. package/dist/types/utils/csvUtils.d.ts +1 -1
  101. package/dist/types/utils/interfaces.d.ts +56 -1
  102. package/dist/types/utils/mapViewUtils.d.ts +19 -9
  103. package/dist/types/utils/publicNotificationStore.d.ts +1 -0
  104. package/package.json +1 -1
  105. package/dist/cjs/check-list.cjs.entry.js +0 -103
  106. package/dist/cjs/config-buffer-tools.cjs.entry.js +0 -125
  107. package/dist/cjs/config-draw-tools.cjs.entry.js +0 -85
  108. package/dist/cjs/config-layer-picker.cjs.entry.js +0 -113
  109. package/dist/cjs/config-pdf-download.cjs.entry.js +0 -117
  110. package/dist/cjs/labelFormats-3236d2e0.js +0 -212
  111. package/dist/collection/components/check-list/check-list.css +0 -3
  112. package/dist/collection/components/check-list/check-list.js +0 -179
  113. package/dist/collection/components/config-buffer-tools/config-buffer-tools.css +0 -34
  114. package/dist/collection/components/config-buffer-tools/config-buffer-tools.js +0 -209
  115. package/dist/collection/components/config-draw-tools/config-draw-tools.css +0 -17
  116. package/dist/collection/components/config-draw-tools/config-draw-tools.js +0 -150
  117. package/dist/collection/components/config-layer-picker/config-layer-picker.css +0 -17
  118. package/dist/collection/components/config-layer-picker/config-layer-picker.js +0 -218
  119. package/dist/collection/components/config-pdf-download/config-pdf-download.css +0 -17
  120. package/dist/collection/components/config-pdf-download/config-pdf-download.js +0 -183
  121. package/dist/collection/demos/check-list.html +0 -65
  122. package/dist/collection/demos/config-buffer-tools.html +0 -92
  123. package/dist/collection/demos/config-draw-tools.html +0 -58
  124. package/dist/collection/demos/config-layer-picker.html +0 -97
  125. package/dist/components/check-list.d.ts +0 -11
  126. package/dist/components/check-list.js +0 -11
  127. package/dist/components/check-list2.js +0 -131
  128. package/dist/components/config-buffer-tools.d.ts +0 -11
  129. package/dist/components/config-buffer-tools.js +0 -187
  130. package/dist/components/config-draw-tools.d.ts +0 -11
  131. package/dist/components/config-draw-tools.js +0 -121
  132. package/dist/components/config-layer-picker.d.ts +0 -11
  133. package/dist/components/config-layer-picker.js +0 -163
  134. package/dist/components/config-pdf-download.d.ts +0 -11
  135. package/dist/components/config-pdf-download.js +0 -154
  136. package/dist/components/labelFormats.js +0 -210
  137. package/dist/components/mapViewUtils.js +0 -129
  138. package/dist/esm/check-list.entry.js +0 -99
  139. package/dist/esm/config-buffer-tools.entry.js +0 -121
  140. package/dist/esm/config-draw-tools.entry.js +0 -81
  141. package/dist/esm/config-layer-picker.entry.js +0 -109
  142. package/dist/esm/config-pdf-download.entry.js +0 -113
  143. package/dist/esm/labelFormats-b37958c3.js +0 -210
  144. package/dist/solutions-components/demos/check-list.html +0 -65
  145. package/dist/solutions-components/demos/config-buffer-tools.html +0 -92
  146. package/dist/solutions-components/demos/config-draw-tools.html +0 -58
  147. package/dist/solutions-components/demos/config-layer-picker.html +0 -97
  148. package/dist/solutions-components/p-16a0e65a.entry.js +0 -6
  149. package/dist/solutions-components/p-35078393.entry.js +0 -17
  150. package/dist/solutions-components/p-3d72bba6.entry.js +0 -6
  151. package/dist/solutions-components/p-3e444242.entry.js +0 -6
  152. package/dist/solutions-components/p-67afea92.entry.js +0 -12
  153. package/dist/solutions-components/p-7dcab29d.js +0 -36
  154. package/dist/solutions-components/p-89f7b02a.entry.js +0 -6
  155. package/dist/solutions-components/p-906b7b96.entry.js +0 -6
  156. package/dist/solutions-components/p-99c98510.entry.js +0 -6
  157. package/dist/solutions-components/p-b1a3605f.entry.js +0 -6
  158. package/dist/solutions-components/p-e99b1247.js +0 -6
  159. package/dist/types/components/check-list/check-list.d.ts +0 -57
  160. package/dist/types/components/config-buffer-tools/config-buffer-tools.d.ts +0 -92
  161. package/dist/types/components/config-draw-tools/config-draw-tools.d.ts +0 -58
  162. package/dist/types/components/config-layer-picker/config-layer-picker.d.ts +0 -83
  163. package/dist/types/components/config-pdf-download/config-pdf-download.d.ts +0 -81
@@ -14,9 +14,9 @@ import { g as guid } from './guid-15fce7c0.js';
14
14
  import { d as decimalPlaces, c as clamp } from './math-552c5420.js';
15
15
  import { i as isActivationKey } from './key-acb660e7.js';
16
16
  import { n as numberStringFormatter, c as connectLocalized, d as disconnectLocalized } from './locale-9dd0777b.js';
17
- import { s as state } from './publicNotificationStore-3e762eea.js';
17
+ import { s as state } from './publicNotificationStore-8e9cb73b.js';
18
18
  import { h as ESelectionType, g as ERefineMode, f as ESelectionMode } from './interfaces-3b23a5f9.js';
19
- import { b as getMapLayerView, i as queryFeaturesByGeometry, h as highlightFeatures } from './mapViewUtils-31d2c2bb.js';
19
+ import { a as getMapLayerView, f as queryFeaturesByGeometry, h as highlightFeatures } from './mapViewUtils-e5d8a1e1.js';
20
20
  import './_commonjsHelpers-8fd39c50.js';
21
21
  import './resources-436ae282.js';
22
22
  import './observers-31601001.js';
@@ -1491,7 +1491,7 @@ const RefineSelectionTools = class {
1491
1491
  this.refineSelectionGraphicsChange = createEvent(this, "refineSelectionGraphicsChange", 7);
1492
1492
  this.refineSelectionIdsChange = createEvent(this, "refineSelectionIdsChange", 7);
1493
1493
  /**
1494
- * {<layer title>: Graphic[]}: Collection of graphics returned from queries to the layer
1494
+ * {<layer id>: Graphic[]}: Collection of graphics returned from queries to the layer
1495
1495
  */
1496
1496
  this._featuresCollection = {};
1497
1497
  /**
@@ -1504,6 +1504,7 @@ const RefineSelectionTools = class {
1504
1504
  this._undoStack = [];
1505
1505
  this.active = false;
1506
1506
  this.border = false;
1507
+ this.enabledLayerIds = [];
1507
1508
  this.graphics = undefined;
1508
1509
  this.ids = [];
1509
1510
  this.layerView = undefined;
@@ -1593,7 +1594,7 @@ const RefineSelectionTools = class {
1593
1594
  render() {
1594
1595
  const showLayerPickerClass = this.useLayerPicker ? "div-visible" : "div-not-visible";
1595
1596
  const drawClass = this.border ? " border" : "";
1596
- return (h(Host, null, h("div", null, h("map-layer-picker", { class: showLayerPickerClass, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedLayers: this.layerViews.map(l => l.layer.title), selectionMode: "single" }), h("div", { class: "margin-top-1" + drawClass }, h("div", { class: "esri-sketch esri-widget" }, h("div", { class: "esri-sketch__panel" }, h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: !this._selectEnabled, icon: "select", onClick: () => this._setSelectionMode(ESelectionType.POINT), scale: "s", text: this._translations.select })), h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: !this._selectEnabled, icon: "line", onClick: () => this._setSelectionMode(ESelectionType.LINE), scale: "s", text: this._translations.selectLine }), h("calcite-action", { disabled: !this._selectEnabled, icon: "polygon", onClick: () => this._setSelectionMode(ESelectionType.POLY), scale: "s", text: this._translations.selectPolygon }), h("calcite-action", { disabled: !this._selectEnabled, icon: "rectangle", onClick: () => this._setSelectionMode(ESelectionType.RECT), scale: "s", text: this._translations.selectRectangle })), h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: this._undoStack.length === 0, icon: "undo", onClick: () => this._undo(), scale: "s", text: this._translations.undo }), h("calcite-action", { disabled: this._redoStack.length === 0, icon: "redo", onClick: () => this._redo(), scale: "s", text: this._translations.redo }))))))));
1597
+ return (h(Host, null, h("div", null, h("map-layer-picker", { class: showLayerPickerClass, enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedLayerIds: this.layerViews.map(l => l.layer.id), selectionMode: "single" }), h("div", { class: "margin-top-1" + drawClass }, h("div", { class: "esri-sketch esri-widget" }, h("div", { class: "esri-sketch__panel" }, h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: !this._selectEnabled, icon: "select", onClick: () => this._setSelectionMode(ESelectionType.POINT), scale: "s", text: this._translations.select })), h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: !this._selectEnabled, icon: "line", onClick: () => this._setSelectionMode(ESelectionType.LINE), scale: "s", text: this._translations.selectLine }), h("calcite-action", { disabled: !this._selectEnabled, icon: "polygon", onClick: () => this._setSelectionMode(ESelectionType.POLY), scale: "s", text: this._translations.selectPolygon }), h("calcite-action", { disabled: !this._selectEnabled, icon: "rectangle", onClick: () => this._setSelectionMode(ESelectionType.RECT), scale: "s", text: this._translations.selectRectangle })), h("div", { class: "esri-sketch__tool-section esri-sketch__section" }, h("calcite-action", { disabled: this._undoStack.length === 0, icon: "undo", onClick: () => this._undo(), scale: "s", text: this._translations.undo }), h("calcite-action", { disabled: this._redoStack.length === 0, icon: "redo", onClick: () => this._redo(), scale: "s", text: this._translations.redo }))))))));
1597
1598
  }
1598
1599
  //--------------------------------------------------------------------------
1599
1600
  //
@@ -1720,8 +1721,8 @@ const RefineSelectionTools = class {
1720
1721
  async _layerSelectionChange(evt) {
1721
1722
  if (Array.isArray(evt.detail) && evt.detail.length > 0) {
1722
1723
  this._selectEnabled = true;
1723
- const layerPromises = evt.detail.map(title => {
1724
- return getMapLayerView(this.mapView, title);
1724
+ const layerPromises = evt.detail.map(id => {
1725
+ return getMapLayerView(this.mapView, id);
1725
1726
  });
1726
1727
  return Promise.all(layerPromises).then((layerViews) => {
1727
1728
  this.layerViews = layerViews;
@@ -1768,7 +1769,7 @@ const RefineSelectionTools = class {
1768
1769
  */
1769
1770
  async _selectFeatures(geom) {
1770
1771
  const queryFeaturePromises = this.layerViews.map(layerView => {
1771
- this._featuresCollection[layerView.layer.title] = [];
1772
+ this._featuresCollection[layerView.layer.id] = [];
1772
1773
  return queryFeaturesByGeometry(0, layerView.layer, geom, this._featuresCollection);
1773
1774
  });
1774
1775
  return Promise.all(queryFeaturePromises).then(async (response) => {
@@ -16,8 +16,8 @@ import { i as isPrimaryPointerButton, t as toAriaBoolean, g as getElementProp, a
16
16
  import { c as connectOpenCloseComponent, d as disconnectOpenCloseComponent } from './openCloseComponent-5caff873.js';
17
17
  import { d as debounce } from './debounce-4c884e5c.js';
18
18
  import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot-e96b0a4f.js';
19
- import { g as getMapLayerNames } from './mapViewUtils-31d2c2bb.js';
20
- import { s as state } from './publicNotificationStore-3e762eea.js';
19
+ import { i as getMapLayerIds, j as getMapLayerHash } from './mapViewUtils-e5d8a1e1.js';
20
+ import { s as state } from './publicNotificationStore-8e9cb73b.js';
21
21
  import './resources-436ae282.js';
22
22
  import './interfaces-3b23a5f9.js';
23
23
  import './index-e496ff06.js';
@@ -1000,10 +1000,11 @@ const MapLayerPicker = class {
1000
1000
  constructor(hostRef) {
1001
1001
  registerInstance(this, hostRef);
1002
1002
  this.layerSelectionChange = createEvent(this, "layerSelectionChange", 7);
1003
- this.layerNames = [];
1003
+ this.enabledLayerIds = [];
1004
1004
  this.mapView = undefined;
1005
- this.selectedLayers = [];
1005
+ this.selectedLayerIds = [];
1006
1006
  this.selectionMode = "single";
1007
+ this.layerIds = [];
1007
1008
  }
1008
1009
  //--------------------------------------------------------------------------
1009
1010
  //
@@ -1018,7 +1019,7 @@ const MapLayerPicker = class {
1018
1019
  if (newValue !== oldValue) {
1019
1020
  await this._setLayers();
1020
1021
  if (this.selectionMode === "single") {
1021
- this.layerSelectionChange.emit([this.layerNames[0]]);
1022
+ this.layerSelectionChange.emit([this.layerIds[0]]);
1022
1023
  }
1023
1024
  }
1024
1025
  }
@@ -1032,8 +1033,8 @@ const MapLayerPicker = class {
1032
1033
  */
1033
1034
  async componentWillLoad() {
1034
1035
  await this._setLayers();
1035
- if (this.selectionMode === "single" && (this.layerNames.length > 0 || this.selectedLayers.length === 1)) {
1036
- this.layerSelectionChange.emit(this.selectedLayers.length === 1 ? [this.selectedLayers[0]] : [this.layerNames[0]]);
1036
+ if (this.selectionMode === "single" && (this.layerIds.length > 0 || this.selectedLayerIds.length === 1)) {
1037
+ this.layerSelectionChange.emit(this.selectedLayerIds.length === 1 ? [this.selectedLayerIds[0]] : [this.layerIds[0]]);
1037
1038
  }
1038
1039
  }
1039
1040
  /**
@@ -1052,62 +1053,74 @@ const MapLayerPicker = class {
1052
1053
  *
1053
1054
  * Used for selecting a single layer.
1054
1055
  *
1055
- * @returns Calcite Select component with the names of the layers from the map
1056
+ * @returns Calcite Select component with the ids of the layers from the map
1056
1057
  */
1057
1058
  _getSelect() {
1058
1059
  return (h("calcite-select", { label: "", onCalciteSelectChange: (evt) => this._layerSelectionChange(evt), ref: (el) => { this._layerElement = el; } }, this._addMapLayersOptions()));
1059
1060
  }
1060
1061
  /**
1061
- * Create a list of layers from the map
1062
+ * Create a list of layer ids from the map
1062
1063
  *
1063
1064
  * Used for selecting multiple layers
1064
1065
  *
1065
- * @returns Calcite ComboBox component with the names of the layers from the map
1066
+ * @returns Calcite ComboBox component with the ids of the layers from the map
1066
1067
  */
1067
1068
  _getCombobox() {
1068
1069
  return (h("calcite-combobox", { label: "", onCalciteComboboxChange: (evt) => this._layerSelectionChange(evt), "selection-mode": this.selectionMode }, this._addMapLayersOptions()));
1069
1070
  }
1070
1071
  /**
1071
- * Hydrate a select or combobox component with the names of the layers in the map
1072
+ * Hydrate a select or combobox component with the ids of the layers in the map
1072
1073
  *
1073
- * @returns Array of ComboBox items or Select options for the names of the layers
1074
+ * @returns Array of ComboBox items or Select options for the ids of the layers
1074
1075
  */
1075
1076
  _addMapLayersOptions() {
1076
- return this.layerNames.reduce((prev, cur) => {
1077
- if (state.managedLayers.indexOf(cur) < 0) {
1078
- prev.push(this.selectionMode === "multi" && this.selectedLayers.indexOf(cur) > -1 ?
1079
- (h("calcite-combobox-item", { selected: true, textLabel: cur, value: cur })) :
1077
+ return this.layerIds.reduce((prev, cur) => {
1078
+ if (state.managedLayers.indexOf(state.layerNameHash[cur]) < 0 && (this.enabledLayerIds.length > 0 ? this.enabledLayerIds.indexOf(cur) > -1 : true)) {
1079
+ prev.push(this.selectionMode === "multi" && this.selectedLayerIds.indexOf(cur) > -1 ?
1080
+ (h("calcite-combobox-item", { selected: true, textLabel: state.layerNameHash[cur], value: cur })) :
1080
1081
  this.selectionMode === "multi" ?
1081
- (h("calcite-combobox-item", { textLabel: cur, value: cur })) :
1082
- this.selectedLayers.indexOf(cur) > -1 ?
1083
- (h("calcite-option", { label: cur, selected: true, value: cur })) :
1084
- (h("calcite-option", { label: cur, value: cur })));
1082
+ (h("calcite-combobox-item", { textLabel: state.layerNameHash[cur], value: cur })) :
1083
+ this.selectedLayerIds.indexOf(cur) > -1 ?
1084
+ (h("calcite-option", { label: state.layerNameHash[cur], selected: true, value: cur })) :
1085
+ (h("calcite-option", { label: state.layerNameHash[cur], value: cur })));
1085
1086
  }
1086
1087
  return prev;
1087
1088
  }, []);
1088
1089
  }
1089
1090
  /**
1090
- * Fetch the names of the layers from the map
1091
+ * Fetch the ids of the layers from the map
1091
1092
  *
1092
1093
  * @returns Promise when the operation has completed
1093
1094
  */
1094
1095
  async _setLayers() {
1095
1096
  if (this.mapView) {
1096
- this.layerNames = await getMapLayerNames(this.mapView);
1097
+ const mapLayerIds = await getMapLayerIds(this.mapView);
1098
+ this.layerIds = mapLayerIds.filter(n => { var _a; return ((_a = this.enabledLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledLayerIds.indexOf(n) > -1 : true; });
1099
+ await this._initLayerHashState();
1100
+ }
1101
+ }
1102
+ /**
1103
+ * Create a layer id:title hash for layer name display
1104
+ *
1105
+ * @returns Promise when the operation has completed
1106
+ */
1107
+ async _initLayerHashState() {
1108
+ if (this.mapView) {
1109
+ state.layerNameHash = await getMapLayerHash(this.mapView);
1097
1110
  }
1098
1111
  }
1099
1112
  /**
1100
- * Fetch the names of the layers from the map
1113
+ * Fetch the ids of the layers from the map
1101
1114
  *
1102
1115
  * @returns Promise when the operation has completed
1103
1116
  */
1104
1117
  _layerSelectionChange(evt) {
1105
1118
  var _a;
1106
- this.selectedLayers = this.selectionMode === "single" ?
1119
+ this.selectedLayerIds = this.selectionMode === "single" ?
1107
1120
  [this._layerElement.value] : ((_a = evt.detail) === null || _a === void 0 ? void 0 : _a.selectedItems.map((item) => {
1108
1121
  return item.value;
1109
1122
  })) || [];
1110
- this.layerSelectionChange.emit(this.selectedLayers);
1123
+ this.layerSelectionChange.emit(this.selectedLayerIds);
1111
1124
  }
1112
1125
  get el() { return getElement(this); }
1113
1126
  static get watchers() { return {
@@ -8,12 +8,11 @@ import { s as setRequestedIcon, g as getElementProp, a as getSlotted } from './d
8
8
  import { S as StatusIcons } from './interfaces-4ae145eb.js';
9
9
  import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot-e96b0a4f.js';
10
10
  import { l as loadModules } from './loadModules-06bbc523.js';
11
- import { a as goToSelection, h as highlightFeatures, e as queryObjectIds, f as getQueryGeoms } from './mapViewUtils-31d2c2bb.js';
11
+ import { g as goToSelection, h as highlightFeatures, d as queryObjectIds, e as getQueryGeoms } from './mapViewUtils-e5d8a1e1.js';
12
12
  import { E as EWorkflowType, f as ESelectionMode, g as ERefineMode, c as ESketchType } from './interfaces-3b23a5f9.js';
13
- import { s as state } from './publicNotificationStore-3e762eea.js';
13
+ import { s as state } from './publicNotificationStore-8e9cb73b.js';
14
14
  import { g as getLocaleComponentStrings } from './locale-a5a0b545.js';
15
- import { p as pdfUtils } from './labelFormats-b37958c3.js';
16
- import { e as exportCSV } from './csvUtils-edc0c2a8.js';
15
+ import { e as exportCSV } from './csvUtils-eb231cfb.js';
17
16
  import { a as getSelectionIds, g as getTotal } from './publicNotificationUtils-5cb5a607.js';
18
17
  import './resources-436ae282.js';
19
18
  import './guid-15fce7c0.js';
@@ -249,9 +248,13 @@ const MapSelectTools = class {
249
248
  * string: A label to help uniquely identify the selection set
250
249
  */
251
250
  this._selectionLabel = "";
251
+ this.enabledLayerIds = [];
252
+ this.defaultBufferDistance = undefined;
253
+ this.defaultBufferUnit = undefined;
252
254
  this.geometries = undefined;
253
255
  this.isUpdate = false;
254
256
  this.mapView = undefined;
257
+ this.searchConfiguration = undefined;
255
258
  this.selectionSet = undefined;
256
259
  this.selectLayerView = undefined;
257
260
  this.showBufferTools = true;
@@ -377,7 +380,7 @@ const MapSelectTools = class {
377
380
  const useSelectClass = this._layerSelectChecked && !searchEnabled ? " div-visible" : " div-not-visible";
378
381
  const useDrawClass = !this._layerSelectChecked && !searchEnabled ? " div-visible" : " div-not-visible";
379
382
  const showLayerChoiceClass = searchEnabled ? "div-not-visible" : "div-visible";
380
- return (h(Host, null, h("div", { class: "padding-bottom-1" }, h("calcite-radio-group", { class: "w-100", onCalciteRadioGroupChange: (evt) => this._workflowChange(evt) }, h("calcite-radio-group-item", { checked: searchEnabled, class: "w-50 end-border", value: EWorkflowType.SEARCH }, this._translations.search), h("calcite-radio-group-item", { checked: drawEnabled, class: "w-50", value: EWorkflowType.SKETCH }, this._translations.sketch))), h("div", { class: showSearchClass }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } })), h("div", { class: showLayerChoiceClass }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { onCalciteCheckboxChange: () => this._layerSelectChanged(), ref: (el) => this._selectFromLayerElement = el }), "Use layer features")), h("div", { class: useDrawClass }, h("map-draw-tools", { active: true, border: true, mapView: this.mapView, ref: (el) => { this._drawTools = el; } })), h("div", { class: useSelectClass }, h("refine-selection-tools", { active: true, border: true, layerViews: this._refineSelectLayers, mapView: this.mapView, mode: ESelectionMode.ADD, ref: (el) => { this._refineTools = el; }, refineMode: ERefineMode.SUBSET })), h("calcite-label", { class: showBufferToolsClass }, this._translations.searchDistance, h("buffer-tools", { distance: (_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance, geometries: this.geometries, onBufferComplete: (evt) => this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: (_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit })), h("slot", null)));
383
+ return (h(Host, null, h("div", { class: "padding-bottom-1" }, h("calcite-radio-group", { class: "w-100", onCalciteRadioGroupChange: (evt) => this._workflowChange(evt) }, h("calcite-radio-group-item", { checked: searchEnabled, class: "w-50 end-border", value: EWorkflowType.SEARCH }, this._translations.search), h("calcite-radio-group-item", { checked: drawEnabled, class: "w-50", value: EWorkflowType.SKETCH }, this._translations.sketch))), h("div", { class: showSearchClass }, h("div", { class: "search-widget", ref: (el) => { this._searchElement = el; } })), h("div", { class: showLayerChoiceClass }, h("calcite-label", { layout: "inline" }, h("calcite-checkbox", { onCalciteCheckboxChange: () => this._layerSelectChanged(), ref: (el) => this._selectFromLayerElement = el }), "Use layer features")), h("div", { class: useDrawClass }, h("map-draw-tools", { active: true, border: true, mapView: this.mapView, ref: (el) => { this._drawTools = el; } })), h("div", { class: useSelectClass }, h("refine-selection-tools", { active: true, border: true, enabledLayerIds: this.enabledLayerIds, layerViews: this._refineSelectLayers, mapView: this.mapView, mode: ESelectionMode.ADD, ref: (el) => { this._refineTools = el; }, refineMode: ERefineMode.SUBSET })), h("calcite-label", { class: showBufferToolsClass }, this._translations.searchDistance, h("buffer-tools", { distance: ((_a = this.selectionSet) === null || _a === void 0 ? void 0 : _a.distance) || this.defaultBufferDistance, geometries: this.geometries, onBufferComplete: (evt) => this._bufferComplete(evt), ref: (el) => this._bufferTools = el, unit: ((_b = this.selectionSet) === null || _b === void 0 ? void 0 : _b.unit) || this.defaultBufferUnit })), h("slot", null)));
381
384
  }
382
385
  //--------------------------------------------------------------------------
383
386
  //
@@ -392,16 +395,18 @@ const MapSelectTools = class {
392
395
  * @protected
393
396
  */
394
397
  async _initModules() {
395
- const [GraphicsLayer, Graphic, Search, geometryEngine] = await loadModules([
398
+ const [GraphicsLayer, Graphic, Search, geometryEngine, FeatureLayer] = await loadModules([
396
399
  "esri/layers/GraphicsLayer",
397
400
  "esri/Graphic",
398
401
  "esri/widgets/Search",
399
- "esri/geometry/geometryEngine"
402
+ "esri/geometry/geometryEngine",
403
+ "esri/layers/FeatureLayer"
400
404
  ]);
401
405
  this.GraphicsLayer = GraphicsLayer;
402
406
  this.Graphic = Graphic;
403
407
  this.Search = Search;
404
408
  this._geometryEngine = geometryEngine;
409
+ this.FeatureLayer = FeatureLayer;
405
410
  }
406
411
  /**
407
412
  * Initialize the graphics layer, selection set, and search widget
@@ -445,11 +450,8 @@ const MapSelectTools = class {
445
450
  */
446
451
  _initSearchWidget() {
447
452
  if (this.mapView && this._searchElement) {
448
- const searchOptions = {
449
- view: this.mapView,
450
- container: this._searchElement,
451
- searchTerm: this._searchTerm
452
- };
453
+ const searchConfiguration = this._getSearchConfig(this.searchConfiguration, this.mapView);
454
+ const searchOptions = Object.assign({ view: this.mapView, container: this._searchElement, searchTerm: this._searchTerm }, searchConfiguration);
453
455
  this._searchWidget = new this.Search(searchOptions);
454
456
  this._searchWidget.on("search-clear", () => {
455
457
  void this._clearResults(false);
@@ -464,6 +466,45 @@ const MapSelectTools = class {
464
466
  });
465
467
  }
466
468
  }
469
+ /**
470
+ * Initialize the search widget based on user defined configuration
471
+ *
472
+ * @param searchConfiguration search configuration defined by the user
473
+ * @param view the current map view
474
+ *
475
+ * @protected
476
+ */
477
+ _getSearchConfig(searchConfiguration, view) {
478
+ var _a;
479
+ const sources = searchConfiguration === null || searchConfiguration === void 0 ? void 0 : searchConfiguration.sources;
480
+ if (sources) {
481
+ sources.forEach(source => {
482
+ var _a, _b, _c;
483
+ const isLayerSource = source.hasOwnProperty("layer");
484
+ if (isLayerSource) {
485
+ const layerSource = source;
486
+ const layerFromMap = ((_a = layerSource.layer) === null || _a === void 0 ? void 0 : _a.id)
487
+ ? view.map.findLayerById(layerSource.layer.id)
488
+ : null;
489
+ if (layerFromMap) {
490
+ layerSource.layer = layerFromMap;
491
+ }
492
+ else if ((_b = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _b === void 0 ? void 0 : _b.url) {
493
+ layerSource.layer = new this.FeatureLayer((_c = layerSource === null || layerSource === void 0 ? void 0 : layerSource.layer) === null || _c === void 0 ? void 0 : _c.url);
494
+ }
495
+ }
496
+ });
497
+ }
498
+ (_a = searchConfiguration === null || searchConfiguration === void 0 ? void 0 : searchConfiguration.sources) === null || _a === void 0 ? void 0 : _a.forEach(source => {
499
+ const isLocatorSource = source.hasOwnProperty("locator");
500
+ if (isLocatorSource) {
501
+ const locatorSource = source;
502
+ locatorSource.url = locatorSource.url;
503
+ delete locatorSource.url;
504
+ }
505
+ });
506
+ return searchConfiguration;
507
+ }
467
508
  /**
468
509
  * Initialize the graphics layer used to store any buffer grapghics
469
510
  *
@@ -647,12 +688,217 @@ const MapSelectTools = class {
647
688
  };
648
689
  MapSelectTools.style = mapSelectToolsCss;
649
690
 
691
+ const labelFormats = [
692
+ {
693
+ descriptionPDF: {
694
+ labelWidthDisplay: "2-5/8",
695
+ labelHeightDisplay: "1",
696
+ labelsPerPageDisplay: "30",
697
+ averyPartNumber: "*60"
698
+ },
699
+ labelSpec: {
700
+ type: "AVERY",
701
+ pageDimensions: {
702
+ width: 8.5,
703
+ height: 11,
704
+ leftMargin: 0.1875,
705
+ rightMargin: 0.1875,
706
+ topMargin: 0.5,
707
+ bottomMargin: 0.5
708
+ },
709
+ numLabelsAcross: 3,
710
+ numLabelsDown: 10,
711
+ labelWidth: 2.625,
712
+ labelHeight: 1,
713
+ horizGapIn: 0.125,
714
+ vertGapIn: 0,
715
+ labelPadding: 0.1,
716
+ fontSizePx: 11,
717
+ maxNumLabelLines: 4
718
+ }
719
+ },
720
+ {
721
+ descriptionPDF: {
722
+ labelWidthDisplay: "4",
723
+ labelHeightDisplay: "1",
724
+ labelsPerPageDisplay: "20",
725
+ averyPartNumber: "*61"
726
+ },
727
+ labelSpec: {
728
+ type: "AVERY",
729
+ pageDimensions: {
730
+ width: 8.5,
731
+ height: 11,
732
+ leftMargin: 0.15625,
733
+ rightMargin: 0.15625,
734
+ topMargin: 0.47637821,
735
+ bottomMargin: 0.5
736
+ },
737
+ numLabelsAcross: 2,
738
+ numLabelsDown: 10,
739
+ labelWidth: 4,
740
+ labelHeight: 1.0025,
741
+ horizGapIn: 0.1875,
742
+ vertGapIn: 0,
743
+ labelPadding: 0.1,
744
+ fontSizePx: 11,
745
+ maxNumLabelLines: 4
746
+ }
747
+ },
748
+ {
749
+ descriptionPDF: {
750
+ labelWidthDisplay: "4",
751
+ labelHeightDisplay: "1-1/3",
752
+ labelsPerPageDisplay: "14",
753
+ averyPartNumber: "*62"
754
+ },
755
+ labelSpec: {
756
+ type: "AVERY",
757
+ pageDimensions: {
758
+ width: 8.5,
759
+ height: 11,
760
+ leftMargin: 0.15625,
761
+ rightMargin: 0.15625,
762
+ topMargin: 0.81889808,
763
+ bottomMargin: 0.83464612
764
+ },
765
+ numLabelsAcross: 2,
766
+ numLabelsDown: 7,
767
+ labelWidth: 4,
768
+ labelHeight: 1.3352,
769
+ horizGapIn: 0.1875,
770
+ vertGapIn: 0,
771
+ labelPadding: 0.1,
772
+ fontSizePx: 11,
773
+ maxNumLabelLines: 6
774
+ }
775
+ },
776
+ {
777
+ descriptionPDF: {
778
+ labelWidthDisplay: "4",
779
+ labelHeightDisplay: "2",
780
+ labelsPerPageDisplay: "10",
781
+ averyPartNumber: "*63"
782
+ },
783
+ labelSpec: {
784
+ type: "AVERY",
785
+ pageDimensions: {
786
+ width: 8.5,
787
+ height: 11,
788
+ leftMargin: 0.15625,
789
+ rightMargin: 0.15625,
790
+ topMargin: 0.5,
791
+ bottomMargin: 0.5
792
+ },
793
+ numLabelsAcross: 2,
794
+ numLabelsDown: 5,
795
+ labelWidth: 4,
796
+ labelHeight: 2,
797
+ horizGapIn: 0.1875,
798
+ vertGapIn: 0,
799
+ labelPadding: 0.1,
800
+ fontSizePx: 12,
801
+ maxNumLabelLines: 10
802
+ }
803
+ },
804
+ {
805
+ descriptionPDF: {
806
+ labelWidthDisplay: "4",
807
+ labelHeightDisplay: "3-1/3",
808
+ labelsPerPageDisplay: "6",
809
+ averyPartNumber: "*64"
810
+ },
811
+ labelSpec: {
812
+ type: "AVERY",
813
+ pageDimensions: {
814
+ width: 8.5,
815
+ height: 11,
816
+ leftMargin: 0.15625,
817
+ rightMargin: 0.15625,
818
+ topMargin: 0.4724412,
819
+ bottomMargin: 0.50000027
820
+ },
821
+ numLabelsAcross: 2,
822
+ numLabelsDown: 3,
823
+ labelWidth: 4,
824
+ labelHeight: 3.342,
825
+ horizGapIn: 0.1875,
826
+ vertGapIn: 0,
827
+ labelPadding: 0.1,
828
+ fontSizePx: 14,
829
+ maxNumLabelLines: 12
830
+ }
831
+ },
832
+ {
833
+ descriptionPDF: {
834
+ labelWidthDisplay: "1-3/4",
835
+ labelHeightDisplay: "1/2",
836
+ labelsPerPageDisplay: "80",
837
+ averyPartNumber: "*67"
838
+ },
839
+ labelSpec: {
840
+ type: "AVERY",
841
+ pageDimensions: {
842
+ width: 8.5,
843
+ height: 11,
844
+ leftMargin: 0.307086375,
845
+ rightMargin: 0.307086375,
846
+ topMargin: 0.4724412,
847
+ bottomMargin: 0.49606326
848
+ },
849
+ numLabelsAcross: 4,
850
+ numLabelsDown: 20,
851
+ labelWidth: 1.75,
852
+ labelHeight: 0.50155,
853
+ horizGapIn: 0.29527575,
854
+ vertGapIn: 0,
855
+ labelPadding: 0.1,
856
+ fontSizePx: 8,
857
+ maxNumLabelLines: 3
858
+ }
859
+ },
860
+ {
861
+ descriptionPDF: {
862
+ labelWidthDisplay: "1-3/4",
863
+ labelHeightDisplay: "2/3",
864
+ labelsPerPageDisplay: "60",
865
+ averyPartNumber: "*95"
866
+ },
867
+ labelSpec: {
868
+ type: "AVERY",
869
+ pageDimensions: {
870
+ width: 8.5,
871
+ height: 11,
872
+ leftMargin: 0.28936983,
873
+ rightMargin: 0.28936983,
874
+ topMargin: 0.53937037,
875
+ bottomMargin: 0.5511814
876
+ },
877
+ numLabelsAcross: 4,
878
+ numLabelsDown: 15,
879
+ labelWidth: 1.75,
880
+ labelHeight: 0.6605,
881
+ horizGapIn: 0.30708678,
882
+ vertGapIn: 0,
883
+ labelPadding: 0.1,
884
+ fontSizePx: 8,
885
+ maxNumLabelLines: 4
886
+ }
887
+ }
888
+ ];
889
+
890
+ const pdfUtils = /*#__PURE__*/Object.freeze({
891
+ __proto__: null,
892
+ 'default': labelFormats
893
+ });
894
+
650
895
  const pdfDownloadCss = ":host{display:block}";
651
896
 
652
897
  const PdfDownload = class {
653
898
  constructor(hostRef) {
654
899
  registerInstance(this, hostRef);
655
900
  this.disabled = true;
901
+ this.enabledSizeValues = [];
656
902
  this.layerView = undefined;
657
903
  this._translations = undefined;
658
904
  }
@@ -683,8 +929,8 @@ const PdfDownload = class {
683
929
  * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
684
930
  * @returns Promise resolving when function is done
685
931
  */
686
- async downloadCSV(ids, removeDuplicates) {
687
- return this._downloadCSV(ids, removeDuplicates);
932
+ async downloadCSV(ids, removeDuplicates, addColumnTitle) {
933
+ return this._downloadCSV(ids, removeDuplicates, addColumnTitle);
688
934
  }
689
935
  //--------------------------------------------------------------------------
690
936
  //
@@ -727,9 +973,13 @@ const PdfDownload = class {
727
973
  const _b = parseInt(b.descriptionPDF.labelsPerPageDisplay, 10);
728
974
  return _a < _b ? -1 : _a > _b ? 1 : 0;
729
975
  });
730
- return sortedPdfIndo.map((l) => {
731
- return (h("calcite-option", { value: l }, this._getLabelSizeText(l)));
732
- });
976
+ return sortedPdfIndo.reduce((prev, cur) => {
977
+ if (this.enabledSizeValues.length === 0 ||
978
+ this.enabledSizeValues.indexOf(parseInt(cur.descriptionPDF.labelsPerPageDisplay, 10)) > -1) {
979
+ prev.push((h("calcite-option", { value: cur }, this._getLabelSizeText(cur))));
980
+ }
981
+ return prev;
982
+ }, []);
733
983
  }
734
984
  /**
735
985
  * Downloads pdf of mailing labels for the provided list of ids
@@ -754,10 +1004,10 @@ const PdfDownload = class {
754
1004
  * @returns Promise that will resolve when the download is complete
755
1005
  * @protected
756
1006
  */
757
- async _downloadCSV(ids, removeDuplicates) {
1007
+ async _downloadCSV(ids, removeDuplicates, addColumnTitle) {
758
1008
  // TODO this will be leveraged when we do the real implementation of this
759
1009
  console.log(removeDuplicates);
760
- await exportCSV(this.layerView, ids);
1010
+ await exportCSV(this.layerView, ids, addColumnTitle);
761
1011
  }
762
1012
  /**
763
1013
  * Gets the formatted pdf export size text
@@ -801,6 +1051,7 @@ const RefineSelection = class {
801
1051
  */
802
1052
  this._addEnabled = true;
803
1053
  this.addresseeLayer = undefined;
1054
+ this.enabledLayerIds = [];
804
1055
  this.mapView = undefined;
805
1056
  this.selectionSets = [];
806
1057
  this.GraphicsLayer = undefined;
@@ -833,7 +1084,7 @@ const RefineSelection = class {
833
1084
  * Renders the component.
834
1085
  */
835
1086
  render() {
836
- return (h(Host, null, h("div", { class: "padding-1" }, h("div", null, h("calcite-radio-group", { class: "w-100", onCalciteRadioGroupChange: (evt) => this._modeChanged(evt) }, h("calcite-radio-group-item", { checked: this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(ESelectionMode.ADD), value: ESelectionMode.ADD }, this._translations.add), h("calcite-radio-group-item", { checked: !this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(ESelectionMode.REMOVE), value: ESelectionMode.REMOVE }, this._translations.remove)), h("refine-selection-tools", { border: true, ids: getSelectionIds(this.selectionSets), layerViews: [this.addresseeLayer], mapView: this.mapView, mode: this._addEnabled ? ESelectionMode.ADD : ESelectionMode.REMOVE, ref: (el) => { this._refineTools = el; }, useLayerPicker: false })), h("br", null), (h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1087
+ return (h(Host, null, h("div", { class: "padding-1" }, h("div", null, h("calcite-radio-group", { class: "w-100", onCalciteRadioGroupChange: (evt) => this._modeChanged(evt) }, h("calcite-radio-group-item", { checked: this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(ESelectionMode.ADD), value: ESelectionMode.ADD }, this._translations.add), h("calcite-radio-group-item", { checked: !this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(ESelectionMode.REMOVE), value: ESelectionMode.REMOVE }, this._translations.remove)), h("refine-selection-tools", { border: true, enabledLayerIds: this.enabledLayerIds, ids: getSelectionIds(this.selectionSets), layerViews: [this.addresseeLayer], mapView: this.mapView, mode: this._addEnabled ? ESelectionMode.ADD : ESelectionMode.REMOVE, ref: (el) => { this._refineTools = el; }, useLayerPicker: false })), h("br", null), (h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
837
1088
  }
838
1089
  //--------------------------------------------------------------------------
839
1090
  //
@@ -3,7 +3,7 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import { c as queryFeaturesByID } from './mapViewUtils-31d2c2bb.js';
6
+ import { b as queryFeaturesByID } from './mapViewUtils-e5d8a1e1.js';
7
7
 
8
8
  /** @license
9
9
  * Copyright 2022 Esri
@@ -28,7 +28,7 @@ import { c as queryFeaturesByID } from './mapViewUtils-31d2c2bb.js';
28
28
  *
29
29
  * @returns Promise when the function has completed
30
30
  */
31
- async function exportCSV(layerView, ids) {
31
+ async function exportCSV(layerView, ids, addColumnTitle) {
32
32
  const featureSet = await queryFeaturesByID(ids, layerView.layer);
33
33
  const attributes = featureSet.features.map(f => f.attributes);
34
34
  const fieldNames = {};
@@ -38,7 +38,7 @@ async function exportCSV(layerView, ids) {
38
38
  fieldNames[k] = k;
39
39
  }
40
40
  });
41
- _downloadCSVFile(fieldNames, attributes, `notify-${Date.now().toString()}`);
41
+ _downloadCSVFile(fieldNames, attributes, `notify-${Date.now().toString()}`, addColumnTitle);
42
42
  }
43
43
  /**
44
44
  * Download the CSV file
@@ -51,8 +51,8 @@ async function exportCSV(layerView, ids) {
51
51
  *
52
52
  * @returns void
53
53
  */
54
- function _downloadCSVFile(fieldNames, attributes, fileTitle) {
55
- if (fieldNames) {
54
+ function _downloadCSVFile(fieldNames, attributes, fileTitle, addColumnTitle) {
55
+ if (addColumnTitle && fieldNames) {
56
56
  attributes.unshift(fieldNames);
57
57
  }
58
58
  // format values to string so it doesn't get tripped up when a value has a comma
@@ -5,8 +5,8 @@
5
5
  */
6
6
  import { r as registerInstance, h, H as Host, g as getElement } from './index-09deaa39.js';
7
7
  import { g as getLocaleComponentStrings } from './locale-a5a0b545.js';
8
- import { a as goToSelection, b as getMapLayerView, q as queryAllFeatures } from './mapViewUtils-31d2c2bb.js';
9
- import { e as exportCSV } from './csvUtils-edc0c2a8.js';
8
+ import { g as goToSelection, a as getMapLayerView, q as queryAllFeatures } from './mapViewUtils-e5d8a1e1.js';
9
+ import { e as exportCSV } from './csvUtils-eb231cfb.js';
10
10
  import './_commonjsHelpers-8fd39c50.js';
11
11
  import './interfaces-3b23a5f9.js';
12
12
 
@@ -218,7 +218,7 @@ const LayerTable = class {
218
218
  */
219
219
  _exportToCSV() {
220
220
  const ids = this._getSelectedIds();
221
- void exportCSV(this._layerView, ids);
221
+ void exportCSV(this._layerView, ids, true);
222
222
  }
223
223
  /**
224
224
  * Zoom to all selected features