@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
|
@@ -20,9 +20,11 @@ import { C as ComboboxChildSelector, b as getItemAncestors, c as getItemChildren
|
|
|
20
20
|
import { d as debounce } from './debounce-229b1a22.js';
|
|
21
21
|
import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './conditionalSlot-dff8f839.js';
|
|
22
22
|
import { i as isActivationKey } from './key-02fa06ae.js';
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
23
|
+
import { g as getLocaleComponentStrings } from './locale-9624832c.js';
|
|
24
|
+
import { k as getMapLayerHash, l as getMapTableHash } from './mapViewUtils-8141d8c1.js';
|
|
25
|
+
import { s as state } from './publicNotificationStore-dcf39a55.js';
|
|
25
26
|
import './resources-1e6d76df.js';
|
|
27
|
+
import './_commonjsHelpers-d5f9d613.js';
|
|
26
28
|
import './interfaces-7470d906.js';
|
|
27
29
|
import './index-f4bd5aa3.js';
|
|
28
30
|
|
|
@@ -1675,23 +1677,27 @@ const DropdownItem = class {
|
|
|
1675
1677
|
};
|
|
1676
1678
|
DropdownItem.style = dropdownItemCss;
|
|
1677
1679
|
|
|
1678
|
-
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}";
|
|
1680
|
+
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%}";
|
|
1679
1681
|
|
|
1680
1682
|
const MapLayerPicker = class {
|
|
1681
1683
|
constructor(hostRef) {
|
|
1682
1684
|
registerInstance(this, hostRef);
|
|
1685
|
+
this.noLayersFound = createEvent(this, "noLayersFound", 7);
|
|
1683
1686
|
this.layerSelectionChange = createEvent(this, "layerSelectionChange", 7);
|
|
1684
1687
|
this.appearance = "transparent";
|
|
1685
1688
|
this.enabledLayerIds = [];
|
|
1686
1689
|
this.enabledTableIds = [];
|
|
1687
1690
|
this.mapView = undefined;
|
|
1691
|
+
this.onlyShowUpdatableLayers = undefined;
|
|
1688
1692
|
this.placeholderIcon = "";
|
|
1689
1693
|
this.selectedIds = [];
|
|
1690
1694
|
this.scale = "m";
|
|
1691
1695
|
this.showTables = true;
|
|
1692
1696
|
this.type = "select";
|
|
1697
|
+
this._hasValidLayers = true;
|
|
1693
1698
|
this.ids = [];
|
|
1694
1699
|
this.selectedName = "";
|
|
1700
|
+
this._translations = undefined;
|
|
1695
1701
|
}
|
|
1696
1702
|
//--------------------------------------------------------------------------
|
|
1697
1703
|
//
|
|
@@ -1704,10 +1710,13 @@ const MapLayerPicker = class {
|
|
|
1704
1710
|
*/
|
|
1705
1711
|
async mapViewWatchHandler() {
|
|
1706
1712
|
await this._setLayers();
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1713
|
+
if (this.ids.length > 0) {
|
|
1714
|
+
this._hasValidLayers = true;
|
|
1715
|
+
this._setSelectedLayer(this.ids[0]);
|
|
1716
|
+
}
|
|
1717
|
+
else {
|
|
1718
|
+
this._hasValidLayers = false;
|
|
1719
|
+
this.noLayersFound.emit();
|
|
1711
1720
|
}
|
|
1712
1721
|
}
|
|
1713
1722
|
//--------------------------------------------------------------------------
|
|
@@ -1719,6 +1728,7 @@ const MapLayerPicker = class {
|
|
|
1719
1728
|
* StencilJS: Called once just after the component is first connected to the DOM.
|
|
1720
1729
|
*/
|
|
1721
1730
|
async componentWillLoad() {
|
|
1731
|
+
await this._getTranslations();
|
|
1722
1732
|
await this._setLayers();
|
|
1723
1733
|
if (this.ids.length > 0 || this.selectedIds.length === 1) {
|
|
1724
1734
|
this.layerSelectionChange.emit(this.selectedIds.length === 1 ? [this.selectedIds[0]] : [this.ids[0]]);
|
|
@@ -1728,7 +1738,7 @@ const MapLayerPicker = class {
|
|
|
1728
1738
|
* Renders the component.
|
|
1729
1739
|
*/
|
|
1730
1740
|
render() {
|
|
1731
|
-
return (h(Host, null, h("div", { class: "map-layer-picker-container" }, h("div", { class: "map-layer-picker" }, this.type === "combobox" ? this._getCombobox() :
|
|
1741
|
+
return (h(Host, null, h("div", { class: "map-layer-picker-container" }, h("div", { class: "map-layer-picker" }, !this._hasValidLayers ? this._getInvalidPlaceholder() : this.type === "combobox" ? this._getCombobox() :
|
|
1732
1742
|
this.type === "select" ? this._getSelect() : this._getDropdown()))));
|
|
1733
1743
|
}
|
|
1734
1744
|
/**
|
|
@@ -1741,9 +1751,9 @@ const MapLayerPicker = class {
|
|
|
1741
1751
|
this._layerElement.value = id;
|
|
1742
1752
|
}
|
|
1743
1753
|
else if (this.type === "dropdown") {
|
|
1744
|
-
this.selectedName = Object.keys(
|
|
1745
|
-
|
|
1746
|
-
|
|
1754
|
+
this.selectedName = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
|
|
1755
|
+
this._layerNameHash[id].name : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
|
|
1756
|
+
this._tableNameHash[id].name : "";
|
|
1747
1757
|
}
|
|
1748
1758
|
}
|
|
1749
1759
|
}
|
|
@@ -1752,6 +1762,14 @@ const MapLayerPicker = class {
|
|
|
1752
1762
|
// Functions (protected)
|
|
1753
1763
|
//
|
|
1754
1764
|
//--------------------------------------------------------------------------
|
|
1765
|
+
/**
|
|
1766
|
+
* Create a notice to inform the user that no layers were found
|
|
1767
|
+
*
|
|
1768
|
+
* @returns Calcite Notice component with the message
|
|
1769
|
+
*/
|
|
1770
|
+
_getInvalidPlaceholder() {
|
|
1771
|
+
return (h("div", null, h("calcite-notice", { class: "height-100", icon: "exclamation-mark-triangle", id: "no-valid-layers", kind: "danger", open: true }, h("div", { slot: "message" }, this._translations.noLayersFound)), h("calcite-tooltip", { label: this._translations.enableEditUpdate, placement: "bottom", "reference-element": "no-valid-layers" }, h("span", null, this._translations.enableEditUpdate))));
|
|
1772
|
+
}
|
|
1755
1773
|
/**
|
|
1756
1774
|
* Create a list of layers from the map
|
|
1757
1775
|
*
|
|
@@ -1802,16 +1820,21 @@ const MapLayerPicker = class {
|
|
|
1802
1820
|
* @returns A dom node with the name of the layer or table
|
|
1803
1821
|
*/
|
|
1804
1822
|
_getItem(id, itemType) {
|
|
1805
|
-
const
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1823
|
+
const item = itemType === "layer" ? this._layerNameHash[id] : this._tableNameHash[id];
|
|
1824
|
+
const disabled = this.onlyShowUpdatableLayers ? !item.supportsUpdate : false;
|
|
1825
|
+
const name = item.name;
|
|
1826
|
+
return this.type === "combobox" ? (h("calcite-combobox-item", { disabled: disabled, textLabel: name, value: id })) :
|
|
1827
|
+
this.type === "select" ? (h("calcite-option", { disabled: disabled, label: name, value: id })) :
|
|
1828
|
+
(h("calcite-dropdown-item", { disabled: disabled, onClick: disabled ? undefined : () => void this._setSelectedLayer(id) }, name));
|
|
1809
1829
|
}
|
|
1810
1830
|
/**
|
|
1811
1831
|
* Store the layer name based on the user selection
|
|
1812
1832
|
*/
|
|
1813
|
-
_setSelectedLayer(id
|
|
1814
|
-
|
|
1833
|
+
_setSelectedLayer(id) {
|
|
1834
|
+
const item = Object.keys(this._layerNameHash).indexOf(id) > -1 ?
|
|
1835
|
+
this._layerNameHash[id] : Object.keys(this._tableNameHash).indexOf(id) > -1 ?
|
|
1836
|
+
this._tableNameHash[id] : undefined;
|
|
1837
|
+
this.selectedName = item === null || item === void 0 ? void 0 : item.name;
|
|
1815
1838
|
this.selectedIds = [id];
|
|
1816
1839
|
this.layerSelectionChange.emit(this.selectedIds);
|
|
1817
1840
|
}
|
|
@@ -1822,25 +1845,38 @@ const MapLayerPicker = class {
|
|
|
1822
1845
|
*/
|
|
1823
1846
|
async _setLayers() {
|
|
1824
1847
|
if (this.mapView) {
|
|
1825
|
-
|
|
1826
|
-
const
|
|
1848
|
+
await this._initLayerTableHash();
|
|
1849
|
+
const mapLayerIds = this.onlyShowUpdatableLayers ?
|
|
1850
|
+
this._getEditableIds(this._layerNameHash) : Object.keys(this._layerNameHash);
|
|
1851
|
+
const mapTableIds = this.showTables ? this.onlyShowUpdatableLayers ?
|
|
1852
|
+
this._getEditableIds(this._tableNameHash) : Object.keys(this._tableNameHash) : [];
|
|
1827
1853
|
this.ids = [
|
|
1828
1854
|
...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
1855
|
...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
1856
|
];
|
|
1831
|
-
await this._initStateHash();
|
|
1832
1857
|
}
|
|
1833
1858
|
}
|
|
1859
|
+
/**
|
|
1860
|
+
* Fetch the ids of all layers that support edits with the update capability
|
|
1861
|
+
*
|
|
1862
|
+
* @returns array of layer ids
|
|
1863
|
+
*/
|
|
1864
|
+
_getEditableIds(hash) {
|
|
1865
|
+
return Object.keys(hash).reduce((prev, cur) => {
|
|
1866
|
+
if (hash[cur].supportsUpdate) {
|
|
1867
|
+
prev.push(cur);
|
|
1868
|
+
}
|
|
1869
|
+
return prev;
|
|
1870
|
+
}, []);
|
|
1871
|
+
}
|
|
1834
1872
|
/**
|
|
1835
1873
|
* Create a layer id:title hash for layer name display
|
|
1836
1874
|
*
|
|
1837
1875
|
* @returns Promise when the operation has completed
|
|
1838
1876
|
*/
|
|
1839
|
-
async
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
state.tableNameHash = this.showTables ? await getMapTableHash(this.mapView) : {};
|
|
1843
|
-
}
|
|
1877
|
+
async _initLayerTableHash() {
|
|
1878
|
+
this._layerNameHash = await getMapLayerHash(this.mapView, this.onlyShowUpdatableLayers);
|
|
1879
|
+
this._tableNameHash = this.showTables ? await getMapTableHash(this.mapView, this.onlyShowUpdatableLayers) : {};
|
|
1844
1880
|
}
|
|
1845
1881
|
/**
|
|
1846
1882
|
* Evaluate if the id exists in the current hash and verify if it should be excluded
|
|
@@ -1848,9 +1884,10 @@ const MapLayerPicker = class {
|
|
|
1848
1884
|
* @returns boolean when true the layer will be used in the current layer picker type
|
|
1849
1885
|
*/
|
|
1850
1886
|
_validLayer(id) {
|
|
1851
|
-
|
|
1887
|
+
var _a;
|
|
1888
|
+
const name = (_a = this._layerNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
|
|
1852
1889
|
return name && state.managedLayers.indexOf(name) < 0 && (this.enabledLayerIds.length > 0 ?
|
|
1853
|
-
this.enabledLayerIds.indexOf(id) > -1 :
|
|
1890
|
+
this.enabledLayerIds.indexOf(id) > -1 : true);
|
|
1854
1891
|
}
|
|
1855
1892
|
/**
|
|
1856
1893
|
* Evaluate if the id exists in the current hash and verify if it should be excluded
|
|
@@ -1858,7 +1895,8 @@ const MapLayerPicker = class {
|
|
|
1858
1895
|
* @returns boolean when true the table will be used in the current layer picker type
|
|
1859
1896
|
*/
|
|
1860
1897
|
_validTable(id) {
|
|
1861
|
-
|
|
1898
|
+
var _a;
|
|
1899
|
+
const name = (_a = this._tableNameHash[id]) === null || _a === void 0 ? void 0 : _a.name;
|
|
1862
1900
|
const validName = name && this.showTables;
|
|
1863
1901
|
return validName ? state.managedTables.indexOf(name) < 0 &&
|
|
1864
1902
|
(this.enabledTableIds.length > 0 ? this.enabledTableIds.indexOf(id) > -1 : true) : validName;
|
|
@@ -1875,6 +1913,16 @@ const MapLayerPicker = class {
|
|
|
1875
1913
|
this.layerSelectionChange.emit(this.selectedIds);
|
|
1876
1914
|
}
|
|
1877
1915
|
}
|
|
1916
|
+
/**
|
|
1917
|
+
* Fetches the component's translations
|
|
1918
|
+
*
|
|
1919
|
+
* @returns Promise when complete
|
|
1920
|
+
* @protected
|
|
1921
|
+
*/
|
|
1922
|
+
async _getTranslations() {
|
|
1923
|
+
const messages = await getLocaleComponentStrings(this.el);
|
|
1924
|
+
this._translations = messages[0];
|
|
1925
|
+
}
|
|
1878
1926
|
get el() { return getElement(this); }
|
|
1879
1927
|
static get watchers() { return {
|
|
1880
1928
|
"mapView": ["mapViewWatchHandler"]
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-c7de2486.js';
|
|
7
7
|
import { g as getLocaleComponentStrings } from './locale-9624832c.js';
|
|
8
|
-
import { q as queryFeaturesByID, a as
|
|
8
|
+
import { q as queryFeaturesByID, a as getLayerOrTable, g as goToSelection, b as queryAllIds } from './mapViewUtils-8141d8c1.js';
|
|
9
9
|
import { l as loadModules } from './loadModules-2880c7e3.js';
|
|
10
|
-
import { d as downloadCSV } from './downloadUtils-
|
|
10
|
+
import { d as downloadCSV } from './downloadUtils-ac67a786.js';
|
|
11
11
|
import './_commonjsHelpers-d5f9d613.js';
|
|
12
12
|
import './interfaces-7470d906.js';
|
|
13
13
|
import './clean-url-bce022e6.js';
|
|
@@ -55,7 +55,7 @@ const CardManager = class {
|
|
|
55
55
|
*/
|
|
56
56
|
async layerSelectionChange(evt) {
|
|
57
57
|
const id = evt.detail[0];
|
|
58
|
-
this.layer = await
|
|
58
|
+
this.layer = await getLayerOrTable(this.mapView, id);
|
|
59
59
|
}
|
|
60
60
|
//--------------------------------------------------------------------------
|
|
61
61
|
//
|
|
@@ -127,6 +127,7 @@ const LayerTable = class {
|
|
|
127
127
|
this.enableInlineEdit = undefined;
|
|
128
128
|
this.mapInfo = undefined;
|
|
129
129
|
this.mapView = undefined;
|
|
130
|
+
this.onlyShowUpdatableLayers = undefined;
|
|
130
131
|
this.showNewestFirst = undefined;
|
|
131
132
|
this.zoomAndScrollToSelected = undefined;
|
|
132
133
|
this._alertOpen = false;
|
|
@@ -147,13 +148,12 @@ const LayerTable = class {
|
|
|
147
148
|
* watch for changes in map view and get the first layer
|
|
148
149
|
*/
|
|
149
150
|
async mapViewWatchHandler() {
|
|
150
|
-
this.
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
this.reactiveUtils.on(() => this.mapView, "click", (event) => {
|
|
151
|
+
if (this._mapClickHandle) {
|
|
152
|
+
this._mapClickHandle.remove();
|
|
153
|
+
}
|
|
154
|
+
this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
|
|
154
155
|
void this._mapClicked(event);
|
|
155
156
|
});
|
|
156
|
-
this._fetchingData = false;
|
|
157
157
|
}
|
|
158
158
|
/**
|
|
159
159
|
* watch for changes in layer view and verify if it has editing enabled
|
|
@@ -210,6 +210,22 @@ const LayerTable = class {
|
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Refresh the table when edits are completed
|
|
215
|
+
*
|
|
216
|
+
*/
|
|
217
|
+
editsComplete() {
|
|
218
|
+
this._refresh();
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Refresh the table when edits are completed
|
|
222
|
+
*
|
|
223
|
+
*/
|
|
224
|
+
noLayersFound() {
|
|
225
|
+
this._layer = undefined;
|
|
226
|
+
this._allIds = [];
|
|
227
|
+
this._clearSelection();
|
|
228
|
+
}
|
|
213
229
|
//--------------------------------------------------------------------------
|
|
214
230
|
//
|
|
215
231
|
// Functions (lifecycle)
|
|
@@ -228,9 +244,6 @@ const LayerTable = class {
|
|
|
228
244
|
* Renders the component.
|
|
229
245
|
*/
|
|
230
246
|
render() {
|
|
231
|
-
if (!this._layer) {
|
|
232
|
-
return null;
|
|
233
|
-
}
|
|
234
247
|
const tableNodeClass = this._fetchingData ? "display-none" : "";
|
|
235
248
|
const loadingClass = this._fetchingData ? "" : "display-none";
|
|
236
249
|
const total = this._allIds.length.toString();
|
|
@@ -268,9 +281,37 @@ const LayerTable = class {
|
|
|
268
281
|
*/
|
|
269
282
|
_getTableControlRow(slot) {
|
|
270
283
|
const featuresSelected = this._selectedIndexes.length > 0;
|
|
271
|
-
return (h("div", { class: "display-flex table-border height-51", slot: slot }, h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, h("div", { class: "border-end" }, h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), placeholderIcon: "layers", scale: "l", type: "dropdown" })),
|
|
284
|
+
return (h("div", { class: "display-flex table-border height-51", slot: slot }, h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, h("div", { class: "border-end" }, h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), 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)), h("calcite-dropdown", { disabled: this._layer === undefined }, h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), h("calcite-dropdown-group", { "selection-mode": "none" }, h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
|
|
272
285
|
this._translations.showSelected), h("calcite-dropdown-item", { iconStart: "compare", onClick: () => this._switchSelected() }, this._translations.switchSelected), h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
|
|
273
286
|
}
|
|
287
|
+
/**
|
|
288
|
+
* Get an action and tooltip
|
|
289
|
+
*
|
|
290
|
+
* @param icon string the name of the icon to display, will also be used as the id
|
|
291
|
+
* @param label string the text to display and label the action
|
|
292
|
+
* @param func any the function to execute
|
|
293
|
+
* @param disabled boolean when true the user will not be able to interact with the action
|
|
294
|
+
*
|
|
295
|
+
* @returns VNode The node representing the DOM element that will contain the action
|
|
296
|
+
*/
|
|
297
|
+
_getAction(icon, label, func, disabled) {
|
|
298
|
+
const _disabled = this._layer === undefined ? true : disabled;
|
|
299
|
+
return (h("div", { class: "display-flex" }, h("calcite-action", { appearance: "solid", disabled: _disabled, icon: icon, id: icon, label: label, onClick: func, text: label, textEnabled: true }), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, h("span", null, label))));
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Get an action with danger color icon and text
|
|
303
|
+
*
|
|
304
|
+
* @param icon string the name of the icon to display, will also be used as the id
|
|
305
|
+
* @param label string the text to display and label the action
|
|
306
|
+
* @param func any the function to execute
|
|
307
|
+
* @param disabled boolean when true the user will not be able to interact with the action
|
|
308
|
+
*
|
|
309
|
+
* @returns VNode The node representing the DOM element that will contain the action
|
|
310
|
+
*/
|
|
311
|
+
_getDangerAction(icon, label, func, disabled) {
|
|
312
|
+
const _disabled = this._layer === undefined ? true : disabled;
|
|
313
|
+
return (h("div", { class: "display-flex" }, h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label)), h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, h("span", null, label))));
|
|
314
|
+
}
|
|
274
315
|
/**
|
|
275
316
|
* Initialize the FeatureTable
|
|
276
317
|
*
|
|
@@ -280,7 +321,7 @@ const LayerTable = class {
|
|
|
280
321
|
*/
|
|
281
322
|
async _getTable(node, columnTemplates) {
|
|
282
323
|
if (this._layer) {
|
|
283
|
-
await this._layer.when(
|
|
324
|
+
await this._layer.when(() => {
|
|
284
325
|
this._table = new this.FeatureTable({
|
|
285
326
|
autoRefreshEnabled: this.enableAutoRefresh,
|
|
286
327
|
layer: this._layer,
|
|
@@ -297,25 +338,25 @@ const LayerTable = class {
|
|
|
297
338
|
},
|
|
298
339
|
container: node
|
|
299
340
|
});
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
341
|
+
});
|
|
342
|
+
this._checkEditEnabled();
|
|
343
|
+
await this._table.when(() => {
|
|
344
|
+
this._table.highlightIds.on("change", () => {
|
|
345
|
+
this._selectedIndexes = this._table.highlightIds.toArray();
|
|
346
|
+
if (this._showOnlySelected) {
|
|
347
|
+
if (this._selectedIndexes.length > 0) {
|
|
348
|
+
this._table.filterBySelection();
|
|
349
|
+
}
|
|
350
|
+
else {
|
|
351
|
+
this._toggleShowSelected();
|
|
311
352
|
}
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
353
|
+
}
|
|
354
|
+
this.featureSelectionChange.emit(this._selectedIndexes);
|
|
355
|
+
});
|
|
356
|
+
this.reactiveUtils.watch(() => this._table.activeSortOrders, (sortOrders) => {
|
|
357
|
+
var _a, _b, _c, _d;
|
|
358
|
+
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") ||
|
|
359
|
+
((_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;
|
|
319
360
|
});
|
|
320
361
|
});
|
|
321
362
|
}
|
|
@@ -326,20 +367,30 @@ const LayerTable = class {
|
|
|
326
367
|
* @returns void
|
|
327
368
|
*/
|
|
328
369
|
async _resetTable() {
|
|
329
|
-
if (this.
|
|
370
|
+
if (this._table) {
|
|
330
371
|
this._clearSelection();
|
|
331
372
|
this._allIds = [];
|
|
332
373
|
this.featureSelectionChange.emit(this._selectedIndexes);
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
374
|
+
if (this._layer) {
|
|
375
|
+
await this._layer.when(() => {
|
|
376
|
+
const columnTemplates = this._getColumnTemplates(this._layer.id);
|
|
377
|
+
this._table.layer = this._layer;
|
|
378
|
+
this._table.tableTemplate.columnTemplates = columnTemplates;
|
|
379
|
+
this._table.view = this.mapView;
|
|
380
|
+
this._checkEditEnabled();
|
|
381
|
+
this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
|
|
382
|
+
});
|
|
383
|
+
await this._table.when(() => {
|
|
384
|
+
this._table.clearSelectionFilter();
|
|
385
|
+
});
|
|
386
|
+
this._showOnlySelected = false;
|
|
387
|
+
this._sortActive = false;
|
|
388
|
+
await this._sortTable();
|
|
389
|
+
}
|
|
390
|
+
else {
|
|
391
|
+
this._table.view = this.mapView;
|
|
392
|
+
this._table.layer = this._layer;
|
|
393
|
+
}
|
|
343
394
|
}
|
|
344
395
|
}
|
|
345
396
|
/**
|
|
@@ -360,11 +411,10 @@ const LayerTable = class {
|
|
|
360
411
|
if (this._table && this._layer && !this._sortActive) {
|
|
361
412
|
if (!this._tableSorting && this.showNewestFirst) {
|
|
362
413
|
this._tableSorting = true;
|
|
363
|
-
await this._table.when(
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
});
|
|
414
|
+
await this._table.when();
|
|
415
|
+
await this._layer.when(() => {
|
|
416
|
+
this._table.sortColumn(this._layer.objectIdField, "desc");
|
|
417
|
+
this._tableSorting = false;
|
|
368
418
|
});
|
|
369
419
|
}
|
|
370
420
|
}
|
|
@@ -562,11 +612,12 @@ const LayerTable = class {
|
|
|
562
612
|
* @returns a promise that will resolve when the operation is complete
|
|
563
613
|
*/
|
|
564
614
|
async _layerSelectionChanged(evt) {
|
|
615
|
+
var _a;
|
|
565
616
|
const id = evt.detail[0];
|
|
566
|
-
if (id !== this._layer.id || this._allIds.length === 0) {
|
|
617
|
+
if (id !== ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id) || this._allIds.length === 0) {
|
|
567
618
|
this._fetchingData = true;
|
|
568
619
|
const columnTemplates = this._getColumnTemplates(id);
|
|
569
|
-
this._layer = await
|
|
620
|
+
this._layer = await getLayerOrTable(this.mapView, id);
|
|
570
621
|
this._allIds = await queryAllIds(this._layer);
|
|
571
622
|
if (!this._table) {
|
|
572
623
|
await this._getTable(this._tableNode, columnTemplates);
|
|
@@ -628,10 +679,16 @@ const MapCard = class {
|
|
|
628
679
|
constructor(hostRef) {
|
|
629
680
|
registerInstance(this, hostRef);
|
|
630
681
|
this.mapChanged = createEvent(this, "mapChanged", 7);
|
|
682
|
+
this.beforeMapChanged = createEvent(this, "beforeMapChanged", 7);
|
|
631
683
|
/**
|
|
632
684
|
* string: the id of map currently displayed
|
|
633
685
|
*/
|
|
634
686
|
this._loadedId = "";
|
|
687
|
+
this.enableLegend = undefined;
|
|
688
|
+
this.enableFullscreen = undefined;
|
|
689
|
+
this.enableSearch = undefined;
|
|
690
|
+
this.enableBasemap = undefined;
|
|
691
|
+
this.basemapConfig = undefined;
|
|
635
692
|
this.mapInfos = [];
|
|
636
693
|
this.mapView = undefined;
|
|
637
694
|
this._searchConfiguration = undefined;
|
|
@@ -658,7 +715,7 @@ const MapCard = class {
|
|
|
658
715
|
* Renders the component.
|
|
659
716
|
*/
|
|
660
717
|
render() {
|
|
661
|
-
return (h(Host, null, h("map-picker", { mapInfos: this.mapInfos }), h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), h("map-tools", { class: "box-shadow", mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
|
|
718
|
+
return (h(Host, null, h("map-picker", { mapInfos: this.mapInfos }), h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), 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 })));
|
|
662
719
|
}
|
|
663
720
|
//--------------------------------------------------------------------------
|
|
664
721
|
//
|
|
@@ -708,16 +765,17 @@ const MapCard = class {
|
|
|
708
765
|
});
|
|
709
766
|
this._loadedId = id;
|
|
710
767
|
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
|
711
|
-
this.
|
|
712
|
-
id: id,
|
|
713
|
-
mapView: this.mapView
|
|
714
|
-
});
|
|
768
|
+
this.beforeMapChanged.emit();
|
|
715
769
|
await this.mapView.when(() => {
|
|
716
770
|
const home = new this.Home({
|
|
717
771
|
view: this.mapView
|
|
718
772
|
});
|
|
719
773
|
this.mapView.ui.add(home, { position: "top-left", index: 3 });
|
|
720
774
|
this.mapView.ui.add(this._mapTools, { position: "top-right", index: 0 });
|
|
775
|
+
this.mapChanged.emit({
|
|
776
|
+
id: id,
|
|
777
|
+
mapView: this.mapView
|
|
778
|
+
});
|
|
721
779
|
});
|
|
722
780
|
}
|
|
723
781
|
}
|
|
@@ -20,10 +20,18 @@ const CrowdsourceManager = class {
|
|
|
20
20
|
this._shouldSetMapView = false;
|
|
21
21
|
this.classicGrid = false;
|
|
22
22
|
this.enableAutoRefresh = true;
|
|
23
|
+
this.enableFullscreen = true;
|
|
23
24
|
this.enableInlineEdit = false;
|
|
25
|
+
this.enableLegend = true;
|
|
26
|
+
this.enableSearch = true;
|
|
27
|
+
this.enableHome = true;
|
|
28
|
+
this.enableZoom = true;
|
|
29
|
+
this.enableBasemap = true;
|
|
30
|
+
this.basemapConfig = undefined;
|
|
24
31
|
this.showNewestFirst = true;
|
|
25
32
|
this.hideMap = false;
|
|
26
33
|
this.mapInfos = [];
|
|
34
|
+
this.onlyShowUpdatableLayers = true;
|
|
27
35
|
this.searchConfiguration = undefined;
|
|
28
36
|
this.zoomAndScrollToSelected = false;
|
|
29
37
|
this._expandPopup = false;
|
|
@@ -58,13 +66,18 @@ const CrowdsourceManager = class {
|
|
|
58
66
|
*/
|
|
59
67
|
async mapChanged(evt) {
|
|
60
68
|
this._mapChange = evt.detail;
|
|
69
|
+
await this._mapChange.mapView.when(() => {
|
|
70
|
+
this._setMapView();
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Listen for beforeMapChanged and minimize the popup if it's expanded
|
|
75
|
+
*/
|
|
76
|
+
async beforeMapChanged() {
|
|
61
77
|
if (this._expandPopup) {
|
|
62
78
|
this._shouldSetMapView = true;
|
|
63
79
|
this._expandPopup = false;
|
|
64
80
|
}
|
|
65
|
-
else {
|
|
66
|
-
this._setMapView();
|
|
67
|
-
}
|
|
68
81
|
}
|
|
69
82
|
//--------------------------------------------------------------------------
|
|
70
83
|
//
|
|
@@ -223,7 +236,7 @@ const CrowdsourceManager = class {
|
|
|
223
236
|
const mapDisplayClass = this.classicGrid && layoutMode === ELayoutMode.GRID ? "display-flex height-full width-1-2" :
|
|
224
237
|
layoutMode === ELayoutMode.GRID && !hideMap ? "" : "display-none";
|
|
225
238
|
const mapContainerClass = this.classicGrid && layoutMode === ELayoutMode.GRID ? "width-full" : this._expandPopup ? "height-50-px" : "adjusted-height-50";
|
|
226
|
-
return (h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, h("map-card", { class: "width-full", mapInfos: this.mapInfos })));
|
|
239
|
+
return (h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapInfos: this.mapInfos })));
|
|
227
240
|
}
|
|
228
241
|
/**
|
|
229
242
|
* Get the expand node for the popup information
|
|
@@ -277,7 +290,7 @@ const CrowdsourceManager = class {
|
|
|
277
290
|
const toggleSlot = this.classicGrid && layoutMode !== ELayoutMode.VERTICAL ? "footer" :
|
|
278
291
|
this.classicGrid && layoutMode === ELayoutMode.VERTICAL ? "panel-end" :
|
|
279
292
|
layoutMode === ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
|
280
|
-
return (h("calcite-shell", { class: tableSizeClass + " border-bottom" }, h("calcite-action-bar", { class: "border", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip))), h("div", { class: "width-full height-full position-relative" }, 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 }))));
|
|
293
|
+
return (h("calcite-shell", { class: tableSizeClass + " border-bottom" }, h("calcite-action-bar", { class: "border", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip))), h("div", { class: "width-full height-full position-relative" }, 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 }))));
|
|
281
294
|
}
|
|
282
295
|
/**
|
|
283
296
|
* Open/Close the appropriate panel.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { c as createCommonjsModule, g as getDefaultExportFromCjs } from './_commonjsHelpers-d5f9d613.js';
|
|
7
7
|
import { a as getAssetPath } from './index-c7de2486.js';
|
|
8
8
|
import { l as loadModules } from './loadModules-2880c7e3.js';
|
|
9
|
-
import { q as queryFeaturesByID } from './mapViewUtils-
|
|
9
|
+
import { q as queryFeaturesByID } from './mapViewUtils-8141d8c1.js';
|
|
10
10
|
import { _ as __assign$1, r as request, c as cleanUrl } from './clean-url-bce022e6.js';
|
|
11
11
|
|
|
12
12
|
/** @license
|
|
@@ -1506,7 +1506,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
|
|
|
1506
1506
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
1507
1507
|
* ====================================================================
|
|
1508
1508
|
*/
|
|
1509
|
-
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-
|
|
1509
|
+
function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):import('./index.es-f553598f.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
1510
|
/** ====================================================================
|
|
1511
1511
|
* @license
|
|
1512
1512
|
* jsPDF XMP metadata plugin
|
|
@@ -14,6 +14,7 @@ const EditCard = class {
|
|
|
14
14
|
constructor(hostRef) {
|
|
15
15
|
registerInstance(this, hostRef);
|
|
16
16
|
this.closeEdit = createEvent(this, "closeEdit", 7);
|
|
17
|
+
this.editsComplete = createEvent(this, "editsComplete", 7);
|
|
17
18
|
/**
|
|
18
19
|
* boolean: When true the Editor widget should be closed
|
|
19
20
|
*/
|
|
@@ -76,6 +77,10 @@ const EditCard = class {
|
|
|
76
77
|
}
|
|
77
78
|
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)) {
|
|
78
79
|
this._layer = this.graphics[0].layer;
|
|
80
|
+
if (this._layerEditHandle) {
|
|
81
|
+
this._layerEditHandle.remove();
|
|
82
|
+
}
|
|
83
|
+
this._layerEditHandle = this._layer.on("edits", () => this.editsComplete.emit());
|
|
79
84
|
}
|
|
80
85
|
}
|
|
81
86
|
/**
|