@esri/solutions-components 0.6.13 → 0.6.14
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
/**
|