@esri/solutions-components 0.6.13 → 0.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/t9n/layer-table/resources.json +1 -1
- package/dist/assets/t9n/layer-table/resources_en.json +1 -1
- package/dist/assets/t9n/map-layer-picker/resources.json +4 -0
- package/dist/assets/t9n/map-layer-picker/resources_en.json +4 -0
- package/dist/cjs/basemap-gallery_6.cjs.entry.js +20 -5
- package/dist/cjs/buffer-tools_4.cjs.entry.js +1 -1
- package/dist/cjs/calcite-chip_3.cjs.entry.js +803 -0
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +76 -28
- package/dist/cjs/card-manager_3.cjs.entry.js +112 -54
- package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -5
- package/dist/cjs/{downloadUtils-fb4744e0.js → downloadUtils-34a515ad.js} +2 -2
- package/dist/cjs/edit-card_2.cjs.entry.js +5 -0
- package/dist/cjs/{index.es-372e33de.js → index.es-0ba11065.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
- package/dist/cjs/{mapViewUtils-a4dd36ec.js → mapViewUtils-a2884698.js} +39 -55
- package/dist/cjs/public-notification.cjs.entry.js +3 -3
- package/dist/cjs/{publicNotificationStore-b69862af.js → publicNotificationStore-610bd880.js} +0 -4
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/basemap-gallery/basemap-gallery.js +23 -1
- package/dist/collection/components/card-manager/card-manager.js +2 -2
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +171 -5
- package/dist/collection/components/edit-card/edit-card.js +19 -0
- package/dist/collection/components/layer-table/layer-table.js +127 -47
- package/dist/collection/components/map-card/map-card.js +115 -5
- package/dist/collection/components/map-layer-picker/map-layer-picker.css +4 -0
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +107 -27
- package/dist/collection/components/map-picker/map-picker.css +5 -1
- package/dist/collection/components/map-picker/map-picker.js +3 -3
- package/dist/collection/components/map-tools/map-tools.js +104 -1
- package/dist/collection/utils/interfaces.ts +12 -1
- package/dist/collection/utils/mapViewUtils.js +38 -52
- package/dist/collection/utils/mapViewUtils.ts +41 -57
- package/dist/collection/utils/publicNotificationStore.js +0 -4
- package/dist/collection/utils/publicNotificationStore.ts +0 -4
- package/dist/components/basemap-gallery2.js +2 -0
- package/dist/components/card-manager2.js +2 -2
- package/dist/components/crowdsource-manager.js +27 -6
- package/dist/components/edit-card2.js +5 -0
- package/dist/components/layer-table2.js +136 -78
- package/dist/components/map-card2.js +17 -5
- package/dist/components/map-layer-picker2.js +114 -52
- package/dist/components/map-picker2.js +4 -4
- package/dist/components/map-select-tools2.js +55 -43
- package/dist/components/map-tools2.js +20 -1
- package/dist/components/mapViewUtils.js +39 -53
- package/dist/components/public-notification.js +1 -1
- package/dist/components/publicNotificationStore.js +0 -4
- package/dist/components/refine-selection2.js +61 -49
- package/dist/esm/basemap-gallery_6.entry.js +20 -5
- package/dist/esm/buffer-tools_4.entry.js +1 -1
- package/dist/esm/calcite-chip_3.entry.js +797 -0
- package/dist/esm/calcite-combobox_6.entry.js +76 -28
- package/dist/esm/card-manager_3.entry.js +112 -54
- package/dist/esm/crowdsource-manager.entry.js +18 -5
- package/dist/esm/{downloadUtils-67c7a6c8.js → downloadUtils-ac67a786.js} +2 -2
- package/dist/esm/edit-card_2.entry.js +5 -0
- package/dist/esm/{index.es-59a67d3d.js → index.es-f553598f.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +3 -3
- package/dist/esm/{mapViewUtils-00a04d52.js → mapViewUtils-8141d8c1.js} +39 -53
- package/dist/esm/public-notification.entry.js +3 -3
- package/dist/esm/{publicNotificationStore-90a6a274.js → publicNotificationStore-dcf39a55.js} +0 -4
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/p-08b52ed8.entry.js +6 -0
- package/dist/solutions-components/p-16362eb4.js +36 -0
- package/dist/solutions-components/{p-3691a072.js → p-1ab414e0.js} +2 -2
- package/dist/solutions-components/{p-73ab9d9a.entry.js → p-3d7aa1b2.entry.js} +1 -1
- package/dist/solutions-components/{p-9a8c51bf.entry.js → p-57cf6784.entry.js} +1 -1
- package/dist/solutions-components/p-64b22d57.entry.js +6 -0
- package/dist/solutions-components/p-654dd5df.entry.js +6 -0
- package/dist/solutions-components/{p-f9166fcb.js → p-a26711e8.js} +1 -1
- package/dist/solutions-components/p-b1c8c6d7.entry.js +6 -0
- package/dist/solutions-components/{p-b892e595.entry.js → p-b9d29f30.entry.js} +1 -1
- package/dist/solutions-components/{p-1b41181b.js → p-c8d0ce92.js} +2 -2
- package/dist/solutions-components/{p-0219a1a9.entry.js → p-e76949eb.entry.js} +6 -6
- package/dist/solutions-components/p-ee7e2f00.entry.js +34 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +12 -1
- package/dist/solutions-components/utils/mapViewUtils.ts +41 -57
- package/dist/solutions-components/utils/publicNotificationStore.ts +0 -4
- package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +5 -0
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +37 -1
- package/dist/types/components/edit-card/edit-card.d.ts +8 -0
- package/dist/types/components/layer-table/layer-table.d.ts +40 -0
- package/dist/types/components/map-card/map-card.d.ts +25 -1
- package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +50 -3
- package/dist/types/components/map-picker/map-picker.d.ts +2 -2
- package/dist/types/components/map-tools/map-tools.d.ts +21 -1
- package/dist/types/components.d.ts +182 -2
- package/dist/types/preact.d.ts +6 -3
- package/dist/types/utils/interfaces.d.ts +10 -1
- package/dist/types/utils/mapViewUtils.d.ts +8 -24
- package/dist/types/utils/publicNotificationStore.d.ts +0 -2
- package/package.json +1 -1
- package/dist/cjs/calcite-chip.cjs.entry.js +0 -259
- package/dist/cjs/calcite-notice.cjs.entry.js +0 -139
- package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -439
- package/dist/esm/calcite-chip.entry.js +0 -255
- package/dist/esm/calcite-notice.entry.js +0 -135
- package/dist/esm/calcite-tooltip.entry.js +0 -435
- package/dist/solutions-components/p-2cff8331.entry.js +0 -6
- package/dist/solutions-components/p-3a6c8fc3.entry.js +0 -6
- package/dist/solutions-components/p-3b1fc7a2.entry.js +0 -6
- package/dist/solutions-components/p-767002cd.js +0 -36
- package/dist/solutions-components/p-a776b7e6.entry.js +0 -6
- package/dist/solutions-components/p-be36d5ed.entry.js +0 -22
- package/dist/solutions-components/p-c644edf5.entry.js +0 -11
- package/dist/solutions-components/p-cfd88a2f.entry.js +0 -11
|
@@ -24,9 +24,11 @@ const utils = require('./utils-852fe124.js');
|
|
|
24
24
|
const debounce = require('./debounce-30afab47.js');
|
|
25
25
|
const conditionalSlot = require('./conditionalSlot-f10611d3.js');
|
|
26
26
|
const key = require('./key-8de93212.js');
|
|
27
|
-
const
|
|
28
|
-
const
|
|
27
|
+
const locale$1 = require('./locale-67f5f6b6.js');
|
|
28
|
+
const mapViewUtils = require('./mapViewUtils-a2884698.js');
|
|
29
|
+
const publicNotificationStore = require('./publicNotificationStore-610bd880.js');
|
|
29
30
|
require('./resources-993f6faf.js');
|
|
31
|
+
require('./_commonjsHelpers-384729db.js');
|
|
30
32
|
require('./interfaces-000be6de.js');
|
|
31
33
|
require('./index-feeb7b6a.js');
|
|
32
34
|
|
|
@@ -1679,23 +1681,27 @@ const DropdownItem = class {
|
|
|
1679
1681
|
};
|
|
1680
1682
|
DropdownItem.style = dropdownItemCss;
|
|
1681
1683
|
|
|
1682
|
-
const mapLayerPickerCss = ":host{display:block}.map-layer-picker-container{width:100%}.map-layer-picker{position:relative;width:100%;display:inline-block}.padding-bottom-1{padding-bottom:1rem}.layer-picker-dropdown{height:100%;width:100%}.max-width-350{max-width:350px}";
|
|
1684
|
+
const mapLayerPickerCss = ":host{display:block}.map-layer-picker-container{width:100%}.map-layer-picker{position:relative;width:100%;display:inline-block}.padding-bottom-1{padding-bottom:1rem}.layer-picker-dropdown{height:100%;width:100%}.max-width-350{max-width:350px}.height-100{height:100%}";
|
|
1683
1685
|
|
|
1684
1686
|
const MapLayerPicker = class {
|
|
1685
1687
|
constructor(hostRef) {
|
|
1686
1688
|
index.registerInstance(this, hostRef);
|
|
1689
|
+
this.noLayersFound = index.createEvent(this, "noLayersFound", 7);
|
|
1687
1690
|
this.layerSelectionChange = index.createEvent(this, "layerSelectionChange", 7);
|
|
1688
1691
|
this.appearance = "transparent";
|
|
1689
1692
|
this.enabledLayerIds = [];
|
|
1690
1693
|
this.enabledTableIds = [];
|
|
1691
1694
|
this.mapView = undefined;
|
|
1695
|
+
this.onlyShowUpdatableLayers = undefined;
|
|
1692
1696
|
this.placeholderIcon = "";
|
|
1693
1697
|
this.selectedIds = [];
|
|
1694
1698
|
this.scale = "m";
|
|
1695
1699
|
this.showTables = true;
|
|
1696
1700
|
this.type = "select";
|
|
1701
|
+
this._hasValidLayers = true;
|
|
1697
1702
|
this.ids = [];
|
|
1698
1703
|
this.selectedName = "";
|
|
1704
|
+
this._translations = undefined;
|
|
1699
1705
|
}
|
|
1700
1706
|
//--------------------------------------------------------------------------
|
|
1701
1707
|
//
|
|
@@ -1708,10 +1714,13 @@ const MapLayerPicker = class {
|
|
|
1708
1714
|
*/
|
|
1709
1715
|
async mapViewWatchHandler() {
|
|
1710
1716
|
await this._setLayers();
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1717
|
+
if (this.ids.length > 0) {
|
|
1718
|
+
this._hasValidLayers = true;
|
|
1719
|
+
this._setSelectedLayer(this.ids[0]);
|
|
1720
|
+
}
|
|
1721
|
+
else {
|
|
1722
|
+
this._hasValidLayers = false;
|
|
1723
|
+
this.noLayersFound.emit();
|
|
1715
1724
|
}
|
|
1716
1725
|
}
|
|
1717
1726
|
//--------------------------------------------------------------------------
|
|
@@ -1723,6 +1732,7 @@ const MapLayerPicker = class {
|
|
|
1723
1732
|
* StencilJS: Called once just after the component is first connected to the DOM.
|
|
1724
1733
|
*/
|
|
1725
1734
|
async componentWillLoad() {
|
|
1735
|
+
await this._getTranslations();
|
|
1726
1736
|
await this._setLayers();
|
|
1727
1737
|
if (this.ids.length > 0 || this.selectedIds.length === 1) {
|
|
1728
1738
|
this.layerSelectionChange.emit(this.selectedIds.length === 1 ? [this.selectedIds[0]] : [this.ids[0]]);
|
|
@@ -1732,7 +1742,7 @@ const MapLayerPicker = class {
|
|
|
1732
1742
|
* Renders the component.
|
|
1733
1743
|
*/
|
|
1734
1744
|
render() {
|
|
1735
|
-
return (index.h(index.Host, null, index.h("div", { class: "map-layer-picker-container" }, index.h("div", { class: "map-layer-picker" }, this.type === "combobox" ? this._getCombobox() :
|
|
1745
|
+
return (index.h(index.Host, null, index.h("div", { class: "map-layer-picker-container" }, index.h("div", { class: "map-layer-picker" }, !this._hasValidLayers ? this._getInvalidPlaceholder() : this.type === "combobox" ? this._getCombobox() :
|
|
1736
1746
|
this.type === "select" ? this._getSelect() : this._getDropdown()))));
|
|
1737
1747
|
}
|
|
1738
1748
|
/**
|
|
@@ -1745,9 +1755,9 @@ const MapLayerPicker = class {
|
|
|
1745
1755
|
this._layerElement.value = id;
|
|
1746
1756
|
}
|
|
1747
1757
|
else if (this.type === "dropdown") {
|
|
1748
|
-
this.selectedName = Object.keys(
|
|
1749
|
-
|
|
1750
|
-
|
|
1758
|
+
this.selectedName = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
|
|
1759
|
+
this._layerNameHash[id].name : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
|
|
1760
|
+
this._tableNameHash[id].name : "";
|
|
1751
1761
|
}
|
|
1752
1762
|
}
|
|
1753
1763
|
}
|
|
@@ -1756,6 +1766,14 @@ const MapLayerPicker = class {
|
|
|
1756
1766
|
// Functions (protected)
|
|
1757
1767
|
//
|
|
1758
1768
|
//--------------------------------------------------------------------------
|
|
1769
|
+
/**
|
|
1770
|
+
* Create a notice to inform the user that no layers were found
|
|
1771
|
+
*
|
|
1772
|
+
* @returns Calcite Notice component with the message
|
|
1773
|
+
*/
|
|
1774
|
+
_getInvalidPlaceholder() {
|
|
1775
|
+
return (index.h("div", null, index.h("calcite-notice", { class: "height-100", icon: "exclamation-mark-triangle", id: "no-valid-layers", kind: "danger", open: true }, index.h("div", { slot: "message" }, this._translations.noLayersFound)), index.h("calcite-tooltip", { label: this._translations.enableEditUpdate, placement: "bottom", "reference-element": "no-valid-layers" }, index.h("span", null, this._translations.enableEditUpdate))));
|
|
1776
|
+
}
|
|
1759
1777
|
/**
|
|
1760
1778
|
* Create a list of layers from the map
|
|
1761
1779
|
*
|
|
@@ -1806,16 +1824,21 @@ const MapLayerPicker = class {
|
|
|
1806
1824
|
* @returns A dom node with the name of the layer or table
|
|
1807
1825
|
*/
|
|
1808
1826
|
_getItem(id, itemType) {
|
|
1809
|
-
const
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1827
|
+
const item = itemType === "layer" ? this._layerNameHash[id] : this._tableNameHash[id];
|
|
1828
|
+
const disabled = this.onlyShowUpdatableLayers ? !item.supportsUpdate : false;
|
|
1829
|
+
const name = item.name;
|
|
1830
|
+
return this.type === "combobox" ? (index.h("calcite-combobox-item", { disabled: disabled, textLabel: name, value: id })) :
|
|
1831
|
+
this.type === "select" ? (index.h("calcite-option", { disabled: disabled, label: name, value: id })) :
|
|
1832
|
+
(index.h("calcite-dropdown-item", { disabled: disabled, onClick: disabled ? undefined : () => void this._setSelectedLayer(id) }, name));
|
|
1813
1833
|
}
|
|
1814
1834
|
/**
|
|
1815
1835
|
* Store the layer name based on the user selection
|
|
1816
1836
|
*/
|
|
1817
|
-
_setSelectedLayer(id
|
|
1818
|
-
|
|
1837
|
+
_setSelectedLayer(id) {
|
|
1838
|
+
const item = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
|
|
1839
|
+
this._layerNameHash[id] : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
|
|
1840
|
+
this._tableNameHash[id] : undefined;
|
|
1841
|
+
this.selectedName = item === null || item === void 0 ? void 0 : item.name;
|
|
1819
1842
|
this.selectedIds = [id];
|
|
1820
1843
|
this.layerSelectionChange.emit(this.selectedIds);
|
|
1821
1844
|
}
|
|
@@ -1826,25 +1849,38 @@ const MapLayerPicker = class {
|
|
|
1826
1849
|
*/
|
|
1827
1850
|
async _setLayers() {
|
|
1828
1851
|
if (this.mapView) {
|
|
1829
|
-
|
|
1830
|
-
const
|
|
1852
|
+
await this._initLayerTableHash();
|
|
1853
|
+
const mapLayerIds = this.onlyShowUpdatableLayers ?
|
|
1854
|
+
this._getEditableIds(this._layerNameHash) : Object.keys(this._layerNameHash);
|
|
1855
|
+
const mapTableIds = this.showTables ? this.onlyShowUpdatableLayers ?
|
|
1856
|
+
this._getEditableIds(this._tableNameHash) : Object.keys(this._tableNameHash) : [];
|
|
1831
1857
|
this.ids = [
|
|
1832
1858
|
...mapLayerIds.filter(n => { var _a; return ((_a = this.enabledLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledLayerIds.indexOf(n) > -1 : true; }),
|
|
1833
1859
|
...mapTableIds.filter(n => { var _a; return ((_a = this.enabledTableIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.enabledTableIds.indexOf(n) > -1 : true; }),
|
|
1834
1860
|
];
|
|
1835
|
-
await this._initStateHash();
|
|
1836
1861
|
}
|
|
1837
1862
|
}
|
|
1863
|
+
/**
|
|
1864
|
+
* Fetch the ids of all layers that support edits with the update capability
|
|
1865
|
+
*
|
|
1866
|
+
* @returns array of layer ids
|
|
1867
|
+
*/
|
|
1868
|
+
_getEditableIds(hash) {
|
|
1869
|
+
return Object.keys(hash).reduce((prev, cur) => {
|
|
1870
|
+
if (hash[cur].supportsUpdate) {
|
|
1871
|
+
prev.push(cur);
|
|
1872
|
+
}
|
|
1873
|
+
return prev;
|
|
1874
|
+
}, []);
|
|
1875
|
+
}
|
|
1838
1876
|
/**
|
|
1839
1877
|
* Create a layer id:title hash for layer name display
|
|
1840
1878
|
*
|
|
1841
1879
|
* @returns Promise when the operation has completed
|
|
1842
1880
|
*/
|
|
1843
|
-
async
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
publicNotificationStore.state.tableNameHash = this.showTables ? await mapViewUtils.getMapTableHash(this.mapView) : {};
|
|
1847
|
-
}
|
|
1881
|
+
async _initLayerTableHash() {
|
|
1882
|
+
this._layerNameHash = await mapViewUtils.getMapLayerHash(this.mapView, this.onlyShowUpdatableLayers);
|
|
1883
|
+
this._tableNameHash = this.showTables ? await mapViewUtils.getMapTableHash(this.mapView, this.onlyShowUpdatableLayers) : {};
|
|
1848
1884
|
}
|
|
1849
1885
|
/**
|
|
1850
1886
|
* Evaluate if the id exists in the current hash and verify if it should be excluded
|
|
@@ -1852,9 +1888,10 @@ const MapLayerPicker = class {
|
|
|
1852
1888
|
* @returns boolean when true the layer will be used in the current layer picker type
|
|
1853
1889
|
*/
|
|
1854
1890
|
_validLayer(id) {
|
|
1855
|
-
|
|
1891
|
+
var _a;
|
|
1892
|
+
const name = (_a = this._layerNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
|
|
1856
1893
|
return name && publicNotificationStore.state.managedLayers.indexOf(name) < 0 && (this.enabledLayerIds.length > 0 ?
|
|
1857
|
-
this.enabledLayerIds.indexOf(id) > -1 :
|
|
1894
|
+
this.enabledLayerIds.indexOf(id) > -1 : true);
|
|
1858
1895
|
}
|
|
1859
1896
|
/**
|
|
1860
1897
|
* Evaluate if the id exists in the current hash and verify if it should be excluded
|
|
@@ -1862,7 +1899,8 @@ const MapLayerPicker = class {
|
|
|
1862
1899
|
* @returns boolean when true the table will be used in the current layer picker type
|
|
1863
1900
|
*/
|
|
1864
1901
|
_validTable(id) {
|
|
1865
|
-
|
|
1902
|
+
var _a;
|
|
1903
|
+
const name = (_a = this._tableNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
|
|
1866
1904
|
const validName = name && this.showTables;
|
|
1867
1905
|
return validName ? publicNotificationStore.state.managedTables.indexOf(name) < 0 &&
|
|
1868
1906
|
(this.enabledTableIds.length > 0 ? this.enabledTableIds.indexOf(id) > -1 : true) : validName;
|
|
@@ -1879,6 +1917,16 @@ const MapLayerPicker = class {
|
|
|
1879
1917
|
this.layerSelectionChange.emit(this.selectedIds);
|
|
1880
1918
|
}
|
|
1881
1919
|
}
|
|
1920
|
+
/**
|
|
1921
|
+
* Fetches the component's translations
|
|
1922
|
+
*
|
|
1923
|
+
* @returns Promise when complete
|
|
1924
|
+
* @protected
|
|
1925
|
+
*/
|
|
1926
|
+
async _getTranslations() {
|
|
1927
|
+
const messages = await locale$1.getLocaleComponentStrings(this.el);
|
|
1928
|
+
this._translations = messages[0];
|
|
1929
|
+
}
|
|
1882
1930
|
get el() { return index.getElement(this); }
|
|
1883
1931
|
static get watchers() { return {
|
|
1884
1932
|
"mapView": ["mapViewWatchHandler"]
|
|
@@ -9,9 +9,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
9
9
|
|
|
10
10
|
const index = require('./index-ee37804b.js');
|
|
11
11
|
const locale = require('./locale-67f5f6b6.js');
|
|
12
|
-
const mapViewUtils = require('./mapViewUtils-
|
|
12
|
+
const mapViewUtils = require('./mapViewUtils-a2884698.js');
|
|
13
13
|
const loadModules = require('./loadModules-f6df8d6a.js');
|
|
14
|
-
const downloadUtils = require('./downloadUtils-
|
|
14
|
+
const downloadUtils = require('./downloadUtils-34a515ad.js');
|
|
15
15
|
require('./_commonjsHelpers-384729db.js');
|
|
16
16
|
require('./interfaces-000be6de.js');
|
|
17
17
|
require('./clean-url-d5326abb.js');
|
|
@@ -59,7 +59,7 @@ const CardManager = class {
|
|
|
59
59
|
*/
|
|
60
60
|
async layerSelectionChange(evt) {
|
|
61
61
|
const id = evt.detail[0];
|
|
62
|
-
this.layer = await mapViewUtils.
|
|
62
|
+
this.layer = await mapViewUtils.getLayerOrTable(this.mapView, id);
|
|
63
63
|
}
|
|
64
64
|
//--------------------------------------------------------------------------
|
|
65
65
|
//
|
|
@@ -131,6 +131,7 @@ const LayerTable = class {
|
|
|
131
131
|
this.enableInlineEdit = undefined;
|
|
132
132
|
this.mapInfo = undefined;
|
|
133
133
|
this.mapView = undefined;
|
|
134
|
+
this.onlyShowUpdatableLayers = undefined;
|
|
134
135
|
this.showNewestFirst = undefined;
|
|
135
136
|
this.zoomAndScrollToSelected = undefined;
|
|
136
137
|
this._alertOpen = false;
|
|
@@ -151,13 +152,12 @@ const LayerTable = class {
|
|
|
151
152
|
* watch for changes in map view and get the first layer
|
|
152
153
|
*/
|
|
153
154
|
async mapViewWatchHandler() {
|
|
154
|
-
this.
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
this.reactiveUtils.on(() => this.mapView, "click", (event) => {
|
|
155
|
+
if (this._mapClickHandle) {
|
|
156
|
+
this._mapClickHandle.remove();
|
|
157
|
+
}
|
|
158
|
+
this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
|
|
158
159
|
void this._mapClicked(event);
|
|
159
160
|
});
|
|
160
|
-
this._fetchingData = false;
|
|
161
161
|
}
|
|
162
162
|
/**
|
|
163
163
|
* watch for changes in layer view and verify if it has editing enabled
|
|
@@ -214,6 +214,22 @@ const LayerTable = class {
|
|
|
214
214
|
}
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
+
/**
|
|
218
|
+
* Refresh the table when edits are completed
|
|
219
|
+
*
|
|
220
|
+
*/
|
|
221
|
+
editsComplete() {
|
|
222
|
+
this._refresh();
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Refresh the table when edits are completed
|
|
226
|
+
*
|
|
227
|
+
*/
|
|
228
|
+
noLayersFound() {
|
|
229
|
+
this._layer = undefined;
|
|
230
|
+
this._allIds = [];
|
|
231
|
+
this._clearSelection();
|
|
232
|
+
}
|
|
217
233
|
//--------------------------------------------------------------------------
|
|
218
234
|
//
|
|
219
235
|
// Functions (lifecycle)
|
|
@@ -232,9 +248,6 @@ const LayerTable = class {
|
|
|
232
248
|
* Renders the component.
|
|
233
249
|
*/
|
|
234
250
|
render() {
|
|
235
|
-
if (!this._layer) {
|
|
236
|
-
return null;
|
|
237
|
-
}
|
|
238
251
|
const tableNodeClass = this._fetchingData ? "display-none" : "";
|
|
239
252
|
const loadingClass = this._fetchingData ? "" : "display-none";
|
|
240
253
|
const total = this._allIds.length.toString();
|
|
@@ -272,9 +285,37 @@ const LayerTable = class {
|
|
|
272
285
|
*/
|
|
273
286
|
_getTableControlRow(slot) {
|
|
274
287
|
const featuresSelected = this._selectedIndexes.length > 0;
|
|
275
|
-
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" })),
|
|
288
|
+
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), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, placeholderIcon: "layers", scale: "l", type: "dropdown" })), this._getAction("zoom-to-object", this._translations.zoom, () => this._zoom(), !featuresSelected), this._getAction("filter", this._translations.filters, () => this._filter(), false), this._deleteEnabled ? this._getDangerAction("trash", this._translations.delete, () => this._delete(), !featuresSelected) : undefined, this._getAction("erase", this._translations.clearSelection, () => this._clearSelection(), !featuresSelected)), index.h("calcite-dropdown", { disabled: this._layer === undefined }, 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 :
|
|
276
289
|
this._translations.showSelected), index.h("calcite-dropdown-item", { iconStart: "compare", 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)))));
|
|
277
290
|
}
|
|
291
|
+
/**
|
|
292
|
+
* Get an action and tooltip
|
|
293
|
+
*
|
|
294
|
+
* @param icon string the name of the icon to display, will also be used as the id
|
|
295
|
+
* @param label string the text to display and label the action
|
|
296
|
+
* @param func any the function to execute
|
|
297
|
+
* @param disabled boolean when true the user will not be able to interact with the action
|
|
298
|
+
*
|
|
299
|
+
* @returns VNode The node representing the DOM element that will contain the action
|
|
300
|
+
*/
|
|
301
|
+
_getAction(icon, label, func, disabled) {
|
|
302
|
+
const _disabled = this._layer === undefined ? true : disabled;
|
|
303
|
+
return (index.h("div", { class: "display-flex" }, index.h("calcite-action", { appearance: "solid", disabled: _disabled, icon: icon, id: icon, label: label, onClick: func, text: label, textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, index.h("span", null, label))));
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Get an action with danger color icon and text
|
|
307
|
+
*
|
|
308
|
+
* @param icon string the name of the icon to display, will also be used as the id
|
|
309
|
+
* @param label string the text to display and label the action
|
|
310
|
+
* @param func any the function to execute
|
|
311
|
+
* @param disabled boolean when true the user will not be able to interact with the action
|
|
312
|
+
*
|
|
313
|
+
* @returns VNode The node representing the DOM element that will contain the action
|
|
314
|
+
*/
|
|
315
|
+
_getDangerAction(icon, label, func, disabled) {
|
|
316
|
+
const _disabled = this._layer === undefined ? true : disabled;
|
|
317
|
+
return (index.h("div", { class: "display-flex" }, index.h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, index.h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label)), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, index.h("span", null, label))));
|
|
318
|
+
}
|
|
278
319
|
/**
|
|
279
320
|
* Initialize the FeatureTable
|
|
280
321
|
*
|
|
@@ -284,7 +325,7 @@ const LayerTable = class {
|
|
|
284
325
|
*/
|
|
285
326
|
async _getTable(node, columnTemplates) {
|
|
286
327
|
if (this._layer) {
|
|
287
|
-
await this._layer.when(
|
|
328
|
+
await this._layer.when(() => {
|
|
288
329
|
this._table = new this.FeatureTable({
|
|
289
330
|
autoRefreshEnabled: this.enableAutoRefresh,
|
|
290
331
|
layer: this._layer,
|
|
@@ -301,25 +342,25 @@ const LayerTable = class {
|
|
|
301
342
|
},
|
|
302
343
|
container: node
|
|
303
344
|
});
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
345
|
+
});
|
|
346
|
+
this._checkEditEnabled();
|
|
347
|
+
await this._table.when(() => {
|
|
348
|
+
this._table.highlightIds.on("change", () => {
|
|
349
|
+
this._selectedIndexes = this._table.highlightIds.toArray();
|
|
350
|
+
if (this._showOnlySelected) {
|
|
351
|
+
if (this._selectedIndexes.length > 0) {
|
|
352
|
+
this._table.filterBySelection();
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
this._toggleShowSelected();
|
|
315
356
|
}
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
357
|
+
}
|
|
358
|
+
this.featureSelectionChange.emit(this._selectedIndexes);
|
|
359
|
+
});
|
|
360
|
+
this.reactiveUtils.watch(() => this._table.activeSortOrders, (sortOrders) => {
|
|
361
|
+
var _a, _b, _c, _d;
|
|
362
|
+
this._sortActive = this._layer ? (sortOrders.length > 0 && ((_a = sortOrders[0]) === null || _a === void 0 ? void 0 : _a.direction) === "asc" || ((_b = sortOrders[0]) === null || _b === void 0 ? void 0 : _b.direction) === "desc") ||
|
|
363
|
+
((_c = sortOrders[0]) === null || _c === void 0 ? void 0 : _c.direction) === null && ((_d = sortOrders[0]) === null || _d === void 0 ? void 0 : _d.fieldName) === this._layer.objectIdField : false;
|
|
323
364
|
});
|
|
324
365
|
});
|
|
325
366
|
}
|
|
@@ -330,20 +371,30 @@ const LayerTable = class {
|
|
|
330
371
|
* @returns void
|
|
331
372
|
*/
|
|
332
373
|
async _resetTable() {
|
|
333
|
-
if (this.
|
|
374
|
+
if (this._table) {
|
|
334
375
|
this._clearSelection();
|
|
335
376
|
this._allIds = [];
|
|
336
377
|
this.featureSelectionChange.emit(this._selectedIndexes);
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
378
|
+
if (this._layer) {
|
|
379
|
+
await this._layer.when(() => {
|
|
380
|
+
const columnTemplates = this._getColumnTemplates(this._layer.id);
|
|
381
|
+
this._table.layer = this._layer;
|
|
382
|
+
this._table.tableTemplate.columnTemplates = columnTemplates;
|
|
383
|
+
this._table.view = this.mapView;
|
|
384
|
+
this._checkEditEnabled();
|
|
385
|
+
this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
|
|
386
|
+
});
|
|
387
|
+
await this._table.when(() => {
|
|
388
|
+
this._table.clearSelectionFilter();
|
|
389
|
+
});
|
|
390
|
+
this._showOnlySelected = false;
|
|
391
|
+
this._sortActive = false;
|
|
392
|
+
await this._sortTable();
|
|
393
|
+
}
|
|
394
|
+
else {
|
|
395
|
+
this._table.view = this.mapView;
|
|
396
|
+
this._table.layer = this._layer;
|
|
397
|
+
}
|
|
347
398
|
}
|
|
348
399
|
}
|
|
349
400
|
/**
|
|
@@ -364,11 +415,10 @@ const LayerTable = class {
|
|
|
364
415
|
if (this._table && this._layer && !this._sortActive) {
|
|
365
416
|
if (!this._tableSorting && this.showNewestFirst) {
|
|
366
417
|
this._tableSorting = true;
|
|
367
|
-
await this._table.when(
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
});
|
|
418
|
+
await this._table.when();
|
|
419
|
+
await this._layer.when(() => {
|
|
420
|
+
this._table.sortColumn(this._layer.objectIdField, "desc");
|
|
421
|
+
this._tableSorting = false;
|
|
372
422
|
});
|
|
373
423
|
}
|
|
374
424
|
}
|
|
@@ -566,11 +616,12 @@ const LayerTable = class {
|
|
|
566
616
|
* @returns a promise that will resolve when the operation is complete
|
|
567
617
|
*/
|
|
568
618
|
async _layerSelectionChanged(evt) {
|
|
619
|
+
var _a;
|
|
569
620
|
const id = evt.detail[0];
|
|
570
|
-
if (id !== this._layer.id || this._allIds.length === 0) {
|
|
621
|
+
if (id !== ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id) || this._allIds.length === 0) {
|
|
571
622
|
this._fetchingData = true;
|
|
572
623
|
const columnTemplates = this._getColumnTemplates(id);
|
|
573
|
-
this._layer = await mapViewUtils.
|
|
624
|
+
this._layer = await mapViewUtils.getLayerOrTable(this.mapView, id);
|
|
574
625
|
this._allIds = await mapViewUtils.queryAllIds(this._layer);
|
|
575
626
|
if (!this._table) {
|
|
576
627
|
await this._getTable(this._tableNode, columnTemplates);
|
|
@@ -632,10 +683,16 @@ const MapCard = class {
|
|
|
632
683
|
constructor(hostRef) {
|
|
633
684
|
index.registerInstance(this, hostRef);
|
|
634
685
|
this.mapChanged = index.createEvent(this, "mapChanged", 7);
|
|
686
|
+
this.beforeMapChanged = index.createEvent(this, "beforeMapChanged", 7);
|
|
635
687
|
/**
|
|
636
688
|
* string: the id of map currently displayed
|
|
637
689
|
*/
|
|
638
690
|
this._loadedId = "";
|
|
691
|
+
this.enableLegend = undefined;
|
|
692
|
+
this.enableFullscreen = undefined;
|
|
693
|
+
this.enableSearch = undefined;
|
|
694
|
+
this.enableBasemap = undefined;
|
|
695
|
+
this.basemapConfig = undefined;
|
|
639
696
|
this.mapInfos = [];
|
|
640
697
|
this.mapView = undefined;
|
|
641
698
|
this._searchConfiguration = undefined;
|
|
@@ -662,7 +719,7 @@ const MapCard = class {
|
|
|
662
719
|
* Renders the component.
|
|
663
720
|
*/
|
|
664
721
|
render() {
|
|
665
|
-
return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { class: "box-shadow", mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
|
|
722
|
+
return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { basemapConfig: this.basemapConfig, class: "box-shadow", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
|
|
666
723
|
}
|
|
667
724
|
//--------------------------------------------------------------------------
|
|
668
725
|
//
|
|
@@ -712,16 +769,17 @@ const MapCard = class {
|
|
|
712
769
|
});
|
|
713
770
|
this._loadedId = id;
|
|
714
771
|
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
|
715
|
-
this.
|
|
716
|
-
id: id,
|
|
717
|
-
mapView: this.mapView
|
|
718
|
-
});
|
|
772
|
+
this.beforeMapChanged.emit();
|
|
719
773
|
await this.mapView.when(() => {
|
|
720
774
|
const home = new this.Home({
|
|
721
775
|
view: this.mapView
|
|
722
776
|
});
|
|
723
777
|
this.mapView.ui.add(home, { position: "top-left", index: 3 });
|
|
724
778
|
this.mapView.ui.add(this._mapTools, { position: "top-right", index: 0 });
|
|
779
|
+
this.mapChanged.emit({
|
|
780
|
+
id: id,
|
|
781
|
+
mapView: this.mapView
|
|
782
|
+
});
|
|
725
783
|
});
|
|
726
784
|
}
|
|
727
785
|
}
|
|
@@ -24,10 +24,18 @@ const CrowdsourceManager = class {
|
|
|
24
24
|
this._shouldSetMapView = false;
|
|
25
25
|
this.classicGrid = false;
|
|
26
26
|
this.enableAutoRefresh = true;
|
|
27
|
+
this.enableFullscreen = true;
|
|
27
28
|
this.enableInlineEdit = false;
|
|
29
|
+
this.enableLegend = true;
|
|
30
|
+
this.enableSearch = true;
|
|
31
|
+
this.enableHome = true;
|
|
32
|
+
this.enableZoom = true;
|
|
33
|
+
this.enableBasemap = true;
|
|
34
|
+
this.basemapConfig = undefined;
|
|
28
35
|
this.showNewestFirst = true;
|
|
29
36
|
this.hideMap = false;
|
|
30
37
|
this.mapInfos = [];
|
|
38
|
+
this.onlyShowUpdatableLayers = true;
|
|
31
39
|
this.searchConfiguration = undefined;
|
|
32
40
|
this.zoomAndScrollToSelected = false;
|
|
33
41
|
this._expandPopup = false;
|
|
@@ -62,13 +70,18 @@ const CrowdsourceManager = class {
|
|
|
62
70
|
*/
|
|
63
71
|
async mapChanged(evt) {
|
|
64
72
|
this._mapChange = evt.detail;
|
|
73
|
+
await this._mapChange.mapView.when(() => {
|
|
74
|
+
this._setMapView();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Listen for beforeMapChanged and minimize the popup if it's expanded
|
|
79
|
+
*/
|
|
80
|
+
async beforeMapChanged() {
|
|
65
81
|
if (this._expandPopup) {
|
|
66
82
|
this._shouldSetMapView = true;
|
|
67
83
|
this._expandPopup = false;
|
|
68
84
|
}
|
|
69
|
-
else {
|
|
70
|
-
this._setMapView();
|
|
71
|
-
}
|
|
72
85
|
}
|
|
73
86
|
//--------------------------------------------------------------------------
|
|
74
87
|
//
|
|
@@ -227,7 +240,7 @@ const CrowdsourceManager = class {
|
|
|
227
240
|
const mapDisplayClass = this.classicGrid && layoutMode === interfaces.ELayoutMode.GRID ? "display-flex height-full width-1-2" :
|
|
228
241
|
layoutMode === interfaces.ELayoutMode.GRID && !hideMap ? "" : "display-none";
|
|
229
242
|
const mapContainerClass = this.classicGrid && layoutMode === interfaces.ELayoutMode.GRID ? "width-full" : this._expandPopup ? "height-50-px" : "adjusted-height-50";
|
|
230
|
-
return (index.h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, index.h("map-card", { class: "width-full", mapInfos: this.mapInfos })));
|
|
243
|
+
return (index.h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, index.h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapInfos: this.mapInfos })));
|
|
231
244
|
}
|
|
232
245
|
/**
|
|
233
246
|
* Get the expand node for the popup information
|
|
@@ -281,7 +294,7 @@ const CrowdsourceManager = class {
|
|
|
281
294
|
const toggleSlot = this.classicGrid && layoutMode !== interfaces.ELayoutMode.VERTICAL ? "footer" :
|
|
282
295
|
this.classicGrid && layoutMode === interfaces.ELayoutMode.VERTICAL ? "panel-end" :
|
|
283
296
|
layoutMode === interfaces.ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
|
284
|
-
return (index.h("calcite-shell", { class: tableSizeClass + " border-bottom" }, index.h("calcite-action-bar", { class: "border", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, index.h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), index.h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, index.h("span", null, tooltip))), index.h("div", { class: "width-full height-full position-relative" }, index.h("layer-table", { enableAutoRefresh: this.enableAutoRefresh, enableInlineEdit: this.enableInlineEdit, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
|
297
|
+
return (index.h("calcite-shell", { class: tableSizeClass + " border-bottom" }, index.h("calcite-action-bar", { class: "border", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, index.h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), index.h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, index.h("span", null, tooltip))), index.h("div", { class: "width-full height-full position-relative" }, index.h("layer-table", { enableAutoRefresh: this.enableAutoRefresh, enableInlineEdit: this.enableInlineEdit, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
|
285
298
|
}
|
|
286
299
|
/**
|
|
287
300
|
* Open/Close the appropriate panel.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
|
|
9
9
|
const index = require('./index-ee37804b.js');
|
|
10
10
|
const loadModules = require('./loadModules-f6df8d6a.js');
|
|
11
|
-
const mapViewUtils = require('./mapViewUtils-
|
|
11
|
+
const mapViewUtils = require('./mapViewUtils-a2884698.js');
|
|
12
12
|
const cleanUrl = require('./clean-url-d5326abb.js');
|
|
13
13
|
|
|
14
14
|
/** @license
|
|
@@ -1508,7 +1508,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
|
|
|
1508
1508
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1509
1509
|
* ====================================================================
|
|
1510
1510
|
*/
|
|
1511
|
-
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-
|
|
1511
|
+
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-0ba11065.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},
|
|
1512
1512
|
/** ====================================================================
|
|
1513
1513
|
* @license
|
|
1514
1514
|
* jsPDF XMP metadata plugin
|
|
@@ -18,6 +18,7 @@ const EditCard = class {
|
|
|
18
18
|
constructor(hostRef) {
|
|
19
19
|
index.registerInstance(this, hostRef);
|
|
20
20
|
this.closeEdit = index.createEvent(this, "closeEdit", 7);
|
|
21
|
+
this.editsComplete = index.createEvent(this, "editsComplete", 7);
|
|
21
22
|
/**
|
|
22
23
|
* boolean: When true the Editor widget should be closed
|
|
23
24
|
*/
|
|
@@ -80,6 +81,10 @@ const EditCard = class {
|
|
|
80
81
|
}
|
|
81
82
|
if (((_a = this.graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = this.graphics[0]) === null || _b === void 0 ? void 0 : _b.layer)) {
|
|
82
83
|
this._layer = this.graphics[0].layer;
|
|
84
|
+
if (this._layerEditHandle) {
|
|
85
|
+
this._layerEditHandle.remove();
|
|
86
|
+
}
|
|
87
|
+
this._layerEditHandle = this._layer.on("edits", () => this.editsComplete.emit());
|
|
83
88
|
}
|
|
84
89
|
}
|
|
85
90
|
/**
|