@esri/solutions-components 0.10.41 → 0.10.43
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/calcite-action-pad_2.cjs.entry.js +1 -1
- package/dist/cjs/calcite-block_5.cjs.entry.js +25 -26
- package/dist/cjs/card-manager_3.cjs.entry.js +11 -12
- package/dist/cjs/{constants-51cf394f.js → constants-bed33322.js} +3 -11
- package/dist/cjs/crowdsource-manager.cjs.entry.js +4 -3
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +114 -52
- package/dist/cjs/{helpers-afcac967.js → helpers-0493759d.js} +1 -1
- package/dist/cjs/instant-apps-app-guide.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-ckeditor-wrapper_3.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-control-panel.cjs.entry.js +1 -1
- package/dist/cjs/instant-apps-create.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-export-views.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-export.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend-classic.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend-count_2.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element-caption.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-interactive-legend-group-legend-element_5.cjs.entry.js +21 -7
- package/dist/cjs/instant-apps-interactive-legend.cjs.entry.js +3 -3
- package/dist/cjs/instant-apps-keyboard-shortcuts.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-language-switcher.cjs.entry.js +7 -7
- package/dist/cjs/instant-apps-language-translator.cjs.entry.js +6 -6
- package/dist/cjs/instant-apps-measurement.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-popover.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-scoreboard.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-sign-in.cjs.entry.js +2 -2
- package/dist/cjs/instant-apps-splash.cjs.entry.js +6 -5
- package/dist/cjs/instant-apps-time-filter.cjs.entry.js +2 -2
- package/dist/cjs/{loadModules-8567855e.js → loadModules-df8b13ca.js} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-4a18a858.js → locale-4b820602.js} +1 -1
- package/dist/cjs/solution-contents_3.cjs.entry.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/cjs/{utils-fa7ad44b.js → utils-3f10ea6b.js} +2 -2
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +4 -3
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +114 -52
- package/dist/collection/components/layer-table/layer-table.js +14 -11
- package/dist/collection/components/map-card/map-card.js +9 -5
- package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +2 -2
- package/dist/components/crowdsource-manager.js +4 -3
- package/dist/components/crowdsource-reporter.js +114 -52
- package/dist/components/instant-apps-filter-list2.js +25 -26
- package/dist/components/instant-apps-interactive-legend-relationship2.js +19 -5
- package/dist/components/instant-apps-language-switcher.js +3 -3
- package/dist/components/instant-apps-language-translator2.js +4 -12
- package/dist/components/instant-apps-splash.js +4 -3
- package/dist/components/layer-table2.js +8 -9
- package/dist/components/loadModules2.js +1 -1
- package/dist/components/map-card2.js +3 -3
- package/dist/components/solution-spatial-ref2.js +2 -2
- package/dist/components/utils4.js +1 -1
- package/dist/esm/calcite-action-pad_2.entry.js +1 -1
- package/dist/esm/calcite-block_5.entry.js +25 -26
- package/dist/esm/card-manager_3.entry.js +11 -12
- package/dist/esm/{constants-886c7c2c.js → constants-637a40f5.js} +3 -11
- package/dist/esm/crowdsource-manager.entry.js +4 -3
- package/dist/esm/crowdsource-reporter.entry.js +114 -52
- package/dist/esm/{helpers-91087955.js → helpers-91ca0f44.js} +1 -1
- package/dist/esm/instant-apps-app-guide.entry.js +2 -2
- package/dist/esm/instant-apps-ckeditor-wrapper_3.entry.js +3 -3
- package/dist/esm/instant-apps-control-panel.entry.js +1 -1
- package/dist/esm/instant-apps-create.entry.js +2 -2
- package/dist/esm/instant-apps-export-views.entry.js +2 -2
- package/dist/esm/instant-apps-export.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend-classic.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend-count_2.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend-group-legend-element-caption.entry.js +2 -2
- package/dist/esm/instant-apps-interactive-legend-group-legend-element_5.entry.js +21 -7
- package/dist/esm/instant-apps-interactive-legend.entry.js +3 -3
- package/dist/esm/instant-apps-keyboard-shortcuts.entry.js +2 -2
- package/dist/esm/instant-apps-language-switcher.entry.js +7 -7
- package/dist/esm/instant-apps-language-translator.entry.js +6 -6
- package/dist/esm/instant-apps-measurement.entry.js +2 -2
- package/dist/esm/instant-apps-popover.entry.js +2 -2
- package/dist/esm/instant-apps-scoreboard.entry.js +2 -2
- package/dist/esm/instant-apps-sign-in.entry.js +2 -2
- package/dist/esm/instant-apps-splash.entry.js +6 -5
- package/dist/esm/instant-apps-time-filter.entry.js +2 -2
- package/dist/esm/{loadModules-03ba7abe.js → loadModules-d5a25252.js} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-ce177eb8.js → locale-77038bee.js} +1 -1
- package/dist/esm/solution-contents_3.entry.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/{utils-3fc29543.js → utils-0a78d3c9.js} +2 -2
- package/dist/node_modules/@esri/instant-apps-components/dist/collection/components/instant-apps-splash/instant-apps-splash.css +7 -0
- package/dist/solutions-components/{p-b739f26d.entry.js → p-053effee.entry.js} +1 -1
- package/dist/solutions-components/{p-af573e0d.js → p-09543b4e.js} +1 -1
- package/dist/solutions-components/p-1b1ff60a.entry.js +6 -0
- package/dist/solutions-components/{p-e4107150.entry.js → p-2291bf3f.entry.js} +1 -1
- package/dist/solutions-components/p-2cf41651.entry.js +6 -0
- package/dist/solutions-components/{p-fe3aea1a.entry.js → p-351c7cbf.entry.js} +1 -1
- package/dist/solutions-components/{p-90fc786f.entry.js → p-3d999f0f.entry.js} +1 -1
- package/dist/solutions-components/p-3fe6c230.entry.js +6 -0
- package/dist/solutions-components/p-4695cfab.js +6 -0
- package/dist/solutions-components/{p-43699470.entry.js → p-499489c5.entry.js} +1 -1
- package/dist/solutions-components/{p-5ff711ee.js → p-5104cc98.js} +1 -1
- package/dist/solutions-components/p-5e694bcc.entry.js +29 -0
- package/dist/solutions-components/{p-cbb86cf2.entry.js → p-6a3f2249.entry.js} +1 -1
- package/dist/solutions-components/{p-a7f56b28.entry.js → p-6e5ea1cb.entry.js} +1 -1
- package/dist/solutions-components/{p-9c170b30.entry.js → p-76a1236d.entry.js} +1 -1
- package/dist/solutions-components/{p-1e14b3d0.entry.js → p-78b6d3fe.entry.js} +1 -1
- package/dist/solutions-components/{p-c48be45f.entry.js → p-8a1a0f9b.entry.js} +1 -1
- package/dist/solutions-components/{p-6d1922cc.entry.js → p-8b92fe23.entry.js} +1 -1
- package/dist/solutions-components/{p-5cbf3eed.entry.js → p-8d4a4498.entry.js} +1 -1
- package/dist/solutions-components/{p-4a02fd45.entry.js → p-9d9e0e74.entry.js} +1 -1
- package/dist/solutions-components/p-a1d8aed8.entry.js +6 -0
- package/dist/solutions-components/{p-50fb7f47.js → p-b49e1a78.js} +1 -1
- package/dist/solutions-components/{p-c551ffc5.entry.js → p-c399f2b8.entry.js} +1 -1
- package/dist/solutions-components/p-cb27611e.entry.js +6 -0
- package/dist/solutions-components/{p-4cd4cb85.js → p-d001e961.js} +1 -1
- package/dist/solutions-components/{p-523dcf4b.entry.js → p-d37a68f7.entry.js} +1 -1
- package/dist/solutions-components/{p-a2cf9fdc.entry.js → p-db7d5db8.entry.js} +1 -1
- package/dist/solutions-components/{p-6438d1ea.entry.js → p-e29e57db.entry.js} +1 -1
- package/dist/solutions-components/{p-a5b751e2.entry.js → p-e625aa69.entry.js} +1 -1
- package/dist/solutions-components/{p-2542d5c9.entry.js → p-e9fcc194.entry.js} +1 -1
- package/dist/solutions-components/{p-374ddead.entry.js → p-f4880179.entry.js} +1 -1
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +44 -18
- package/dist/types/components/layer-table/layer-table.d.ts +2 -2
- package/dist/types/components/map-card/map-card.d.ts +1 -1
- package/dist/types/components.d.ts +2 -2
- package/package.json +7 -7
- package/dist/solutions-components/p-3fc18283.entry.js +0 -6
- package/dist/solutions-components/p-5585dcd3.entry.js +0 -6
- package/dist/solutions-components/p-953afbb3.entry.js +0 -29
- package/dist/solutions-components/p-cced387c.entry.js +0 -6
- package/dist/solutions-components/p-ceb1030b.js +0 -6
- package/dist/solutions-components/p-e9026f9a.entry.js +0 -6
- package/dist/solutions-components/p-f728af86.entry.js +0 -6
@@ -15,7 +15,7 @@ const locale = require('./locale-da840314.js');
|
|
15
15
|
const t9n = require('./t9n-ed5c03a7.js');
|
16
16
|
const ExpandToggle = require('./ExpandToggle-2cdd9a8e.js');
|
17
17
|
const observers = require('./observers-18d87cb5.js');
|
18
|
-
const loadModules = require('./loadModules-
|
18
|
+
const loadModules = require('./loadModules-df8b13ca.js');
|
19
19
|
require('./guid-e84a8375.js');
|
20
20
|
require('./resources-18f799c7.js');
|
21
21
|
require('./browser-333a21c5.js');
|
@@ -27,8 +27,8 @@ const guid = require('./guid-e84a8375.js');
|
|
27
27
|
const component = require('./component-5d190962.js');
|
28
28
|
const Validation = require('./Validation-55fc2417.js');
|
29
29
|
const input = require('./input-8c28213d.js');
|
30
|
-
const loadModules = require('./loadModules-
|
31
|
-
const locale$1 = require('./locale-
|
30
|
+
const loadModules = require('./loadModules-df8b13ca.js');
|
31
|
+
const locale$1 = require('./locale-4b820602.js');
|
32
32
|
const mode = require('./mode-3478ba36.js');
|
33
33
|
require('./observers-18d87cb5.js');
|
34
34
|
require('./resources-18f799c7.js');
|
@@ -1538,7 +1538,6 @@ const InstantAppsFilterList = class {
|
|
1538
1538
|
this.filterLayerExpressions = undefined;
|
1539
1539
|
this.messages = undefined;
|
1540
1540
|
this.baseClass = baseClassLight;
|
1541
|
-
this.disabled = true;
|
1542
1541
|
this.initDefExpressions = undefined;
|
1543
1542
|
this.initMapImageExpressions = undefined;
|
1544
1543
|
this.initPointCloudFilters = undefined;
|
@@ -1559,31 +1558,27 @@ const InstantAppsFilterList = class {
|
|
1559
1558
|
});
|
1560
1559
|
}
|
1561
1560
|
forceReset() {
|
1562
|
-
this.
|
1563
|
-
return
|
1561
|
+
this.resetExpressions();
|
1562
|
+
return Promise.resolve();
|
1564
1563
|
}
|
1565
|
-
|
1566
|
-
this.filterLayerExpressions = structuredClone(this.layerExpressions);
|
1564
|
+
updateInitDefExpressions(filterInitState) {
|
1567
1565
|
this.initDefExpressions = filterInitState.initDefExpressions;
|
1568
1566
|
this.initMapImageExpressions = filterInitState.initMapImageExpressions;
|
1569
1567
|
this.initPointCloudFilters = filterInitState.initPointCloudFilters;
|
1570
|
-
|
1571
|
-
|
1572
|
-
|
1573
|
-
|
1574
|
-
return
|
1568
|
+
return Promise.resolve();
|
1569
|
+
}
|
1570
|
+
getCurrentLayerExpressions() {
|
1571
|
+
const currentLayerExpressions = structuredClone(this.filterLayerExpressions);
|
1572
|
+
return Promise.resolve(currentLayerExpressions);
|
1575
1573
|
}
|
1576
1574
|
connectedCallback() {
|
1577
|
-
var _a;
|
1578
1575
|
if (this.layerExpressions == null && this.view == null)
|
1579
1576
|
return;
|
1580
1577
|
this.isLayerExpUpdated = true;
|
1581
1578
|
this.filterLayerExpressions = structuredClone(this.layerExpressions);
|
1582
|
-
this.disabled = ((_a = this.filterLayerExpressions) === null || _a === void 0 ? void 0 : _a.length) ? undefined : true;
|
1583
1579
|
this.handleLayerExpressionsUpdate();
|
1584
1580
|
}
|
1585
1581
|
async componentWillLoad() {
|
1586
|
-
var _a;
|
1587
1582
|
this.baseClass = mode.getMode(this.el) === 'dark' ? baseClassDark : baseClassLight;
|
1588
1583
|
await this.initializeModules();
|
1589
1584
|
locale$1.getMessages(this);
|
@@ -1591,14 +1586,15 @@ const InstantAppsFilterList = class {
|
|
1591
1586
|
return;
|
1592
1587
|
this.isLayerExpUpdated = true;
|
1593
1588
|
this.filterLayerExpressions = this.layerExpressions != null ? structuredClone(this.layerExpressions) : [];
|
1594
|
-
this.disabled = ((_a = this.filterLayerExpressions) === null || _a === void 0 ? void 0 : _a.length) ? undefined : true;
|
1595
1589
|
if (this.view == null)
|
1596
1590
|
return;
|
1597
1591
|
this.handleLayerExpressionsUpdate();
|
1598
1592
|
}
|
1599
|
-
|
1593
|
+
componentDidRender() {
|
1600
1594
|
var _a;
|
1601
|
-
|
1595
|
+
if (this.resetBtnEl != null) {
|
1596
|
+
this.resetBtnEl.disabled = ((_a = this.filterLayerExpressions) === null || _a === void 0 ? void 0 : _a.length) > 0 ? false : true;
|
1597
|
+
}
|
1602
1598
|
}
|
1603
1599
|
disconnectedCallback() {
|
1604
1600
|
if (this.resetFiltersOnDisconnect) {
|
@@ -1616,7 +1612,7 @@ const InstantAppsFilterList = class {
|
|
1616
1612
|
render() {
|
1617
1613
|
const filterConfig = this.loading ? this.renderLoading() : this.initFilterConfig();
|
1618
1614
|
const footer = this.renderFooter();
|
1619
|
-
return (index.h(index.Host, { key: '
|
1615
|
+
return (index.h(index.Host, { key: '92daa28c3cada3360d3b3d4202f54842e2e42923' }, index.h("calcite-panel", { key: '43ed17c41f1c42dcb25a19423e1638885a4ca64b', class: this.baseClass, ref: el => (this.panelEl = el) }, index.h("slot", { key: 'df4bc6bdf21127e781f930cf476af2a5d8199c87', slot: "header-content", name: "filter-header-content" }), index.h("slot", { key: 'c2e6744535fb85e40ddd4de215f693258bf31e87', slot: "header-actions-end", name: "filter-header-actions-end" }), index.h("div", { key: "filter-container", class: CSS$1.filterContainer }, filterConfig, footer))));
|
1620
1616
|
}
|
1621
1617
|
renderLoading() {
|
1622
1618
|
return index.h("calcite-loader", { label: "Loading filters..." });
|
@@ -1689,7 +1685,7 @@ const InstantAppsFilterList = class {
|
|
1689
1685
|
var _a, _b, _c;
|
1690
1686
|
const closeText = this.closeBtnText != null ? this.closeBtnText : (_a = this.messages) === null || _a === void 0 ? void 0 : _a.close;
|
1691
1687
|
const btnWidth = this.closeBtn && this.resetBtn ? 'half' : 'full';
|
1692
|
-
return (index.h("div", { class: CSS$1.footer, slot: "footer" }, this.resetBtn ? (index.h("calcite-button", { appearance: "outline", width: btnWidth,
|
1688
|
+
return (index.h("div", { class: CSS$1.footer, slot: "footer" }, this.resetBtn ? (index.h("calcite-button", { appearance: "outline", width: btnWidth, ref: (el) => (this.resetBtnEl = el), onClick: this.handleResetFilter.bind(this) }, (_b = this.messages) === null || _b === void 0 ? void 0 : _b.resetFilter)) : undefined, this.closeBtn ? (index.h("calcite-button", { appearance: "solid", width: btnWidth, kind: "brand", onClick: (_c = this.closeBtnOnClick) === null || _c === void 0 ? void 0 : _c.bind(this) }, closeText)) : undefined));
|
1693
1689
|
}
|
1694
1690
|
renderZoomTo(layerExpression) {
|
1695
1691
|
var _a;
|
@@ -1720,23 +1716,29 @@ const InstantAppsFilterList = class {
|
|
1720
1716
|
}
|
1721
1717
|
async initExpressions() {
|
1722
1718
|
this.loading = true;
|
1723
|
-
if (this.filterLayerExpressions == null || this.view == null)
|
1719
|
+
if (this.filterLayerExpressions == null || this.view == null) {
|
1720
|
+
this.loading = false;
|
1724
1721
|
return;
|
1722
|
+
}
|
1725
1723
|
await this.processExpressions();
|
1726
1724
|
this.loading = false;
|
1727
1725
|
}
|
1728
1726
|
async processExpressions() {
|
1729
|
-
var _a;
|
1730
1727
|
if (!this.filterLayerExpressions)
|
1731
1728
|
return;
|
1732
1729
|
for (const layerExpression of this.filterLayerExpressions) {
|
1733
1730
|
for (const expression of layerExpression.expressions || []) {
|
1734
|
-
expression.active = (_a = expression.active) !== null && _a !== void 0 ? _a : expression.definitionExpression != null;
|
1735
1731
|
await this.setInitExpression(layerExpression, expression);
|
1736
1732
|
}
|
1737
1733
|
}
|
1738
1734
|
}
|
1739
1735
|
handleResetFilter() {
|
1736
|
+
this.resetExpressions();
|
1737
|
+
this.resetAllFilters();
|
1738
|
+
this.generateURLParams();
|
1739
|
+
this.filterListReset.emit();
|
1740
|
+
}
|
1741
|
+
resetExpressions() {
|
1740
1742
|
var _a;
|
1741
1743
|
(_a = this.filterLayerExpressions) === null || _a === void 0 ? void 0 : _a.forEach(layerExpression => {
|
1742
1744
|
var _a;
|
@@ -1764,9 +1766,6 @@ const InstantAppsFilterList = class {
|
|
1764
1766
|
expression.active = false;
|
1765
1767
|
});
|
1766
1768
|
});
|
1767
|
-
this.resetAllFilters();
|
1768
|
-
this.generateURLParams();
|
1769
|
-
this.filterListReset.emit();
|
1770
1769
|
}
|
1771
1770
|
resetExpressionUI(type, expression) {
|
1772
1771
|
const { id } = expression;
|
@@ -588,8 +588,8 @@ const LayerTable = class {
|
|
588
588
|
/**
|
589
589
|
* Updates the filter
|
590
590
|
*/
|
591
|
-
async filterUpdate() {
|
592
|
-
await this._handleFilterUpdate();
|
591
|
+
async filterUpdate(active) {
|
592
|
+
await this._handleFilterUpdate(active);
|
593
593
|
}
|
594
594
|
/**
|
595
595
|
* Closes the filter
|
@@ -731,10 +731,10 @@ const LayerTable = class {
|
|
731
731
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
732
732
|
const showSearch = this._canShowFullTextSearch();
|
733
733
|
this._validateActiveActions();
|
734
|
-
return (index.h(index.Host, { key: '
|
735
|
-
index.h("div", { key: '
|
734
|
+
return (index.h(index.Host, { key: 'f56462fd5d5afa71052cf2557069bb2fee15aaeb' }, index.h("calcite-shell", { key: '92ccfa2235269aad6da5f918f79ec8ae100e99ca' }, this._getTableControlRow("header"), index.h("div", { key: 'e5b8fe5e4236e1a7b7e9d31ad784d9bb52a6918d', class: `width-full ${tableHeightClass}` }, index.h("calcite-panel", { key: 'eca933d832e5b6efddb025211c253bf09e41ab22', class: "height-full width-full" }, showSearch &&
|
735
|
+
index.h("div", { key: 'e819896c4264db3ee95d10194b67da65997b541d', class: "search-container" }, index.h("calcite-input", { key: 'e979c7962205caf072057332280b9e04ecd233c4', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), index.h("calcite-loader", { key: 'ee715472a4f819dd1e9328e75022439e9bba1334', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), index.h("div", { key: '8085821dea31de1fcbb1119e5791c0dea744e470', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (index.h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
736
736
|
.replace("{{total}}", total)
|
737
|
-
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), index.h("delete-dialog", { key: '
|
737
|
+
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), index.h("delete-dialog", { key: '20c9a06c3f0d44433d9442755d25658c249e102c', id: "deleteDialogId", ids: this._getIds(), layer: this._layer, locale: this.locale, onDeleteDialogClose: () => this._deleteDialogOpen = false, open: this._deleteDialogOpen, ref: (el) => this._deleteDialog = el })));
|
738
738
|
}
|
739
739
|
_deleteDialog;
|
740
740
|
/**
|
@@ -1779,7 +1779,7 @@ const LayerTable = class {
|
|
1779
1779
|
* @protected
|
1780
1780
|
*/
|
1781
1781
|
_filterModal() {
|
1782
|
-
return (index.h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: () => void this._closeFilter(), open: this._filterOpen, widthScale: "s" }, index.h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, this._translations?.filter?.replace("{{title}}", this._layer?.title)), index.h("div", { slot: "content" }, index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: () => void this._handleFilterListReset(), onFilterUpdate: () => void this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView, zoomBtn: false }))));
|
1782
|
+
return (index.h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: () => void this._closeFilter(), open: this._filterOpen, widthScale: "s" }, index.h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, this._translations?.filter?.replace("{{title}}", this._layer?.title)), index.h("div", { slot: "content" }, index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: () => void this._handleFilterListReset(), onFilterUpdate: () => void this._handleFilterUpdate(this._filterList.filterCount > 0), ref: (el) => this._filterList = el, view: this.mapView, zoomBtn: false }))));
|
1783
1783
|
}
|
1784
1784
|
/**
|
1785
1785
|
* Reset the filter active prop
|
@@ -1794,7 +1794,7 @@ const LayerTable = class {
|
|
1794
1794
|
* Check if the layers definitionExpression has been modified
|
1795
1795
|
* @protected
|
1796
1796
|
*/
|
1797
|
-
async _handleFilterUpdate() {
|
1797
|
+
async _handleFilterUpdate(active) {
|
1798
1798
|
const defExp = this._layer.definitionExpression;
|
1799
1799
|
if (this._floorExpression) {
|
1800
1800
|
const regEx = new RegExp(`${this._floorField} = ['].+[']`, "gm");
|
@@ -1802,8 +1802,7 @@ const LayerTable = class {
|
|
1802
1802
|
defExp.replace(regEx, this._floorExpression) : defExp ?
|
1803
1803
|
`${defExp} AND (${this._floorExpression})` : this._floorExpression;
|
1804
1804
|
}
|
1805
|
-
this._filterActive =
|
1806
|
-
(this._floorExpression ? this._layer.definitionExpression !== this._floorExpression : true);
|
1805
|
+
this._filterActive = active;
|
1807
1806
|
this._updateShareUrl();
|
1808
1807
|
await this._searchFullText();
|
1809
1808
|
}
|
@@ -2392,8 +2391,8 @@ const MapCard = class {
|
|
2392
2391
|
/**
|
2393
2392
|
* updates the filter
|
2394
2393
|
*/
|
2395
|
-
async updateFilterState() {
|
2396
|
-
this._filterActive =
|
2394
|
+
async updateFilterState(active) {
|
2395
|
+
this._filterActive = active;
|
2397
2396
|
this._updateShareUrl();
|
2398
2397
|
}
|
2399
2398
|
/**
|
@@ -2470,7 +2469,7 @@ const MapCard = class {
|
|
2470
2469
|
const mapHeightClass = this.mapInfos?.length > 1 || this.isMapLayout ? "map-height" : "height-full";
|
2471
2470
|
const progressClass = this.isMapLayout ? "" : "display-none";
|
2472
2471
|
this._validateActiveActions();
|
2473
|
-
return (index.h(index.Host, { key: '
|
2472
|
+
return (index.h(index.Host, { key: '525ee5ce855cf5aa4f8c50e7e88be6c6236046ac' }, index.h("div", { key: '899898ee0b2ba9048ed24716a339c94d3106a52e', class: `${mapContainerClass} width-full`, ref: (el) => this._toolbar = el }, this._getActionBar(), !this.isMobile && this.isMapLayout && this._getDropdown("more-table-options"), this.enableShare && !this.isMobile && this.isMapLayout ? this._getShare("share") : undefined), index.h("calcite-progress", { key: '896569eb6cf65f45cbebb4b36f5b01ada5ed1092', class: progressClass, value: 0 }), index.h("div", { key: '79cac798541783bdc74e4b13f9df4d7564eb99f4', class: `${mapHeightClass} ${mapClass}`, ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { key: '730d48c4ce98af3872bfa6c486e8749e18c24477', basemapConfig: this.basemapConfig, class: `box-shadow ${themeClass}`, enableBasemap: this.enableBasemap, enableFloorFilter: this.enableFloorFilter, enableFullscreen: this.enableFullscreen, enableHome: this.enableHome, enableLegend: this.enableLegend, enableSearch: this.enableSearch, enableSingleExpand: this.enableSingleExpand, homeZoomToolsSize: this.homeZoomToolsSize, locale: this.locale, mapView: this.mapView, mapWidgetsSize: this.mapWidgetsSize, position: this.mapWidgetsPosition, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration, stackTools: this.stackTools, toolOrder: this.toolOrder })));
|
2474
2473
|
}
|
2475
2474
|
/**
|
2476
2475
|
* Called each time after the component is loaded
|
@@ -5,19 +5,11 @@
|
|
5
5
|
*/
|
6
6
|
'use strict';
|
7
7
|
|
8
|
-
const loadModules = require('./loadModules-
|
8
|
+
const loadModules = require('./loadModules-df8b13ca.js');
|
9
9
|
|
10
|
-
async function fetchResourceData(
|
11
|
-
var _a, _b, _c;
|
10
|
+
async function fetchResourceData(resource) {
|
12
11
|
try {
|
13
|
-
const
|
14
|
-
const reqConfig = { responseType: 'json' };
|
15
|
-
if (token)
|
16
|
-
reqConfig.query = { token };
|
17
|
-
var cacheBuster = 'cacheBuster=' + Date.now();
|
18
|
-
const url = `${resource.url}?${cacheBuster}`;
|
19
|
-
const reqRes = await request(url, reqConfig);
|
20
|
-
const t9nData = reqRes.data;
|
12
|
+
const t9nData = await resource.fetch('json', { cacheBust: true });
|
21
13
|
return Promise.resolve(t9nData);
|
22
14
|
}
|
23
15
|
catch (err) {
|
@@ -536,9 +536,10 @@ const CrowdsourceManager = class {
|
|
536
536
|
return (index.h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: () => void this._closeFilter(), open: this._filterOpen, widthScale: "s" }, index.h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, this._translations?.filter?.replace("{{title}}", this._layer?.title)), index.h("div", { slot: "content" }, index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: this._layerExpressions, onFilterListReset: () => {
|
537
537
|
this._handleFilterListReset();
|
538
538
|
void this._mapCard.resetFilter();
|
539
|
-
}, onFilterUpdate: () => {
|
540
|
-
|
541
|
-
|
539
|
+
}, onFilterUpdate: async () => {
|
540
|
+
const active = this._filterList.filterCount > 0;
|
541
|
+
await this._layerTable?.filterUpdate(active);
|
542
|
+
await this._mapCard.updateFilterState(active);
|
542
543
|
}, ref: (el) => this._filterList = el, view: this._mapView, zoomBtn: false }))));
|
543
544
|
}
|
544
545
|
/**
|
@@ -204,17 +204,17 @@ const CrowdsourceReporter = class {
|
|
204
204
|
*/
|
205
205
|
_formElements = [];
|
206
206
|
/**
|
207
|
-
* string
|
207
|
+
* string: Previous selected layer id
|
208
208
|
*/
|
209
|
-
|
209
|
+
_prevSelectedLayerId;
|
210
210
|
/**
|
211
|
-
*
|
211
|
+
* ILayerExpression[]: current LayerExpressions based on the selected layer
|
212
212
|
*/
|
213
|
-
|
213
|
+
_currentLayerExpressions;
|
214
214
|
/**
|
215
|
-
* string:
|
215
|
+
* { [key: string]: string }: definitionExpressions for each layer
|
216
216
|
*/
|
217
|
-
|
217
|
+
_initDefExpressions;
|
218
218
|
//--------------------------------------------------------------------------
|
219
219
|
//
|
220
220
|
// Watch handlers
|
@@ -239,6 +239,7 @@ const CrowdsourceReporter = class {
|
|
239
239
|
*/
|
240
240
|
async mapViewWatchHandler() {
|
241
241
|
await this.mapView.when(async () => {
|
242
|
+
this.setInitExpressions();
|
242
243
|
await this.setMapView();
|
243
244
|
});
|
244
245
|
}
|
@@ -317,15 +318,25 @@ const CrowdsourceReporter = class {
|
|
317
318
|
this._layers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
|
318
319
|
return this.reportingOptions[layerId].visible;
|
319
320
|
}) : [];
|
321
|
+
this.setInitExpressions();
|
320
322
|
await this.setMapView();
|
321
323
|
});
|
322
324
|
}
|
325
|
+
/**
|
326
|
+
* StencilJS: Called before every render().
|
327
|
+
* Update the filter list's initial definition expressions when the filter list component is available
|
328
|
+
*/
|
329
|
+
componentWillRender() {
|
330
|
+
if (this._flowItems.includes('filter-panel')) {
|
331
|
+
void this._filterList?.updateInitDefExpressions({ initDefExpressions: this._initDefExpressions });
|
332
|
+
}
|
333
|
+
}
|
323
334
|
/**
|
324
335
|
* Renders the component.
|
325
336
|
*/
|
326
337
|
render() {
|
327
338
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
328
|
-
return (index.h(index.Host, { key: '
|
339
|
+
return (index.h(index.Host, { key: 'f1dd6d85210210a73fff30a5d98370da1834be7b' }, this._reportSubmitted && index.h("calcite-alert", { key: 'b84760fcbf4bfcf0f038be272f74eda97ce17bd9', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, index.h("div", { key: '27aa04dd8575ad27898f7848bc2733a03a33e70f', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && index.h("calcite-alert", { key: '3fc2721bed573ad10bbb1c81af126e2e8ca90b12', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, index.h("div", { key: '4993e5c5b52d650b094c2890d0e4516cc87ffb69', slot: "title" }, this._translations.error), index.h("div", { key: '272b17f4c0239d8b295d6f2c0c02f1ba236d840d', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && index.h("calcite-alert", { key: '5b9e1a2bd129888ec0764ad9b05e5056653d3c33', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, index.h("div", { key: 'bd428297f5fe85cbf7edc42c61c64c299d7954b7', slot: "message" }, this.commentSubmittedMessage || this._translations.commentSubmittedMsg)), this._addingCommentFailed && index.h("calcite-alert", { key: '2aa1927ca27f9ec15a16f8e68905a1cf203ef833', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, index.h("div", { key: '4bff5fb03586edf0f9ea21649d1de4c34034e539', slot: "title" }, this._translations.error), index.h("div", { key: '7ea6c71dbbac15c2f43242ba00c9e461177051a1', slot: "message" }, this._translations.addingCommentFailedMsg)), index.h("div", { key: '3aa6bfc19a1e82ab90d2ab42aa9a577b3a2b6d8f' }, index.h("calcite-shell", { key: 'f27355d4f655c0a0931158f38f0be3eb28f6c4d4', "content-behind": true }, this._getReporter()))));
|
329
340
|
}
|
330
341
|
//--------------------------------------------------------------------------
|
331
342
|
//
|
@@ -389,7 +400,6 @@ const CrowdsourceReporter = class {
|
|
389
400
|
break;
|
390
401
|
case "filter-panel":
|
391
402
|
renderLists.push(this.getFilterPanel());
|
392
|
-
void this._restoreFilters();
|
393
403
|
break;
|
394
404
|
case "feature-details":
|
395
405
|
renderLists.push(this.getFeatureDetailsFlowItem());
|
@@ -436,20 +446,6 @@ const CrowdsourceReporter = class {
|
|
436
446
|
return (index.h("calcite-popover", { autoClose: true, label: "", offsetDistance: 0, placement: this.isMobile ? "leading-start" : "bottom-start", pointerDisabled: true, referenceElement: "sort-popover" }, index.h("calcite-list", { "selection-mode": "single" }, index.h("calcite-list-item", { label: this._translations.sortNewest, onCalciteListItemSelect: () => { void this.sortOptionClick(this._selectedLayer.objectIdField, "desc", "sortNewest"); }, selected: this._updatedSortOption === "sortNewest", value: "sortNewest" }), index.h("calcite-list-item", { label: this._translations.sortOldest, onCalciteListItemSelect: () => { void this.sortOptionClick(this._selectedLayer.objectIdField, "asc", "sortOldest"); }, selected: this._updatedSortOption === "sortOldest", value: "sortOldest" }), canSortByVotes &&
|
437
447
|
index.h(index.Fragment, null, index.h("calcite-list-item", { label: this._translations.sortHighestVoted, onCalciteListItemSelect: () => { void this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField, "desc", "sortHighestVoted"); }, selected: this._updatedSortOption === "sortHighestVoted", value: "sortHighestVoted" }), index.h("calcite-list-item", { label: this._translations.sortLowestVoted, onCalciteListItemSelect: () => { void this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField, "asc", "sortLowestVoted"); }, selected: this._updatedSortOption === "sortLowestVoted", value: "sortLowestVoted" })))));
|
438
448
|
}
|
439
|
-
/**
|
440
|
-
* Restores the applied filters
|
441
|
-
* @protected
|
442
|
-
*/
|
443
|
-
_restoreFilters() {
|
444
|
-
// call the restore function when instant-apps-filter-list is ready
|
445
|
-
setTimeout(() => {
|
446
|
-
const canRestoreFilter = this._filterList && this._filterUrlParams && this._filterInitState;
|
447
|
-
if (canRestoreFilter) {
|
448
|
-
void this._filterList.restoreFilters(this._filterUrlParams[0], this._filterInitState);
|
449
|
-
}
|
450
|
-
this._filterInitState = null;
|
451
|
-
}, 200);
|
452
|
-
}
|
453
449
|
/**
|
454
450
|
* Reset the filter
|
455
451
|
* @protected
|
@@ -457,19 +453,14 @@ const CrowdsourceReporter = class {
|
|
457
453
|
async _handleFilterListReset() {
|
458
454
|
//on reset filter list reset the filter states
|
459
455
|
this._filterActive = false;
|
460
|
-
this._filterUrlParams = null;
|
461
|
-
this._filterInitState = null;
|
462
456
|
}
|
463
457
|
/**
|
464
458
|
* Check if the layers definitionExpression has been modified and update the feature list depending on the applied filters
|
465
459
|
* @protected
|
466
460
|
*/
|
467
|
-
async _handleFilterUpdate() {
|
461
|
+
async _handleFilterUpdate(active) {
|
468
462
|
this._showLoadingIndicator = true;
|
469
|
-
|
470
|
-
//set the filter active state based on the length of applied filters
|
471
|
-
this._filterActive = this._filterList.urlParams.getAll('filter').length > 0;
|
472
|
-
this._filterUrlParams = this._filterList.urlParams.getAll('filter');
|
463
|
+
this._filterActive = active;
|
473
464
|
await this._featureList.refresh();
|
474
465
|
this._showLoadingIndicator = false;
|
475
466
|
}
|
@@ -636,10 +627,6 @@ const CrowdsourceReporter = class {
|
|
636
627
|
if (evt.detail.layerId && evt.detail.layerName) {
|
637
628
|
await this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
|
638
629
|
}
|
639
|
-
// reset the applied filter when switching to another layer
|
640
|
-
if (this._selectedLayerId !== this._prevSelectedLayerId && this._filterActive) {
|
641
|
-
await this.resetFilter();
|
642
|
-
}
|
643
630
|
void this.updateNonVisibleLayersOnMap(true);
|
644
631
|
// get the form template elements to pass in create-feature to create a LEVELID field in feature-form
|
645
632
|
this._getFormElements();
|
@@ -711,28 +698,18 @@ const CrowdsourceReporter = class {
|
|
711
698
|
};
|
712
699
|
this._updatedSortOption = "sortNewest";
|
713
700
|
await this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
|
701
|
+
void this.handleSelectedLayersFilter();
|
714
702
|
this._flowItems = [...this._flowItems, "feature-list"];
|
715
|
-
// reset the applied filter when switching to another layer
|
716
|
-
if (this._selectedLayerId !== this._prevSelectedLayerId && this._filterActive) {
|
717
|
-
await this.resetFilter();
|
718
|
-
}
|
719
703
|
this._prevSelectedLayerId = this._selectedLayerId;
|
720
704
|
}
|
721
|
-
/**
|
722
|
-
* Reset's the applied filter
|
723
|
-
* @protected
|
724
|
-
*/
|
725
|
-
async resetFilter() {
|
726
|
-
const prevLayer = await mapViewUtils.getLayerOrTable(this.mapView, this._prevSelectedLayerId);
|
727
|
-
prevLayer.definitionExpression = this._filterInitState.initDefExpressions[this._prevSelectedLayerId];
|
728
|
-
void this._handleFilterListReset();
|
729
|
-
}
|
730
705
|
/**
|
731
706
|
* On back from filter panel get the filter's init state
|
732
707
|
* @protected
|
733
708
|
*/
|
734
709
|
async backFromFilterPanel() {
|
735
|
-
this.
|
710
|
+
if (this._filterList != null) {
|
711
|
+
this._currentLayerExpressions = await this._filterList.getCurrentLayerExpressions();
|
712
|
+
}
|
736
713
|
await this._featureList.refresh();
|
737
714
|
this.backFromSelectedPanel();
|
738
715
|
}
|
@@ -847,9 +824,8 @@ const CrowdsourceReporter = class {
|
|
847
824
|
* @protected
|
848
825
|
*/
|
849
826
|
getFeatureListFlowItem(layerId, layerName) {
|
850
|
-
const layerExpressions = this.layerExpressions?.filter((exp) => exp.id === this._selectedLayerId);
|
851
827
|
const canCreateReports = this._getLayersConfig(this._selectedLayerId)?.reporting && this._layerItemsHash[this._selectedLayerId].supportsAdd;
|
852
|
-
const showFilterIcon =
|
828
|
+
const showFilterIcon = this._currentLayerExpressions?.length > 0;
|
853
829
|
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), index.h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && index.h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: () => { this._flowItems = [...this._flowItems, "filter-panel"]; }, slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && canCreateReports &&
|
854
830
|
index.h("calcite-button", { appearance: "solid", onClick: this.navigateToCreateFeature.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), index.h("calcite-panel", { "full-height": true }, index.h("feature-list", { applyLayerViewFilter: this.showMyReportsOnly, class: "height-full", highlightOnHover: true, locale: this.locale, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, ref: el => this._featureList = el, reportingOptions: this.reportingOptions, selectedLayerId: layerId, showFeatureSymbol: this.showFeatureSymbol, sortingInfo: this._updatedSorting }))));
|
855
831
|
}
|
@@ -859,8 +835,7 @@ const CrowdsourceReporter = class {
|
|
859
835
|
* @protected
|
860
836
|
*/
|
861
837
|
getFilterPanel() {
|
862
|
-
|
863
|
-
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._translations?.filterLayerTitle?.replace("{{title}}", this._selectedLayerName), loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromFilterPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), index.h("div", { class: "width-full", slot: "footer" }, index.h("div", { class: "width-full", slot: "footer" }, index.h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", disabled: !this._filterActive, onClick: () => { void this._filterList?.forceReset(); }, width: "full" }, this._translations.resetFilter), index.h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromFilterPanel.bind(this), width: "full" }, this._translations.close))), index.h("calcite-panel", { "full-height": true }, index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtnOnClick: () => undefined, comboboxOverlayPositioning: "fixed", layerExpressions: currentLayersExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, resetBtn: false, resetFiltersOnDisconnect: false, view: this.mapView, zoomBtn: false }))));
|
838
|
+
return (index.h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._translations?.filterLayerTitle?.replace("{{title}}", this._selectedLayerName), loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromFilterPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), index.h("div", { class: "width-full", slot: "footer" }, index.h("div", { class: "width-full", slot: "footer" }, index.h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", disabled: !this._filterActive, onClick: this.resetFilterList.bind(this), width: "full" }, this._translations.resetFilter), index.h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromFilterPanel.bind(this), width: "full" }, this._translations.close))), index.h("calcite-panel", { "full-height": true }, index.h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtnOnClick: () => undefined, comboboxOverlayPositioning: "fixed", layerExpressions: this._currentLayerExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(this._filterList.filterCount > 0), ref: (el) => this._filterList = el, resetBtn: false, resetFiltersOnDisconnect: false, view: this.mapView, zoomBtn: false }))));
|
864
839
|
}
|
865
840
|
/**
|
866
841
|
* Returns the calcite-flow item for feature details
|
@@ -920,6 +895,7 @@ const CrowdsourceReporter = class {
|
|
920
895
|
else {
|
921
896
|
if (this._editableLayerIds.length > 1) {
|
922
897
|
void this.setSelectedLayer('', '');
|
898
|
+
void this.handlePrevLayersFilter();
|
923
899
|
}
|
924
900
|
this._currentFeatureId = '';
|
925
901
|
}
|
@@ -1176,7 +1152,8 @@ const CrowdsourceReporter = class {
|
|
1176
1152
|
detail: this._editableLayerIds
|
1177
1153
|
};
|
1178
1154
|
await this.layerListLoaded(evt);
|
1179
|
-
|
1155
|
+
await this.setSelectedLayer(this._validLayers[0].id, this._validLayers[0].title);
|
1156
|
+
void this.handleSelectedLayersFilter();
|
1180
1157
|
}
|
1181
1158
|
/**
|
1182
1159
|
* Updates the share url for current selected feature
|
@@ -1236,6 +1213,91 @@ const CrowdsourceReporter = class {
|
|
1236
1213
|
}
|
1237
1214
|
}
|
1238
1215
|
}
|
1216
|
+
/**
|
1217
|
+
* Handles updating the current layer expressions and definition expression for the selected layer
|
1218
|
+
* @protected
|
1219
|
+
*/
|
1220
|
+
async handleSelectedLayersFilter() {
|
1221
|
+
if (this._selectedLayer) {
|
1222
|
+
this._currentLayerExpressions = this.layerExpressions ? this.layerExpressions.filter(exp => exp.id === this._selectedLayerId) : [];
|
1223
|
+
this.setActiveDefinitionExpressions();
|
1224
|
+
}
|
1225
|
+
}
|
1226
|
+
/**
|
1227
|
+
* Handles updating the previous layer's definition expression to it's initial definition expression
|
1228
|
+
* @protected
|
1229
|
+
*/
|
1230
|
+
async handlePrevLayersFilter() {
|
1231
|
+
if (this._prevSelectedLayerId) {
|
1232
|
+
const prevLayer = await mapViewUtils.getLayerOrTable(this.mapView, this._prevSelectedLayerId);
|
1233
|
+
if (prevLayer) {
|
1234
|
+
prevLayer.definitionExpression = this._initDefExpressions[this._prevSelectedLayerId];
|
1235
|
+
}
|
1236
|
+
}
|
1237
|
+
}
|
1238
|
+
/**
|
1239
|
+
* Resets the selected layer's definition expression with the initial definition expression
|
1240
|
+
* @protected
|
1241
|
+
*/
|
1242
|
+
resetFilterList() {
|
1243
|
+
void this._filterList?.forceReset();
|
1244
|
+
if (this._selectedLayer != null) {
|
1245
|
+
this._selectedLayer.definitionExpression = this._initDefExpressions[this._selectedLayerId];
|
1246
|
+
this._filterActive = false;
|
1247
|
+
}
|
1248
|
+
}
|
1249
|
+
/**
|
1250
|
+
* Sets the active definition expressions for the selected layer
|
1251
|
+
* @protected
|
1252
|
+
*/
|
1253
|
+
setActiveDefinitionExpressions() {
|
1254
|
+
if (this._selectedLayer == null) {
|
1255
|
+
return;
|
1256
|
+
}
|
1257
|
+
const defExpressions = [];
|
1258
|
+
if (this._currentLayerExpressions?.length > 0) {
|
1259
|
+
const layerExpression = this._currentLayerExpressions[0];
|
1260
|
+
for (const expression of layerExpression.expressions) {
|
1261
|
+
const { active, definitionExpression } = expression;
|
1262
|
+
if (active && definitionExpression) {
|
1263
|
+
defExpressions.push(`(${definitionExpression})`);
|
1264
|
+
}
|
1265
|
+
}
|
1266
|
+
this._filterActive = defExpressions.length > 0;
|
1267
|
+
this.updateFilterLayerDefExpression(defExpressions, layerExpression.operator);
|
1268
|
+
}
|
1269
|
+
}
|
1270
|
+
/**
|
1271
|
+
* Updates the selected layer's definition expression based on the active expressions
|
1272
|
+
* @protected
|
1273
|
+
*/
|
1274
|
+
updateFilterLayerDefExpression(defExpressions, operator) {
|
1275
|
+
const initDefExpression = this._initDefExpressions[this._selectedLayerId];
|
1276
|
+
const combinedExpressions = defExpressions?.length > 0 && initDefExpression != null
|
1277
|
+
? `(${defExpressions.join(operator)}) AND (${initDefExpression})`
|
1278
|
+
: defExpressions.length > 0
|
1279
|
+
? defExpressions.join(operator)
|
1280
|
+
: initDefExpression;
|
1281
|
+
this._selectedLayer.definitionExpression = combinedExpressions;
|
1282
|
+
}
|
1283
|
+
/**
|
1284
|
+
* Sets the initial definition expressions for all the feature layers
|
1285
|
+
* @protected
|
1286
|
+
*/
|
1287
|
+
setInitExpressions() {
|
1288
|
+
this._initDefExpressions = {};
|
1289
|
+
if (this.mapView == null) {
|
1290
|
+
return;
|
1291
|
+
}
|
1292
|
+
const map = this.mapView.map;
|
1293
|
+
map.allLayers.concat(map.allTables).forEach(layer => {
|
1294
|
+
if (layer.type !== "feature") {
|
1295
|
+
return;
|
1296
|
+
}
|
1297
|
+
const fl = layer;
|
1298
|
+
this._initDefExpressions[fl.id] = fl.definitionExpression;
|
1299
|
+
});
|
1300
|
+
}
|
1239
1301
|
static get watchers() { return {
|
1240
1302
|
"isMobile": ["isMobileWatchHandler"],
|
1241
1303
|
"locale": ["localeWatchHandler"],
|
@@ -5,7 +5,7 @@
|
|
5
5
|
*/
|
6
6
|
'use strict';
|
7
7
|
|
8
|
-
const loadModules = require('./loadModules-
|
8
|
+
const loadModules = require('./loadModules-df8b13ca.js');
|
9
9
|
const index = require('./index-2b13a4d5.js');
|
10
10
|
|
11
11
|
async function getMergedEffect(presetLayerEffect, featureLayerView, type) {
|
@@ -8,8 +8,8 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-4b68e4b4.js');
|
11
|
-
const locale = require('./locale-
|
12
|
-
require('./loadModules-
|
11
|
+
const locale = require('./locale-4b820602.js');
|
12
|
+
require('./loadModules-df8b13ca.js');
|
13
13
|
require('./esri-loader-08dc41bd.js');
|
14
14
|
require('./_commonjsHelpers-baf43783.js');
|
15
15
|
require('./languageUtil-a3e1eafd.js');
|
@@ -8,9 +8,9 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-4b68e4b4.js');
|
11
|
-
const utils = require('./utils-
|
12
|
-
require('./locale-
|
13
|
-
require('./loadModules-
|
11
|
+
const utils = require('./utils-3f10ea6b.js');
|
12
|
+
require('./locale-4b820602.js');
|
13
|
+
require('./loadModules-df8b13ca.js');
|
14
14
|
require('./esri-loader-08dc41bd.js');
|
15
15
|
require('./_commonjsHelpers-baf43783.js');
|
16
16
|
require('./languageUtil-a3e1eafd.js');
|
@@ -8,7 +8,7 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-4b68e4b4.js');
|
11
|
-
const loadModules = require('./loadModules-
|
11
|
+
const loadModules = require('./loadModules-df8b13ca.js');
|
12
12
|
require('./esri-loader-08dc41bd.js');
|
13
13
|
require('./_commonjsHelpers-baf43783.js');
|
14
14
|
|
@@ -8,8 +8,8 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-4b68e4b4.js');
|
11
|
-
const locale = require('./locale-
|
12
|
-
const loadModules = require('./loadModules-
|
11
|
+
const locale = require('./locale-4b820602.js');
|
12
|
+
const loadModules = require('./loadModules-df8b13ca.js');
|
13
13
|
const mode = require('./mode-3478ba36.js');
|
14
14
|
require('./languageUtil-a3e1eafd.js');
|
15
15
|
require('./esri-loader-08dc41bd.js');
|