@esri/solutions-components 0.11.17 → 0.11.18
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/card-manager_3.cjs.entry.js +116 -137
- package/dist/cjs/create-feature_4.cjs.entry.js +55 -9
- package/dist/cjs/create-related-feature_3.cjs.entry.js +1 -1
- package/dist/cjs/crowdsource-manager.cjs.entry.js +32 -19
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +1 -1
- package/dist/cjs/{downloadUtils-88ec0e88.js → downloadUtils-9abff913.js} +1 -1
- package/dist/cjs/feature-list.cjs.entry.js +3 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-layer-picker.cjs.entry.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +2 -2
- package/dist/cjs/{mapViewUtils-319df9ec.js → mapViewUtils-4ea7216c.js} +0 -44
- package/dist/cjs/{popupUtils-ca1127aa.js → popupUtils-fc7557da.js} +1 -1
- package/dist/cjs/public-notification.cjs.entry.js +2 -2
- package/dist/cjs/solution-item-accordion.cjs.entry.js +6 -3
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/assets/t9n/crowdsource-manager/resources.json +4 -1
- package/dist/collection/assets/t9n/crowdsource-manager/resources_en.json +4 -1
- package/dist/collection/components/card-manager/card-manager.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +23 -0
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +32 -18
- package/dist/collection/components/info-card/info-card.js +88 -7
- package/dist/collection/components/layer-table/layer-table.js +147 -137
- package/dist/collection/components/solution-item-accordion/solution-item-accordion.js +11 -4
- package/dist/components/card-manager2.js +1 -1
- package/dist/components/crowdsource-manager.js +33 -19
- package/dist/components/info-card2.js +54 -6
- package/dist/components/layer-table2.js +116 -136
- package/dist/components/map-select-tools2.js +1 -1
- package/dist/components/queryUtils.js +1 -43
- package/dist/components/refine-selection2.js +1 -1
- package/dist/components/solution-item-accordion.js +6 -3
- package/dist/esm/card-manager_3.entry.js +116 -137
- package/dist/esm/create-feature_4.entry.js +55 -9
- package/dist/esm/create-related-feature_3.entry.js +1 -1
- package/dist/esm/crowdsource-manager.entry.js +32 -19
- package/dist/esm/crowdsource-reporter.entry.js +1 -1
- package/dist/esm/{downloadUtils-22a8f2d8.js → downloadUtils-36d854d2.js} +1 -1
- package/dist/esm/feature-list.entry.js +3 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-layer-picker.entry.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +2 -2
- package/dist/esm/{mapViewUtils-a854e298.js → mapViewUtils-9da9be1c.js} +1 -43
- package/dist/esm/{popupUtils-1314cb13.js → popupUtils-64d25cb0.js} +1 -1
- package/dist/esm/public-notification.entry.js +2 -2
- package/dist/esm/solution-item-accordion.entry.js +6 -3
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/assets/t9n/crowdsource-manager/resources.json +4 -1
- package/dist/solutions-components/assets/t9n/crowdsource-manager/resources_en.json +4 -1
- package/dist/solutions-components/{p-43d9bb7d.entry.js → p-055706e3.entry.js} +1 -1
- package/dist/solutions-components/{p-8ea0a36a.entry.js → p-06970873.entry.js} +1 -1
- package/dist/solutions-components/{p-bf2598f8.entry.js → p-3c43839b.entry.js} +1 -1
- package/dist/solutions-components/{p-4f514c6d.js → p-6eab9d1f.js} +1 -1
- package/dist/solutions-components/{p-a003600b.entry.js → p-72ae3bf0.entry.js} +1 -1
- package/dist/solutions-components/p-777ed6b0.entry.js +6 -0
- package/dist/solutions-components/{p-5ea1e18b.entry.js → p-8b5c3c9f.entry.js} +1 -1
- package/dist/solutions-components/{p-1fe3577a.entry.js → p-a44815ea.entry.js} +1 -1
- package/dist/solutions-components/p-b1bd3028.entry.js +6 -0
- package/dist/solutions-components/{p-3c3aecdd.js → p-d0d21a1f.js} +1 -1
- package/dist/solutions-components/{p-952da957.js → p-dcd2f00b.js} +2 -2
- package/dist/solutions-components/{p-bc2548ba.entry.js → p-e2270562.entry.js} +1 -1
- package/dist/solutions-components/p-e90c0e26.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components_commit.txt +6 -6
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +11 -7
- package/dist/types/components/info-card/info-card.d.ts +16 -0
- package/dist/types/components/layer-table/layer-table.d.ts +32 -21
- package/dist/types/components/solution-item-accordion/solution-item-accordion.d.ts +1 -1
- package/dist/types/components.d.ts +19 -2
- package/dist/types/preact.d.ts +2 -1
- package/package.json +1 -1
- package/dist/solutions-components/p-87919d6d.entry.js +0 -6
- package/dist/solutions-components/p-b37be371.entry.js +0 -6
- package/dist/solutions-components/p-ce8377c6.entry.js +0 -6
@@ -5,8 +5,8 @@
|
|
5
5
|
*/
|
6
6
|
import { r as registerInstance, c as createEvent, g as getElement, h, H as Host } from './index-3702583a.js';
|
7
7
|
import { g as getLocaleComponentStrings, l as loadModules } from './locale-aa656a2c.js';
|
8
|
-
import { g as getLayerOrTable, q as queryFeaturesByID, e as goToSelection, f as
|
9
|
-
import { d as downloadCSV } from './downloadUtils-
|
8
|
+
import { g as getLayerOrTable, q as queryFeaturesByID, e as goToSelection, f as queryFeaturesByGlobalID, c as getFeatureLayerView } from './mapViewUtils-9da9be1c.js';
|
9
|
+
import { d as downloadCSV } from './downloadUtils-36d854d2.js';
|
10
10
|
import './esri-loader-c6842c6b.js';
|
11
11
|
import './_commonjsHelpers-089957fe.js';
|
12
12
|
import './interfaces-659e3836.js';
|
@@ -193,7 +193,7 @@ const CardManager = class {
|
|
193
193
|
const heading = isTable ? this._translations.createRecord : this._translations.createFeature;
|
194
194
|
const guideMsg = this.customInfoText ? this.customInfoText : this.selectingFeatureFromMap ? this._translations.selectFeaturesFromMapToStart : this._translations.selectFeaturesToStart;
|
195
195
|
const showCreateFeatureOrRecordBtn = this.enableCreateFeatures && this.layer?.capabilities?.operations?.supportsAdd;
|
196
|
-
return (h(Host, { key: '5557aa4d80b859335e38db3f4255f4a61d00560f' }, h("div", { key: '6756e3314fc3444a982010a3cfa702d77f05f316', class: "overflow-auto height-full" }, h("calcite-shell", { key: '715eb7ed692a1d00347d44f20df370cf9a91ded5', class: "position-relative " + featuresClass }, h("div", { key: 'baf4e97c1884f477e4077a6dc8e59d98c77593a4', class: "position-static z-index-500" }, h("info-card", { key: '
|
196
|
+
return (h(Host, { key: '5557aa4d80b859335e38db3f4255f4a61d00560f' }, h("div", { key: '6756e3314fc3444a982010a3cfa702d77f05f316', class: "overflow-auto height-full" }, h("calcite-shell", { key: '715eb7ed692a1d00347d44f20df370cf9a91ded5', class: "position-relative " + featuresClass }, h("div", { key: 'baf4e97c1884f477e4077a6dc8e59d98c77593a4', class: "position-static z-index-500" }, h("info-card", { key: '0b9b30182fbc3482e9edf49b79f68aec8cf86adc', enableEditGeometry: this.enableEditGeometry, graphics: this._graphics, isLoading: this._cardLoading, isMobile: this.isMobile, locale: this.locale, mapView: this.mapView, showCloseBtn: true }))), h("calcite-shell", { key: '94b646061956a78dec4f96d9d1d9dedc5ad6aee7', class: "position-relative " + messageClass }, h("calcite-panel", { key: '00b660d474234f8156f3d4c627626f5891754051' }, h("div", { key: 'adb0732ff59c4fdedb19367a32ad9e3e060ddb60', class: "padding-1" }, h("calcite-notice", { key: 'a2c88bd4a0827111b0d1f3056ae571b47e5b380b', icon: this.selectingFeatureFromMap ? "map" : "table", iconFlipRtl: true, open: true }, h("div", { key: 'bffc2630de3f0376b6ea5827c89f65dc605a5356', slot: "message" }, guideMsg))), !this.isMobile && showCreateFeatureOrRecordBtn && h("calcite-button", { key: '08bef5c20d6b60e17abcfc9fc19d7d1eb5d04b1c', disabled: !this.layer, onClick: () => this._createFeatureBtnClicked(), slot: "footer", width: "full" }, isTable ? this._translations.createRecord : this._translations.createFeature))), h("calcite-shell", { key: '833a8de60b491008006034c1696fcb29f1bb6a08', class: "position-relative " + createFeatureClass }, h("calcite-flow-item", { key: 'dd2ae4509e4bec5a90f33484f8a28f422c0eeee4' }, h("calcite-panel", { key: '8fa68650f1933a88cdaf1fee8391cf433b7b54e9', heading: heading }, h("calcite-action", { key: '2b205887ff8703e01ef356cae09ce5d15dbec7c6', class: "back-button hydrated", icon: "chevron-left", onClick: this._backFromCreateFeature.bind(this), scale: "s", slot: "header-actions-start", text: "" }), this.getEditorComponent(), this._showSubmitBtn && h("calcite-button", { key: '0977a3974583266f6d90e18c8fbbc3e18f803983', appearance: "solid", class: "footer-top-button footer-button", onClick: () => void this._createFeature.submit(), slot: "footer", width: "full" }, this._translations.create)))))));
|
197
197
|
}
|
198
198
|
/**
|
199
199
|
* Returns the editor component for adding feature
|
@@ -470,10 +470,6 @@ const LayerTable = class {
|
|
470
470
|
* IColumnsInfo: Key/value pair with fieldname/(visible in table)
|
471
471
|
*/
|
472
472
|
_columnsInfo;
|
473
|
-
/**
|
474
|
-
* boolean: When true the ctrl key is currently pressed
|
475
|
-
*/
|
476
|
-
_ctrlIsPressed = false;
|
477
473
|
/**
|
478
474
|
* number: The id of the most recently selected row from the table
|
479
475
|
*/
|
@@ -579,18 +575,10 @@ const LayerTable = class {
|
|
579
575
|
* HTMLInstantAppsSocialShareElement: Element to support app sharing to social media
|
580
576
|
*/
|
581
577
|
_shareNode;
|
582
|
-
/**
|
583
|
-
* boolean: When true the shift key is currently pressed
|
584
|
-
*/
|
585
|
-
_shiftIsPressed = false;
|
586
578
|
/**
|
587
579
|
* HTMLCalciteDropdownElement: Dropdown the will support show/hide of table columns
|
588
580
|
*/
|
589
581
|
_showHideDropdown;
|
590
|
-
/**
|
591
|
-
* boolean: When true any onChange handeling will be skipped
|
592
|
-
*/
|
593
|
-
_skipOnChange = false;
|
594
582
|
/**
|
595
583
|
* HTMLCalciteDropdownElement: Dropdown the will support overflow tools that won't fit in the current display
|
596
584
|
*/
|
@@ -623,10 +611,22 @@ const LayerTable = class {
|
|
623
611
|
* boolean: When true we will not evaluate if the editor has any pending edits
|
624
612
|
*/
|
625
613
|
_skipEditCheck = false;
|
614
|
+
/**
|
615
|
+
* __esri.Handle: handle for the filter by extent
|
616
|
+
*/
|
617
|
+
_filterByExtentHandle;
|
626
618
|
/**
|
627
619
|
* number[]: selected features from table
|
628
620
|
*/
|
629
621
|
_tempSelectedIds;
|
622
|
+
/**
|
623
|
+
* number[]: out of extent oids which are selected but now out of extent
|
624
|
+
*/
|
625
|
+
_outOFExtentOids = [];
|
626
|
+
/**
|
627
|
+
* boolean: When true allow table to update the records
|
628
|
+
*/
|
629
|
+
_shouldUpdateTableOnExtentChange = true;
|
630
630
|
//--------------------------------------------------------------------------
|
631
631
|
//
|
632
632
|
// Watch handlers
|
@@ -790,13 +790,35 @@ const LayerTable = class {
|
|
790
790
|
* Reset the filter
|
791
791
|
*/
|
792
792
|
async filterReset() {
|
793
|
+
if (this._filterByExtentHandle) {
|
794
|
+
this._table.filterGeometry = undefined;
|
795
|
+
this._filterByExtentHandle.remove();
|
796
|
+
this._filterByExtentHandle = undefined;
|
797
|
+
}
|
793
798
|
await this._handleFilterListReset();
|
794
799
|
}
|
795
800
|
/**
|
796
801
|
* Updates the filter
|
797
802
|
*/
|
798
|
-
async filterUpdate(
|
799
|
-
await this._handleFilterUpdate(
|
803
|
+
async filterUpdate(filterActive, keepTableUpdatingOnMapExtentChange) {
|
804
|
+
await this._handleFilterUpdate(filterActive);
|
805
|
+
if (keepTableUpdatingOnMapExtentChange) {
|
806
|
+
this._shouldUpdateTableOnExtentChange = true;
|
807
|
+
this._handleTableOnMapExtent();
|
808
|
+
}
|
809
|
+
else if (keepTableUpdatingOnMapExtentChange === false) {
|
810
|
+
this._table.filterGeometry = undefined;
|
811
|
+
this._filterByExtentHandle.remove();
|
812
|
+
this._filterByExtentHandle = undefined;
|
813
|
+
// update all the ids when filter is unchecked or toggled off
|
814
|
+
await this._updateAllIds();
|
815
|
+
}
|
816
|
+
}
|
817
|
+
/**
|
818
|
+
* Validate if the table should update
|
819
|
+
*/
|
820
|
+
async validateTableUpdate(shouldUpdateTableOnExtentChange) {
|
821
|
+
this._shouldUpdateTableOnExtentChange = shouldUpdateTableOnExtentChange;
|
800
822
|
}
|
801
823
|
/**
|
802
824
|
* Validate if the editor has any pending edits
|
@@ -850,8 +872,20 @@ const LayerTable = class {
|
|
850
872
|
* @returns a promise when the operation has completed
|
851
873
|
*/
|
852
874
|
async editorInitialized(evt) {
|
875
|
+
this._shouldUpdateTableOnExtentChange = false;
|
853
876
|
this._editor = evt.detail;
|
854
877
|
}
|
878
|
+
/**
|
879
|
+
* Respond to and close the edit record display
|
880
|
+
*
|
881
|
+
* @returns a promise when the operation has completed
|
882
|
+
*/
|
883
|
+
async closeEdit() {
|
884
|
+
this._shouldUpdateTableOnExtentChange = true;
|
885
|
+
if (this._filterByExtentHandle) {
|
886
|
+
this._handleTableOnMapExtent();
|
887
|
+
}
|
888
|
+
}
|
855
889
|
/**
|
856
890
|
* Scroll and zoom to the selected feature from the Features widget.
|
857
891
|
*
|
@@ -912,7 +946,7 @@ const LayerTable = class {
|
|
912
946
|
async editsComplete(evt) {
|
913
947
|
const editType = evt.detail;
|
914
948
|
if (editType === "delete" || editType === "add") {
|
915
|
-
this._allIds = await queryAllIds(
|
949
|
+
this._allIds = await this.queryAllIds();
|
916
950
|
}
|
917
951
|
await this._refresh();
|
918
952
|
}
|
@@ -984,8 +1018,8 @@ const LayerTable = class {
|
|
984
1018
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
985
1019
|
const showSearch = this._canShowFullTextSearch();
|
986
1020
|
this._validateActiveActions();
|
987
|
-
return (h(Host, { key: '
|
988
|
-
h("div", { key: '
|
1021
|
+
return (h(Host, { key: 'a0a998de3a1b29c311a9fdfa87f3bd836481ba5a' }, h("div", { key: 'aafaf9f925ed7321e1ca7f15fc7db369212dc1dc' }, h("calcite-scrim", { key: '86459aed994823dbf1d774aad01e8207a7df5f4f', class: scrimClass, loading: this._queryingData }), h("calcite-shell", { key: 'b29896a197cba444d2ac377779670394e29ecaf6' }, this._getTableControlRow("header"), h("div", { key: '0456651ac46f399eb04253387d7aae76995f4683', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: '9ba484159832fea630bbb653bc2fc4e99e602674', class: "height-full width-full" }, showSearch &&
|
1022
|
+
h("div", { key: 'bd4b72db51f44c2954e893e8ef7ec2a30efc4c45', class: "search-container" }, h("calcite-input", { key: '8811ff1dd71408fda37a0d7d2403671df24b5b7b', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '44a419089cf1e207f52ce19015c2870ce956e261', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '096f4fc7f5cc9500e7982bbfaceb2fcc4c82a1dd', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
989
1023
|
.replace("{{total}}", total)
|
990
1024
|
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal())));
|
991
1025
|
}
|
@@ -1005,8 +1039,6 @@ const LayerTable = class {
|
|
1005
1039
|
componentDidRender() {
|
1006
1040
|
// need to be called after each render to get the clicked mouseEvent
|
1007
1041
|
document.onclick = (e) => this._handleDocumentClick(e);
|
1008
|
-
document.onkeydown = (e) => this._handleKeyDown(e);
|
1009
|
-
document.onkeyup = (e) => this._handleKeyUp(e);
|
1010
1042
|
this._updateToolbar();
|
1011
1043
|
}
|
1012
1044
|
//--------------------------------------------------------------------------
|
@@ -1267,6 +1299,7 @@ const LayerTable = class {
|
|
1267
1299
|
}
|
1268
1300
|
if (ti.icon === "selected-items-filter") {
|
1269
1301
|
ti.active = this._showOnlySelected;
|
1302
|
+
ti.label = this._showOnlySelected ? this._translations.showAll : this._translations.showSelected;
|
1270
1303
|
}
|
1271
1304
|
}
|
1272
1305
|
});
|
@@ -1281,7 +1314,6 @@ const LayerTable = class {
|
|
1281
1314
|
// hide multiple edits for R03
|
1282
1315
|
const showMultipleEdits = this.selectedIds.length > 1 && this._layer?.capabilities?.operations?.supportsUpdate && false;
|
1283
1316
|
const featuresEmpty = this._featuresEmpty();
|
1284
|
-
const hasFilterExpressions = this._hasFilterExpressions();
|
1285
1317
|
if (this._translations) {
|
1286
1318
|
this._toolInfos = [
|
1287
1319
|
!this.mapHidden ? {
|
@@ -1293,7 +1325,7 @@ const LayerTable = class {
|
|
1293
1325
|
disabled: !featuresSelected,
|
1294
1326
|
isOverflow: false
|
1295
1327
|
} : undefined,
|
1296
|
-
|
1328
|
+
{
|
1297
1329
|
active: false,
|
1298
1330
|
icon: "filter",
|
1299
1331
|
indicator: false,
|
@@ -1301,7 +1333,7 @@ const LayerTable = class {
|
|
1301
1333
|
func: () => this.createFilterModal ? this._toggleFilter() : this.toggleFilter.emit(),
|
1302
1334
|
disabled: false,
|
1303
1335
|
isOverflow: false
|
1304
|
-
}
|
1336
|
+
},
|
1305
1337
|
showMultipleEdits ? {
|
1306
1338
|
active: false,
|
1307
1339
|
icon: "pencil",
|
@@ -1703,6 +1735,7 @@ const LayerTable = class {
|
|
1703
1735
|
editingEnabled: this._editEnabled && this.enableInlineEdit,
|
1704
1736
|
highlightEnabled: true,
|
1705
1737
|
multiSortEnabled: false,
|
1738
|
+
attachmentsEnabled: true,
|
1706
1739
|
visibleElements: {
|
1707
1740
|
columnDescriptions: false,
|
1708
1741
|
header: false,
|
@@ -1734,88 +1767,9 @@ const LayerTable = class {
|
|
1734
1767
|
return;
|
1735
1768
|
}
|
1736
1769
|
const ids = [...this._getIds()];
|
1737
|
-
|
1738
|
-
|
1739
|
-
|
1740
|
-
this._skipOnChange = true;
|
1741
|
-
// only readd in specific case where we have multiple selected and then click one of the currently selected
|
1742
|
-
const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
|
1743
|
-
const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
|
1744
|
-
this._tempSelectedIds = newIds.length ? [...newIds] : [...this.selectedIds];
|
1745
|
-
this._clearSelection();
|
1746
|
-
this.selectedIds = [...newIds];
|
1747
|
-
if (newIds.length > 0) {
|
1748
|
-
this._table.highlightIds.add(newIds[0]);
|
1749
|
-
}
|
1750
|
-
else {
|
1751
|
-
this._skipOnChange = false;
|
1752
|
-
}
|
1753
|
-
}
|
1754
|
-
else {
|
1755
|
-
// https://github.com/Esri/solutions-components/issues/365
|
1756
|
-
this.selectedIds = ids.reverse();
|
1757
|
-
this._tempSelectedIds = [...this.selectedIds];
|
1758
|
-
}
|
1759
|
-
}
|
1760
|
-
else if (this._ctrlIsPressed) {
|
1761
|
-
this.selectedIds = ids.reverse();
|
1762
|
-
this._tempSelectedIds = [...this.selectedIds];
|
1763
|
-
}
|
1764
|
-
else if (this._shiftIsPressed && ids?.length > 0) {
|
1765
|
-
this._skipOnChange = true;
|
1766
|
-
this._previousCurrentId = this._currentId;
|
1767
|
-
this._currentId = [...ids].reverse()[0];
|
1768
|
-
if (ids.length === 1) {
|
1769
|
-
this._skipOnChange = false;
|
1770
|
-
}
|
1771
|
-
else if (this._previousCurrentId !== this._currentId) {
|
1772
|
-
// query the layer based on current sort and filters then grab between the current id and previous id
|
1773
|
-
const orderBy = this._table.activeSortOrders.reduce((prev, cur) => {
|
1774
|
-
prev.push(`${cur.fieldName} ${cur.direction}`);
|
1775
|
-
return prev;
|
1776
|
-
}, []);
|
1777
|
-
// when dealing with a feature layer with many features shift-select can take a very long time.
|
1778
|
-
// don't allow the user to make additional interactions with the table if it takes more than 500 miliseconds
|
1779
|
-
let queryComplete = false;
|
1780
|
-
setTimeout(() => {
|
1781
|
-
if (!queryComplete) {
|
1782
|
-
this._queryingData = true;
|
1783
|
-
}
|
1784
|
-
}, 500);
|
1785
|
-
const oids = await queryAllOidsWithQueryFeatures(0, this._layer, [], orderBy);
|
1786
|
-
queryComplete = true;
|
1787
|
-
this._queryingData = false;
|
1788
|
-
let isBetween = false;
|
1789
|
-
const _start = this._table.viewModel.getObjectIdIndex(this._previousCurrentId);
|
1790
|
-
const _end = this._table.viewModel.getObjectIdIndex(this._currentId);
|
1791
|
-
const startIndex = _start < _end ? _start : _end;
|
1792
|
-
const endIndex = _end > _start ? _end : _start;
|
1793
|
-
this._skipOnChange = startIndex + 1 !== endIndex;
|
1794
|
-
const idsInRange = oids.reduce((prev, cur) => {
|
1795
|
-
const id = cur;
|
1796
|
-
if ((id === this._currentId || id === this._previousCurrentId)) {
|
1797
|
-
isBetween = !isBetween;
|
1798
|
-
if (prev.indexOf(id) < 0) {
|
1799
|
-
prev.push(id);
|
1800
|
-
}
|
1801
|
-
}
|
1802
|
-
else if (isBetween && prev.indexOf(id) < 0) {
|
1803
|
-
prev.push(id);
|
1804
|
-
}
|
1805
|
-
return prev;
|
1806
|
-
}, []);
|
1807
|
-
const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
|
1808
|
-
this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
|
1809
|
-
this._tempSelectedIds = [...this.selectedIds];
|
1810
|
-
this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
|
1811
|
-
}
|
1812
|
-
}
|
1813
|
-
this._finishOnChange();
|
1814
|
-
}
|
1815
|
-
else {
|
1816
|
-
this._skipOnChange = false;
|
1817
|
-
}
|
1818
|
-
this._currentId = [...this._getIds()].reverse()[0];
|
1770
|
+
this.selectedIds = ids.reverse();
|
1771
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1772
|
+
this._finishOnChange();
|
1819
1773
|
this._selectionFromMap = false;
|
1820
1774
|
}
|
1821
1775
|
/**
|
@@ -1854,6 +1808,7 @@ const LayerTable = class {
|
|
1854
1808
|
handleOnChange = !this._skipEditCheck;
|
1855
1809
|
this._skipEditCheck = false;
|
1856
1810
|
}
|
1811
|
+
this._shouldUpdateTableOnExtentChange = handleOnChange;
|
1857
1812
|
return handleOnChange;
|
1858
1813
|
}
|
1859
1814
|
/**
|
@@ -1870,7 +1825,7 @@ const LayerTable = class {
|
|
1870
1825
|
_finishOnChange() {
|
1871
1826
|
if (this._showOnlySelected) {
|
1872
1827
|
if (this._featuresSelected()) {
|
1873
|
-
this._table.
|
1828
|
+
this._table.filterBySelectionEnabled = true;
|
1874
1829
|
}
|
1875
1830
|
else {
|
1876
1831
|
this._toggleShowSelected();
|
@@ -1908,7 +1863,7 @@ const LayerTable = class {
|
|
1908
1863
|
async _resetTable() {
|
1909
1864
|
this._loaded = false;
|
1910
1865
|
this._clearSelection();
|
1911
|
-
this._allIds = await queryAllIds(
|
1866
|
+
this._allIds = await this.queryAllIds();
|
1912
1867
|
if (!this._table) {
|
1913
1868
|
const columnTemplates = this._getColumnTemplates(this._layer.id, this._layer?.fields);
|
1914
1869
|
await this._getTable(this._tableNode, columnTemplates);
|
@@ -1962,7 +1917,6 @@ const LayerTable = class {
|
|
1962
1917
|
}
|
1963
1918
|
this._refreshHandle = this._layer.on("refresh", (evt) => {
|
1964
1919
|
if (evt.dataChanged) {
|
1965
|
-
this._skipOnChange = true;
|
1966
1920
|
void this._updateAllIds();
|
1967
1921
|
}
|
1968
1922
|
});
|
@@ -1971,7 +1925,7 @@ const LayerTable = class {
|
|
1971
1925
|
* Reset _allIds when the layers data has changed and refresh the selection ids and table
|
1972
1926
|
*/
|
1973
1927
|
async _updateAllIds() {
|
1974
|
-
this._allIds = await queryAllIds(
|
1928
|
+
this._allIds = await this.queryAllIds();
|
1975
1929
|
this.selectedIds = this.selectedIds.filter(id => this._allIds.indexOf(id) > -1);
|
1976
1930
|
await this._refresh();
|
1977
1931
|
}
|
@@ -2111,20 +2065,6 @@ const LayerTable = class {
|
|
2111
2065
|
}
|
2112
2066
|
}
|
2113
2067
|
}
|
2114
|
-
/**
|
2115
|
-
* Keep track of key down for ctrl and shift
|
2116
|
-
*/
|
2117
|
-
_handleKeyDown(e) {
|
2118
|
-
this._ctrlIsPressed = e.ctrlKey;
|
2119
|
-
this._shiftIsPressed = e.shiftKey;
|
2120
|
-
}
|
2121
|
-
/**
|
2122
|
-
* Keep track of key up for ctrl and shift
|
2123
|
-
*/
|
2124
|
-
_handleKeyUp(e) {
|
2125
|
-
this._ctrlIsPressed = e.ctrlKey;
|
2126
|
-
this._shiftIsPressed = e.shiftKey;
|
2127
|
-
}
|
2128
2068
|
/**
|
2129
2069
|
* Show filter component in modal
|
2130
2070
|
*
|
@@ -2160,6 +2100,40 @@ const LayerTable = class {
|
|
2160
2100
|
this._updateShareUrl();
|
2161
2101
|
await this._searchFullText();
|
2162
2102
|
}
|
2103
|
+
/**
|
2104
|
+
* Update the table when extent is changed
|
2105
|
+
*/
|
2106
|
+
_handleTableOnMapExtent() {
|
2107
|
+
if (this._table) {
|
2108
|
+
this._filterByExtentHandle = this.reactiveUtils.when(() => this.mapView.stationary,
|
2109
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
2110
|
+
async () => {
|
2111
|
+
if (this._shouldUpdateTableOnExtentChange) {
|
2112
|
+
//Added timeout while updating table records to avoid the issue in which we see empty table records when extent is changed
|
2113
|
+
await new Promise(resolve => setTimeout(resolve, 800));
|
2114
|
+
this._table.filterGeometry = this.mapView.extent;
|
2115
|
+
const query = {
|
2116
|
+
geometry: this.mapView.extent
|
2117
|
+
};
|
2118
|
+
const objectIdsInExtent = await this._layer.queryObjectIds(query);
|
2119
|
+
// remove the highlight of features which are not in the map extent
|
2120
|
+
const outOids = this.selectedIds.filter(id => !objectIdsInExtent.includes(id));
|
2121
|
+
const restoreOids = this._outOFExtentOids.filter(id => objectIdsInExtent.includes(id));
|
2122
|
+
if (outOids.length > 0) {
|
2123
|
+
this._table.highlightIds.removeMany(outOids);
|
2124
|
+
this._outOFExtentOids = [...this._outOFExtentOids, ...outOids];
|
2125
|
+
}
|
2126
|
+
if (restoreOids.length > 0) {
|
2127
|
+
this._table.highlightIds.addMany(restoreOids);
|
2128
|
+
this._outOFExtentOids = this._outOFExtentOids.filter(oid => !restoreOids.includes(oid));
|
2129
|
+
}
|
2130
|
+
}
|
2131
|
+
this._allIds = await this.queryAllIds();
|
2132
|
+
}, {
|
2133
|
+
initial: true
|
2134
|
+
});
|
2135
|
+
}
|
2136
|
+
}
|
2163
2137
|
/**
|
2164
2138
|
* Close the filter modal
|
2165
2139
|
* @protected
|
@@ -2167,10 +2141,20 @@ const LayerTable = class {
|
|
2167
2141
|
async _closeFilter() {
|
2168
2142
|
if (this._filterOpen) {
|
2169
2143
|
// reset allIds
|
2170
|
-
this._allIds = await queryAllIds(
|
2144
|
+
this._allIds = await this.queryAllIds();
|
2171
2145
|
this._filterOpen = false;
|
2172
2146
|
}
|
2173
2147
|
}
|
2148
|
+
/**
|
2149
|
+
* Query the layer for applied filter
|
2150
|
+
* @returns Promise with the featureSet from the layer that match the provided ids
|
2151
|
+
*/
|
2152
|
+
async queryAllIds() {
|
2153
|
+
const query = this._layer.createQuery();
|
2154
|
+
query.geometry = this._filterByExtentHandle ? this.mapView.extent : null;
|
2155
|
+
query.where = this._layer.definitionExpression || "1=1";
|
2156
|
+
return await this._layer.queryObjectIds(query);
|
2157
|
+
}
|
2174
2158
|
/**
|
2175
2159
|
* Handle map click events to keep table and map click selection in sync
|
2176
2160
|
*
|
@@ -2192,7 +2176,7 @@ const LayerTable = class {
|
|
2192
2176
|
}
|
2193
2177
|
});
|
2194
2178
|
if (this._showOnlySelected) {
|
2195
|
-
this._table.
|
2179
|
+
this._table.filterBySelectionEnabled = true;
|
2196
2180
|
}
|
2197
2181
|
}
|
2198
2182
|
else {
|
@@ -2209,7 +2193,6 @@ const LayerTable = class {
|
|
2209
2193
|
const editsDiscarded = await this._validateActiveEdits(addedIds, this.selectedIds);
|
2210
2194
|
if (editsDiscarded) {
|
2211
2195
|
this._table.highlightIds.removeAll();
|
2212
|
-
this._skipOnChange = true;
|
2213
2196
|
this._table.highlightIds.addMany(ids);
|
2214
2197
|
this.selectedIds = ids;
|
2215
2198
|
this._finishOnChange();
|
@@ -2226,12 +2209,7 @@ const LayerTable = class {
|
|
2226
2209
|
*/
|
2227
2210
|
_toggleShowSelected() {
|
2228
2211
|
this._showOnlySelected = !this._showOnlySelected;
|
2229
|
-
|
2230
|
-
this._table.filterBySelection();
|
2231
|
-
}
|
2232
|
-
else {
|
2233
|
-
this._table.objectIds.removeAll();
|
2234
|
-
}
|
2212
|
+
this._table.filterBySelectionEnabled = this._showOnlySelected;
|
2235
2213
|
}
|
2236
2214
|
/**
|
2237
2215
|
* Clears the selected indexes
|
@@ -2239,6 +2217,7 @@ const LayerTable = class {
|
|
2239
2217
|
*/
|
2240
2218
|
_clearSelection() {
|
2241
2219
|
this.selectedIds = [];
|
2220
|
+
this._outOFExtentOids = [];
|
2242
2221
|
this._table?.highlightIds.removeAll();
|
2243
2222
|
this._table?.rowHighlightIds.removeAll();
|
2244
2223
|
this._finishOnChange();
|
@@ -2278,7 +2257,6 @@ const LayerTable = class {
|
|
2278
2257
|
const editsDiscarded = await this._validateActiveEdits(ids, currentIndexes);
|
2279
2258
|
if (editsDiscarded) {
|
2280
2259
|
this._table.highlightIds.removeAll();
|
2281
|
-
this._skipOnChange = true;
|
2282
2260
|
this._table.highlightIds.addMany(ids);
|
2283
2261
|
this.selectedIds = ids;
|
2284
2262
|
this._finishOnChange();
|
@@ -2336,8 +2314,8 @@ const LayerTable = class {
|
|
2336
2314
|
async _refresh() {
|
2337
2315
|
const editsDiscarded = await this._validateActiveEdits([], this.selectedIds);
|
2338
2316
|
if (editsDiscarded) {
|
2339
|
-
await this._table
|
2340
|
-
this._allIds = await queryAllIds(
|
2317
|
+
await this._table?.refresh();
|
2318
|
+
this._allIds = await this.queryAllIds();
|
2341
2319
|
this.featureSelectionChange.emit(this.selectedIds);
|
2342
2320
|
}
|
2343
2321
|
}
|
@@ -2367,6 +2345,7 @@ const LayerTable = class {
|
|
2367
2345
|
this._fetchingData = true;
|
2368
2346
|
const layer = await getLayerOrTable(this.mapView, id);
|
2369
2347
|
layer && await layer.when(() => {
|
2348
|
+
this._shouldUpdateTableOnExtentChange = true;
|
2370
2349
|
this._layer = layer;
|
2371
2350
|
this._getFullTextSearchInfo();
|
2372
2351
|
});
|
@@ -5,12 +5,12 @@
|
|
5
5
|
*/
|
6
6
|
import { r as registerInstance, c as createEvent, g as getElement, h, F as Fragment, H as Host } from './index-3702583a.js';
|
7
7
|
import { l as loadModules, g as getLocaleComponentStrings } from './locale-aa656a2c.js';
|
8
|
-
import { a as getAllLayers, g as getLayerOrTable } from './mapViewUtils-
|
9
|
-
import { P as PopupUtils } from './popupUtils-
|
8
|
+
import { a as getAllLayers, g as getLayerOrTable } from './mapViewUtils-9da9be1c.js';
|
9
|
+
import { P as PopupUtils } from './popupUtils-64d25cb0.js';
|
10
10
|
import './esri-loader-c6842c6b.js';
|
11
11
|
import './_commonjsHelpers-089957fe.js';
|
12
12
|
import './interfaces-659e3836.js';
|
13
|
-
import './downloadUtils-
|
13
|
+
import './downloadUtils-36d854d2.js';
|
14
14
|
import './typeof-ef2a007d.js';
|
15
15
|
import './index-d88c3eb6.js';
|
16
16
|
import './solution-resource-30a29505.js';
|
@@ -1282,6 +1282,7 @@ const InfoCard = class {
|
|
1282
1282
|
constructor(hostRef) {
|
1283
1283
|
registerInstance(this, hostRef);
|
1284
1284
|
this.popupClosed = createEvent(this, "popupClosed", 7);
|
1285
|
+
this.clearSelection = createEvent(this, "clearSelection", 7);
|
1285
1286
|
this.selectionChanged = createEvent(this, "selectionChanged", 7);
|
1286
1287
|
}
|
1287
1288
|
get el() { return getElement(this); }
|
@@ -1330,6 +1331,10 @@ const InfoCard = class {
|
|
1330
1331
|
* string: Set the position of the feature info
|
1331
1332
|
*/
|
1332
1333
|
position = 'absolute';
|
1334
|
+
/**
|
1335
|
+
* boolean: If true show close button on the feature info
|
1336
|
+
*/
|
1337
|
+
showCloseBtn = false;
|
1333
1338
|
//--------------------------------------------------------------------------
|
1334
1339
|
//
|
1335
1340
|
// State (internal)
|
@@ -1362,6 +1367,10 @@ const InfoCard = class {
|
|
1362
1367
|
* All UI strings should be defined here.
|
1363
1368
|
*/
|
1364
1369
|
_translations;
|
1370
|
+
/**
|
1371
|
+
* boolean: When true user has been navigated to related feature
|
1372
|
+
*/
|
1373
|
+
_navigatedToRelatedFeature;
|
1365
1374
|
//--------------------------------------------------------------------------
|
1366
1375
|
//
|
1367
1376
|
// Properties (protected)
|
@@ -1397,6 +1406,10 @@ const InfoCard = class {
|
|
1397
1406
|
* esri/core/reactiveUtils: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-reactiveUtils.html
|
1398
1407
|
*/
|
1399
1408
|
reactiveUtils;
|
1409
|
+
/**
|
1410
|
+
* __esri.Graphic: Related feature selected from the features widget
|
1411
|
+
*/
|
1412
|
+
_relatedFeature;
|
1400
1413
|
//--------------------------------------------------------------------------
|
1401
1414
|
//
|
1402
1415
|
// Watch handlers
|
@@ -1406,6 +1419,14 @@ const InfoCard = class {
|
|
1406
1419
|
* Watch for changes to the graphic and update the feature widget
|
1407
1420
|
*/
|
1408
1421
|
async graphicsWatchHandler() {
|
1422
|
+
// if user has been navigated to related record and graphics is changed then close the feature widget and then set graphics to avoid blank popup issue
|
1423
|
+
// https://github.com/Esri/solutions-components/issues/1113
|
1424
|
+
if (this._navigatedToRelatedFeature && this._features) {
|
1425
|
+
this._features.clear();
|
1426
|
+
this._features.close();
|
1427
|
+
this._count = "";
|
1428
|
+
this._navigatedToRelatedFeature = false;
|
1429
|
+
}
|
1409
1430
|
await this.setGraphics();
|
1410
1431
|
}
|
1411
1432
|
/**
|
@@ -1496,6 +1517,10 @@ const InfoCard = class {
|
|
1496
1517
|
* Emitted on demand when the popup is closed
|
1497
1518
|
*/
|
1498
1519
|
popupClosed;
|
1520
|
+
/**
|
1521
|
+
* Emitted on demand when close button is clicked
|
1522
|
+
*/
|
1523
|
+
clearSelection;
|
1499
1524
|
/**
|
1500
1525
|
* Emitted on demand when the selected index changes
|
1501
1526
|
*/
|
@@ -1522,7 +1547,10 @@ const InfoCard = class {
|
|
1522
1547
|
* Refresh the info-card graphics
|
1523
1548
|
*/
|
1524
1549
|
async refreshGraphics(evt) {
|
1525
|
-
|
1550
|
+
// if if user is not navigated to related feature then only update the graphics otherwise the related feature will shown instead of selected feature
|
1551
|
+
if (!this._navigatedToRelatedFeature) {
|
1552
|
+
this.graphics = [...evt.detail];
|
1553
|
+
}
|
1526
1554
|
}
|
1527
1555
|
//--------------------------------------------------------------------------
|
1528
1556
|
//
|
@@ -1556,13 +1584,16 @@ const InfoCard = class {
|
|
1556
1584
|
const featureNodeClass = this.isLoading || this._editRecordOpen ? "visibility-hidden" : "position-absolute";
|
1557
1585
|
const editClass = !this.isLoading && this._editRecordOpen ? "position-absolute" : "display-none";
|
1558
1586
|
const editButtonClass = (!this.isLoading && this._editRecordOpen) || this._showListView ? "display-none" : "";
|
1559
|
-
const nextBackDisabled = this._features?.features?.length < 2;
|
1587
|
+
const nextBackDisabled = this._features?.features?.length < 2 || this._navigatedToRelatedFeature;
|
1560
1588
|
const nextBackClass = this.isMobile ? "display-none" : "";
|
1561
1589
|
const id = this._features?.selectedFeature?.getObjectId();
|
1562
1590
|
const ids = parseInt(id?.toString(), 10) > -1 ? [id] : [];
|
1563
1591
|
const deleteEnabled = this._layer?.editingEnabled && this._layer?.capabilities?.operations?.supportsDelete;
|
1564
|
-
|
1565
|
-
|
1592
|
+
// if user has navigated to the related feature then pass the related feature to the graphics
|
1593
|
+
const graphics = this._relatedFeature ? [this._relatedFeature] : this.graphics;
|
1594
|
+
const selectedFeatureIndex = this._navigatedToRelatedFeature ? 0 : this._features?.selectedFeatureIndex;
|
1595
|
+
return (h(Host, { key: '9f75eb2e7aba944474e85c34b2abe23982629558' }, h("calcite-shell", { key: '748f9e50cd3aa7a52dd7910b171c0d7f54d09203', style: { position: this.position } }, this._getHeader(), h("calcite-loader", { key: 'feced4d4a66df36958644436acaa53ddabdfc02a', class: loadingClass, label: this._translations.fetchingData }), h("div", { key: '3bb912c80d610a21a5e283c6bd19ab0c63023c45', class: "esri-widget feature-node " + featureNodeClass, id: this._featuresNodeId }), h("div", { key: '479dcbda08f837b32bd19ed7f40856f081e92a6e', class: `${editButtonClass} width-100`, slot: "footer" }, this.allowEditing &&
|
1596
|
+
h("div", { key: 'dd78b02ba8506c391aada6c5233691ec9babcfbe', class: "display-flex top-border padding-1-2" }, h("calcite-button", { key: 'c5a807609c60151a433fa9c0055fbfdf20b2935f', appearance: "solid", id: "solutions-edit", onClick: () => this._openEditRecord(), width: "full" }, this._translations.edit), this.isMobile && deleteEnabled ? (h("delete-button", { class: "padding-inline-start-1 width-100", id: "solutions-delete", ids: ids, layer: this._layer, locale: this.locale, onEditsComplete: () => this._closePopup() })) : undefined, h("calcite-tooltip", { key: 'a4cd4c77e982e23675ec9eaf08e2135de6c83b65', placement: "bottom", "reference-element": "solutions-edit" }, h("span", { key: '22533608996d1c87b9b04e339506ec01176379b0' }, this._translations.edit)), this.isMobile && deleteEnabled ? (h("calcite-tooltip", { placement: "bottom", "reference-element": "solutions-delete" }, h("span", null, this._translations.delete))) : undefined), this.paginationEnabled && !nextBackDisabled && h("div", { key: '183ff7da57a06de8f5419edf5973f18b41c46097', class: `display-flex padding-1-2 button-container top-border ${nextBackClass}` }, h("div", { key: '77e59229d1d516ccdc8f7c5be2f89a5ad9d5004b' }, h("calcite-button", { key: '4b6a6f1f85e9199e14d626ba66b6b319283d0c32', appearance: 'transparent', disabled: nextBackDisabled, iconFlipRtl: "both", iconStart: "chevron-left", id: "solutions-back", onClick: () => this._back(), width: "full" }), h("calcite-tooltip", { key: '7056c5cb3c790c804194f09f2586864a28dce5e1', placement: "top", "reference-element": "solutions-back" }, h("span", { key: '923fc5425a9faced6952a1b9acff9b7d0f3da286' }, this._translations.back))), h("calcite-action", { key: 'a34bfb4ae71a91373fd476e7b704a6a2f8f23157', class: 'pagination-action', iconFlipRtl: true, onClick: () => this._toggleListView(), scale: "s", text: "", textEnabled: true }, h("span", { key: '101a0fa592af65b540123c835e9031a18671ad8b', class: "pagination-count" }, this._count)), h("div", { key: 'c4f88f464a3091dfc77578470de4f42d05b9f5c7' }, h("calcite-button", { key: 'e4e35e539f0c7e01a31e0047db545d4d334ef2d8', appearance: "transparent", disabled: nextBackDisabled, iconFlipRtl: "both", iconStart: "chevron-right", id: "solutions-next", onClick: () => this._next(), width: "full" }), h("calcite-tooltip", { key: '40244ecf5566fde448b311272d2ee00d70bc531a', placement: "top", "reference-element": "solutions-next" }, h("span", { key: 'db01e2a2b9da9a80f9a25caf49bf8beb872e6ad9' }, this._translations.next))))), h("edit-card", { key: 'cfa193b01b67f7709ea6a491caa0c647c536e9e3', class: editClass, enableEditGeometry: this.enableEditGeometry, graphicIndex: selectedFeatureIndex, graphics: graphics, locale: this.locale, mapView: this.mapView, open: this._editRecordOpen }), h("calcite-alert", { key: '709fd6d681d32a03fcf5fba959e81a0153676e26', icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, h("div", { key: 'bbdd9cc98fcda8ffba294a4322f08468072f6aef', slot: "title" }, this._translations.editDisabled), h("div", { key: 'd07e32e9cd54cc82ff005e7e696e13e1b8bdaa4e', slot: "message" }, this._translations.enableEditing)))));
|
1566
1597
|
}
|
1567
1598
|
//--------------------------------------------------------------------------
|
1568
1599
|
//
|
@@ -1622,7 +1653,7 @@ const InfoCard = class {
|
|
1622
1653
|
container: this._featuresNodeId,
|
1623
1654
|
visibleElements: {
|
1624
1655
|
actionBar: false,
|
1625
|
-
closeButton:
|
1656
|
+
closeButton: this.showCloseBtn,
|
1626
1657
|
heading: !this.isMobile
|
1627
1658
|
}
|
1628
1659
|
});
|
@@ -1638,11 +1669,26 @@ const InfoCard = class {
|
|
1638
1669
|
this.selectionChanged.emit({ selectedFeature: [this._features.selectedFeature], selectedFeatureIndex: this._features.selectedFeatureIndex });
|
1639
1670
|
}
|
1640
1671
|
});
|
1672
|
+
this.reactiveUtils.watch(() => this._features.selectedDrillInFeature, (f) => {
|
1673
|
+
if (f) {
|
1674
|
+
this._relatedFeature = f;
|
1675
|
+
this._navigatedToRelatedFeature = true;
|
1676
|
+
}
|
1677
|
+
else {
|
1678
|
+
this._relatedFeature = null;
|
1679
|
+
this._navigatedToRelatedFeature = false;
|
1680
|
+
}
|
1681
|
+
});
|
1682
|
+
// get the info card node element and emit clear selection while clicking the close button
|
1683
|
+
const infoCard = this.el.querySelector('#' + this._featuresNodeId);
|
1684
|
+
infoCard.addEventListener('calciteFlowItemClose', () => {
|
1685
|
+
this.clearSelection.emit();
|
1686
|
+
});
|
1641
1687
|
}
|
1642
1688
|
else {
|
1643
1689
|
this._features.view = this.mapView;
|
1644
1690
|
this._features.visibleElements.actionBar = false;
|
1645
|
-
this._features.visibleElements.closeButton =
|
1691
|
+
this._features.visibleElements.closeButton = this.showCloseBtn;
|
1646
1692
|
this._features.visibleElements.heading = !this.isMobile;
|
1647
1693
|
}
|
1648
1694
|
}) : Promise.resolve();
|