@esri/solutions-components 0.10.43 → 0.10.44
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 +32 -4
- package/dist/collection/components/layer-table/layer-table.js +32 -4
- package/dist/components/layer-table2.js +32 -4
- package/dist/esm/card-manager_3.entry.js +32 -4
- package/dist/solutions-components/p-f0509d41.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/layer-table/layer-table.d.ts +4 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-a1d8aed8.entry.js +0 -6
@@ -426,6 +426,10 @@ const LayerTable = class {
|
|
426
426
|
* string the current search expression
|
427
427
|
*/
|
428
428
|
_searchExpression;
|
429
|
+
/**
|
430
|
+
* number[]: selected features from table
|
431
|
+
*/
|
432
|
+
_tempSelectedIds;
|
429
433
|
//--------------------------------------------------------------------------
|
430
434
|
//
|
431
435
|
// Watch handlers
|
@@ -731,10 +735,10 @@ const LayerTable = class {
|
|
731
735
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
732
736
|
const showSearch = this._canShowFullTextSearch();
|
733
737
|
this._validateActiveActions();
|
734
|
-
return (index.h(index.Host, { key: '
|
735
|
-
index.h("div", { key: '
|
738
|
+
return (index.h(index.Host, { key: '0998f68ec5ab3fe8c2e7a21aa832137730faf94f' }, index.h("calcite-shell", { key: 'a6f00f0280358c318cbed1afc48d54ae0ffae465' }, this._getTableControlRow("header"), index.h("div", { key: '744786c1915fd86e81c278ecc75c862312c1ec6f', class: `width-full ${tableHeightClass}` }, index.h("calcite-panel", { key: 'b59b7bcf0f6e3f5411ff0ecf5de8e6bd747fbe4a', class: "height-full width-full" }, showSearch &&
|
739
|
+
index.h("div", { key: '6c62638d97156a2101764bf620b0f48b70f906ad', class: "search-container" }, index.h("calcite-input", { key: '8ff64d0529b5e3fe281490917ba44a829567cb0c', 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: '7f673a2fd30a5828dec0400d01c581440a3adf6b', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), index.h("div", { key: '39c0801b1992db5f8782d6b3569fa89ba47ce8ce', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (index.h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
736
740
|
.replace("{{total}}", total)
|
737
|
-
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), index.h("delete-dialog", { key: '
|
741
|
+
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), index.h("delete-dialog", { key: '6bf4038662260c566d304a63d8f118265a1bf69e', id: "deleteDialogId", ids: this._getIds(), layer: this._layer, locale: this.locale, onDeleteDialogClose: () => this._deleteDialogOpen = false, open: this._deleteDialogOpen, ref: (el) => this._deleteDialog = el })));
|
738
742
|
}
|
739
743
|
_deleteDialog;
|
740
744
|
/**
|
@@ -794,18 +798,37 @@ const LayerTable = class {
|
|
794
798
|
*
|
795
799
|
*/
|
796
800
|
async _searchFullText() {
|
801
|
+
let selectedIds = [];
|
802
|
+
let showSelected = false;
|
803
|
+
if (this._showOnlySelected) {
|
804
|
+
selectedIds = this._tempSelectedIds;
|
805
|
+
showSelected = true;
|
806
|
+
}
|
807
|
+
else {
|
808
|
+
this._clearSelection();
|
809
|
+
this._tempSelectedIds = [];
|
810
|
+
}
|
797
811
|
//always clear previous search definition
|
798
812
|
if (this._searchExpression) {
|
799
813
|
this._clearSearchDefinitionExpression();
|
800
814
|
}
|
815
|
+
let searchedIds = [];
|
801
816
|
if (this._fullTextSearchInfo.length) {
|
802
817
|
if (this._fullTextSearchInfo[0].searchTerm) {
|
803
818
|
const searchQueryParams = this._layer.createQuery();
|
804
819
|
searchQueryParams.fullText = this._fullTextSearchInfo;
|
805
|
-
|
820
|
+
searchedIds = await this._layer.queryObjectIds(searchQueryParams);
|
821
|
+
if (showSelected && selectedIds?.length) {
|
822
|
+
searchedIds = searchedIds.filter((id) => selectedIds.includes(id));
|
823
|
+
}
|
806
824
|
await this._updateSearchDefinitionExpression(searchedIds?.length ? searchedIds : [-1]);
|
807
825
|
}
|
808
826
|
}
|
827
|
+
// highlight the feature only when selected feature is present in applied filter
|
828
|
+
if (showSelected && searchedIds?.length) {
|
829
|
+
this._showOnlySelected = true;
|
830
|
+
this._table.highlightIds.addMany(searchedIds.reverse());
|
831
|
+
}
|
809
832
|
//Added timeout and table.refresh() to avoid the issue in which we see empty table records after searching in combination to filter/reset filter
|
810
833
|
await new Promise(resolve => setTimeout(resolve, 800));
|
811
834
|
await this._updateAllIds();
|
@@ -1425,6 +1448,7 @@ const LayerTable = class {
|
|
1425
1448
|
highlightEnabled: true,
|
1426
1449
|
multiSortEnabled: false,
|
1427
1450
|
visibleElements: {
|
1451
|
+
columnDescriptions: false,
|
1428
1452
|
header: false,
|
1429
1453
|
menu: false
|
1430
1454
|
},
|
@@ -1455,6 +1479,7 @@ const LayerTable = class {
|
|
1455
1479
|
// only readd in specific case where we have multiple selected and then click one of the currently selected
|
1456
1480
|
const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
|
1457
1481
|
const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
|
1482
|
+
this._tempSelectedIds = newIds.length ? [...newIds] : [...this.selectedIds];
|
1458
1483
|
this._clearSelection();
|
1459
1484
|
this.selectedIds = [...newIds];
|
1460
1485
|
if (newIds.length > 0) {
|
@@ -1467,10 +1492,12 @@ const LayerTable = class {
|
|
1467
1492
|
else {
|
1468
1493
|
// https://github.com/Esri/solutions-components/issues/365
|
1469
1494
|
this.selectedIds = ids.reverse();
|
1495
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1470
1496
|
}
|
1471
1497
|
}
|
1472
1498
|
else if (this._ctrlIsPressed) {
|
1473
1499
|
this.selectedIds = ids.reverse();
|
1500
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1474
1501
|
}
|
1475
1502
|
else if (this._shiftIsPressed && ids?.length > 0) {
|
1476
1503
|
this._skipOnChange = true;
|
@@ -1507,6 +1534,7 @@ const LayerTable = class {
|
|
1507
1534
|
}, []);
|
1508
1535
|
const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
|
1509
1536
|
this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
|
1537
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1510
1538
|
this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
|
1511
1539
|
}
|
1512
1540
|
}
|
@@ -233,6 +233,10 @@ export class LayerTable {
|
|
233
233
|
* string the current search expression
|
234
234
|
*/
|
235
235
|
_searchExpression;
|
236
|
+
/**
|
237
|
+
* number[]: selected features from table
|
238
|
+
*/
|
239
|
+
_tempSelectedIds;
|
236
240
|
//--------------------------------------------------------------------------
|
237
241
|
//
|
238
242
|
// Watch handlers
|
@@ -538,10 +542,10 @@ export class LayerTable {
|
|
538
542
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
539
543
|
const showSearch = this._canShowFullTextSearch();
|
540
544
|
this._validateActiveActions();
|
541
|
-
return (h(Host, { key: '
|
542
|
-
h("div", { key: '
|
545
|
+
return (h(Host, { key: '0998f68ec5ab3fe8c2e7a21aa832137730faf94f' }, h("calcite-shell", { key: 'a6f00f0280358c318cbed1afc48d54ae0ffae465' }, this._getTableControlRow("header"), h("div", { key: '744786c1915fd86e81c278ecc75c862312c1ec6f', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b59b7bcf0f6e3f5411ff0ecf5de8e6bd747fbe4a', class: "height-full width-full" }, showSearch &&
|
546
|
+
h("div", { key: '6c62638d97156a2101764bf620b0f48b70f906ad', class: "search-container" }, h("calcite-input", { key: '8ff64d0529b5e3fe281490917ba44a829567cb0c', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '7f673a2fd30a5828dec0400d01c581440a3adf6b', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '39c0801b1992db5f8782d6b3569fa89ba47ce8ce', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
543
547
|
.replace("{{total}}", total)
|
544
|
-
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), h("delete-dialog", { key: '
|
548
|
+
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), h("delete-dialog", { key: '6bf4038662260c566d304a63d8f118265a1bf69e', id: "deleteDialogId", ids: this._getIds(), layer: this._layer, locale: this.locale, onDeleteDialogClose: () => this._deleteDialogOpen = false, open: this._deleteDialogOpen, ref: (el) => this._deleteDialog = el })));
|
545
549
|
}
|
546
550
|
_deleteDialog;
|
547
551
|
/**
|
@@ -601,18 +605,37 @@ export class LayerTable {
|
|
601
605
|
*
|
602
606
|
*/
|
603
607
|
async _searchFullText() {
|
608
|
+
let selectedIds = [];
|
609
|
+
let showSelected = false;
|
610
|
+
if (this._showOnlySelected) {
|
611
|
+
selectedIds = this._tempSelectedIds;
|
612
|
+
showSelected = true;
|
613
|
+
}
|
614
|
+
else {
|
615
|
+
this._clearSelection();
|
616
|
+
this._tempSelectedIds = [];
|
617
|
+
}
|
604
618
|
//always clear previous search definition
|
605
619
|
if (this._searchExpression) {
|
606
620
|
this._clearSearchDefinitionExpression();
|
607
621
|
}
|
622
|
+
let searchedIds = [];
|
608
623
|
if (this._fullTextSearchInfo.length) {
|
609
624
|
if (this._fullTextSearchInfo[0].searchTerm) {
|
610
625
|
const searchQueryParams = this._layer.createQuery();
|
611
626
|
searchQueryParams.fullText = this._fullTextSearchInfo;
|
612
|
-
|
627
|
+
searchedIds = await this._layer.queryObjectIds(searchQueryParams);
|
628
|
+
if (showSelected && selectedIds?.length) {
|
629
|
+
searchedIds = searchedIds.filter((id) => selectedIds.includes(id));
|
630
|
+
}
|
613
631
|
await this._updateSearchDefinitionExpression(searchedIds?.length ? searchedIds : [-1]);
|
614
632
|
}
|
615
633
|
}
|
634
|
+
// highlight the feature only when selected feature is present in applied filter
|
635
|
+
if (showSelected && searchedIds?.length) {
|
636
|
+
this._showOnlySelected = true;
|
637
|
+
this._table.highlightIds.addMany(searchedIds.reverse());
|
638
|
+
}
|
616
639
|
//Added timeout and table.refresh() to avoid the issue in which we see empty table records after searching in combination to filter/reset filter
|
617
640
|
await new Promise(resolve => setTimeout(resolve, 800));
|
618
641
|
await this._updateAllIds();
|
@@ -1232,6 +1255,7 @@ export class LayerTable {
|
|
1232
1255
|
highlightEnabled: true,
|
1233
1256
|
multiSortEnabled: false,
|
1234
1257
|
visibleElements: {
|
1258
|
+
columnDescriptions: false,
|
1235
1259
|
header: false,
|
1236
1260
|
menu: false
|
1237
1261
|
},
|
@@ -1262,6 +1286,7 @@ export class LayerTable {
|
|
1262
1286
|
// only readd in specific case where we have multiple selected and then click one of the currently selected
|
1263
1287
|
const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
|
1264
1288
|
const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
|
1289
|
+
this._tempSelectedIds = newIds.length ? [...newIds] : [...this.selectedIds];
|
1265
1290
|
this._clearSelection();
|
1266
1291
|
this.selectedIds = [...newIds];
|
1267
1292
|
if (newIds.length > 0) {
|
@@ -1274,10 +1299,12 @@ export class LayerTable {
|
|
1274
1299
|
else {
|
1275
1300
|
// https://github.com/Esri/solutions-components/issues/365
|
1276
1301
|
this.selectedIds = ids.reverse();
|
1302
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1277
1303
|
}
|
1278
1304
|
}
|
1279
1305
|
else if (this._ctrlIsPressed) {
|
1280
1306
|
this.selectedIds = ids.reverse();
|
1307
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1281
1308
|
}
|
1282
1309
|
else if (this._shiftIsPressed && ids?.length > 0) {
|
1283
1310
|
this._skipOnChange = true;
|
@@ -1314,6 +1341,7 @@ export class LayerTable {
|
|
1314
1341
|
}, []);
|
1315
1342
|
const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
|
1316
1343
|
this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
|
1344
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1317
1345
|
this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
|
1318
1346
|
}
|
1319
1347
|
}
|
@@ -261,6 +261,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
261
261
|
* string the current search expression
|
262
262
|
*/
|
263
263
|
_searchExpression;
|
264
|
+
/**
|
265
|
+
* number[]: selected features from table
|
266
|
+
*/
|
267
|
+
_tempSelectedIds;
|
264
268
|
//--------------------------------------------------------------------------
|
265
269
|
//
|
266
270
|
// Watch handlers
|
@@ -566,10 +570,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
566
570
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
567
571
|
const showSearch = this._canShowFullTextSearch();
|
568
572
|
this._validateActiveActions();
|
569
|
-
return (h(Host, { key: '
|
570
|
-
h("div", { key: '
|
573
|
+
return (h(Host, { key: '0998f68ec5ab3fe8c2e7a21aa832137730faf94f' }, h("calcite-shell", { key: 'a6f00f0280358c318cbed1afc48d54ae0ffae465' }, this._getTableControlRow("header"), h("div", { key: '744786c1915fd86e81c278ecc75c862312c1ec6f', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b59b7bcf0f6e3f5411ff0ecf5de8e6bd747fbe4a', class: "height-full width-full" }, showSearch &&
|
574
|
+
h("div", { key: '6c62638d97156a2101764bf620b0f48b70f906ad', class: "search-container" }, h("calcite-input", { key: '8ff64d0529b5e3fe281490917ba44a829567cb0c', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '7f673a2fd30a5828dec0400d01c581440a3adf6b', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '39c0801b1992db5f8782d6b3569fa89ba47ce8ce', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
571
575
|
.replace("{{total}}", total)
|
572
|
-
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), h("delete-dialog", { key: '
|
576
|
+
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), h("delete-dialog", { key: '6bf4038662260c566d304a63d8f118265a1bf69e', id: "deleteDialogId", ids: this._getIds(), layer: this._layer, locale: this.locale, onDeleteDialogClose: () => this._deleteDialogOpen = false, open: this._deleteDialogOpen, ref: (el) => this._deleteDialog = el })));
|
573
577
|
}
|
574
578
|
_deleteDialog;
|
575
579
|
/**
|
@@ -629,18 +633,37 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
629
633
|
*
|
630
634
|
*/
|
631
635
|
async _searchFullText() {
|
636
|
+
let selectedIds = [];
|
637
|
+
let showSelected = false;
|
638
|
+
if (this._showOnlySelected) {
|
639
|
+
selectedIds = this._tempSelectedIds;
|
640
|
+
showSelected = true;
|
641
|
+
}
|
642
|
+
else {
|
643
|
+
this._clearSelection();
|
644
|
+
this._tempSelectedIds = [];
|
645
|
+
}
|
632
646
|
//always clear previous search definition
|
633
647
|
if (this._searchExpression) {
|
634
648
|
this._clearSearchDefinitionExpression();
|
635
649
|
}
|
650
|
+
let searchedIds = [];
|
636
651
|
if (this._fullTextSearchInfo.length) {
|
637
652
|
if (this._fullTextSearchInfo[0].searchTerm) {
|
638
653
|
const searchQueryParams = this._layer.createQuery();
|
639
654
|
searchQueryParams.fullText = this._fullTextSearchInfo;
|
640
|
-
|
655
|
+
searchedIds = await this._layer.queryObjectIds(searchQueryParams);
|
656
|
+
if (showSelected && selectedIds?.length) {
|
657
|
+
searchedIds = searchedIds.filter((id) => selectedIds.includes(id));
|
658
|
+
}
|
641
659
|
await this._updateSearchDefinitionExpression(searchedIds?.length ? searchedIds : [-1]);
|
642
660
|
}
|
643
661
|
}
|
662
|
+
// highlight the feature only when selected feature is present in applied filter
|
663
|
+
if (showSelected && searchedIds?.length) {
|
664
|
+
this._showOnlySelected = true;
|
665
|
+
this._table.highlightIds.addMany(searchedIds.reverse());
|
666
|
+
}
|
644
667
|
//Added timeout and table.refresh() to avoid the issue in which we see empty table records after searching in combination to filter/reset filter
|
645
668
|
await new Promise(resolve => setTimeout(resolve, 800));
|
646
669
|
await this._updateAllIds();
|
@@ -1260,6 +1283,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1260
1283
|
highlightEnabled: true,
|
1261
1284
|
multiSortEnabled: false,
|
1262
1285
|
visibleElements: {
|
1286
|
+
columnDescriptions: false,
|
1263
1287
|
header: false,
|
1264
1288
|
menu: false
|
1265
1289
|
},
|
@@ -1290,6 +1314,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1290
1314
|
// only readd in specific case where we have multiple selected and then click one of the currently selected
|
1291
1315
|
const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
|
1292
1316
|
const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
|
1317
|
+
this._tempSelectedIds = newIds.length ? [...newIds] : [...this.selectedIds];
|
1293
1318
|
this._clearSelection();
|
1294
1319
|
this.selectedIds = [...newIds];
|
1295
1320
|
if (newIds.length > 0) {
|
@@ -1302,10 +1327,12 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1302
1327
|
else {
|
1303
1328
|
// https://github.com/Esri/solutions-components/issues/365
|
1304
1329
|
this.selectedIds = ids.reverse();
|
1330
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1305
1331
|
}
|
1306
1332
|
}
|
1307
1333
|
else if (this._ctrlIsPressed) {
|
1308
1334
|
this.selectedIds = ids.reverse();
|
1335
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1309
1336
|
}
|
1310
1337
|
else if (this._shiftIsPressed && ids?.length > 0) {
|
1311
1338
|
this._skipOnChange = true;
|
@@ -1342,6 +1369,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1342
1369
|
}, []);
|
1343
1370
|
const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
|
1344
1371
|
this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
|
1372
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1345
1373
|
this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
|
1346
1374
|
}
|
1347
1375
|
}
|
@@ -422,6 +422,10 @@ const LayerTable = class {
|
|
422
422
|
* string the current search expression
|
423
423
|
*/
|
424
424
|
_searchExpression;
|
425
|
+
/**
|
426
|
+
* number[]: selected features from table
|
427
|
+
*/
|
428
|
+
_tempSelectedIds;
|
425
429
|
//--------------------------------------------------------------------------
|
426
430
|
//
|
427
431
|
// Watch handlers
|
@@ -727,10 +731,10 @@ const LayerTable = class {
|
|
727
731
|
const tableHeightClass = this.isMobile ? "height-full" : "height-full-adjusted";
|
728
732
|
const showSearch = this._canShowFullTextSearch();
|
729
733
|
this._validateActiveActions();
|
730
|
-
return (h(Host, { key: '
|
731
|
-
h("div", { key: '
|
734
|
+
return (h(Host, { key: '0998f68ec5ab3fe8c2e7a21aa832137730faf94f' }, h("calcite-shell", { key: 'a6f00f0280358c318cbed1afc48d54ae0ffae465' }, this._getTableControlRow("header"), h("div", { key: '744786c1915fd86e81c278ecc75c862312c1ec6f', class: `width-full ${tableHeightClass}` }, h("calcite-panel", { key: 'b59b7bcf0f6e3f5411ff0ecf5de8e6bd747fbe4a', class: "height-full width-full" }, showSearch &&
|
735
|
+
h("div", { key: '6c62638d97156a2101764bf620b0f48b70f906ad', class: "search-container" }, h("calcite-input", { key: '8ff64d0529b5e3fe281490917ba44a829567cb0c', class: "search", clearable: true, icon: "search", onCalciteInputChange: (evt) => void this._searchTextChanged(evt), placeholder: this._searchPlaceHolder, title: this._searchPlaceHolder, type: "search" })), h("calcite-loader", { key: '7f673a2fd30a5828dec0400d01c581440a3adf6b', class: loadingClass, label: this._translations.fetchingData, scale: "l" }), h("div", { key: '39c0801b1992db5f8782d6b3569fa89ba47ce8ce', class: tableNodeClass, ref: this.onTableNodeCreate }))), !this.isMobile ? (h("div", { class: "bottom-left text-color height-19" }, this._translations.recordsSelected
|
732
736
|
.replace("{{total}}", total)
|
733
|
-
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), h("delete-dialog", { key: '
|
737
|
+
.replace("{{selected}}", selected))) : undefined), this.createFilterModal && this._filterModal(), h("delete-dialog", { key: '6bf4038662260c566d304a63d8f118265a1bf69e', id: "deleteDialogId", ids: this._getIds(), layer: this._layer, locale: this.locale, onDeleteDialogClose: () => this._deleteDialogOpen = false, open: this._deleteDialogOpen, ref: (el) => this._deleteDialog = el })));
|
734
738
|
}
|
735
739
|
_deleteDialog;
|
736
740
|
/**
|
@@ -790,18 +794,37 @@ const LayerTable = class {
|
|
790
794
|
*
|
791
795
|
*/
|
792
796
|
async _searchFullText() {
|
797
|
+
let selectedIds = [];
|
798
|
+
let showSelected = false;
|
799
|
+
if (this._showOnlySelected) {
|
800
|
+
selectedIds = this._tempSelectedIds;
|
801
|
+
showSelected = true;
|
802
|
+
}
|
803
|
+
else {
|
804
|
+
this._clearSelection();
|
805
|
+
this._tempSelectedIds = [];
|
806
|
+
}
|
793
807
|
//always clear previous search definition
|
794
808
|
if (this._searchExpression) {
|
795
809
|
this._clearSearchDefinitionExpression();
|
796
810
|
}
|
811
|
+
let searchedIds = [];
|
797
812
|
if (this._fullTextSearchInfo.length) {
|
798
813
|
if (this._fullTextSearchInfo[0].searchTerm) {
|
799
814
|
const searchQueryParams = this._layer.createQuery();
|
800
815
|
searchQueryParams.fullText = this._fullTextSearchInfo;
|
801
|
-
|
816
|
+
searchedIds = await this._layer.queryObjectIds(searchQueryParams);
|
817
|
+
if (showSelected && selectedIds?.length) {
|
818
|
+
searchedIds = searchedIds.filter((id) => selectedIds.includes(id));
|
819
|
+
}
|
802
820
|
await this._updateSearchDefinitionExpression(searchedIds?.length ? searchedIds : [-1]);
|
803
821
|
}
|
804
822
|
}
|
823
|
+
// highlight the feature only when selected feature is present in applied filter
|
824
|
+
if (showSelected && searchedIds?.length) {
|
825
|
+
this._showOnlySelected = true;
|
826
|
+
this._table.highlightIds.addMany(searchedIds.reverse());
|
827
|
+
}
|
805
828
|
//Added timeout and table.refresh() to avoid the issue in which we see empty table records after searching in combination to filter/reset filter
|
806
829
|
await new Promise(resolve => setTimeout(resolve, 800));
|
807
830
|
await this._updateAllIds();
|
@@ -1421,6 +1444,7 @@ const LayerTable = class {
|
|
1421
1444
|
highlightEnabled: true,
|
1422
1445
|
multiSortEnabled: false,
|
1423
1446
|
visibleElements: {
|
1447
|
+
columnDescriptions: false,
|
1424
1448
|
header: false,
|
1425
1449
|
menu: false
|
1426
1450
|
},
|
@@ -1451,6 +1475,7 @@ const LayerTable = class {
|
|
1451
1475
|
// only readd in specific case where we have multiple selected and then click one of the currently selected
|
1452
1476
|
const reAdd = this.selectedIds.length > 1 && evt.removed.length === 1;
|
1453
1477
|
const newIds = reAdd ? evt.removed : ids.filter(id => this.selectedIds.indexOf(id) < 0);
|
1478
|
+
this._tempSelectedIds = newIds.length ? [...newIds] : [...this.selectedIds];
|
1454
1479
|
this._clearSelection();
|
1455
1480
|
this.selectedIds = [...newIds];
|
1456
1481
|
if (newIds.length > 0) {
|
@@ -1463,10 +1488,12 @@ const LayerTable = class {
|
|
1463
1488
|
else {
|
1464
1489
|
// https://github.com/Esri/solutions-components/issues/365
|
1465
1490
|
this.selectedIds = ids.reverse();
|
1491
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1466
1492
|
}
|
1467
1493
|
}
|
1468
1494
|
else if (this._ctrlIsPressed) {
|
1469
1495
|
this.selectedIds = ids.reverse();
|
1496
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1470
1497
|
}
|
1471
1498
|
else if (this._shiftIsPressed && ids?.length > 0) {
|
1472
1499
|
this._skipOnChange = true;
|
@@ -1503,6 +1530,7 @@ const LayerTable = class {
|
|
1503
1530
|
}, []);
|
1504
1531
|
const selectedIds = _start < _end ? idsInRange.reverse() : idsInRange;
|
1505
1532
|
this.selectedIds = [...new Set([...selectedIds, ...this.selectedIds])];
|
1533
|
+
this._tempSelectedIds = [...this.selectedIds];
|
1506
1534
|
this._table.highlightIds.addMany(this.selectedIds.filter(i => ids.indexOf(i) < 0));
|
1507
1535
|
}
|
1508
1536
|
}
|
@@ -0,0 +1,6 @@
|
|
1
|
+
/*!
|
2
|
+
* Copyright 2022 Esri
|
3
|
+
* Licensed under the Apache License, Version 2.0
|
4
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
+
*/
|
6
|
+
import{r as t,c as i,g as s,h as e,H as h}from"./p-4e6eb06e.js";import{g as a,l as o}from"./p-f4aadb3b.js";import{g as l,q as n,e as c,f as d,i as r,j as p,c as b}from"./p-d572627c.js";import{d as f}from"./p-ff9e28d1.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";import"./p-7530a02f.js";import"./p-d0d020a5.js";import"./p-9bb44f57.js";const u=class{constructor(s){t(this,s),this.createWorkFlowStarted=i(this,"createWorkFlowStarted",7),this.backFromCreateWorkFlow=i(this,"backFromCreateWorkFlow",7),this.featureOrRecordSubmitted=i(this,"featureOrRecordSubmitted",7),this.customInfoText=void 0,this.enableEditGeometry=!1,this.isMobile=void 0,this.layer=void 0,this.locale=void 0,this.mapView=void 0,this.zoomAndScrollToSelected=void 0,this.selectedFeaturesIds=void 0,this.enableCreateFeatures=!0,this.selectingFeatureFromMap=void 0,this._cardLoading=!1,this._graphics=void 0,this._showCreateFeatureComponent=!1,this._showSubmitBtn=!1,this._translations=void 0}get el(){return s(this)}_isFeatureCreated=!1;_createFeature;async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}createWorkFlowStarted;backFromCreateWorkFlow;featureOrRecordSubmitted;async featureSelectionChange(t){this._showCreateFeatureComponent&&!this._isFeatureCreated&&this._backFromCreateFeature();const i=t.detail;this._graphics=await this._getFeaturesByIds(i)}async layerSelectionChange(t){this._showCreateFeatureComponent&&this._backFromCreateFeature();const i=t.detail[0];this.layer=await l(this.mapView,i)}async componentWillLoad(){await this._getTranslations(),this.selectedFeaturesIds?.length>0&&(this._graphics=await this._getFeaturesByIds(this.selectedFeaturesIds))}render(){const t=this._graphics?.length>0?"":"display-none",i=0===this._graphics?.length&&this._showCreateFeatureComponent?"":"display-none",s=this._graphics?.length>0||this._showCreateFeatureComponent?"display-none":"",a=this.layer?.isTable,o=a?this._translations.createRecord:this._translations.createFeature,l=this.customInfoText?this.customInfoText:this.selectingFeatureFromMap?this._translations.selectFeaturesFromMapToStart:this._translations.selectFeaturesToStart,n=this.enableCreateFeatures&&this.layer?.capabilities?.operations?.supportsAdd;return e(h,{key:"1dc448368b85b83ccc2f76f59cff83559d1d1285"},e("div",{key:"7c058f7a4ca2db84f0ad35efba90a1485e5c7989",class:"overflow-auto height-full"},e("calcite-shell",{key:"1388666d3d11efee37efc1524011594237cccc35",class:"position-relative "+t},e("div",{key:"3f93c4de344e49eec16e447bc1ca44cb280f84cc",class:"position-static z-index-500"},e("info-card",{key:"c5b8cafef2595b8ae85725d583caebf9754ce1fb",enableEditGeometry:this.enableEditGeometry,graphics:this._graphics,isLoading:this._cardLoading,isMobile:this.isMobile,locale:this.locale,mapView:this.mapView}))),e("calcite-shell",{key:"bfa2f41e657f390335545f46ab744d4d980c3926",class:"position-relative "+s},e("calcite-flow-item",{key:"bf19ce4b69b52c5652629f38859e03a0a99f8374"},e("calcite-panel",{key:"1ea46998a73ad636ad2a956e72181a0570edd5d0"},e("div",{key:"d853f429c30daa5abcfe6576b7242fa48251ae53",class:"padding-1"},e("calcite-notice",{key:"dffa52ec3fa7a22494b6dadd7b1c6d512e25c192",icon:this.selectingFeatureFromMap?"map":"table",iconFlipRtl:!0,open:!0},e("div",{key:"728b56c9281dfe09d1604882635a53803c5f4253",slot:"message"},l))),!this.isMobile&&n&&e("calcite-button",{key:"260042d84c529d5508630bca7bdb39db1c2408cb",disabled:!this.layer,onClick:()=>this._createFeatureBtnClicked(),slot:"footer",width:"full"},a?this._translations.createRecord:this._translations.createFeature)))),e("calcite-shell",{key:"c30cbc2dc6e70319440bf9ed7c3d7f7ede38c3a1",class:"position-relative "+i},e("calcite-flow-item",{key:"901c5a407a8418c34ee72c4dd4b16443c3766819"},e("calcite-panel",{key:"a6faf502cd08060a42582cbd95d7354b1e192a43",heading:o},e("calcite-action",{key:"23e9c295f7476f935055c30227774e173315194d",class:"back-button hydrated",icon:"chevron-left",onClick:this._backFromCreateFeature.bind(this),scale:"s",slot:"header-actions-start",text:""}),this.getEditorComponent(),this._showSubmitBtn&&e("calcite-button",{key:"3ee5c310e5fad8aa5d6abd8ae1347c46d3ada1be",appearance:"solid",class:"footer-top-button footer-button",onClick:()=>{this._createFeature.submit()},slot:"footer",width:"full"},this._translations.create))))))}getEditorComponent(){return e("div",null,this._showCreateFeatureComponent&&e("create-feature",{customizeSubmit:!0,locale:this.locale,mapView:this.mapView,onDrawComplete:()=>{this._showSubmitBtn=!0},onEditingAttachment:t=>{this._showSubmitBtn=!t.detail},onProgressStatus:()=>{setTimeout((()=>{this._isFeatureCreated=!1}),2e3)},onSuccess:this._featureCreated.bind(this),ref:t=>this._createFeature=t,selectedLayerId:this.layer?.id,showGuidingMsgWhileDrawing:!1}))}async _getFeaturesByIds(t){return(t.length>0?await n(t,this.layer,[],!0,this.mapView.spatialReference):[]).sort(((i,s)=>t.indexOf(i.getObjectId())-t.indexOf(s.getObjectId())))}_createFeatureBtnClicked(){this._showCreateFeatureComponent=!0,this.createWorkFlowStarted.emit()}async _backFromCreateFeature(){this._createFeature&&(this._showCreateFeatureComponent=!1,this.backFromCreateWorkFlow.emit()),this._showSubmitBtn=!1}_featureCreated(){this._showCreateFeatureComponent=!1,this._showSubmitBtn=!1,this._isFeatureCreated=!0,this.featureOrRecordSubmitted.emit(),setTimeout((()=>{this._showCreateFeatureComponent=!0}),50)}async _getTranslations(){const t=await a(this.el);this._translations=t[0]}static get watchers(){return{locale:["localeWatchHandler"]}}};u.style=":host{display:block !important}.display-flex{display:flex}.display-none{display:none}.w-100{width:100%}.padding-bottom-1{padding-bottom:1rem}.padding-1{padding:1rem}.position-relative{position:relative}.focus-margin{margin:1px 1px 0px 1px}.overflow-auto{overflow:auto}.height-full{height:100%}.position-static{position:static !important}.z-index-500{z-index:500 !important}card-manager{display:block}";const m=class{constructor(s){t(this,s),this.featureSelectionChange=i(this,"featureSelectionChange",7),this.toggleFilter=i(this,"toggleFilter",7),this.appLayout=void 0,this.defaultGlobalId=void 0,this.defaultLayerId=void 0,this.defaultOid=void 0,this.enableAutoRefresh=void 0,this.enableColumnReorder=!0,this.enableCSV=void 0,this.enableInlineEdit=void 0,this.enableShare=void 0,this.isMobile=void 0,this.locale=void 0,this.mapHidden=void 0,this.mapInfo=void 0,this.mapView=void 0,this.onlyShowUpdatableLayers=void 0,this.selectedIds=[],this.shareIncludeEmbed=void 0,this.shareIncludeSocial=void 0,this.showNewestFirst=void 0,this.zoomAndScrollToSelected=void 0,this.zoomToScale=void 0,this.createFilterModal=!0,this._allIds=[],this._controlsThatFit=void 0,this._csvExporting=!1,this._fetchingData=!1,this._filterActive=!1,this._filterOpen=!1,this._layer=void 0,this._selectAllActive=!1,this._deleteDialogOpen=!1,this._showHideOpen=!1,this._showOnlySelected=!1,this._toolInfos=void 0,this._translations=void 0,this._fullTextSearchInfo=void 0,this._searchPlaceHolder="",this._size=0}get el(){return s(this)}FeatureTable;TableTemplate;_columnsInfo;_ctrlIsPressed=!1;_currentId;_editEnabled;_defaultFilterHonored=!1;_defaultGlobalIdHonored=!1;_defaultOidHonored=!1;_defaultVisibleToolSizeInfos;_definitionExpression;_deleteEnabled;_filterList;_floorExpression;_floorField;_floorFacility;_floorLevel;_floorSite;_layerExpressions;_loaded=!1;_mapClickHandle;_observerSet=!1;_previousCurrentId;reactiveUtils;_refreshHandle;_resizeObserver;_selectAllElement;_selectionFromMap=!1;_shareNode;_shiftIsPressed=!1;_showHideDropdown;_skipOnChange=!1;_moreDropdown;_table;_tableNode;_timeout;_toolbar;_toolbarSizeInfos;_searchExpression;_tempSelectedIds;appLayoutWatchHandler(){this._updateShareUrl()}async defaultOidWatchHandler(){await this._handleDefaults()}async defaultGlobalIdWatchHandler(){await this._handleDefaults()}enableCSVWatchHandler(){this._toolInfos?.length>0&&this._initToolInfos()}enableInlineEditWatchHandler(){this._table&&(this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit)}enableShareWatchHandler(){this._toolbar&&this._updateToolbar()}_controlsThatFitWatchHandler(){const t=this._controlsThatFit?this._controlsThatFit.reduce(((t,i)=>(t.push(i.id),t)),[]):[];this._toolInfos=this._toolInfos?.map((i=>{if(i&&this._controlsThatFit){const s=this._getId(i.icon);return i.isOverflow=t.indexOf(s)<0,i}}))}async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}mapHiddenWatchHandler(){this._toolInfos?.length>0&&this._initToolInfos()}isMobileWatchHandler(){this._toolInfos||this.isMobile||this._initToolInfos()}async mapInfoWatchHandler(){this._resetColumnTemplates(),this.createFilterModal&&this._initLayerExpressions(),this._initToolInfos(),this._updateToolbar(),await this._sortTable()}async mapViewWatchHandler(){this._mapClickHandle&&this._mapClickHandle.remove(),this.mapView&&(this._floorExpression=void 0,this._searchExpression=void 0,this._updateShareUrl(),this._mapClickHandle=this.reactiveUtils.on((()=>this.mapView),"click",(t=>{this._mapClicked(t)})))}async _layerWatchHandler(){this._fetchingData=!0,await(this._layer?.when((async()=>{this._definitionExpression=this._layer.definitionExpression,this._floorField=this._layer.floorInfo?.floorField,this._updateFloorDefinitionExpression(),await this._resetTable(),this.createFilterModal&&this._initLayerExpressions(),this._updateShareUrl(),this._fetchingData=!1})))}async selectedIdsWatchHandler(){this._updateShareUrl(),this._validateEnabledActions(),this._selectAllActive&&this.selectedIds.length!==this._allIds.length&&(this._selectAllActive=!1),this.selectedIds.length>0&&(this._table.rowHighlightIds.removeAll(),this._table.rowHighlightIds.add(this.selectedIds[0]))}async filterReset(){await this._handleFilterListReset()}async filterUpdate(t){await this._handleFilterUpdate(t)}async closeFilter(){await this._closeFilter()}async refresh(){this._table&&await this._refresh()}featureSelectionChange;toggleFilter;async selectionChanged(t){const i=t.detail.selectedFeature[0],s=i.getObjectId(),e=this._table;if(e.rowHighlightIds.length&&e.rowHighlightIds.removeAll(),e.rowHighlightIds.add(s),this.zoomAndScrollToSelected){const t=this._table.viewModel.getObjectIdIndex(s);this._table.scrollToIndex(t);const e=i.layer;let h;this.mapView.allLayerViews.toArray().some((t=>{if(t.layer.title===e.title&&"feature"===t.layer.type)return h=t,!0})),h&&await c([s],h,this.mapView,!0,void 0,this.zoomToScale)}}async layerSelectionChange(t){await this._layerSelectionChanged(t)}async editsComplete(t){const i=t.detail;"delete"!==i&&"add"!==i||(this._allIds=await d(this._layer)),await this._refresh()}async facilityChanged(t){this._floorFacility=t.detail,this._updateFloorDefinitionExpression()}async levelChanged(t){this._floorLevel=t.detail,this._updateFloorDefinitionExpression()}async siteChanged(t){this._floorSite=t.detail,this._updateFloorDefinitionExpression()}noLayersFound(){this._layer=void 0,this._allIds=[],this._clearSelection()}clearSelection(){this._clearSelection()}async componentWillLoad(){await this._getTranslations(),await this._initModules(),this._initToolInfos(),this._resizeObserver||(this._resizeObserver=new ResizeObserver((()=>this._onResize())))}render(){const t=this._fetchingData?"display-none":"",i=this._fetchingData?"":"display-none",s=this._size.toString(),a=this.selectedIds.length.toString(),o=this.isMobile?"height-full":"height-full-adjusted",l=this._canShowFullTextSearch();return this._validateActiveActions(),e(h,{key:"0998f68ec5ab3fe8c2e7a21aa832137730faf94f"},e("calcite-shell",{key:"a6f00f0280358c318cbed1afc48d54ae0ffae465"},this._getTableControlRow("header"),e("div",{key:"744786c1915fd86e81c278ecc75c862312c1ec6f",class:`width-full ${o}`},e("calcite-panel",{key:"b59b7bcf0f6e3f5411ff0ecf5de8e6bd747fbe4a",class:"height-full width-full"},l&&e("div",{key:"6c62638d97156a2101764bf620b0f48b70f906ad",class:"search-container"},e("calcite-input",{key:"8ff64d0529b5e3fe281490917ba44a829567cb0c",class:"search",clearable:!0,icon:"search",onCalciteInputChange:t=>{this._searchTextChanged(t)},placeholder:this._searchPlaceHolder,title:this._searchPlaceHolder,type:"search"})),e("calcite-loader",{key:"7f673a2fd30a5828dec0400d01c581440a3adf6b",class:i,label:this._translations.fetchingData,scale:"l"}),e("div",{key:"39c0801b1992db5f8782d6b3569fa89ba47ce8ce",class:t,ref:this.onTableNodeCreate}))),this.isMobile?void 0:e("div",{class:"bottom-left text-color height-19"},this._translations.recordsSelected.replace("{{total}}",s).replace("{{selected}}",a))),this.createFilterModal&&this._filterModal(),e("delete-dialog",{key:"6bf4038662260c566d304a63d8f118265a1bf69e",id:"deleteDialogId",ids:this._getIds(),layer:this._layer,locale:this.locale,onDeleteDialogClose:()=>this._deleteDialogOpen=!1,open:this._deleteDialogOpen,ref:t=>this._deleteDialog=t}))}_deleteDialog;async componentDidLoad(){this.isMobile||this._observerSet||(this._resizeObserver.observe(this._toolbar),this._observerSet=!0)}componentDidRender(){document.onclick=t=>this._handleDocumentClick(t),document.onkeydown=t=>this._handleKeyDown(t),document.onkeyup=t=>this._handleKeyUp(t),this._updateToolbar()}async _initModules(){const[t,i,s]=await o(["esri/widgets/FeatureTable","esri/core/reactiveUtils","esri/widgets/FeatureTable/support/TableTemplate"]);this.FeatureTable=t,this.reactiveUtils=i,this.TableTemplate=s}async _searchTextChanged(t){this._fullTextSearchInfo.forEach((i=>{i.searchTerm=t.target.value})),this._searchFullText()}async _searchFullText(){let t=[],i=!1;this._showOnlySelected?(t=this._tempSelectedIds,i=!0):(this._clearSelection(),this._tempSelectedIds=[]),this._searchExpression&&this._clearSearchDefinitionExpression();let s=[];if(this._fullTextSearchInfo.length&&this._fullTextSearchInfo[0].searchTerm){const e=this._layer.createQuery();e.fullText=this._fullTextSearchInfo,s=await this._layer.queryObjectIds(e),i&&t?.length&&(s=s.filter((i=>t.includes(i)))),await this._updateSearchDefinitionExpression(s?.length?s:[-1])}i&&s?.length&&(this._showOnlySelected=!0,this._table.highlightIds.addMany(s.reverse())),await new Promise((t=>setTimeout(t,800))),await this._updateAllIds()}_clearSearchDefinitionExpression(){const t=this._layer.definitionExpression;this._searchExpression&&t?.indexOf(this._searchExpression)>-1&&(this._layer.definitionExpression=t?.indexOf(" AND ("+this._searchExpression)>-1?t.replace(` AND (${this._searchExpression})`,""):t.replace(this._searchExpression,"")),this._searchExpression=void 0}async _updateSearchDefinitionExpression(t){const i=this._layer.definitionExpression;if(t?.length){const s=`objectId in(${t})`;this._layer.definitionExpression=i?.indexOf(this._searchExpression)>-1?i.replace(this._searchExpression,s):i?`${i} AND (${s})`:s,this._searchExpression=s}else this._clearSearchDefinitionExpression()}_canShowFullTextSearch(){return((this._layer?.capabilities)?.query)?.supportsFullTextSearch&&this._layer.indexes.items.filter((t=>"FullText"==t.indexType)).length>0}_getFullTextSearchInfo(){if(this._fullTextSearchInfo=[],((this._layer?.capabilities)?.query)?.supportsFullTextSearch){const t=this._layer.indexes?.filter((t=>"FullText"==t.indexType));if(t?.length){const i=[];t.forEach((t=>{i.push(...t.fields.split(","))}));const s=[];i.forEach((t=>{const i=this._layer.getField(t.trim());s.push(i.alias)})),this._searchPlaceHolder=this._translations.searchPlaceholder.replace("{{fields}}",s.join(", ")),this._fullTextSearchInfo.push({onFields:["*"],searchTerm:"",searchType:"prefix"})}}}_onResize(){this._updateToolbar()}_getTableControlRow(t){const i=this._canShowFullTextSearch()?"border-bottom":"";return e("div",{class:`display-flex height-51-px ${i}`,ref:t=>this._toolbar=t,slot:t},this._getActionBar(),this.isMobile?void 0:this._getDropdown("more-table-options"),this.enableShare&&!this.isMobile?this._getShare("share"):void 0)}_getActionBar(){const t=this.isMobile?"width-full":"",i=this.isMobile?"border-top":"";return e("calcite-action-bar",{class:t,expandDisabled:!0,expanded:!0,id:this._getId("bar"),layout:"horizontal"},e("div",{class:`border-end ${t} ${i}`,id:"solutions-map-layer-picker-container"},e("map-layer-picker",{appearance:"transparent",defaultLayerId:this.defaultLayerId,display:"inline-flex",height:50,isMobile:this.isMobile,locale:this.locale,mapView:this.mapView,onlyShowUpdatableLayers:this.onlyShowUpdatableLayers,placeholderIcon:"layers",scale:"l",selectedIds:this._layer?[this._layer?.id]:[],showSingleLayerAsLabel:!0,showTables:!0,type:"dropdown"})),this.isMobile?void 0:this._getActions())}_getActions(){const t=this._getActionItems();return t?.reduce(((t,i)=>(i&&!i.isOverflow&&t.push(i.isDanger?this._getDangerAction(i.icon,i.label,i.func,i.disabled):i.isSublist?e("calcite-dropdown",{closeOnSelectDisabled:!0,id:this._getId(i.icon),onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:t=>this._showHideDropdown=t},this._getAction(i.active,this._showHideOpen?"chevron-down":i.icon,i.indicator,i.label,i.func,i.disabled,i.loading,"trigger"),this._showHideOpen?this._getFieldlist():void 0):this._getAction(i.active,i.icon,i.indicator,i.label,i.func,i.disabled,i.loading)),t)),[])}_getFieldlist(){return this._columnsInfo?e("calcite-dropdown-group",{"selection-mode":"multiple"},Object.keys(this._columnsInfo).map((t=>{const i=this._columnsInfo[t];return e("calcite-dropdown-item",{id:`layer-table-${t.toLowerCase().replaceAll(" ","")}`,label:t,onClick:t=>{const i=t.target;this._columnsInfo[i.label]=i.selected,i.selected?this._table.showColumn(i.label):this._table.hideColumn(i.label)},selected:i},t)}))):void 0}_validateEnabledActions(){const t=this._featuresSelected(),i=this.selectedIds.length>1&&this._layer?.capabilities?.operations?.supportsUpdate,s=["zoom-to-object","pencil","trash","erase","selected-items-filter"];this._toolInfos?.forEach((e=>{e&&s.indexOf(e.icon)>-1&&(e.disabled="pencil"===e.icon?!i:!t)}))}_validateActiveActions(){const t=["filter","list-check-all","selected-items-filter"];this._toolInfos?.forEach((i=>{i&&t.indexOf(i.icon)>-1&&("filter"===i.icon&&(i.indicator=this._filterActive),"list-check-all"===i.icon&&(i.active=this._selectAllActive),"selected-items-filter"===i.icon&&(i.active=this._showOnlySelected))}))}_initToolInfos(){const t=this._featuresSelected(),i=this.selectedIds.length>1&&this._layer?.capabilities?.operations?.supportsUpdate&&!1,s=this._featuresEmpty(),e=this._hasFilterExpressions();this._translations&&(this._toolInfos=[this.mapHidden?void 0:{active:!1,icon:"zoom-to-object",indicator:!1,label:this._translations.zoom,func:()=>this._zoom(),disabled:!t,isOverflow:!1},e?{active:!1,icon:"filter",indicator:!1,label:this._translations.filters,func:()=>this.createFilterModal?this._toggleFilter():this.toggleFilter.emit(),disabled:!1,isOverflow:!1}:void 0,i?{active:!1,icon:"pencil",indicator:!1,label:this._translations.editMultiple,func:()=>alert(this._translations.editMultiple),disabled:!i,isOverflow:!1}:void 0,this._deleteEnabled?{active:void 0,icon:"trash",indicator:void 0,label:this._translations.delete,func:()=>this._showDelete(),disabled:!t,isDanger:!0,isOverflow:!1}:void 0,{active:!1,icon:"erase",indicator:!1,label:this._translations.clearSelection,func:()=>this._clearSelection(),disabled:!t,isOverflow:!1},{active:!1,icon:"selected-items-filter",indicator:!1,label:this._showOnlySelected?this._translations.showAll:this._translations.showSelected,func:()=>this._toggleShowSelected(),disabled:!t,isOverflow:!1},{active:!1,icon:"list-check-all",indicator:!1,func:()=>this._selectAll(),label:this._translations.selectAll,disabled:s,isOverflow:!1},{active:!1,icon:"compare",indicator:!1,func:()=>this._switchSelected(),label:this._translations.switchSelected,disabled:s,isOverflow:!1},{active:!1,icon:"refresh",indicator:!1,func:()=>this._refresh(),label:this._translations.refresh,disabled:!1,isOverflow:!1},this.enableCSV?{active:!1,icon:"export",indicator:!1,func:()=>{this._exportToCSV()},label:this._translations.exportCSV,loading:this._csvExporting,disabled:s,isOverflow:!1}:void 0,{active:!1,icon:this._showHideOpen?"chevron-down":"chevron-right",indicator:!1,func:()=>this._toggleShowHide(),label:this._translations.showHideColumns,disabled:!1,isOverflow:!1,isSublist:!0}],this._defaultVisibleToolSizeInfos=void 0)}_updateFloorDefinitionExpression(){if(this._floorField&&this._floorLevel){const t=`${this._floorField} = '${this._floorLevel}'`,i=this._layer.definitionExpression;this._layer.definitionExpression=i?.indexOf(this._floorExpression)>-1?i.replace(this._floorExpression,t):i?`${i} AND (${t})`:t,this._floorExpression=t}}_featuresSelected(){return this.selectedIds.length>0}_featuresEmpty(){return 0===this._allIds.length}_hasFilterExpressions(){let t;return this.mapInfo?.filterConfig?.layerExpressions&&this._layer?.id&&(t=this.mapInfo.filterConfig.layerExpressions.filter((t=>t.id===this._layer.id))),t?.length>0}_updateToolbar(){this._timeout&&clearTimeout(this._timeout),!this.isMobile&&this._toolbar&&this._toolInfos&&(this._timeout=setTimeout((()=>{clearTimeout(this._timeout),this._setToolbarSizeInfos();const t=this._toolbar.offsetWidth;let i=this._toolbarSizeInfos.reduce(((t,i)=>t+i.width),0);const s=["solutions-more","solutions-map-layer-picker-container","solutions-action-share"];if(i>t){if(this._toolbarSizeInfos.length>0){const e=[...this._toolbarSizeInfos].reverse().reduce(((e,h)=>(s.indexOf(h.id)<0&&(i>t?i-=h.width:e.push(h)),e)),[]).reverse();this._setControlsThatFit(e,s)}}else if(this._defaultVisibleToolSizeInfos){const e=this._toolbarSizeInfos.reduce(((t,i)=>(t.push(i.id),t)),[]);let h=!1;const a=[...this._defaultVisibleToolSizeInfos].reduce(((a,o)=>(!h&&s.indexOf(o.id)<0&&(e.indexOf(o.id)>-1||i+o.width<=t)?(e.indexOf(o.id)<0&&(i+=o.width),a.push(o)):s.indexOf(o.id)<0&&i+o.width>t&&(h=!0),a)),[]);this._setControlsThatFit(a,s)}}),250))}_setControlsThatFit(t,i){let s=JSON.stringify(t)!==JSON.stringify(this._controlsThatFit);const e=document.getElementById("solutions-action-bar");e?.childNodes?.forEach((t=>{i.indexOf(t.id)<0&&!s&&(s=this._controlsThatFit.map((t=>t.id)).indexOf(t.id)<0)})),s&&(this._controlsThatFit=[...t])}_setToolbarSizeInfos(){let t=!1;this._toolbarSizeInfos=[],this._toolbar.childNodes.forEach(((i,s)=>{0===s?i.childNodes.forEach((i=>{this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0)})):i.referenceElement||(this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0))})),t&&!this._defaultVisibleToolSizeInfos&&(this._defaultVisibleToolSizeInfos=[...this._toolbarSizeInfos])}_getActionItems(){return this._toolInfos?.filter((t=>t&&!t.isOverflow))}_getDropdown(t){const i=this._getDropdownItems();return i.length>0?e("calcite-dropdown",{closeOnSelectDisabled:!0,disabled:void 0===this._layer,id:"solutions-more",onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:t=>this._moreDropdown=t},e("calcite-action",{appearance:"solid",id:t,label:"",onClick:()=>this._closeShowHide(),slot:"trigger",text:""},e("calcite-button",{appearance:"transparent",iconEnd:"chevron-down",kind:"neutral"},this._translations.more)),e("calcite-dropdown-group",{"selection-mode":"none"},i.map((t=>e("calcite-dropdown-group",{class:`${t.disabled?"disabled":""} ${"trash"===t.icon?"delete-red":""}`,selectionMode:"none"},e("calcite-dropdown-item",{disabled:t.loading,iconStart:t.isSublist&&this._showHideOpen?"chevron-down":t.loading?"":t.icon,id:`layer-table-${t.icon}`,onClick:t.func},t.loading?e("div",{class:"display-flex"},e("calcite-loader",{inline:!0,label:t.label,scale:"m"}),t.label):t.label))))),this._showHideOpen?this._getFieldlist():void 0):void 0}_getDropdownItems(){return this._toolInfos?.filter((t=>t&&t.isOverflow))}_getAction(t,i,s,h,a,o,l,n){const c=void 0===this._layer||o;return e("div",{class:"display-flex",id:this._getId(i),slot:n},e("calcite-action",{active:t,appearance:"solid",disabled:c,icon:i,id:`layer-table-${i}`,indicator:s,label:h,loading:l,onClick:a,text:h,textEnabled:!0}),this._getToolTip("bottom",i,h))}_showDelete(){this._deleteDialogOpen=!0}_getShare(t){return e("div",{class:"share-action",id:this._getId(t)},e("instant-apps-social-share",{autoUpdateShareUrl:!1,class:"instant-app-share",embed:this.shareIncludeEmbed,popoverButtonIconScale:"s",ref:t=>this._shareNode=t,scale:"m",shareButtonColor:"neutral",shareButtonType:"action",socialMedia:this.shareIncludeSocial,view:this.mapView}),this._getToolTip("bottom",t,this._translations.share))}_updateShareUrl(){const t=this._shareNode?.shareUrl;if(!t)return;const i=new URL(t);this.mapInfo?.id?i.searchParams.set("webmap",this.mapInfo.id):i.searchParams.delete("webmap"),this._layer?.id?i.searchParams.set("layer",this._layer.id):i.searchParams.delete("layer"),this.selectedIds?.length>0?i.searchParams.set("oid",this.selectedIds.join(",")):i.searchParams.delete("oid"),i.searchParams.set("applayout",this.appLayout),this._shareNode.shareUrl=i.href}_getToolTip(t,i,s){return document.getElementById(i)?e("calcite-tooltip",{placement:t,"reference-element":i},e("span",null,s)):void 0}_getId(t){return`solutions-action-${t}`}_getDangerAction(t,i,s,h){const a=void 0===this._layer||h;return e("div",{class:"display-flex",id:this._getId(t)},"trash"===t?e("delete-button",{buttonType:"action",class:"display-flex",disabled:a,icon:t,id:"solutions-delete",ids:this._getIds(),layer:this._layer,locale:this.locale}):e("calcite-action",{appearance:"solid",disabled:a,id:t,onClick:s,text:i},e("calcite-button",{appearance:"transparent",iconStart:t,kind:"danger"},i)),this._getToolTip("bottom",t,i))}_getIds(){return this._table?.highlightIds?.toArray()}onTableNodeCreate=t=>{this._tableNode=t};async _getTable(t,i){this._layer&&(await this._layer.when((()=>{this._table=new this.FeatureTable({autoRefreshEnabled:this.enableAutoRefresh,layer:this._layer,view:this.mapView,columnReorderingEnabled:this.enableColumnReorder,editingEnabled:this._editEnabled&&this.enableInlineEdit,highlightEnabled:!0,multiSortEnabled:!1,visibleElements:{columnDescriptions:!1,header:!1,menu:!1},tableTemplate:{columnTemplates:i},container:t})})),await this._table.when((()=>{this._table.highlightIds.on("change",(t=>{this._handleOnChange(t)}));const t=this.reactiveUtils.watch((()=>this._table.size),(t=>{this._size=t}));this._table.viewModel.addHandles(t)})))}async _handleOnChange(t){const i=[...this._table.highlightIds.toArray()];if(this._skipOnChange)this._skipOnChange=!1;else{if(!this._ctrlIsPressed&&!this._shiftIsPressed||this._selectionFromMap&&this._shiftIsPressed)if(this.selectedIds.length>0){this._skipOnChange=!0;const s=this.selectedIds.length>1&&1===t.removed.length?t.removed:i.filter((t=>this.selectedIds.indexOf(t)<0));this._tempSelectedIds=s.length?[...s]:[...this.selectedIds],this._clearSelection(),this.selectedIds=[...s],s.length>0?this._table.highlightIds.add(s[0]):this._skipOnChange=!1}else this.selectedIds=i.reverse(),this._tempSelectedIds=[...this.selectedIds];else if(this._ctrlIsPressed)this.selectedIds=i.reverse(),this._tempSelectedIds=[...this.selectedIds];else if(this._shiftIsPressed&&i?.length>0)if(this._skipOnChange=!0,this._previousCurrentId=this._currentId,this._currentId=[...i].reverse()[0],1===i.length)this._skipOnChange=!1;else if(this._previousCurrentId!==this._currentId){const t=this._table.activeSortOrders.reduce(((t,i)=>(t.push(`${i.fieldName} ${i.direction}`),t)),[]),s=await r(0,this._layer,[],t);let e=!1;const h=this._table.viewModel.getObjectIdIndex(this._previousCurrentId),a=this._table.viewModel.getObjectIdIndex(this._currentId);this._skipOnChange=(h<a?h:a)+1!==(a>h?a:h);const o=s.reduce(((t,i)=>{const s=i;return s===this._currentId||s===this._previousCurrentId?(e=!e,t.indexOf(s)<0&&t.push(s)):e&&t.indexOf(s)<0&&t.push(s),t}),[]),l=h<a?o.reverse():o;this.selectedIds=[...new Set([...l,...this.selectedIds])],this._tempSelectedIds=[...this.selectedIds],this._table.highlightIds.addMany(this.selectedIds.filter((t=>i.indexOf(t)<0)))}this._finishOnChange()}this._currentId=[...this._table.highlightIds.toArray()].reverse()[0],this._selectionFromMap=!1}_finishOnChange(){this._showOnlySelected&&(this._featuresSelected()?this._table.filterBySelection():this._toggleShowSelected()),this.featureSelectionChange.emit(this.selectedIds)}_resetColumnTemplates(){const t=this._getColumnTemplates(this._layer?.id,this._layer?.fields),i=t?.some(((t,i)=>JSON.stringify(this._table?.tableTemplate.columnTemplates[i])!==JSON.stringify(t)));if(this._table&&t&&(i||!this._columnsInfo)){this._table.tableTemplate=new this.TableTemplate({columnTemplates:t});const i=t.map((t=>t.fieldName));this._initColumnsInfo(i)}}async _resetTable(){if(this._loaded=!1,this._clearSelection(),this._allIds=await d(this._layer),this._table)this._table.view=this.mapView,this._table.layer=this._layer;else{const t=this._getColumnTemplates(this._layer.id,this._layer?.fields);await this._getTable(this._tableNode,t)}await this._initLayerRefresh(),this._checkEditEnabled(),this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit,await this._table.when(),setTimeout((()=>{this._loaded||(console.log(`table.state: ${this._table.state}`),this.finishLoading())}),1e3),await this.reactiveUtils.once((()=>"loaded"===this._table.state)).then((async()=>{await this.finishLoading()}))}async finishLoading(){try{this._loaded=!0,this._table.highlightIds.removeAll(),this._table.clearSelectionFilter(),this._resetColumnTemplates(),this._showOnlySelected=!1,await this._handleDefaults(),await this._sortTable(),this._initToolInfos(),this._updateToolbar()}catch(t){console.log(t)}}async _initLayerRefresh(){this._refreshHandle&&this._refreshHandle.remove(),this._refreshHandle=this._layer.on("refresh",(t=>{t.dataChanged&&(this._skipOnChange=!0,this._updateAllIds())}))}async _updateAllIds(){this._allIds=await d(this._layer),this.selectedIds=this.selectedIds.filter((t=>this._allIds.indexOf(t)>-1)),await this._refresh()}async _handleDefaults(){if(!this._defaultOidHonored&&this.defaultOid?.length>0&&this.defaultOid[0]>-1&&this._table&&(await this._selectDefaultFeature(this.defaultOid),this._defaultOidHonored=!0,this.defaultOid=void 0,this._showOnlySelected=!1,this._toggleShowSelected()),!this._defaultGlobalIdHonored&&this.defaultGlobalId?.length>0&&this._table){const t=await p(this.defaultGlobalId,this._layer),i=t?.length>0?t.map((t=>t.getObjectId())):void 0;i&&await this._selectDefaultFeature(i),this._defaultGlobalIdHonored=!0,this.defaultGlobalId=void 0,this._showOnlySelected=!1,this._toggleShowSelected()}}_initColumnsInfo(t){const i=this._table?.columns.reduce(((i,s)=>((!t||t?.indexOf(s.name)>-1)&&(i[s.name]=!s.hidden),i)),{}),s=this._table?.columns.map((t=>t.name));(t?t.filter((t=>s.indexOf(t)<0)):[]).forEach((t=>{i[t]=!0})),this._columnsInfo=t?t.reduce(((t,s)=>(t[s]=i[s],t)),{}):i}async _selectDefaultFeature(t){t.length>0&&this._table.highlightIds.addMany(t)}_checkEditEnabled(){this._editEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsUpdate,this._deleteEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsDelete}async _sortTable(){let t,i=this._layer?.objectIdField,s="desc";this.mapInfo?.layerOptions?.layers?.length>0&&this._layer?.id&&(t=this.mapInfo.layerOptions.layers.filter((t=>t.id===this._layer.id)),t&&t.length>0&&(t=t[0],t.sortField&&t.fields?.includes(t.sortField)&&(i=t.sortField),s=t?.sortOrder?t.sortOrder:"desc")),this._table&&this._layer&&(await this._table.when(),await this._layer.when((()=>{this._table.sortColumn(i,s)})))}_forceShowHide(){this._showHideDropdown&&(this._showHideDropdown.open=this._showHideOpen),this._moreDropdown&&(this._moreDropdown.open=this._showHideOpen)}_toggleShowHide(){this._showHideOpen=!this._showHideOpen}_closeShowHide(){this._showHideOpen=!1}_handleDocumentClick(t){const i=t.target?.id;i.startsWith("layer-table-")?this._moreDropdown.open=!0:this._showHideOpen&&Object.keys(this._columnsInfo).indexOf(i)<0&&"chevron-right"!==i&&(this._closeShowHide(),this._moreDropdown&&(this._moreDropdown.open=!1),this._showHideDropdown&&(this._showHideDropdown.open=!1))}_handleKeyDown(t){this._ctrlIsPressed=t.ctrlKey,this._shiftIsPressed=t.shiftKey}_handleKeyUp(t){this._ctrlIsPressed=t.ctrlKey,this._shiftIsPressed=t.shiftKey}_filterModal(){return e("calcite-modal",{"aria-labelledby":"modal-title",class:"modal",kind:"brand",onCalciteModalClose:()=>{this._closeFilter()},open:this._filterOpen,widthScale:"s"},e("div",{class:"display-flex align-center",id:"modal-title",slot:"header"},this._translations?.filter?.replace("{{title}}",this._layer?.title)),e("div",{slot:"content"},e("instant-apps-filter-list",{autoUpdateUrl:!1,closeBtn:!0,closeBtnOnClick:async()=>this._closeFilter(),comboboxOverlayPositioning:"fixed",layerExpressions:this._layerExpressions,onFilterListReset:()=>{this._handleFilterListReset()},onFilterUpdate:()=>{this._handleFilterUpdate(this._filterList.filterCount>0)},ref:t=>this._filterList=t,view:this.mapView,zoomBtn:!1})))}async _handleFilterListReset(){this._filterActive=!1,this._updateShareUrl(),await this._searchFullText()}async _handleFilterUpdate(t){const i=this._layer.definitionExpression;if(this._floorExpression){const t=new RegExp(`${this._floorField} = ['].+[']`,"gm");this._layer.definitionExpression=i&&this._floorField&&i.indexOf(`${this._floorField} = '`)>-1?i.replace(t,this._floorExpression):i?`${i} AND (${this._floorExpression})`:this._floorExpression}this._filterActive=t,this._updateShareUrl(),await this._searchFullText()}async _closeFilter(){this._filterOpen&&(this._allIds=await d(this._layer),this._filterOpen=!1)}async _mapClicked(t){const i={include:this._layer},s=await this.mapView.hitTest(t.screenPoint,i);s.results.length>0?(s.results.forEach((t=>{const i=t.graphic.getObjectId();this._table.highlightIds.indexOf(i)<0&&(this._selectionFromMap=!0,this._table.highlightIds.add(i))})),this._showOnlySelected&&this._table.filterBySelection()):this._clearSelection()}_selectAll(){const t=this._allIds;this._table.highlightIds.removeAll(),this._skipOnChange=!0,this._table.highlightIds.addMany(t),this.selectedIds=t,this._finishOnChange(),this._selectAllActive=!0}_toggleShowSelected(){this._showOnlySelected=!this._showOnlySelected,this._showOnlySelected?this._table.filterBySelection():this._table.clearSelectionFilter()}_clearSelection(){this.selectedIds=[],this._table?.highlightIds.removeAll(),this._table?.rowHighlightIds.removeAll(),this._finishOnChange()}_toggleFilter(){this._filterOpen=!this._filterOpen}_initLayerExpressions(){const t=this.mapInfo?.filterConfig?.layerExpressions;this._layerExpressions=t?t.filter((t=>t.id===this._layer?.id)):[],this._filterList.layerExpressions=this._layerExpressions,this._filterActive=this._layerExpressions.filter((t=>t.expressions.filter((t=>t.active)).length>0)).length>0}_switchSelected(){const t=[...this.selectedIds];this._table.highlightIds.removeAll();const i=this._allIds.reduce(((i,s)=>(t.indexOf(s)<0&&i.push(s),i)),[]).sort(((t,i)=>t-i));this._skipOnChange=!0,this._table.highlightIds.addMany(i),this.selectedIds=i,this._finishOnChange()}async _exportToCSV(){const t={},i=this._table.highlightIds.toArray();t[this._layer.id]={selectionSetNames:[this._layer.title],ids:i,layer:this._layer};const s=this._table.columns.toArray().reduce(((t,i)=>(i.hidden||t.push(i.name.toLocaleLowerCase()),t)),[]);this._updateToolInfoLoading("export",!0),this._csvExporting=!0,await f(null,t,!1,!1,!0,s,!0,!0),this._updateToolInfoLoading("export",!1),this._csvExporting=!1}_updateToolInfoLoading(t,i){this._toolInfos.some((s=>{if(s?.icon===t)return s.loading=i,!0}))}async _refresh(){await this._table.refresh(),this._allIds=await d(this._layer),this.featureSelectionChange.emit(this.selectedIds)}async _zoom(){if(this._layer){const t=await b(this.mapView,this._layer.id);await c(this.selectedIds,t,this.mapView,!0,void 0,this.zoomToScale)}}async _layerSelectionChanged(t){const i=t.detail[0];if(i!==this._layer?.id||this._featuresEmpty()){this._fetchingData=!0;const t=await l(this.mapView,i);t&&await t.when((()=>{this._layer=t,this._getFullTextSearchInfo()}))}this._fetchingData=!1}_getColumnTemplates(t,i){let s;this.mapInfo?.layerOptions?.layers.some((i=>{if(i.id===t)return s=i,!0}));const e=s?.fields&&s?.fieldOrder?s.fieldOrder.filter((t=>s.fields.indexOf(t)>-1)):void 0;let h;return i&&(h=s&&s?.fields?i.reduce(((t,i)=>{if(s.fields.indexOf(i.name)>-1){const s={type:"field",fieldName:i.name,label:i.alias,menuConfig:this._getMenuConfig(i.name)};t.push(s)}return t}),[]).sort(this._sortFields.bind(this,s?.fieldOrder)):i.map((t=>({type:"field",fieldName:t.name,label:t.alias,menuConfig:this._getMenuConfig(t.name)})))),e?h?.sort(this._sortFields.bind(this,e)):h}_sortFields(t,i,s){return t?.indexOf(i.fieldName)-t.indexOf(s.fieldName)}_getMenuConfig(t){return{items:[{label:this._translations.hideField,icon:"view-hide",autoCloseMenu:!0,clickFunction:()=>{this._handleHideClick(t)}}]}}_handleHideClick(t){this._columnsInfo[t]=!1,this._table.hideColumn(t),this._table.tableTemplate.columnTemplates.forEach((i=>{i.fieldName===t&&(i.visible=!1)}))}async _getTranslations(){const t=await a(this.el);this._translations=t[0]}static get watchers(){return{appLayout:["appLayoutWatchHandler"],defaultOid:["defaultOidWatchHandler"],defaultGlobalId:["defaultGlobalIdWatchHandler"],enableCSV:["enableCSVWatchHandler"],enableInlineEdit:["enableInlineEditWatchHandler"],enableShare:["enableShareWatchHandler"],_controlsThatFit:["_controlsThatFitWatchHandler"],locale:["localeWatchHandler"],mapHidden:["mapHiddenWatchHandler"],isMobile:["isMobileWatchHandler"],mapInfo:["mapInfoWatchHandler"],mapView:["mapViewWatchHandler"],_layer:["_layerWatchHandler"],selectedIds:["selectedIdsWatchHandler"]}}};function v(t){return function(t){return-1!==t?.indexOf("http://")}(t)?t.replace(/^http:\/\//,"https://"):t}m.style=':host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-color-border-2)}.border-end{border-inline-end:1px solid var(--calcite-color-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51-px{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir="rtl"] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-color-background)}.text-color{color:var(--calcite-color-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-color-status-danger)}.esri-feature-table vaadin-grid{border:none !important}vaadin-grid-cell-content{font-size:14px !important;color:var(--calcite-color-text-3) !important}.share-action{position:absolute;right:0}html[dir="rtl"] .share-action{left:0}.disabled{cursor:default !important;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled);pointer-events:none}.instant-app-share{height:50px !important;display:inline-flex}.border-top{border-top:1px solid var(--calcite-color-border-2)}.modal{--calcite-modal-content-padding:0}.esri-feature-table__table-container{height:100%}.search-container{background-color:var(--calcite-color-foreground-1) !important}.search{--calcite-color-border-input:var(--calcite-color-border-3);width:60%;padding:10px}.delete-red{--calcite-icon-color:var(--calcite-color-status-danger);--calcite-color-text-1:var(--calcite-color-status-danger);--calcite-color-text-3:var(--calcite-color-status-danger)}';const y=class{constructor(s){t(this,s),this.mapChanged=i(this,"mapChanged",7),this.beforeMapChanged=i(this,"beforeMapChanged",7),this.toggleFilter=i(this,"toggleFilter",7),this.clearSelection=i(this,"clearSelection",7),this.appLayout=void 0,this.appProxies=void 0,this.defaultWebmapId="",this.defaultLayerId=void 0,this.enableHome=void 0,this.enableLegend=void 0,this.enableFloorFilter=void 0,this.enableFullscreen=void 0,this.enableShare=!1,this.enableSingleExpand=!0,this.enableSearch=void 0,this.enableBasemap=void 0,this.basemapConfig=void 0,this.hidden=void 0,this.homeZoomIndex=3,this.homeZoomPosition="top-left",this.homeZoomToolsSize="m",this.locale=void 0,this.mapInfos=[],this.mapWidgetsIndex=0,this.mapWidgetsPosition="top-right",this.mapWidgetsSize="m",this.mapView=void 0,this.stackTools=!0,this.theme=void 0,this.toolOrder=void 0,this.isMapLayout=void 0,this.shareIncludeEmbed=void 0,this.shareIncludeSocial=void 0,this.selectedFeaturesIds=void 0,this.selectedLayer=void 0,this.zoomToScale=void 0,this.onlyShowUpdatableLayers=void 0,this.isMobile=void 0,this.mapInfo=void 0,this._translations=void 0,this._searchConfiguration=void 0,this._webMapInfo=void 0,this._showHideOpen=!1,this._toolInfos=void 0,this._controlsThatFit=void 0}get el(){return s(this)}esriConfig;Home;MapView;WebMap;_defaultWebmapHonored=!1;_homeWidget;_loadedId="";_mapDiv;_mapPicker;_mapTools;_moreDropdown;_mapListExpanded=!1;_filterActive=!1;_definitionExpression;_mapLayerPicker;_resizeObserver;_shareNode;_showHideDropdown;_toolbar;_timeout;_toolbarSizeInfos;_defaultVisibleToolSizeInfos;_observerSet=!1;appLayoutWatchHandler(){this._updateShareUrl()}enableHomeWatchHandler(){this._initHome()}enableShareWatchHandler(){this._toolbar&&this._updateToolbar()}async localeWatchHandler(){this.el.lang=this.locale,await this._getTranslations()}async mapViewWatchHandler(){this.mapView&&this._updateShareUrl()}async selectedLayerWatchHandler(){await(this.selectedLayer?.when((async()=>{this._definitionExpression=this.selectedLayer.definitionExpression})))}async selectedFeaturesIdsWatchHandler(){this._updateShareUrl(),this._validateEnabledActions()}_controlsThatFitWatchHandler(){const t=this._controlsThatFit?this._controlsThatFit.reduce(((t,i)=>(t.push(i.id),t)),[]):[];this._toolInfos=this._toolInfos?.map((i=>{if(i&&this._controlsThatFit){const s=this._getId(i.icon);return i.isOverflow=t.indexOf(s)<0,i}}))}async resetFilter(){this._filterActive=!1,this._updateShareUrl()}async updateFilterState(t){this._filterActive=t,this._updateShareUrl()}async updateLayer(){this._mapLayerPicker.updateLayer()}mapChanged;beforeMapChanged;toggleFilter;clearSelection;async mapInfoChange(t){await this._loadMap(t.detail)}noLayersFound(){this.selectedLayer=void 0,this.selectedFeaturesIds=[]}layerSelectionChange(){setTimeout((()=>{this._initToolInfos()}),50)}async componentWillLoad(){await this._getTranslations(),await this._initModules(),this._initToolInfos(),this._resizeObserver||(this._resizeObserver=new ResizeObserver((()=>this._updateToolbar())))}render(){const t=this.isMapLayout?"display-flex height-49-px":"",i=this.hidden?"visibility-hidden-1":"",s="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light",a=this.mapInfos?.length>1||this.isMapLayout?"map-height":"height-full",o=this.isMapLayout?"":"display-none";return this._validateActiveActions(),e(h,{key:"525ee5ce855cf5aa4f8c50e7e88be6c6236046ac"},e("div",{key:"899898ee0b2ba9048ed24716a339c94d3106a52e",class:`${t} width-full`,ref:t=>this._toolbar=t},this._getActionBar(),!this.isMobile&&this.isMapLayout&&this._getDropdown("more-table-options"),this.enableShare&&!this.isMobile&&this.isMapLayout?this._getShare("share"):void 0),e("calcite-progress",{key:"896569eb6cf65f45cbebb4b36f5b01ada5ed1092",class:o,value:0}),e("div",{key:"79cac798541783bdc74e4b13f9df4d7564eb99f4",class:`${a} ${i}`,ref:t=>this._mapDiv=t}),e("map-tools",{key:"730d48c4ce98af3872bfa6c486e8749e18c24477",basemapConfig:this.basemapConfig,class:`box-shadow ${s}`,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:t=>this._mapTools=t,searchConfiguration:this._searchConfiguration,stackTools:this.stackTools,toolOrder:this.toolOrder}))}async componentDidRender(){this.isMapLayout&&this._updateToolbar(),document.onclick=t=>this._handleDocumentClick(t)}async componentDidLoad(){this.isMobile||this._observerSet||(this._resizeObserver.observe(this._toolbar),this._observerSet=!0),this._updateShareUrl()}async _initModules(){const[t,i,s,e]=await o(["esri/WebMap","esri/views/MapView","esri/widgets/Home","esri/config"]);this.WebMap=t,this.MapView=i,this.Home=s,this.esriConfig=e}async _loadMap(t){const i=!this._defaultWebmapHonored&&this.defaultWebmapId,s=this.mapInfos?.filter((t=>t.id===this.defaultWebmapId)),e=JSON.stringify(t)!==JSON.stringify(this._webMapInfo);this._webMapInfo=i&&s?s[0]:!t?.id&&this.mapInfos.length>0?this.mapInfos[0]:t;const h=this._webMapInfo.id,a=i&&t?.id===this.defaultWebmapId;if(this._loadedId!==h&&!i||a){const t=new this.WebMap({portalItem:{id:h}});this.appProxies&&(await t.load(),await(o=t,l=this.esriConfig,n=this.appProxies,n&&n.forEach((t=>{o.allLayers.forEach((i=>{i&&i.url===t.sourceUrl&&(i.url=v(t.proxyUrl),i.portalItem&&i.portalItem.when((()=>{i.portalItem.url=v(t.proxyUrl)})),l.request?.interceptors?.push({urls:t.sourceUrl,before:i=>{i.url&&i.url===t.sourceUrl&&(i.url=v(t.proxyUrl))}}))}))})),o)),this.mapView=new this.MapView({container:this._mapDiv,map:t,resizeAlign:"center"}),this._loadedId=h,this._searchConfiguration=this._webMapInfo.searchConfiguration,this.beforeMapChanged.emit(),await this.mapView.when((()=>{this._initHome(),this.mapView.ui.add(this._mapTools,{position:this.mapWidgetsPosition,index:this.mapWidgetsIndex}),this._defaultWebmapHonored=!!a||this._defaultWebmapHonored,this.mapChanged.emit({id:h,mapView:this.mapView})}))}else i?(this._defaultWebmapHonored=!0,this._mapPicker.setMapByID(h)):e&&(this._searchConfiguration=this._webMapInfo.searchConfiguration,this.beforeMapChanged.emit(),this.mapChanged.emit({id:h,mapView:this.mapView}));var o,l,n;this._updateShareUrl()}_updateToolbar(){this._timeout&&clearTimeout(this._timeout),!this.isMobile&&this._toolbar&&this._toolInfos&&(this._timeout=setTimeout((()=>{clearTimeout(this._timeout),this._setToolbarSizeInfos();const t=this._toolbar.offsetWidth;let i=this._toolbarSizeInfos.reduce(((t,i)=>t+i.width),0);const s=["solutions-more","solutions-map-layer-picker-container","map-picker","solutions-action-share"];if(i>t){if(this._toolbarSizeInfos.length>0){const e=[...this._toolbarSizeInfos].reverse().reduce(((e,h)=>(s.indexOf(h.id)<0&&(i>t?i-=h.width:e.push(h)),e)),[]).reverse();this._setControlsThatFit(e,s)}}else if(this._defaultVisibleToolSizeInfos){const e=this._toolbarSizeInfos.reduce(((t,i)=>(t.push(i.id),t)),[]);let h=!1;const a=[...this._defaultVisibleToolSizeInfos].reduce(((a,o)=>(!h&&s.indexOf(o.id)<0&&(e.indexOf(o.id)>-1||i+o.width<=t)?(e.indexOf(o.id)<0&&(i+=o.width),a.push(o)):s.indexOf(o.id)<0&&i+o.width>t&&(h=!0),a)),[]);this._setControlsThatFit(a,s)}}),250))}_setControlsThatFit(t,i){let s=JSON.stringify(t)!==JSON.stringify(this._controlsThatFit);const e=document.getElementById("solutions-action-bar");e?.childNodes?.forEach((t=>{i.indexOf(t.id)<0&&!s&&(s=this._controlsThatFit.map((t=>t.id)).indexOf(t.id)<0)})),s&&(this._controlsThatFit=[...t])}_setToolbarSizeInfos(){let t=!1;this._toolbarSizeInfos=[],this._toolbar.childNodes.forEach(((i,s)=>{0===s?i.childNodes.forEach((i=>{this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0)})):i.referenceElement||(this._toolbarSizeInfos.push({id:i.id,width:i.offsetWidth}),t||(t=i.offsetWidth>0))})),t&&!this._defaultVisibleToolSizeInfos&&(this._defaultVisibleToolSizeInfos=[...this._toolbarSizeInfos])}_getActionBar(){const t=this.mapInfos?.length>1?"":"display-none",i=this.isMapLayout?"display-flex":"display-block",s=this.isMobile?"border-top":"",h=this.isMapLayout?"":"display-none";return e("calcite-action-bar",{class:i,expandDisabled:!0,expanded:!0,id:this._getId("bar"),layout:"horizontal"},e("map-picker",{class:t,isMapLayout:this.isMapLayout,locale:this.locale,mapInfos:this.mapInfos,ref:t=>this._mapPicker=t}),e("div",{class:`mapView-header display-flex ${h}`},e("div",{class:`border-end ${i} ${s}`,id:"solutions-map-layer-picker-container"},this.mapView&&e("map-layer-picker",{appearance:"transparent",defaultLayerId:this.defaultLayerId,display:"inline-flex",height:50,isMobile:this.isMobile,locale:this.locale,mapView:this.mapView,onlyShowUpdatableLayers:this.onlyShowUpdatableLayers,placeholderIcon:"layers",ref:t=>this._mapLayerPicker=t,scale:"l",selectedIds:this.selectedLayer?[this.selectedLayer.id]:[],showSingleLayerAsLabel:!0,showTables:!0,showTablesDisabled:!0,type:"dropdown"}))),!this.isMobile&&this.isMapLayout?this._getActions():void 0)}_getDropdown(t){const i=this._getDropdownItems();return i.length>0?e("calcite-dropdown",{closeOnSelectDisabled:!0,disabled:void 0===this.selectedLayer,id:"solutions-more",onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:t=>this._moreDropdown=t},e("calcite-action",{appearance:"solid",id:t,label:"",onClick:()=>this._closeShowHide(),slot:"trigger",text:""},e("calcite-button",{appearance:"transparent",iconEnd:"chevron-down",kind:"neutral"},this._translations.more)),e("calcite-dropdown-group",{"selection-mode":"none"},i.map((t=>e("calcite-dropdown-group",{class:t.disabled?"disabled":"",selectionMode:"none"},e("calcite-dropdown-item",{disabled:t.loading,iconStart:t.icon,id:"solutions-subset-list",onClick:t.func},t.loading?e("div",{class:"display-flex"},e("calcite-loader",{inline:!0,label:t.label,scale:"m"}),t.label):t.label)))))):void 0}_getShare(t){return e("div",{class:"share-action",id:this._getId(t)},e("instant-apps-social-share",{autoUpdateShareUrl:!1,class:"instant-app-share",embed:this.shareIncludeEmbed,popoverButtonIconScale:"s",ref:t=>{this._shareNode=t,this._updateShareUrl()},scale:"m",shareButtonColor:"neutral",shareButtonType:"action",socialMedia:this.shareIncludeSocial,view:this.mapView}),this._getToolTip("bottom",t,this._translations.share))}_updateShareUrl(){const t=this._shareNode?.shareUrl;if(!t)return;const i=new URL(t);this._loadedId?i.searchParams.set("webmap",this._loadedId):i.searchParams.delete("webmap"),this.selectedLayer?.id?i.searchParams.set("layer",this.selectedLayer.id):i.searchParams.delete("layer"),this.selectedFeaturesIds?.length>0?i.searchParams.set("oid",this.selectedFeaturesIds.join(",")):i.searchParams.delete("oid"),i.searchParams.set("applayout",this.appLayout),this._shareNode.shareUrl=i.href}_closeShowHide(){this._showHideOpen=!1}_getDropdownItems(){return this._toolInfos?.filter((t=>t&&t.isOverflow))}_initToolInfos(){const t=this.selectedFeaturesIds?.length>0,i=this._hasFilterExpressions(),s=this.selectedFeaturesIds?.length>1&&!1;this._translations&&(this._toolInfos=[{active:!1,icon:"zoom-to-object",indicator:!1,label:this._translations.zoom,func:()=>this._zoom(),disabled:!t,isOverflow:!1},i?{active:!1,icon:"filter",indicator:!1,label:this._translations.filters,func:()=>this._toggleFilter(),disabled:!1,isOverflow:!1}:void 0,s?{active:!1,icon:"pencil",indicator:!1,label:this._translations.editMultiple,func:()=>alert(this._translations.editMultiple),disabled:!s,isOverflow:!1}:void 0,{active:!1,icon:"refresh",indicator:!1,label:this._translations.refresh,func:()=>this.selectedLayer.refresh(),disabled:!1,isOverflow:!1},{active:!1,icon:"erase",indicator:!1,label:this._translations.clearSelection,func:()=>this.clearSelection.emit(),disabled:!t,isOverflow:!1}],this._defaultVisibleToolSizeInfos=void 0)}_validateActiveActions(){const t=["filter"];this._toolInfos?.forEach((i=>{i&&t.indexOf(i.icon)>-1&&"filter"===i.icon&&(i.indicator=this._filterActive)}))}_validateEnabledActions(){const t=this.selectedFeaturesIds?.length>0,i=this.selectedFeaturesIds?.length>1&&this.selectedLayer?.capabilities?.operations?.supportsUpdate,s=["zoom-to-object","pencil","erase"];this._toolInfos?.forEach((e=>{e&&s.indexOf(e.icon)>-1&&(e.disabled="pencil"===e.icon?!i:!t)}))}_initHome(){if(this.enableHome){this._homeWidget=new this.Home({view:this.mapView}),this.mapView.ui.add(this._homeWidget,{position:this.homeZoomPosition,index:this.homeZoomIndex});const t="s"===this.homeZoomToolsSize?"32px":"m"===this.homeZoomToolsSize?"40px":"48px";this._homeWidget.domNode.style.height=t,this._homeWidget.domNode.style.width=t}else this._homeWidget&&this.mapView.ui.remove(this._homeWidget)}_toggleShowHide(){this._showHideOpen=!this._showHideOpen}_forceShowHide(){this._moreDropdown&&(this._moreDropdown.open=this._showHideOpen)}_handleDocumentClick(t){const i=t.target?.id;"solutions-subset-list"===i?this._moreDropdown.open=!0:this._showHideOpen&&"solutions-subset-list"!==i&&"solutions-more"!==i&&"chevron-down"!==i&&this._moreDropdown&&(this._showHideOpen=!1,this._moreDropdown.open=!1),"MAP-PICKER"===t.target.tagName&&(this._mapListExpanded=!this._mapListExpanded,this._mapPicker.toggle(this._mapListExpanded)),"MAP-PICKER"!==t.target.tagName&&(this._mapListExpanded=!1,this._mapPicker.close())}async _zoom(){if(this.selectedLayer){const t=await b(this.mapView,this.selectedLayer.id);await c(this.selectedFeaturesIds,t,this.mapView,!0,void 0,this.zoomToScale)}}async _toggleFilter(){this.toggleFilter.emit()}_hasFilterExpressions(){let t;return this.mapInfo?.filterConfig?.layerExpressions&&this.selectedLayer?.id&&(t=this.mapInfo.filterConfig.layerExpressions.filter((t=>t.id===this.selectedLayer.id))),t?.length>0}_getActions(){const t=this._getActionItems();return t?.reduce(((t,i)=>(i&&!i.isOverflow&&t.push(this._getAction(i.active,i.icon,i.indicator,i.label,i.func,i.disabled,i.loading)),t)),[])}_getToolTip(t,i,s){return document.getElementById(i)?e("calcite-tooltip",{placement:t,"reference-element":"map-"+i},e("span",null,s)):void 0}_getActionItems(){return this._toolInfos?.filter((t=>t&&!t.isOverflow))}_getAction(t,i,s,h,a,o,l,n){const c=void 0===this.selectedLayer||o;return e("div",{class:"display-flex",id:this._getId(i),slot:n},e("calcite-action",{active:t,appearance:"solid",disabled:c,icon:i,id:"map-"+i,indicator:s,label:h,loading:l,onClick:a,text:h,textEnabled:!0}),this._getToolTip("bottom",i,h))}_getId(t){return`solutions-action-${t}`}async _getTranslations(){const t=await a(this.el);this._translations=t[0]}static get watchers(){return{appLayout:["appLayoutWatchHandler"],enableHome:["enableHomeWatchHandler"],enableShare:["enableShareWatchHandler"],locale:["localeWatchHandler"],mapView:["mapViewWatchHandler"],selectedLayer:["selectedLayerWatchHandler"],selectedFeaturesIds:["selectedFeaturesIdsWatchHandler"],_controlsThatFit:["_controlsThatFitWatchHandler"]}}};y.style=":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.map-height{height:calc(100% - 53px)}.height-full{height:100%}.height-49-px{height:49px}.box-shadow{box-shadow:none !important}.visibility-hidden-1{visibility:hidden;height:1px;}.display-none{display:none}.display-block{display:block}";export{u as card_manager,m as layer_table,y as map_card}
|