@esri/solutions-components 0.3.2 → 0.3.3

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