@esri/solutions-components 0.10.41 → 0.10.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/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');
|