@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,7 +20,7 @@ const loadable = require('./loadable-6571b6b9.js');
20
20
  const locale$1 = require('./locale-83870af6.js');
21
21
  const math = require('./math-0eb2ec5c.js');
22
22
  const interfaces = require('./interfaces-ad03ec39.js');
23
- const publicNotificationStore = require('./publicNotificationStore-cd1a32c3.js');
23
+ const publicNotificationStore = require('./publicNotificationStore-ec1bdd2d.js');
24
24
  require('./_commonjsHelpers-384729db.js');
25
25
  require('./resources-3a47be9f.js');
26
26
  require('./browser-e514d838.js');
@@ -24,8 +24,8 @@ const utils = require('./utils-46e2a6ec.js');
24
24
  const debounce = require('./debounce-69c3bada.js');
25
25
  const conditionalSlot = require('./conditionalSlot-981d22ef.js');
26
26
  const key = require('./key-2522c20b.js');
27
- const mapViewUtils = require('./mapViewUtils-efc49df7.js');
28
- const publicNotificationStore = require('./publicNotificationStore-cd1a32c3.js');
27
+ const mapViewUtils = require('./mapViewUtils-77a1ff88.js');
28
+ const publicNotificationStore = require('./publicNotificationStore-ec1bdd2d.js');
29
29
  require('./resources-3a47be9f.js');
30
30
  require('./browser-e514d838.js');
31
31
  require('./interfaces-ad03ec39.js');
@@ -1683,13 +1683,15 @@ const MapLayerPicker = class {
1683
1683
  this.layerSelectionChange = index.createEvent(this, "layerSelectionChange", 7);
1684
1684
  this.appearance = "transparent";
1685
1685
  this.enabledLayerIds = [];
1686
+ this.enabledTableIds = [];
1686
1687
  this.mapView = undefined;
1687
1688
  this.placeholderIcon = "";
1688
- this.selectedLayerIds = [];
1689
+ this.selectedIds = [];
1689
1690
  this.scale = "m";
1691
+ this.showTables = true;
1690
1692
  this.type = "select";
1691
- this.layerIds = [];
1692
- this.selectedLayerName = "";
1693
+ this.ids = [];
1694
+ this.selectedName = "";
1693
1695
  }
1694
1696
  //--------------------------------------------------------------------------
1695
1697
  //
@@ -1702,7 +1704,11 @@ const MapLayerPicker = class {
1702
1704
  */
1703
1705
  async mapViewWatchHandler() {
1704
1706
  await this._setLayers();
1705
- this._setSelectedLayer(this.layerIds[0]);
1707
+ const hasLayers = Object.keys(publicNotificationStore.state.layerNameHash).length > 0;
1708
+ const hasTables = Object.keys(publicNotificationStore.state.tableNameHash).length > 0 && this.showTables;
1709
+ if (hasLayers || hasTables) {
1710
+ this._setSelectedLayer(this.ids[0], hasLayers ? "layer" : "table");
1711
+ }
1706
1712
  }
1707
1713
  //--------------------------------------------------------------------------
1708
1714
  //
@@ -1714,8 +1720,8 @@ const MapLayerPicker = class {
1714
1720
  */
1715
1721
  async componentWillLoad() {
1716
1722
  await this._setLayers();
1717
- if (this.layerIds.length > 0 || this.selectedLayerIds.length === 1) {
1718
- this.layerSelectionChange.emit(this.selectedLayerIds.length === 1 ? [this.selectedLayerIds[0]] : [this.layerIds[0]]);
1723
+ if (this.ids.length > 0 || this.selectedIds.length === 1) {
1724
+ this.layerSelectionChange.emit(this.selectedIds.length === 1 ? [this.selectedIds[0]] : [this.ids[0]]);
1719
1725
  }
1720
1726
  }
1721
1727
  /**
@@ -1729,13 +1735,15 @@ const MapLayerPicker = class {
1729
1735
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
1730
1736
  */
1731
1737
  async componentDidLoad() {
1732
- if (this.layerIds.length > 0 || this.selectedLayerIds.length === 1) {
1733
- const id = this.selectedLayerIds.length === 1 ? this.selectedLayerIds[0] : this.layerIds[0];
1738
+ if (this.ids.length > 0 || this.selectedIds.length === 1) {
1739
+ const id = this.selectedIds.length === 1 ? this.selectedIds[0] : this.ids[0];
1734
1740
  if (this.type === "select") {
1735
1741
  this._layerElement.value = id;
1736
1742
  }
1737
1743
  else if (this.type === "dropdown") {
1738
- this.selectedLayerName = publicNotificationStore.state.layerNameHash[id];
1744
+ this.selectedName = Object.keys(publicNotificationStore.state.layerNameHash).indexOf(id) > -1 ?
1745
+ publicNotificationStore.state.layerNameHash[id] : Object.keys(publicNotificationStore.state.tableNameHash).indexOf(id) > -1 ?
1746
+ publicNotificationStore.state.tableNameHash[id] : "";
1739
1747
  }
1740
1748
  }
1741
1749
  }
@@ -1752,7 +1760,7 @@ const MapLayerPicker = class {
1752
1760
  * @returns Calcite Select component with the ids of the layers from the map
1753
1761
  */
1754
1762
  _getSelect() {
1755
- return (index.h("calcite-select", { label: "", onCalciteSelectChange: () => this._layerSelectionChange(), ref: (el) => { this._layerElement = el; }, scale: this.scale }, this._addSelectMapLayersOptions()));
1763
+ return (index.h("calcite-select", { label: "", onCalciteSelectChange: () => this._layerSelectionChange(), ref: (el) => { this._layerElement = el; }, scale: this.scale }, this._getMapLayerOptions()));
1756
1764
  }
1757
1765
  /**
1758
1766
  * Create a list of layer ids from the map
@@ -1762,7 +1770,7 @@ const MapLayerPicker = class {
1762
1770
  * @returns Calcite ComboBox component with the ids of the layers from the map
1763
1771
  */
1764
1772
  _getCombobox() {
1765
- return (index.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()));
1773
+ return (index.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()));
1766
1774
  }
1767
1775
  /**
1768
1776
  * Hydrate a dropdown component with items to display the layer names
@@ -1770,54 +1778,42 @@ const MapLayerPicker = class {
1770
1778
  * @returns Array of Dropdown items with layer names
1771
1779
  */
1772
1780
  _getDropdown() {
1773
- return (index.h("calcite-dropdown", { class: "layer-picker-dropdown" }, index.h("calcite-action", { slot: "trigger", text: "" }, index.h("calcite-button", { alignment: "icon-end-space-between", appearance: this.appearance, class: "max-width-350", iconEnd: "chevron-down", iconStart: "layers", kind: "neutral", width: "full" }, index.h("div", null, this.selectedLayerName))), index.h("calcite-dropdown-group", { "selection-mode": "single" }, this._getDropdownItems())));
1781
+ return (index.h("calcite-dropdown", { class: "layer-picker-dropdown" }, index.h("calcite-action", { slot: "trigger", text: "" }, index.h("calcite-button", { alignment: "icon-end-space-between", appearance: this.appearance, class: "max-width-350", iconEnd: "chevron-down", iconStart: "layers", kind: "neutral", width: "full" }, index.h("div", null, this.selectedName))), index.h("calcite-dropdown-group", { "selection-mode": "single" }, this._getMapLayerOptions())));
1774
1782
  }
1775
1783
  /**
1776
- * Hydrate a dropdown component with items to display the layer names
1784
+ * Get the appropriate type of dom nodes for each valid layer or table
1777
1785
  *
1778
- * @returns Array of Dropdown items with layer names
1786
+ * @returns Array of dom nodes with the names of the layers and optionally of the tables
1779
1787
  */
1780
- _getDropdownItems() {
1781
- return this.layerIds.reduce((prev, cur) => {
1782
- if (publicNotificationStore.state.managedLayers.indexOf(publicNotificationStore.state.layerNameHash[cur]) < 0 && (this.enabledLayerIds.length > 0 ? this.enabledLayerIds.indexOf(cur) > -1 : true)) {
1783
- prev.push((index.h("calcite-dropdown-item", { onClick: () => void this._setSelectedLayer(cur) }, publicNotificationStore.state.layerNameHash[cur])));
1788
+ _getMapLayerOptions() {
1789
+ return this.ids.reduce((prev, cur) => {
1790
+ if (this._validLayer(cur)) {
1791
+ prev.push(this._getItem(cur, "layer"));
1792
+ }
1793
+ else if (this._validTable(cur)) {
1794
+ prev.push(this._getItem(cur, "table"));
1784
1795
  }
1785
1796
  return prev;
1786
1797
  }, []);
1787
1798
  }
1788
1799
  /**
1789
- * Store the layer name based on the user selection
1790
- */
1791
- _setSelectedLayer(id) {
1792
- this.selectedLayerName = publicNotificationStore.state.layerNameHash[id];
1793
- this.selectedLayerIds = [id];
1794
- this.layerSelectionChange.emit(this.selectedLayerIds);
1795
- }
1796
- /**
1797
- * Hydrate a select component with the ids of the layers in the map
1800
+ * Get the appropriate type of dom node for the current layer or table id
1798
1801
  *
1799
- * @returns Array of select options for the ids of the layers
1802
+ * @returns A dom node with the name of the layer or table
1800
1803
  */
1801
- _addSelectMapLayersOptions() {
1802
- return this.layerIds.reduce((prev, cur) => {
1803
- if (publicNotificationStore.state.managedLayers.indexOf(publicNotificationStore.state.layerNameHash[cur]) < 0 && (this.enabledLayerIds.length > 0 ? this.enabledLayerIds.indexOf(cur) > -1 : true)) {
1804
- prev.push((index.h("calcite-option", { label: publicNotificationStore.state.layerNameHash[cur], value: cur })));
1805
- }
1806
- return prev;
1807
- }, []);
1804
+ _getItem(id, itemType) {
1805
+ const name = itemType === "layer" ? publicNotificationStore.state.layerNameHash[id] : publicNotificationStore.state.tableNameHash[id];
1806
+ return this.type === "combobox" ? (index.h("calcite-combobox-item", { textLabel: name, value: id })) :
1807
+ this.type === "select" ? (index.h("calcite-option", { label: name, value: id })) :
1808
+ (index.h("calcite-dropdown-item", { onClick: () => void this._setSelectedLayer(id, itemType) }, name));
1808
1809
  }
1809
1810
  /**
1810
- * Hydrate a combobox component with the ids of the layers in the map
1811
- *
1812
- * @returns Array of ComboBox items for the ids of the layers
1811
+ * Store the layer name based on the user selection
1813
1812
  */
1814
- _addComboboxMapLayersOptions() {
1815
- return this.layerIds.reduce((prev, cur) => {
1816
- if (publicNotificationStore.state.managedLayers.indexOf(publicNotificationStore.state.layerNameHash[cur]) < 0 && (this.enabledLayerIds.length > 0 ? this.enabledLayerIds.indexOf(cur) > -1 : true)) {
1817
- prev.push((index.h("calcite-combobox-item", { textLabel: publicNotificationStore.state.layerNameHash[cur], value: cur })));
1818
- }
1819
- return prev;
1820
- }, []);
1813
+ _setSelectedLayer(id, type) {
1814
+ this.selectedName = type === "layer" ? publicNotificationStore.state.layerNameHash[id] : publicNotificationStore.state.tableNameHash[id];
1815
+ this.selectedIds = [id];
1816
+ this.layerSelectionChange.emit(this.selectedIds);
1821
1817
  }
1822
1818
  /**
1823
1819
  * Fetch the ids of the layers from the map
@@ -1827,8 +1823,12 @@ const MapLayerPicker = class {
1827
1823
  async _setLayers() {
1828
1824
  if (this.mapView) {
1829
1825
  const mapLayerIds = await mapViewUtils.getMapLayerIds(this.mapView);
1830
- 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; });
1831
- await this._initLayerHashState();
1826
+ const mapTableIds = this.showTables ? await mapViewUtils.getMapTableIds(this.mapView) : [];
1827
+ this.ids = [
1828
+ ...mapLayerIds.filter(n => { var _a; return ((_a = this.enabledLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledLayerIds.indexOf(n) > -1 : true; }),
1829
+ ...mapTableIds.filter(n => { var _a; return ((_a = this.enabledTableIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledTableIds.indexOf(n) > -1 : true; }),
1830
+ ];
1831
+ await this._initStateHash();
1832
1832
  }
1833
1833
  }
1834
1834
  /**
@@ -1836,11 +1836,33 @@ const MapLayerPicker = class {
1836
1836
  *
1837
1837
  * @returns Promise when the operation has completed
1838
1838
  */
1839
- async _initLayerHashState() {
1839
+ async _initStateHash() {
1840
1840
  if (this.mapView) {
1841
1841
  publicNotificationStore.state.layerNameHash = await mapViewUtils.getMapLayerHash(this.mapView);
1842
+ publicNotificationStore.state.tableNameHash = this.showTables ? await mapViewUtils.getMapTableHash(this.mapView) : {};
1842
1843
  }
1843
1844
  }
1845
+ /**
1846
+ * Evaluate if the id exists in the current hash and verify if it should be excluded
1847
+ *
1848
+ * @returns boolean when true the layer will be used in the current layer picker type
1849
+ */
1850
+ _validLayer(id) {
1851
+ const name = publicNotificationStore.state.layerNameHash[id];
1852
+ return name && publicNotificationStore.state.managedLayers.indexOf(name) < 0 && (this.enabledLayerIds.length > 0 ?
1853
+ this.enabledLayerIds.indexOf(id) > -1 : name);
1854
+ }
1855
+ /**
1856
+ * Evaluate if the id exists in the current hash and verify if it should be excluded
1857
+ *
1858
+ * @returns boolean when true the table will be used in the current layer picker type
1859
+ */
1860
+ _validTable(id) {
1861
+ const name = publicNotificationStore.state.tableNameHash[id];
1862
+ const validName = name && this.showTables;
1863
+ return validName ? publicNotificationStore.state.managedTables.indexOf(name) < 0 &&
1864
+ (this.enabledTableIds.length > 0 ? this.enabledTableIds.indexOf(id) > -1 : true) : validName;
1865
+ }
1844
1866
  /**
1845
1867
  * Fetch the ids of the layers from the map
1846
1868
  *
@@ -1849,8 +1871,8 @@ const MapLayerPicker = class {
1849
1871
  _layerSelectionChange() {
1850
1872
  const ids = Array.isArray(this._layerElement.value) ? this._layerElement.value : [this._layerElement.value];
1851
1873
  if (JSON.stringify(ids) !== JSON.stringify([""])) {
1852
- this.selectedLayerIds = ids;
1853
- this.layerSelectionChange.emit(this.selectedLayerIds);
1874
+ this.selectedIds = ids;
1875
+ this.layerSelectionChange.emit(this.selectedIds);
1854
1876
  }
1855
1877
  }
1856
1878
  get el() { return index.getElement(this); }
@@ -18,11 +18,11 @@ const observers = require('./observers-5c9538b2.js');
18
18
  const resources = require('./resources-3a47be9f.js');
19
19
  const t9n = require('./t9n-f82f4304.js');
20
20
  const loadModules = require('./loadModules-ae7715f2.js');
21
- const mapViewUtils = require('./mapViewUtils-efc49df7.js');
21
+ const mapViewUtils = require('./mapViewUtils-77a1ff88.js');
22
22
  const interfaces = require('./interfaces-ad03ec39.js');
23
- const publicNotificationStore = require('./publicNotificationStore-cd1a32c3.js');
23
+ const publicNotificationStore = require('./publicNotificationStore-ec1bdd2d.js');
24
24
  const locale$1 = require('./locale-b113c6b2.js');
25
- const downloadUtils = require('./downloadUtils-6d4e269f.js');
25
+ const downloadUtils = require('./downloadUtils-4aadf4b0.js');
26
26
  require('./guid-100bd1be.js');
27
27
  require('./browser-e514d838.js');
28
28
  require('./key-2522c20b.js');
@@ -538,7 +538,7 @@ const MapSelectTools = class {
538
538
  */
539
539
  _getUseLayerFeaturesOptions() {
540
540
  const useLayerFeaturesClass = this._useLayerFeaturesEnabled ? "div-visible" : "div-not-visible";
541
- return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), index.h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), index.h("div", { class: useLayerFeaturesClass + " padding-top-1" }, index.h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedLayerIds: this.layerViews.map(l => l.layer.id) }))));
541
+ return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), index.h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), index.h("div", { class: useLayerFeaturesClass + " padding-top-1" }, index.h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedIds: this.layerViews.map(l => l.layer.id) }))));
542
542
  }
543
543
  /**
544
544
  * Renders the number of selected features
@@ -567,7 +567,7 @@ const MapSelectTools = class {
567
567
  * @protected
568
568
  */
569
569
  _getMapLayerPicker() {
570
- return (index.h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, index.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] : [] }))));
570
+ return (index.h("div", { class: "display-flex padding-sides-1 padding-bottom-1" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, this._translations.inputLayer, index.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] : [] }))));
571
571
  }
572
572
  //--------------------------------------------------------------------------
573
573
  //
@@ -1000,7 +1000,7 @@ const MapSelectTools = class {
1000
1000
  async _layerSelectionChange(evt) {
1001
1001
  if (Array.isArray(evt.detail) && evt.detail.length > 0) {
1002
1002
  const layerPromises = evt.detail.map(id => {
1003
- return mapViewUtils.getMapLayerView(this.mapView, id);
1003
+ return mapViewUtils.getFeatureLayerView(this.mapView, id);
1004
1004
  });
1005
1005
  return Promise.all(layerPromises).then((layerViews) => {
1006
1006
  this.layerViews = layerViews;
@@ -1028,7 +1028,7 @@ const MapSelectTools = class {
1028
1028
  var _a;
1029
1029
  const id = ((_a = evt === null || evt === void 0 ? void 0 : evt.detail) === null || _a === void 0 ? void 0 : _a.length) > 0 ? evt.detail[0] : "";
1030
1030
  if (!this.selectLayerView || id !== this.selectLayerView.layer.id) {
1031
- this.selectLayerView = await mapViewUtils.getMapLayerView(this.mapView, id);
1031
+ this.selectLayerView = await mapViewUtils.getFeatureLayerView(this.mapView, id);
1032
1032
  this._updateLabel();
1033
1033
  this._bufferGeometry ? await this._selectFeatures([this._bufferGeometry]) :
1034
1034
  await this._highlightWithOIDsOrGeoms();
@@ -1514,7 +1514,7 @@ const RefineSelection = class {
1514
1514
  render() {
1515
1515
  var _a, _b;
1516
1516
  const layerPickerClass = this._enabledLayerIds.length > 1 ? "display-block" : "display-none";
1517
- return (index.h(index.Host, null, index.h("div", { class: layerPickerClass + " padding-top-sides-1" }, index.h("div", { class: "display-flex" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, index.h("div", { class: "display-flex" }, this._translations.inputLayer, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), index.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] })), index.h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, index.h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), index.h("div", { class: "padding-1" }, index.h("div", { class: "padding-bottom-1" }, index.h("calcite-segmented-control", { class: "w-100" }, index.h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.ADD), value: interfaces.ESelectionMode.ADD }, index.h("span", { class: "font-weight-500" }, this._translations.add)), index.h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.REMOVE), value: interfaces.ESelectionMode.REMOVE }, index.h("span", { class: "font-weight-500" }, this._translations.remove)))), index.h("div", null, index.h("map-draw-tools", { active: true, drawMode: interfaces.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 })), index.h("br", null), (index.h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1517
+ return (index.h(index.Host, null, index.h("div", { class: layerPickerClass + " padding-top-sides-1" }, index.h("div", { class: "display-flex" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, index.h("div", { class: "display-flex" }, this._translations.inputLayer, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), index.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] })), index.h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, index.h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), index.h("div", { class: "padding-1" }, index.h("div", { class: "padding-bottom-1" }, index.h("calcite-segmented-control", { class: "w-100" }, index.h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.ADD), value: interfaces.ESelectionMode.ADD }, index.h("span", { class: "font-weight-500" }, this._translations.add)), index.h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50 word-wrap-anywhere", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.REMOVE), value: interfaces.ESelectionMode.REMOVE }, index.h("span", { class: "font-weight-500" }, this._translations.remove)))), index.h("div", null, index.h("map-draw-tools", { active: true, drawMode: interfaces.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 })), index.h("br", null), (index.h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1518
1518
  }
1519
1519
  //--------------------------------------------------------------------------
1520
1520
  //
@@ -1608,7 +1608,7 @@ const RefineSelection = class {
1608
1608
  refineInfo[id] = {
1609
1609
  addIds: [],
1610
1610
  removeIds: [],
1611
- layerView: await mapViewUtils.getMapLayerView(this.mapView, id)
1611
+ layerView: await mapViewUtils.getFeatureLayerView(this.mapView, id)
1612
1612
  };
1613
1613
  if (selectionSet) {
1614
1614
  selectionSet.refineInfos = Object.assign(Object.assign({}, selectionSet.refineInfos), refineInfo);
@@ -9,9 +9,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-6654298b.js');
11
11
  const locale = require('./locale-b113c6b2.js');
12
- const mapViewUtils = require('./mapViewUtils-efc49df7.js');
12
+ const mapViewUtils = require('./mapViewUtils-77a1ff88.js');
13
13
  const loadModules = require('./loadModules-ae7715f2.js');
14
- const downloadUtils = require('./downloadUtils-6d4e269f.js');
14
+ const downloadUtils = require('./downloadUtils-4aadf4b0.js');
15
15
  require('./_commonjsHelpers-384729db.js');
16
16
  require('./interfaces-ad03ec39.js');
17
17
 
@@ -20,7 +20,7 @@ const cardManagerCss = ":host{display:block !important}.display-flex{display:fle
20
20
  const CardManager = class {
21
21
  constructor(hostRef) {
22
22
  index.registerInstance(this, hostRef);
23
- this.layerView = undefined;
23
+ this.layer = undefined;
24
24
  this.mapView = undefined;
25
25
  this._cardLoading = false;
26
26
  this._graphics = undefined;
@@ -48,7 +48,7 @@ const CardManager = class {
48
48
  const ids = evt.detail;
49
49
  this._cardLoading = true;
50
50
  // only query if we have some ids...query with no ids will result in all features being returned
51
- const featureSet = ids.length > 0 ? await mapViewUtils.queryFeaturesByID(ids, this.layerView.layer, [], false, this.mapView.spatialReference) : [];
51
+ const featureSet = ids.length > 0 ? await mapViewUtils.queryFeaturesByID(ids, this.layer, [], false, this.mapView.spatialReference) : [];
52
52
  this._graphics = featureSet;
53
53
  this._cardLoading = false;
54
54
  }
@@ -57,7 +57,7 @@ const CardManager = class {
57
57
  */
58
58
  async layerSelectionChange(evt) {
59
59
  const id = evt.detail[0];
60
- this.layerView = await mapViewUtils.getMapLayerView(this.mapView, id);
60
+ this.layer = await mapViewUtils.getLayer(this.mapView, id);
61
61
  }
62
62
  //--------------------------------------------------------------------------
63
63
  //
@@ -123,7 +123,7 @@ const LayerTable = class {
123
123
  this.mapView = undefined;
124
124
  this._alertOpen = false;
125
125
  this._fetchingData = false;
126
- this._layerView = undefined;
126
+ this._layer = undefined;
127
127
  this._selectedIndexes = [];
128
128
  this._showOnlySelected = false;
129
129
  this._translations = undefined;
@@ -139,7 +139,7 @@ const LayerTable = class {
139
139
  async mapViewWatchHandler() {
140
140
  this._fetchingData = true;
141
141
  const mapLayerIds = await mapViewUtils.getMapLayerIds(this.mapView);
142
- this._layerView = await mapViewUtils.getMapLayerView(this.mapView, mapLayerIds[0]);
142
+ this._layer = await mapViewUtils.getLayer(this.mapView, mapLayerIds[0]);
143
143
  this._resetTable();
144
144
  this.reactiveUtils.on(() => this.mapView, "click", (event) => {
145
145
  void this._mapClicked(event);
@@ -149,7 +149,7 @@ const LayerTable = class {
149
149
  /**
150
150
  * watch for changes in layer view and verify if it has editing enabled
151
151
  */
152
- async _layerViewWatchHandler() {
152
+ async _layerWatchHandler() {
153
153
  this._fetchingData = true;
154
154
  this._resetTable();
155
155
  this._fetchingData = false;
@@ -186,7 +186,7 @@ const LayerTable = class {
186
186
  * Renders the component.
187
187
  */
188
188
  render() {
189
- if (!this._layerView) {
189
+ if (!this._layer) {
190
190
  return null;
191
191
  }
192
192
  const tableNodeClass = this._fetchingData ? "display-none" : "";
@@ -221,8 +221,8 @@ const LayerTable = class {
221
221
  */
222
222
  _getTableControlRow(slot) {
223
223
  const featuresSelected = this._selectedIndexes.length > 0;
224
- return (index.h("div", { class: "display-flex table-border height-51", slot: slot }, index.h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, index.h("div", { class: "border-end" }, index.h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), placeholderIcon: "layers", scale: "l", type: "dropdown" })), index.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 }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "magnifying-glass" }, index.h("span", null, this._translations.zoom)), index.h("calcite-action", { appearance: "solid", icon: "filter", id: "filter", onClick: () => this._filter(), text: this._translations.filters, "text-enabled": "true", textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "filter" }, index.h("span", null, this._translations.filters)), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, id: "trash", onClick: () => this._delete(), text: "" }, index.h("calcite-button", { appearance: "transparent", iconStart: "trash", kind: "danger" }, this._translations.delete)), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "trash" }, index.h("span", null, this._translations.delete))), index.h("calcite-dropdown", null, index.h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, index.h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), index.h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._showSelected() }, this._showOnlySelected ? this._translations.showAll :
225
- this._translations.showSelected), index.h("calcite-dropdown-item", { iconStart: "erase", onClick: () => this._clearSelection() }, this._translations.clearSelection), index.h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._switchSelected() }, this._translations.switchSelected), index.h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), index.h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
224
+ return (index.h("div", { class: "display-flex table-border height-51", slot: slot }, index.h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, index.h("div", { class: "border-end" }, index.h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), placeholderIcon: "layers", scale: "l", type: "dropdown" })), index.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 }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "magnifying-glass" }, index.h("span", null, this._translations.zoom)), index.h("calcite-action", { appearance: "solid", icon: "filter", id: "filter", onClick: () => this._filter(), text: this._translations.filters, "text-enabled": "true", textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "filter" }, index.h("span", null, this._translations.filters)), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, id: "trash", onClick: () => this._delete(), text: "" }, index.h("calcite-button", { appearance: "transparent", iconStart: "trash", kind: "danger" }, this._translations.delete)), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "trash" }, index.h("span", null, this._translations.delete)), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "erase", id: "erase", onClick: () => this._clearSelection(), text: this._translations.clearSelection, "text-enabled": "true", textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "erase" }, index.h("span", null, this._translations.clearSelection))), index.h("calcite-dropdown", null, index.h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, index.h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), index.h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
225
+ this._translations.showSelected), index.h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._switchSelected() }, this._translations.switchSelected), index.h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), index.h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
226
226
  }
227
227
  /**
228
228
  * Initialize the FeatureTable
@@ -230,10 +230,9 @@ const LayerTable = class {
230
230
  * @returns void
231
231
  */
232
232
  _getTable(node) {
233
- var _a;
234
- if ((_a = this._layerView) === null || _a === void 0 ? void 0 : _a.layer) {
233
+ if (this._layer) {
235
234
  this._table = new this.FeatureTable({
236
- layer: this._layerView.layer,
235
+ layer: this._layer,
237
236
  view: this.mapView,
238
237
  //editingEnabled: this._editEnabled,
239
238
  highlightOnRowSelectEnabled: true,
@@ -246,6 +245,14 @@ const LayerTable = class {
246
245
  });
247
246
  this._table.highlightIds.on("change", () => {
248
247
  this._selectedIndexes = this._table.highlightIds.toArray();
248
+ if (this._showOnlySelected) {
249
+ if (this._selectedIndexes.length > 0) {
250
+ this._table.filterBySelection();
251
+ }
252
+ else {
253
+ this._toggleShowSelected();
254
+ }
255
+ }
249
256
  this.featureSelectionChange.emit(this._selectedIndexes);
250
257
  });
251
258
  }
@@ -256,10 +263,11 @@ const LayerTable = class {
256
263
  * @returns void
257
264
  */
258
265
  _resetTable() {
259
- var _a;
260
- if (((_a = this._layerView) === null || _a === void 0 ? void 0 : _a.layer) && this._table) {
261
- this._table.layer = this._layerView.layer;
262
- this._editEnabled = this._layerView.layer.editingEnabled;
266
+ if (this._layer && this._table) {
267
+ this._clearSelection();
268
+ this.featureSelectionChange.emit(this._selectedIndexes);
269
+ this._table.layer = this._layer;
270
+ this._editEnabled = this._layer.editingEnabled;
263
271
  this._table.view = this.mapView;
264
272
  this._table.editingEnabled = this._editEnabled;
265
273
  this._table.clearSelectionFilter();
@@ -273,7 +281,7 @@ const LayerTable = class {
273
281
  */
274
282
  async _mapClicked(evt) {
275
283
  const opts = {
276
- include: this._layerView.layer
284
+ include: this._layer
277
285
  };
278
286
  const hitTestResult = await this.mapView.hitTest(evt.screenPoint, opts);
279
287
  if (hitTestResult.results.length > 0) {
@@ -318,7 +326,7 @@ const LayerTable = class {
318
326
  *
319
327
  * @returns void
320
328
  */
321
- _showSelected() {
329
+ _toggleShowSelected() {
322
330
  this._showOnlySelected = !this._showOnlySelected;
323
331
  if (this._showOnlySelected) {
324
332
  this._table.filterBySelection();
@@ -363,10 +371,10 @@ const LayerTable = class {
363
371
  async _exportToCSV() {
364
372
  const exportInfos = {};
365
373
  const ids = this._table.highlightIds.toArray();
366
- exportInfos[this._layerView.layer.id] = {
374
+ exportInfos[this._layer.id] = {
367
375
  selectionSetNames: [],
368
376
  ids,
369
- layerView: this._layerView
377
+ layer: this._layer
370
378
  };
371
379
  void downloadUtils.downloadCSV(exportInfos, false, // formatUsingLayerPopup
372
380
  true);
@@ -401,7 +409,7 @@ const LayerTable = class {
401
409
  this._alertMessage = this._translations.confirm;
402
410
  this._alertKind = "danger";
403
411
  this._alertActionFunction = () => {
404
- void this._layerView.layer.applyEdits({
412
+ void this._layer.applyEdits({
405
413
  deleteFeatures: this._table.highlightIds.toArray()
406
414
  });
407
415
  this._alertOpen = false;
@@ -432,15 +440,14 @@ const LayerTable = class {
432
440
  * @returns a promise that will resolve when the operation is complete
433
441
  */
434
442
  async _layerSelectionChanged(evt) {
435
- var _a;
436
443
  const id = evt.detail[0];
437
- if (id !== ((_a = this._layerView) === null || _a === void 0 ? void 0 : _a.layer.id) || this._allIds.length === 0) {
444
+ if (id !== this._layer.id || this._allIds.length === 0) {
438
445
  this._fetchingData = true;
439
446
  this._table.highlightIds.removeAll();
440
- this._layerView = await mapViewUtils.getMapLayerView(this.mapView, id);
441
- this._allIds = await mapViewUtils.queryAllIds(this._layerView.layer);
447
+ this._layer = await mapViewUtils.getLayer(this.mapView, id);
448
+ this._allIds = await mapViewUtils.queryAllIds(this._layer);
442
449
  this._selectedIndexes = [];
443
- this._table.layer = this._layerView.layer;
450
+ this._table.layer = this._layer;
444
451
  this._table.render();
445
452
  this._fetchingData = false;
446
453
  }
@@ -458,7 +465,7 @@ const LayerTable = class {
458
465
  get el() { return index.getElement(this); }
459
466
  static get watchers() { return {
460
467
  "mapView": ["mapViewWatchHandler"],
461
- "_layerView": ["_layerViewWatchHandler"]
468
+ "_layer": ["_layerWatchHandler"]
462
469
  }; }
463
470
  };
464
471
  LayerTable.style = layerTableCss;
@@ -12,7 +12,7 @@ const locale = require('./locale-b113c6b2.js');
12
12
  const interfaces = require('./interfaces-ad03ec39.js');
13
13
  require('./_commonjsHelpers-384729db.js');
14
14
 
15
- 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}";
15
+ 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}";
16
16
 
17
17
  const CrowdsourceManager = class {
18
18
  constructor(hostRef) {
@@ -67,7 +67,7 @@ const CrowdsourceManager = class {
67
67
  * Renders the component.
68
68
  */
69
69
  render() {
70
- return (index.h(index.Host, null, index.h("calcite-shell", null, index.h("calcite-panel", { class: "width-full height-full", heading: this._translations.header }, index.h("div", { class: "display-flex", slot: "header-actions-end" }, index.h("div", { class: "display-flex action-center" }, index.h("calcite-icon", { class: "icon icon-color", icon: "information", id: "app-information-icon", scale: "s" }), index.h("calcite-popover", { closable: true, label: "", referenceElement: "app-information-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.appInfo))), index.h("div", { class: "header-text" }, this._translations.layout), this._getAction("grid-background", interfaces.ELayoutMode.GRID, this._translations.grid), this._getAction("horizontal-background", interfaces.ELayoutMode.VERTICAL, this._translations.vertical), this._getAction("vertical-background", interfaces.ELayoutMode.HORIZONTAL, this._translations.horizontal)), this._getBody(this._layoutMode, this._panelOpen)))));
70
+ return (index.h(index.Host, null, index.h("calcite-shell", null, index.h("calcite-panel", { class: "width-full height-full", heading: this._translations.header }, index.h("div", { class: "display-flex", slot: "header-actions-end" }, index.h("div", { class: "display-flex action-center" }, index.h("calcite-icon", { class: "icon icon-color", icon: "information", id: "app-information-icon", scale: "s" }), index.h("calcite-popover", { closable: true, label: "", referenceElement: "app-information-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.appInfo))), index.h("div", { class: "header-text" }, this._translations.layout), this._getAction("grid-background", interfaces.ELayoutMode.GRID, this._translations.grid), this._getAction("vertical-background", interfaces.ELayoutMode.VERTICAL, this._translations.vertical), this._getAction("horizontal-background", interfaces.ELayoutMode.HORIZONTAL, this._translations.horizontal)), this._getBody(this._layoutMode, this._panelOpen)))));
71
71
  }
72
72
  //--------------------------------------------------------------------------
73
73
  //
@@ -8,7 +8,7 @@
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
9
9
  const index = require('./index-6654298b.js');
10
10
  const loadModules = require('./loadModules-ae7715f2.js');
11
- const mapViewUtils = require('./mapViewUtils-efc49df7.js');
11
+ const mapViewUtils = require('./mapViewUtils-77a1ff88.js');
12
12
 
13
13
  /** @license
14
14
  * Copyright 2022 Esri
@@ -1507,7 +1507,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1507
1507
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1508
1508
  * ====================================================================
1509
1509
  */
1510
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-fc923796.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},
1510
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-17db3b89.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},
1511
1511
  /** ====================================================================
1512
1512
  * @license
1513
1513
  * jsPDF XMP metadata plugin
@@ -2710,8 +2710,9 @@ function _getSelectionSetNames(exportInfos, id = /.+/) {
2710
2710
  async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
2711
2711
  const labelRequests = [];
2712
2712
  Object.keys(exportInfos).forEach(k => {
2713
+ var _a;
2713
2714
  const labelInfo = exportInfos[k];
2714
- labelRequests.push(_prepareLabels(labelInfo.layerView.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2715
+ labelRequests.push(_prepareLabels(((_a = labelInfo.layerView) === null || _a === void 0 ? void 0 : _a.layer) || labelInfo.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2715
2716
  if (isCSVExport) {
2716
2717
  // add the layer id as a temp value separator that we can use to split values for CSV export
2717
2718
  labelRequests.push(Promise.resolve([[k]]));