@esri/solutions-components 0.6.3 → 0.6.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. package/dist/cjs/buffer-tools_4.cjs.entry.js +1 -1
  2. package/dist/cjs/calcite-combobox_6.cjs.entry.js +74 -52
  3. package/dist/cjs/calcite-input-text_4.cjs.entry.js +9 -9
  4. package/dist/cjs/card-manager_3.cjs.entry.js +36 -29
  5. package/dist/cjs/crowdsource-manager.cjs.entry.js +2 -2
  6. package/dist/cjs/{downloadUtils-6d4e269f.js → downloadUtils-4aadf4b0.js} +4 -3
  7. package/dist/cjs/edit-card_2.cjs.entry.js +11 -6
  8. package/dist/cjs/{index.es-fc923796.js → index.es-17db3b89.js} +2 -2
  9. package/dist/cjs/loader.cjs.js +1 -1
  10. package/dist/cjs/{mapViewUtils-efc49df7.js → mapViewUtils-77a1ff88.js} +48 -6
  11. package/dist/cjs/public-notification.cjs.entry.js +3 -3
  12. package/dist/cjs/{publicNotificationStore-cd1a32c3.js → publicNotificationStore-ec1bdd2d.js} +5 -1
  13. package/dist/cjs/solutions-components.cjs.js +1 -1
  14. package/dist/collection/components/card-manager/card-manager.js +8 -8
  15. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +2 -2
  16. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
  17. package/dist/collection/components/edit-card/edit-card.css +1 -1
  18. package/dist/collection/components/edit-card/edit-card.js +7 -1
  19. package/dist/collection/components/info-card/info-card.js +4 -5
  20. package/dist/collection/components/layer-table/layer-table.js +34 -27
  21. package/dist/collection/components/map-layer-picker/map-layer-picker.js +110 -54
  22. package/dist/collection/components/map-select-tools/map-select-tools.js +5 -5
  23. package/dist/collection/components/refine-selection/refine-selection.js +3 -3
  24. package/dist/collection/demos/crowdsource-manager.html +31 -16
  25. package/dist/collection/utils/downloadUtils.js +2 -1
  26. package/dist/collection/utils/downloadUtils.ts +1 -1
  27. package/dist/collection/utils/interfaces.ts +6 -5
  28. package/dist/collection/utils/mapViewUtils.js +44 -5
  29. package/dist/collection/utils/mapViewUtils.ts +52 -7
  30. package/dist/collection/utils/publicNotificationStore.js +5 -1
  31. package/dist/collection/utils/publicNotificationStore.ts +5 -1
  32. package/dist/components/card-manager2.js +5 -5
  33. package/dist/components/crowdsource-manager.js +2 -2
  34. package/dist/components/downloadUtils.js +2 -1
  35. package/dist/components/edit-card2.js +7 -1
  36. package/dist/components/info-card2.js +4 -5
  37. package/dist/components/layer-table2.js +33 -26
  38. package/dist/components/map-layer-picker2.js +78 -54
  39. package/dist/components/map-select-tools2.js +5 -5
  40. package/dist/components/mapViewUtils.js +45 -6
  41. package/dist/components/publicNotificationStore.js +5 -1
  42. package/dist/components/refine-selection2.js +3 -3
  43. package/dist/esm/buffer-tools_4.entry.js +1 -1
  44. package/dist/esm/calcite-combobox_6.entry.js +74 -52
  45. package/dist/esm/calcite-input-text_4.entry.js +9 -9
  46. package/dist/esm/card-manager_3.entry.js +36 -29
  47. package/dist/esm/crowdsource-manager.entry.js +2 -2
  48. package/dist/esm/{downloadUtils-1092cb0f.js → downloadUtils-3b5f85d9.js} +4 -3
  49. package/dist/esm/edit-card_2.entry.js +11 -6
  50. package/dist/esm/{index.es-08a48fdd.js → index.es-bb9196f6.js} +2 -2
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm/{mapViewUtils-a787c6a8.js → mapViewUtils-55ea1e10.js} +45 -6
  53. package/dist/esm/public-notification.entry.js +3 -3
  54. package/dist/esm/{publicNotificationStore-c36d95bf.js → publicNotificationStore-6ef555f3.js} +5 -1
  55. package/dist/esm/solutions-components.js +1 -1
  56. package/dist/solutions-components/demos/crowdsource-manager.html +31 -16
  57. package/dist/solutions-components/{p-841a5f97.entry.js → p-03179924.entry.js} +1 -1
  58. package/dist/solutions-components/{p-a29ba58a.js → p-477ae127.js} +2 -2
  59. package/dist/solutions-components/p-4af3f843.js +36 -0
  60. package/dist/solutions-components/{p-5b260e5f.js → p-6015e2ee.js} +1 -1
  61. package/dist/solutions-components/{p-ad60a547.js → p-9807924d.js} +3 -3
  62. package/dist/solutions-components/{p-781480c2.entry.js → p-a56f965e.entry.js} +1 -1
  63. package/dist/solutions-components/{p-5a6ca63b.entry.js → p-cdc0bb97.entry.js} +6 -6
  64. package/dist/solutions-components/{p-6305f474.entry.js → p-d3fd28e9.entry.js} +1 -1
  65. package/dist/solutions-components/p-d83da8a0.entry.js +11 -0
  66. package/dist/solutions-components/p-d875f38c.entry.js +6 -0
  67. package/dist/solutions-components/p-ef235c88.entry.js +6 -0
  68. package/dist/solutions-components/solutions-components.esm.js +1 -1
  69. package/dist/solutions-components/utils/downloadUtils.ts +1 -1
  70. package/dist/solutions-components/utils/interfaces.ts +6 -5
  71. package/dist/solutions-components/utils/mapViewUtils.ts +52 -7
  72. package/dist/solutions-components/utils/publicNotificationStore.ts +5 -1
  73. package/dist/types/components/card-manager/card-manager.d.ts +2 -2
  74. package/dist/types/components/edit-card/edit-card.d.ts +6 -2
  75. package/dist/types/components/layer-table/layer-table.d.ts +4 -4
  76. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +34 -19
  77. package/dist/types/components.d.ts +22 -6
  78. package/dist/types/utils/interfaces.d.ts +4 -3
  79. package/dist/types/utils/mapViewUtils.d.ts +22 -5
  80. package/dist/types/utils/publicNotificationStore.d.ts +2 -0
  81. package/package.json +1 -1
  82. package/dist/solutions-components/p-0641aa9b.js +0 -36
  83. package/dist/solutions-components/p-74a2d025.entry.js +0 -6
  84. package/dist/solutions-components/p-a62c1b3c.entry.js +0 -6
  85. package/dist/solutions-components/p-ccf5c0ff.entry.js +0 -11
@@ -20,8 +20,8 @@ import { C as ComboboxChildSelector, b as getItemAncestors, c as getItemChildren
20
20
  import { d as debounce } from './debounce-4c884e5c.js';
21
21
  import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot-b651e48a.js';
22
22
  import { i as isActivationKey } from './key-d6bc268b.js';
23
- import { i as getMapLayerIds, k as getMapLayerHash } from './mapViewUtils-a787c6a8.js';
24
- import { s as state } from './publicNotificationStore-c36d95bf.js';
23
+ import { j as getMapLayerIds, l as getMapTableIds, m as getMapLayerHash, n as getMapTableHash } from './mapViewUtils-55ea1e10.js';
24
+ import { s as state } from './publicNotificationStore-6ef555f3.js';
25
25
  import './resources-ee3b03a3.js';
26
26
  import './browser-f8ca09b7.js';
27
27
  import './interfaces-bf20e69c.js';
@@ -1679,13 +1679,15 @@ const MapLayerPicker = class {
1679
1679
  this.layerSelectionChange = createEvent(this, "layerSelectionChange", 7);
1680
1680
  this.appearance = "transparent";
1681
1681
  this.enabledLayerIds = [];
1682
+ this.enabledTableIds = [];
1682
1683
  this.mapView = undefined;
1683
1684
  this.placeholderIcon = "";
1684
- this.selectedLayerIds = [];
1685
+ this.selectedIds = [];
1685
1686
  this.scale = "m";
1687
+ this.showTables = true;
1686
1688
  this.type = "select";
1687
- this.layerIds = [];
1688
- this.selectedLayerName = "";
1689
+ this.ids = [];
1690
+ this.selectedName = "";
1689
1691
  }
1690
1692
  //--------------------------------------------------------------------------
1691
1693
  //
@@ -1698,7 +1700,11 @@ const MapLayerPicker = class {
1698
1700
  */
1699
1701
  async mapViewWatchHandler() {
1700
1702
  await this._setLayers();
1701
- this._setSelectedLayer(this.layerIds[0]);
1703
+ const hasLayers = Object.keys(state.layerNameHash).length > 0;
1704
+ const hasTables = Object.keys(state.tableNameHash).length > 0 && this.showTables;
1705
+ if (hasLayers || hasTables) {
1706
+ this._setSelectedLayer(this.ids[0], hasLayers ? "layer" : "table");
1707
+ }
1702
1708
  }
1703
1709
  //--------------------------------------------------------------------------
1704
1710
  //
@@ -1710,8 +1716,8 @@ const MapLayerPicker = class {
1710
1716
  */
1711
1717
  async componentWillLoad() {
1712
1718
  await this._setLayers();
1713
- if (this.layerIds.length > 0 || this.selectedLayerIds.length === 1) {
1714
- this.layerSelectionChange.emit(this.selectedLayerIds.length === 1 ? [this.selectedLayerIds[0]] : [this.layerIds[0]]);
1719
+ if (this.ids.length > 0 || this.selectedIds.length === 1) {
1720
+ this.layerSelectionChange.emit(this.selectedIds.length === 1 ? [this.selectedIds[0]] : [this.ids[0]]);
1715
1721
  }
1716
1722
  }
1717
1723
  /**
@@ -1725,13 +1731,15 @@ const MapLayerPicker = class {
1725
1731
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
1726
1732
  */
1727
1733
  async componentDidLoad() {
1728
- if (this.layerIds.length > 0 || this.selectedLayerIds.length === 1) {
1729
- const id = this.selectedLayerIds.length === 1 ? this.selectedLayerIds[0] : this.layerIds[0];
1734
+ if (this.ids.length > 0 || this.selectedIds.length === 1) {
1735
+ const id = this.selectedIds.length === 1 ? this.selectedIds[0] : this.ids[0];
1730
1736
  if (this.type === "select") {
1731
1737
  this._layerElement.value = id;
1732
1738
  }
1733
1739
  else if (this.type === "dropdown") {
1734
- this.selectedLayerName = state.layerNameHash[id];
1740
+ this.selectedName = Object.keys(state.layerNameHash).indexOf(id) > -1 ?
1741
+ state.layerNameHash[id] : Object.keys(state.tableNameHash).indexOf(id) > -1 ?
1742
+ state.tableNameHash[id] : "";
1735
1743
  }
1736
1744
  }
1737
1745
  }
@@ -1748,7 +1756,7 @@ const MapLayerPicker = class {
1748
1756
  * @returns Calcite Select component with the ids of the layers from the map
1749
1757
  */
1750
1758
  _getSelect() {
1751
- return (h("calcite-select", { label: "", onCalciteSelectChange: () => this._layerSelectionChange(), ref: (el) => { this._layerElement = el; }, scale: this.scale }, this._addSelectMapLayersOptions()));
1759
+ return (h("calcite-select", { label: "", onCalciteSelectChange: () => this._layerSelectionChange(), ref: (el) => { this._layerElement = el; }, scale: this.scale }, this._getMapLayerOptions()));
1752
1760
  }
1753
1761
  /**
1754
1762
  * Create a list of layer ids from the map
@@ -1758,7 +1766,7 @@ const MapLayerPicker = class {
1758
1766
  * @returns Calcite ComboBox component with the ids of the layers from the map
1759
1767
  */
1760
1768
  _getCombobox() {
1761
- return (h("calcite-combobox", { clearDisabled: true, label: "", onCalciteComboboxChange: () => this._layerSelectionChange(), "placeholder-icon": this.placeholderIcon, ref: (el) => { this._layerElement = el; }, scale: this.scale, "selection-mode": "single" }, this._addComboboxMapLayersOptions()));
1769
+ return (h("calcite-combobox", { clearDisabled: true, label: "", onCalciteComboboxChange: () => this._layerSelectionChange(), "placeholder-icon": this.placeholderIcon, ref: (el) => { this._layerElement = el; }, scale: this.scale, "selection-mode": "single" }, this._getMapLayerOptions()));
1762
1770
  }
1763
1771
  /**
1764
1772
  * Hydrate a dropdown component with items to display the layer names
@@ -1766,54 +1774,42 @@ const MapLayerPicker = class {
1766
1774
  * @returns Array of Dropdown items with layer names
1767
1775
  */
1768
1776
  _getDropdown() {
1769
- return (h("calcite-dropdown", { class: "layer-picker-dropdown" }, h("calcite-action", { slot: "trigger", text: "" }, h("calcite-button", { alignment: "icon-end-space-between", appearance: this.appearance, class: "max-width-350", iconEnd: "chevron-down", iconStart: "layers", kind: "neutral", width: "full" }, h("div", null, this.selectedLayerName))), h("calcite-dropdown-group", { "selection-mode": "single" }, this._getDropdownItems())));
1777
+ return (h("calcite-dropdown", { class: "layer-picker-dropdown" }, h("calcite-action", { slot: "trigger", text: "" }, h("calcite-button", { alignment: "icon-end-space-between", appearance: this.appearance, class: "max-width-350", iconEnd: "chevron-down", iconStart: "layers", kind: "neutral", width: "full" }, h("div", null, this.selectedName))), h("calcite-dropdown-group", { "selection-mode": "single" }, this._getMapLayerOptions())));
1770
1778
  }
1771
1779
  /**
1772
- * Hydrate a dropdown component with items to display the layer names
1780
+ * Get the appropriate type of dom nodes for each valid layer or table
1773
1781
  *
1774
- * @returns Array of Dropdown items with layer names
1782
+ * @returns Array of dom nodes with the names of the layers and optionally of the tables
1775
1783
  */
1776
- _getDropdownItems() {
1777
- return this.layerIds.reduce((prev, cur) => {
1778
- if (state.managedLayers.indexOf(state.layerNameHash[cur]) < 0 && (this.enabledLayerIds.length > 0 ? this.enabledLayerIds.indexOf(cur) > -1 : true)) {
1779
- prev.push((h("calcite-dropdown-item", { onClick: () => void this._setSelectedLayer(cur) }, state.layerNameHash[cur])));
1784
+ _getMapLayerOptions() {
1785
+ return this.ids.reduce((prev, cur) => {
1786
+ if (this._validLayer(cur)) {
1787
+ prev.push(this._getItem(cur, "layer"));
1788
+ }
1789
+ else if (this._validTable(cur)) {
1790
+ prev.push(this._getItem(cur, "table"));
1780
1791
  }
1781
1792
  return prev;
1782
1793
  }, []);
1783
1794
  }
1784
1795
  /**
1785
- * Store the layer name based on the user selection
1786
- */
1787
- _setSelectedLayer(id) {
1788
- this.selectedLayerName = state.layerNameHash[id];
1789
- this.selectedLayerIds = [id];
1790
- this.layerSelectionChange.emit(this.selectedLayerIds);
1791
- }
1792
- /**
1793
- * Hydrate a select component with the ids of the layers in the map
1796
+ * Get the appropriate type of dom node for the current layer or table id
1794
1797
  *
1795
- * @returns Array of select options for the ids of the layers
1798
+ * @returns A dom node with the name of the layer or table
1796
1799
  */
1797
- _addSelectMapLayersOptions() {
1798
- return this.layerIds.reduce((prev, cur) => {
1799
- if (state.managedLayers.indexOf(state.layerNameHash[cur]) < 0 && (this.enabledLayerIds.length > 0 ? this.enabledLayerIds.indexOf(cur) > -1 : true)) {
1800
- prev.push((h("calcite-option", { label: state.layerNameHash[cur], value: cur })));
1801
- }
1802
- return prev;
1803
- }, []);
1800
+ _getItem(id, itemType) {
1801
+ const name = itemType === "layer" ? state.layerNameHash[id] : state.tableNameHash[id];
1802
+ return this.type === "combobox" ? (h("calcite-combobox-item", { textLabel: name, value: id })) :
1803
+ this.type === "select" ? (h("calcite-option", { label: name, value: id })) :
1804
+ (h("calcite-dropdown-item", { onClick: () => void this._setSelectedLayer(id, itemType) }, name));
1804
1805
  }
1805
1806
  /**
1806
- * Hydrate a combobox component with the ids of the layers in the map
1807
- *
1808
- * @returns Array of ComboBox items for the ids of the layers
1807
+ * Store the layer name based on the user selection
1809
1808
  */
1810
- _addComboboxMapLayersOptions() {
1811
- return this.layerIds.reduce((prev, cur) => {
1812
- if (state.managedLayers.indexOf(state.layerNameHash[cur]) < 0 && (this.enabledLayerIds.length > 0 ? this.enabledLayerIds.indexOf(cur) > -1 : true)) {
1813
- prev.push((h("calcite-combobox-item", { textLabel: state.layerNameHash[cur], value: cur })));
1814
- }
1815
- return prev;
1816
- }, []);
1809
+ _setSelectedLayer(id, type) {
1810
+ this.selectedName = type === "layer" ? state.layerNameHash[id] : state.tableNameHash[id];
1811
+ this.selectedIds = [id];
1812
+ this.layerSelectionChange.emit(this.selectedIds);
1817
1813
  }
1818
1814
  /**
1819
1815
  * Fetch the ids of the layers from the map
@@ -1823,8 +1819,12 @@ const MapLayerPicker = class {
1823
1819
  async _setLayers() {
1824
1820
  if (this.mapView) {
1825
1821
  const mapLayerIds = await getMapLayerIds(this.mapView);
1826
- 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; });
1827
- await this._initLayerHashState();
1822
+ const mapTableIds = this.showTables ? await getMapTableIds(this.mapView) : [];
1823
+ this.ids = [
1824
+ ...mapLayerIds.filter(n => { var _a; return ((_a = this.enabledLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledLayerIds.indexOf(n) > -1 : true; }),
1825
+ ...mapTableIds.filter(n => { var _a; return ((_a = this.enabledTableIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledTableIds.indexOf(n) > -1 : true; }),
1826
+ ];
1827
+ await this._initStateHash();
1828
1828
  }
1829
1829
  }
1830
1830
  /**
@@ -1832,11 +1832,33 @@ const MapLayerPicker = class {
1832
1832
  *
1833
1833
  * @returns Promise when the operation has completed
1834
1834
  */
1835
- async _initLayerHashState() {
1835
+ async _initStateHash() {
1836
1836
  if (this.mapView) {
1837
1837
  state.layerNameHash = await getMapLayerHash(this.mapView);
1838
+ state.tableNameHash = this.showTables ? await getMapTableHash(this.mapView) : {};
1838
1839
  }
1839
1840
  }
1841
+ /**
1842
+ * Evaluate if the id exists in the current hash and verify if it should be excluded
1843
+ *
1844
+ * @returns boolean when true the layer will be used in the current layer picker type
1845
+ */
1846
+ _validLayer(id) {
1847
+ const name = state.layerNameHash[id];
1848
+ return name && state.managedLayers.indexOf(name) < 0 && (this.enabledLayerIds.length > 0 ?
1849
+ this.enabledLayerIds.indexOf(id) > -1 : name);
1850
+ }
1851
+ /**
1852
+ * Evaluate if the id exists in the current hash and verify if it should be excluded
1853
+ *
1854
+ * @returns boolean when true the table will be used in the current layer picker type
1855
+ */
1856
+ _validTable(id) {
1857
+ const name = state.tableNameHash[id];
1858
+ const validName = name && this.showTables;
1859
+ return validName ? state.managedTables.indexOf(name) < 0 &&
1860
+ (this.enabledTableIds.length > 0 ? this.enabledTableIds.indexOf(id) > -1 : true) : validName;
1861
+ }
1840
1862
  /**
1841
1863
  * Fetch the ids of the layers from the map
1842
1864
  *
@@ -1845,8 +1867,8 @@ const MapLayerPicker = class {
1845
1867
  _layerSelectionChange() {
1846
1868
  const ids = Array.isArray(this._layerElement.value) ? this._layerElement.value : [this._layerElement.value];
1847
1869
  if (JSON.stringify(ids) !== JSON.stringify([""])) {
1848
- this.selectedLayerIds = ids;
1849
- this.layerSelectionChange.emit(this.selectedLayerIds);
1870
+ this.selectedIds = ids;
1871
+ this.layerSelectionChange.emit(this.selectedIds);
1850
1872
  }
1851
1873
  }
1852
1874
  get el() { return getElement(this); }
@@ -14,11 +14,11 @@ import { c as createObserver } from './observers-76deadbc.js';
14
14
  import { C as CSS_UTILITY } from './resources-ee3b03a3.js';
15
15
  import { u as updateMessages, c as connectMessages, d as disconnectMessages, s as setUpMessages } from './t9n-ece1047e.js';
16
16
  import { l as loadModules } from './loadModules-cd3569de.js';
17
- import { g as goToSelection, h as highlightFeatures, a as queryObjectIds, b as getQueryGeoms, c as getMapLayerView, d as queryFeaturesByGeometry, e as getIdSets, f as highlightAllFeatures } from './mapViewUtils-a787c6a8.js';
17
+ import { g as goToSelection, h as highlightFeatures, a as queryObjectIds, b as getQueryGeoms, c as getFeatureLayerView, d as queryFeaturesByGeometry, e as getIdSets, f as highlightAllFeatures } from './mapViewUtils-55ea1e10.js';
18
18
  import { c as EWorkflowType, e as ESelectionMode, f as EDrawMode } from './interfaces-bf20e69c.js';
19
- import { s as state } from './publicNotificationStore-c36d95bf.js';
19
+ import { s as state } from './publicNotificationStore-6ef555f3.js';
20
20
  import { a as getComponentClosestLanguage, g as getLocaleComponentStrings } from './locale-54cac39a.js';
21
- import { d as downloadCSV, a as downloadPDF } from './downloadUtils-1092cb0f.js';
21
+ import { d as downloadCSV, a as downloadPDF } from './downloadUtils-3b5f85d9.js';
22
22
  import './guid-1fbbc894.js';
23
23
  import './browser-f8ca09b7.js';
24
24
  import './key-d6bc268b.js';
@@ -534,7 +534,7 @@ const MapSelectTools = class {
534
534
  */
535
535
  _getUseLayerFeaturesOptions() {
536
536
  const useLayerFeaturesClass = this._useLayerFeaturesEnabled ? "div-visible" : "div-not-visible";
537
- return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), h("div", { class: useLayerFeaturesClass + " padding-top-1" }, h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedLayerIds: this.layerViews.map(l => l.layer.id) }))));
537
+ return (h("div", null, h("div", { class: "padding-top-1 display-flex" }, h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), h("div", { class: useLayerFeaturesClass + " padding-top-1" }, h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedIds: this.layerViews.map(l => l.layer.id) }))));
538
538
  }
539
539
  /**
540
540
  * Renders the number of selected features
@@ -563,7 +563,7 @@ const MapSelectTools = class {
563
563
  * @protected
564
564
  */
565
565
  _getMapLayerPicker() {
566
- return (h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, h("map-layer-picker", { enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => this._inputLayerSelectionChange(evt), selectedLayerIds: this.selectLayerView ? [this.selectLayerView.layer.id] : this.selectionSet ? [this.selectionSet.layerView.layer.id] : [] }))));
566
+ return (h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, h("map-layer-picker", { enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => this._inputLayerSelectionChange(evt), selectedIds: this.selectLayerView ? [this.selectLayerView.layer.id] : this.selectionSet ? [this.selectionSet.layerView.layer.id] : [] }))));
567
567
  }
568
568
  //--------------------------------------------------------------------------
569
569
  //
@@ -996,7 +996,7 @@ const MapSelectTools = class {
996
996
  async _layerSelectionChange(evt) {
997
997
  if (Array.isArray(evt.detail) && evt.detail.length > 0) {
998
998
  const layerPromises = evt.detail.map(id => {
999
- return getMapLayerView(this.mapView, id);
999
+ return getFeatureLayerView(this.mapView, id);
1000
1000
  });
1001
1001
  return Promise.all(layerPromises).then((layerViews) => {
1002
1002
  this.layerViews = layerViews;
@@ -1024,7 +1024,7 @@ const MapSelectTools = class {
1024
1024
  var _a;
1025
1025
  const id = ((_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.length) > 0 ? evt.detail[0] : "";
1026
1026
  if (!this.selectLayerView || id !== this.selectLayerView.layer.id) {
1027
- this.selectLayerView = await getMapLayerView(this.mapView, id);
1027
+ this.selectLayerView = await getFeatureLayerView(this.mapView, id);
1028
1028
  this._updateLabel();
1029
1029
  this._bufferGeometry ? await this._selectFeatures([this._bufferGeometry]) :
1030
1030
  await this._highlightWithOIDsOrGeoms();
@@ -1510,7 +1510,7 @@ const RefineSelection = class {
1510
1510
  render() {
1511
1511
  var _a, _b;
1512
1512
  const layerPickerClass = this._enabledLayerIds.length > 1 ? "display-block" : "display-none";
1513
- return (h(Host, null, h("div", { class: layerPickerClass + " padding-top-sides-1" }, h("div", { class: "display-flex" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, h("div", { class: "display-flex" }, this._translations.inputLayer, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), h("map-layer-picker", { enabledLayerIds: this._enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, ref: (el) => { this._layerPicker = el; }, selectedLayerIds: [this._refineLayer.layer.id] })), h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), h("div", { class: "padding-1" }, h("div", { class: "padding-bottom-1" }, h("calcite-segmented-control", { class: "w-100" }, h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.ADD), value: ESelectionMode.ADD }, h("span", { class: "font-weight-500" }, this._translations.add)), h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.REMOVE), value: ESelectionMode.REMOVE }, h("span", { class: "font-weight-500" }, this._translations.remove)))), h("div", null, h("map-draw-tools", { active: true, drawMode: EDrawMode.REFINE, mapView: this.mapView, onDrawRedo: () => this._redo(), onDrawUndo: () => this._undo(), onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, redoEnabled: ((_a = this._refineSelectionSet) === null || _a === void 0 ? void 0 : _a.redoStack.length) > 0, ref: (el) => { this._drawTools = el; }, undoEnabled: ((_b = this._refineSelectionSet) === null || _b === void 0 ? void 0 : _b.undoStack.length) > 0 })), h("br", null), (h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1513
+ return (h(Host, null, h("div", { class: layerPickerClass + " padding-top-sides-1" }, h("div", { class: "display-flex" }, h("calcite-label", { class: "font-bold width-full label-margin-0" }, h("div", { class: "display-flex" }, this._translations.inputLayer, h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), h("map-layer-picker", { enabledLayerIds: this._enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, ref: (el) => { this._layerPicker = el; }, selectedIds: [this._refineLayer.layer.id] })), h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), h("div", { class: "padding-1" }, h("div", { class: "padding-bottom-1" }, h("calcite-segmented-control", { class: "w-100" }, h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.ADD), value: ESelectionMode.ADD }, h("span", { class: "font-weight-500" }, this._translations.add)), h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(ESelectionMode.REMOVE), value: ESelectionMode.REMOVE }, h("span", { class: "font-weight-500" }, this._translations.remove)))), h("div", null, h("map-draw-tools", { active: true, drawMode: EDrawMode.REFINE, mapView: this.mapView, onDrawRedo: () => this._redo(), onDrawUndo: () => this._undo(), onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, redoEnabled: ((_a = this._refineSelectionSet) === null || _a === void 0 ? void 0 : _a.redoStack.length) > 0, ref: (el) => { this._drawTools = el; }, undoEnabled: ((_b = this._refineSelectionSet) === null || _b === void 0 ? void 0 : _b.undoStack.length) > 0 })), h("br", null), (h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1514
1514
  }
1515
1515
  //--------------------------------------------------------------------------
1516
1516
  //
@@ -1604,7 +1604,7 @@ const RefineSelection = class {
1604
1604
  refineInfo[id] = {
1605
1605
  addIds: [],
1606
1606
  removeIds: [],
1607
- layerView: await getMapLayerView(this.mapView, id)
1607
+ layerView: await getFeatureLayerView(this.mapView, id)
1608
1608
  };
1609
1609
  if (selectionSet) {
1610
1610
  selectionSet.refineInfos = Object.assign(Object.assign({}, selectionSet.refineInfos), refineInfo);
@@ -5,9 +5,9 @@
5
5
  */
6
6
  import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-d298aca9.js';
7
7
  import { g as getLocaleComponentStrings } from './locale-54cac39a.js';
8
- import { q as queryFeaturesByID, c as getMapLayerView, i as getMapLayerIds, j as queryAllIds } from './mapViewUtils-a787c6a8.js';
8
+ import { q as queryFeaturesByID, i as getLayer, j as getMapLayerIds, k as queryAllIds } from './mapViewUtils-55ea1e10.js';
9
9
  import { l as loadModules } from './loadModules-cd3569de.js';
10
- import { d as downloadCSV } from './downloadUtils-1092cb0f.js';
10
+ import { d as downloadCSV } from './downloadUtils-3b5f85d9.js';
11
11
  import './_commonjsHelpers-d5f9d613.js';
12
12
  import './interfaces-bf20e69c.js';
13
13
 
@@ -16,7 +16,7 @@ const cardManagerCss = ":host{display:block !important}.display-flex{display:fle
16
16
  const CardManager = class {
17
17
  constructor(hostRef) {
18
18
  registerInstance(this, hostRef);
19
- this.layerView = undefined;
19
+ this.layer = undefined;
20
20
  this.mapView = undefined;
21
21
  this._cardLoading = false;
22
22
  this._graphics = undefined;
@@ -44,7 +44,7 @@ const CardManager = class {
44
44
  const ids = evt.detail;
45
45
  this._cardLoading = true;
46
46
  // only query if we have some ids...query with no ids will result in all features being returned
47
- const featureSet = ids.length > 0 ? await queryFeaturesByID(ids, this.layerView.layer, [], false, this.mapView.spatialReference) : [];
47
+ const featureSet = ids.length > 0 ? await queryFeaturesByID(ids, this.layer, [], false, this.mapView.spatialReference) : [];
48
48
  this._graphics = featureSet;
49
49
  this._cardLoading = false;
50
50
  }
@@ -53,7 +53,7 @@ const CardManager = class {
53
53
  */
54
54
  async layerSelectionChange(evt) {
55
55
  const id = evt.detail[0];
56
- this.layerView = await getMapLayerView(this.mapView, id);
56
+ this.layer = await getLayer(this.mapView, id);
57
57
  }
58
58
  //--------------------------------------------------------------------------
59
59
  //
@@ -119,7 +119,7 @@ const LayerTable = class {
119
119
  this.mapView = undefined;
120
120
  this._alertOpen = false;
121
121
  this._fetchingData = false;
122
- this._layerView = undefined;
122
+ this._layer = undefined;
123
123
  this._selectedIndexes = [];
124
124
  this._showOnlySelected = false;
125
125
  this._translations = undefined;
@@ -135,7 +135,7 @@ const LayerTable = class {
135
135
  async mapViewWatchHandler() {
136
136
  this._fetchingData = true;
137
137
  const mapLayerIds = await getMapLayerIds(this.mapView);
138
- this._layerView = await getMapLayerView(this.mapView, mapLayerIds[0]);
138
+ this._layer = await getLayer(this.mapView, mapLayerIds[0]);
139
139
  this._resetTable();
140
140
  this.reactiveUtils.on(() => this.mapView, "click", (event) => {
141
141
  void this._mapClicked(event);
@@ -145,7 +145,7 @@ const LayerTable = class {
145
145
  /**
146
146
  * watch for changes in layer view and verify if it has editing enabled
147
147
  */
148
- async _layerViewWatchHandler() {
148
+ async _layerWatchHandler() {
149
149
  this._fetchingData = true;
150
150
  this._resetTable();
151
151
  this._fetchingData = false;
@@ -182,7 +182,7 @@ const LayerTable = class {
182
182
  * Renders the component.
183
183
  */
184
184
  render() {
185
- if (!this._layerView) {
185
+ if (!this._layer) {
186
186
  return null;
187
187
  }
188
188
  const tableNodeClass = this._fetchingData ? "display-none" : "";
@@ -217,8 +217,8 @@ const LayerTable = class {
217
217
  */
218
218
  _getTableControlRow(slot) {
219
219
  const featuresSelected = this._selectedIndexes.length > 0;
220
- return (h("div", { class: "display-flex table-border height-51", slot: slot }, h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, h("div", { class: "border-end" }, h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), placeholderIcon: "layers", scale: "l", type: "dropdown" })), h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "magnifying-glass", id: "magnifying-glass", label: this._translations.zoom, onClick: () => this._zoom(), text: this._translations.zoom, textEnabled: true }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "magnifying-glass" }, h("span", null, this._translations.zoom)), h("calcite-action", { appearance: "solid", icon: "filter", id: "filter", onClick: () => this._filter(), text: this._translations.filters, "text-enabled": "true", textEnabled: true }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "filter" }, h("span", null, this._translations.filters)), h("calcite-action", { appearance: "solid", disabled: !featuresSelected, id: "trash", onClick: () => this._delete(), text: "" }, h("calcite-button", { appearance: "transparent", iconStart: "trash", kind: "danger" }, this._translations.delete)), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "trash" }, h("span", null, this._translations.delete))), h("calcite-dropdown", null, h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), h("calcite-dropdown-group", { "selection-mode": "none" }, h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._showSelected() }, this._showOnlySelected ? this._translations.showAll :
221
- this._translations.showSelected), h("calcite-dropdown-item", { iconStart: "erase", onClick: () => this._clearSelection() }, this._translations.clearSelection), h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._switchSelected() }, this._translations.switchSelected), h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
220
+ return (h("div", { class: "display-flex table-border height-51", slot: slot }, h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, h("div", { class: "border-end" }, h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), placeholderIcon: "layers", scale: "l", type: "dropdown" })), h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "magnifying-glass", id: "magnifying-glass", label: this._translations.zoom, onClick: () => this._zoom(), text: this._translations.zoom, textEnabled: true }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "magnifying-glass" }, h("span", null, this._translations.zoom)), h("calcite-action", { appearance: "solid", icon: "filter", id: "filter", onClick: () => this._filter(), text: this._translations.filters, "text-enabled": "true", textEnabled: true }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "filter" }, h("span", null, this._translations.filters)), h("calcite-action", { appearance: "solid", disabled: !featuresSelected, id: "trash", onClick: () => this._delete(), text: "" }, h("calcite-button", { appearance: "transparent", iconStart: "trash", kind: "danger" }, this._translations.delete)), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "trash" }, h("span", null, this._translations.delete)), h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "erase", id: "erase", onClick: () => this._clearSelection(), text: this._translations.clearSelection, "text-enabled": "true", textEnabled: true }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "erase" }, h("span", null, this._translations.clearSelection))), h("calcite-dropdown", null, h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), h("calcite-dropdown-group", { "selection-mode": "none" }, h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
221
+ this._translations.showSelected), h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._switchSelected() }, this._translations.switchSelected), h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
222
222
  }
223
223
  /**
224
224
  * Initialize the FeatureTable
@@ -226,10 +226,9 @@ const LayerTable = class {
226
226
  * @returns void
227
227
  */
228
228
  _getTable(node) {
229
- var _a;
230
- if ((_a = this._layerView) === null || _a === void 0 ? void 0 : _a.layer) {
229
+ if (this._layer) {
231
230
  this._table = new this.FeatureTable({
232
- layer: this._layerView.layer,
231
+ layer: this._layer,
233
232
  view: this.mapView,
234
233
  //editingEnabled: this._editEnabled,
235
234
  highlightOnRowSelectEnabled: true,
@@ -242,6 +241,14 @@ const LayerTable = class {
242
241
  });
243
242
  this._table.highlightIds.on("change", () => {
244
243
  this._selectedIndexes = this._table.highlightIds.toArray();
244
+ if (this._showOnlySelected) {
245
+ if (this._selectedIndexes.length > 0) {
246
+ this._table.filterBySelection();
247
+ }
248
+ else {
249
+ this._toggleShowSelected();
250
+ }
251
+ }
245
252
  this.featureSelectionChange.emit(this._selectedIndexes);
246
253
  });
247
254
  }
@@ -252,10 +259,11 @@ const LayerTable = class {
252
259
  * @returns void
253
260
  */
254
261
  _resetTable() {
255
- var _a;
256
- if (((_a = this._layerView) === null || _a === void 0 ? void 0 : _a.layer) && this._table) {
257
- this._table.layer = this._layerView.layer;
258
- this._editEnabled = this._layerView.layer.editingEnabled;
262
+ if (this._layer && this._table) {
263
+ this._clearSelection();
264
+ this.featureSelectionChange.emit(this._selectedIndexes);
265
+ this._table.layer = this._layer;
266
+ this._editEnabled = this._layer.editingEnabled;
259
267
  this._table.view = this.mapView;
260
268
  this._table.editingEnabled = this._editEnabled;
261
269
  this._table.clearSelectionFilter();
@@ -269,7 +277,7 @@ const LayerTable = class {
269
277
  */
270
278
  async _mapClicked(evt) {
271
279
  const opts = {
272
- include: this._layerView.layer
280
+ include: this._layer
273
281
  };
274
282
  const hitTestResult = await this.mapView.hitTest(evt.screenPoint, opts);
275
283
  if (hitTestResult.results.length > 0) {
@@ -314,7 +322,7 @@ const LayerTable = class {
314
322
  *
315
323
  * @returns void
316
324
  */
317
- _showSelected() {
325
+ _toggleShowSelected() {
318
326
  this._showOnlySelected = !this._showOnlySelected;
319
327
  if (this._showOnlySelected) {
320
328
  this._table.filterBySelection();
@@ -359,10 +367,10 @@ const LayerTable = class {
359
367
  async _exportToCSV() {
360
368
  const exportInfos = {};
361
369
  const ids = this._table.highlightIds.toArray();
362
- exportInfos[this._layerView.layer.id] = {
370
+ exportInfos[this._layer.id] = {
363
371
  selectionSetNames: [],
364
372
  ids,
365
- layerView: this._layerView
373
+ layer: this._layer
366
374
  };
367
375
  void downloadCSV(exportInfos, false, // formatUsingLayerPopup
368
376
  true);
@@ -397,7 +405,7 @@ const LayerTable = class {
397
405
  this._alertMessage = this._translations.confirm;
398
406
  this._alertKind = "danger";
399
407
  this._alertActionFunction = () => {
400
- void this._layerView.layer.applyEdits({
408
+ void this._layer.applyEdits({
401
409
  deleteFeatures: this._table.highlightIds.toArray()
402
410
  });
403
411
  this._alertOpen = false;
@@ -428,15 +436,14 @@ const LayerTable = class {
428
436
  * @returns a promise that will resolve when the operation is complete
429
437
  */
430
438
  async _layerSelectionChanged(evt) {
431
- var _a;
432
439
  const id = evt.detail[0];
433
- if (id !== ((_a = this._layerView) === null || _a === void 0 ? void 0 : _a.layer.id) || this._allIds.length === 0) {
440
+ if (id !== this._layer.id || this._allIds.length === 0) {
434
441
  this._fetchingData = true;
435
442
  this._table.highlightIds.removeAll();
436
- this._layerView = await getMapLayerView(this.mapView, id);
437
- this._allIds = await queryAllIds(this._layerView.layer);
443
+ this._layer = await getLayer(this.mapView, id);
444
+ this._allIds = await queryAllIds(this._layer);
438
445
  this._selectedIndexes = [];
439
- this._table.layer = this._layerView.layer;
446
+ this._table.layer = this._layer;
440
447
  this._table.render();
441
448
  this._fetchingData = false;
442
449
  }
@@ -454,7 +461,7 @@ const LayerTable = class {
454
461
  get el() { return getElement(this); }
455
462
  static get watchers() { return {
456
463
  "mapView": ["mapViewWatchHandler"],
457
- "_layerView": ["_layerViewWatchHandler"]
464
+ "_layer": ["_layerWatchHandler"]
458
465
  }; }
459
466
  };
460
467
  LayerTable.style = layerTableCss;
@@ -8,7 +8,7 @@ import { g as getLocaleComponentStrings } from './locale-54cac39a.js';
8
8
  import { E as ELayoutMode } from './interfaces-bf20e69c.js';
9
9
  import './_commonjsHelpers-d5f9d613.js';
10
10
 
11
- const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom:0px}.padding-1{padding:1rem}.padding-1-2{padding:0.5rem}.header-title{display:flex;float:left}.header-controls-label{display:flex;float:right}.header-controls{height:50px}.img-background{background-repeat:no-repeat;background-size:100% 100%;width:38px;height:26px}.grid-background{background-image:url('../../assets/data/images/grid.png')}.vertical-background{background-image:url('../../assets/data/images/horizontal.png')}.horizontal-background{background-image:url('../../assets/data/images/vertical.png')}.action-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;align-content:center;justify-content:center}.background-transparent{background-color:transparent}.display-flex{display:flex}.header-text{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);padding-inline:0.75rem;padding-block:0.875rem;line-height:1.25rem}.width-full{width:100%}.width-1-2{position:relative;width:50%}.width-1-3{position:relative;width:33.33%}.width-2-3{position:relative;width:66.66%}.width-0{width:0}.height-full{height:100%}.height-1-2{position:relative;height:50%}.height-0{height:0}.toggle-node{width:51px;height:51px}.overflow-hidden{overflow:hidden}.flex-column{flex-direction:column}.border{border:1px solid var(--calcite-ui-border-3)}.position-relative{position:relative}.height-50{height:50%}.adjusted-height-50{height:calc(50% - 0.5rem)}.adjusted-height-100{height:calc(100% - 1rem)}.icon-color{--calcite-ui-icon-color:var(--calcite-ui-brand)}.icon{cursor:pointer}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-ui-text-2)}.display-none{display:none}";
11
+ const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom:0px}.padding-1{padding:1rem}.padding-1-2{padding:0.5rem}.header-title{display:flex;float:left}.header-controls-label{display:flex;float:right}.header-controls{height:50px}.img-background{background-repeat:no-repeat;background-size:100% 100%;width:38px;height:26px}.grid-background{background-image:url('../../assets/data/images/grid.png')}.horizontal-background{background-image:url('../../assets/data/images/horizontal.png')}.vertical-background{background-image:url('../../assets/data/images/vertical.png')}.action-center{-webkit-box-align:center;-webkit-align-items:center;-ms-grid-row-align:center;align-items:center;align-content:center;justify-content:center}.background-transparent{background-color:transparent}.display-flex{display:flex}.header-text{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);padding-inline:0.75rem;padding-block:0.875rem;line-height:1.25rem}.width-full{width:100%}.width-1-2{position:relative;width:50%}.width-1-3{position:relative;width:33.33%}.width-2-3{position:relative;width:66.66%}.width-0{width:0}.height-full{height:100%}.height-1-2{position:relative;height:50%}.height-0{height:0}.toggle-node{width:51px;height:51px}.overflow-hidden{overflow:hidden}.flex-column{flex-direction:column}.border{border:1px solid var(--calcite-ui-border-3)}.position-relative{position:relative}.height-50{height:50%}.adjusted-height-50{height:calc(50% - 0.5rem)}.adjusted-height-100{height:calc(100% - 1rem)}.icon-color{--calcite-ui-icon-color:var(--calcite-ui-brand)}.icon{cursor:pointer}.tooltip-message{padding:5px 8px;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-ui-text-2)}.display-none{display:none}";
12
12
 
13
13
  const CrowdsourceManager = class {
14
14
  constructor(hostRef) {
@@ -63,7 +63,7 @@ const CrowdsourceManager = class {
63
63
  * Renders the component.
64
64
  */
65
65
  render() {
66
- return (h(Host, null, h("calcite-shell", null, h("calcite-panel", { class: "width-full height-full", heading: this._translations.header }, h("div", { class: "display-flex", slot: "header-actions-end" }, h("div", { class: "display-flex action-center" }, h("calcite-icon", { class: "icon icon-color", icon: "information", id: "app-information-icon", scale: "s" }), h("calcite-popover", { closable: true, label: "", referenceElement: "app-information-icon" }, h("span", { class: "tooltip-message" }, this._translations.appInfo))), h("div", { class: "header-text" }, this._translations.layout), this._getAction("grid-background", ELayoutMode.GRID, this._translations.grid), this._getAction("horizontal-background", ELayoutMode.VERTICAL, this._translations.vertical), this._getAction("vertical-background", ELayoutMode.HORIZONTAL, this._translations.horizontal)), this._getBody(this._layoutMode, this._panelOpen)))));
66
+ return (h(Host, null, h("calcite-shell", null, h("calcite-panel", { class: "width-full height-full", heading: this._translations.header }, h("div", { class: "display-flex", slot: "header-actions-end" }, h("div", { class: "display-flex action-center" }, h("calcite-icon", { class: "icon icon-color", icon: "information", id: "app-information-icon", scale: "s" }), h("calcite-popover", { closable: true, label: "", referenceElement: "app-information-icon" }, h("span", { class: "tooltip-message" }, this._translations.appInfo))), h("div", { class: "header-text" }, this._translations.layout), this._getAction("grid-background", ELayoutMode.GRID, this._translations.grid), this._getAction("vertical-background", ELayoutMode.VERTICAL, this._translations.vertical), this._getAction("horizontal-background", ELayoutMode.HORIZONTAL, this._translations.horizontal)), this._getBody(this._layoutMode, this._panelOpen)))));
67
67
  }
68
68
  //--------------------------------------------------------------------------
69
69
  //
@@ -6,7 +6,7 @@
6
6
  import { c as createCommonjsModule, g as getDefaultExportFromCjs } from './_commonjsHelpers-d5f9d613.js';
7
7
  import { a as getAssetPath } from './index-d298aca9.js';
8
8
  import { l as loadModules } from './loadModules-cd3569de.js';
9
- import { q as queryFeaturesByID } from './mapViewUtils-a787c6a8.js';
9
+ import { q as queryFeaturesByID } from './mapViewUtils-55ea1e10.js';
10
10
 
11
11
  /** @license
12
12
  * Copyright 2022 Esri
@@ -1505,7 +1505,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1505
1505
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1506
1506
  * ====================================================================
1507
1507
  */
1508
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-08a48fdd.js')).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1508
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-bb9196f6.js')).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1509
1509
  /** ====================================================================
1510
1510
  * @license
1511
1511
  * jsPDF XMP metadata plugin
@@ -2708,8 +2708,9 @@ function _getSelectionSetNames(exportInfos, id = /.+/) {
2708
2708
  async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
2709
2709
  const labelRequests = [];
2710
2710
  Object.keys(exportInfos).forEach(k => {
2711
+ var _a;
2711
2712
  const labelInfo = exportInfos[k];
2712
- labelRequests.push(_prepareLabels(labelInfo.layerView.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2713
+ labelRequests.push(_prepareLabels(((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2713
2714
  if (isCSVExport) {
2714
2715
  // add the layer id as a temp value separator that we can use to split values for CSV export
2715
2716
  labelRequests.push(Promise.resolve([[k]]));