@esri/solutions-components 0.7.33 → 0.7.34

Sign up to get free protection for your applications and to get access to all the features.
@@ -1327,35 +1327,47 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
1327
1327
  * @returns a list of column templates if they exist
1328
1328
  */
1329
1329
  _getColumnTemplates(id, fieldInfos) {
1330
- var _a;
1331
- let layerInfo;
1332
- (_a = this.mapInfo.layerInfos) === null || _a === void 0 ? void 0 : _a.some(li => {
1333
- if (li.id === id) {
1334
- layerInfo = li;
1330
+ var _a, _b;
1331
+ let layerOption;
1332
+ (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.layerOptions) === null || _b === void 0 ? void 0 : _b.layers.some(l => {
1333
+ if (l.id === id) {
1334
+ layerOption = l;
1335
1335
  return true;
1336
1336
  }
1337
1337
  });
1338
- let columnTemplates = layerInfo === null || layerInfo === void 0 ? void 0 : layerInfo.columnTemplates;
1338
+ const fieldOrder = (layerOption === null || layerOption === void 0 ? void 0 : layerOption.fields) && (layerOption === null || layerOption === void 0 ? void 0 : layerOption.fieldOrder) ?
1339
+ layerOption.fieldOrder.filter(f => layerOption.fields.indexOf(f) > -1) :
1340
+ undefined;
1341
+ let columnTemplates;
1339
1342
  if (fieldInfos) {
1340
- columnTemplates = columnTemplates ? columnTemplates.map(columnTemplate => {
1341
- fieldInfos.some(fieldInfo => {
1342
- if (fieldInfo.name === columnTemplate.fieldName) {
1343
- columnTemplate.label = fieldInfo.alias;
1344
- columnTemplate.menuConfig = this._getMenuConfig(fieldInfo.name);
1345
- return true;
1343
+ columnTemplates = layerOption && (layerOption === null || layerOption === void 0 ? void 0 : layerOption.fields)
1344
+ ? fieldInfos.reduce((prev, cur) => {
1345
+ if (layerOption.fields.indexOf(cur.name) > -1) {
1346
+ const template = {
1347
+ type: "field",
1348
+ fieldName: cur.name,
1349
+ label: cur.alias,
1350
+ menuConfig: this._getMenuConfig(cur.name)
1351
+ };
1352
+ prev.push(template);
1346
1353
  }
1354
+ return prev;
1355
+ }, []).sort(this._sortFields.bind(this, layerOption === null || layerOption === void 0 ? void 0 : layerOption.fieldOrder))
1356
+ : fieldInfos.map(fieldInfo => {
1357
+ return {
1358
+ type: "field",
1359
+ fieldName: fieldInfo.name,
1360
+ label: fieldInfo.alias,
1361
+ menuConfig: this._getMenuConfig(fieldInfo.name)
1362
+ };
1347
1363
  });
1348
- return columnTemplate;
1349
- }) : fieldInfos.map(fieldInfo => {
1350
- return {
1351
- type: "field",
1352
- fieldName: fieldInfo.name,
1353
- label: fieldInfo.alias,
1354
- menuConfig: this._getMenuConfig(fieldInfo.name)
1355
- };
1356
- });
1357
1364
  }
1358
- return columnTemplates;
1365
+ return fieldOrder ?
1366
+ columnTemplates === null || columnTemplates === void 0 ? void 0 : columnTemplates.sort(this._sortFields.bind(this, fieldOrder)) :
1367
+ columnTemplates;
1368
+ }
1369
+ _sortFields(sorter, a, b) {
1370
+ return (sorter === null || sorter === void 0 ? void 0 : sorter.indexOf(a.fieldName)) - sorter.indexOf(b.fieldName);
1359
1371
  }
1360
1372
  /**
1361
1373
  * Get the menu config that adds the ability to hide the current column
@@ -1379,35 +1379,47 @@ const LayerTable = class {
1379
1379
  * @returns a list of column templates if they exist
1380
1380
  */
1381
1381
  _getColumnTemplates(id, fieldInfos) {
1382
- var _a;
1383
- let layerInfo;
1384
- (_a = this.mapInfo.layerInfos) === null || _a === void 0 ? void 0 : _a.some(li => {
1385
- if (li.id === id) {
1386
- layerInfo = li;
1382
+ var _a, _b;
1383
+ let layerOption;
1384
+ (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.layerOptions) === null || _b === void 0 ? void 0 : _b.layers.some(l => {
1385
+ if (l.id === id) {
1386
+ layerOption = l;
1387
1387
  return true;
1388
1388
  }
1389
1389
  });
1390
- let columnTemplates = layerInfo === null || layerInfo === void 0 ? void 0 : layerInfo.columnTemplates;
1390
+ const fieldOrder = (layerOption === null || layerOption === void 0 ? void 0 : layerOption.fields) && (layerOption === null || layerOption === void 0 ? void 0 : layerOption.fieldOrder) ?
1391
+ layerOption.fieldOrder.filter(f => layerOption.fields.indexOf(f) > -1) :
1392
+ undefined;
1393
+ let columnTemplates;
1391
1394
  if (fieldInfos) {
1392
- columnTemplates = columnTemplates ? columnTemplates.map(columnTemplate => {
1393
- fieldInfos.some(fieldInfo => {
1394
- if (fieldInfo.name === columnTemplate.fieldName) {
1395
- columnTemplate.label = fieldInfo.alias;
1396
- columnTemplate.menuConfig = this._getMenuConfig(fieldInfo.name);
1397
- return true;
1395
+ columnTemplates = layerOption && (layerOption === null || layerOption === void 0 ? void 0 : layerOption.fields)
1396
+ ? fieldInfos.reduce((prev, cur) => {
1397
+ if (layerOption.fields.indexOf(cur.name) > -1) {
1398
+ const template = {
1399
+ type: "field",
1400
+ fieldName: cur.name,
1401
+ label: cur.alias,
1402
+ menuConfig: this._getMenuConfig(cur.name)
1403
+ };
1404
+ prev.push(template);
1398
1405
  }
1406
+ return prev;
1407
+ }, []).sort(this._sortFields.bind(this, layerOption === null || layerOption === void 0 ? void 0 : layerOption.fieldOrder))
1408
+ : fieldInfos.map(fieldInfo => {
1409
+ return {
1410
+ type: "field",
1411
+ fieldName: fieldInfo.name,
1412
+ label: fieldInfo.alias,
1413
+ menuConfig: this._getMenuConfig(fieldInfo.name)
1414
+ };
1399
1415
  });
1400
- return columnTemplate;
1401
- }) : fieldInfos.map(fieldInfo => {
1402
- return {
1403
- type: "field",
1404
- fieldName: fieldInfo.name,
1405
- label: fieldInfo.alias,
1406
- menuConfig: this._getMenuConfig(fieldInfo.name)
1407
- };
1408
- });
1409
1416
  }
1410
- return columnTemplates;
1417
+ return fieldOrder ?
1418
+ columnTemplates === null || columnTemplates === void 0 ? void 0 : columnTemplates.sort(this._sortFields.bind(this, fieldOrder)) :
1419
+ columnTemplates;
1420
+ }
1421
+ _sortFields(sorter, a, b) {
1422
+ return (sorter === null || sorter === void 0 ? void 0 : sorter.indexOf(a.fieldName)) - sorter.indexOf(b.fieldName);
1411
1423
  }
1412
1424
  /**
1413
1425
  * Get the menu config that adds the ability to hide the current column
@@ -1,12 +1,10 @@
1
1
  <html>
2
- <head>
3
- <meta charset="utf-8" />
4
- <meta
5
- name="viewport"
6
- content="initial-scale=1,maximum-scale=1,user-scalable=no"
7
- />
8
- <title>Crowdsource Manager</title>
9
- <!--
2
+
3
+ <head>
4
+ <meta charset="utf-8" />
5
+ <meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
6
+ <title>Crowdsource Manager</title>
7
+ <!--
10
8
  | Copyright 2022 Esri
11
9
  |
12
10
  | Licensed under the Apache License, Version 2.0 (the "License");
@@ -21,164 +19,188 @@
21
19
  | See the License for the specific language governing permissions and
22
20
  | limitations under the License.
23
21
  -->
24
- <style>
25
- .crowdsource {
26
- height: 100vh;
27
- width: 100vw;
28
- display: flex;
29
- }
30
- </style>
22
+ <style>
23
+ .crowdsource {
24
+ height: 100vh;
25
+ width: 100vw;
26
+ display: flex;
27
+ }
28
+ </style>
31
29
 
32
- <link rel="stylesheet" href="https://jsdev.arcgis.com/4.29/esri/themes/light/main.css" />
33
- <!-- <link rel="stylesheet" href="https://jsdev.arcgis.com/4.29/esri/themes/dark/main.css" /> -->
34
- <link rel="stylesheet" type="text/css" href="https://js.arcgis.com/calcite-components/2.0.0/calcite.css" />
30
+ <link rel="stylesheet" href="https://jsdev.arcgis.com/4.29/esri/themes/light/main.css" />
31
+ <!-- <link rel="stylesheet" href="https://jsdev.arcgis.com/4.29/esri/themes/dark/main.css" /> -->
32
+ <link rel="stylesheet" type="text/css" href="https://js.arcgis.com/calcite-components/2.0.0/calcite.css" />
35
33
 
36
- <link rel="stylesheet" href="https://webapps-cdn.esri.com/CDN/fonts/v1.4.1/fonts.css" />
37
- <link rel="stylesheet" href="../solutions-components.css" type="text/css">
34
+ <link rel="stylesheet" href="https://webapps-cdn.esri.com/CDN/fonts/v1.4.1/fonts.css" />
35
+ <link rel="stylesheet" href="../solutions-components.css" type="text/css">
38
36
 
39
- <script src="https://jsdev.arcgis.com/4.29/"></script>
40
- <script type="module" src="../solutions-components.esm.js"></script>
37
+ <script src="https://jsdev.arcgis.com/4.29/"></script>
38
+ <script type="module" src="../solutions-components.esm.js"></script>
41
39
 
42
- <script>
43
- function addValues() {
44
- const demo = document.getElementById("demo");
40
+ <script>
41
+ function addValues() {
42
+ const demo = document.getElementById("demo");
45
43
 
46
- let headerSet = false;
47
- let custom = [];
48
- var vars = window.location.search.substring(1).split('&');
49
- vars.forEach((param) => {
50
- let vals = param.split('=');
51
- const v = vals[1];
52
- switch (vals[0]) {
53
- case "id":
54
- custom = [{
55
- id: v,
56
- name: "Map from URL"
57
- }];
58
- break;
59
- case "zoomAndScrollToSelected":
60
- demo.zoomAndScrollToSelected = v.toLocaleLowerCase() === "true";
61
- break;
62
- case "hideHeader":
63
- demo.hideHeader = v.toLocaleLowerCase() === "true";
64
- headerSet = true;
65
- break;
66
- default:
67
- break;
68
- }
69
- });
70
-
71
- if (!headerSet) {
72
- // Want the header to be disabled by default for IA
73
- // Want the header to be enabled by default for the demo app
74
- demo.hideHeader = false;
44
+ let headerSet = false;
45
+ let custom = [];
46
+ var vars = window.location.search.substring(1).split('&');
47
+ vars.forEach((param) => {
48
+ let vals = param.split('=');
49
+ const v = vals[1];
50
+ switch (vals[0]) {
51
+ case "id":
52
+ custom = [{
53
+ id: v,
54
+ name: "Map from URL"
55
+ }];
56
+ break;
57
+ case "zoomAndScrollToSelected":
58
+ demo.zoomAndScrollToSelected = v.toLocaleLowerCase() === "true";
59
+ break;
60
+ case "hideHeader":
61
+ demo.hideHeader = v.toLocaleLowerCase() === "true";
62
+ headerSet = true;
63
+ break;
64
+ default:
65
+ break;
75
66
  }
67
+ });
76
68
 
77
- demo.mapInfos = [
78
- ...custom,
79
- ...[{
80
- id: "ce3dec81bf714d3bb71da9691ab686d1",
81
- name: "Popup Configured Map",
82
- filterConfig: {
83
- mapId: "ce3dec81bf714d3bb71da9691ab686d1",
84
- layerExpressions: [
85
- {
86
- id: "Requests_681",
87
- title: "Requests",
88
- operator: " AND ",
89
- expressions: [
90
- {
91
- definitionExpression: "OBJECTID > 690",
92
- id: 1701793260225,
93
- index: 0,
94
- name: "greater than 690",
95
- active: false
96
- }
97
- ]
98
- }, {
99
- id: "Requets_6608",
100
- title: "Comments",
101
- operator: " AND ",
102
- expressions: [
103
- {
104
- definitionExpression: "OBJECTID > 1",
105
- id: 1701793260226,
106
- index: 0,
107
- name: "greater than 1",
108
- active: false
109
- }
110
- ]
111
- }
112
- ]
113
- }
114
- // filters: {},
115
- // layerInfos: [{
116
- // id: "Requests_681",
117
- // columnTemplates: [{
118
- // type: "field",
119
- // fieldName: "ObjectId",
120
- // visible: false
121
- // }, {
122
- // type: "field",
123
- // fieldName: "reqcategory",
124
- // label: "Request ID",
125
- // visible: true
126
- // }]
127
- // }, {
128
- // id: "Requets_6608",
129
- // columnTemplates: [{
130
- // type: "field",
131
- // fieldName: "requestglobalid",
132
- // visible: false
133
- // }, {
134
- // type: "field",
135
- // fieldName: "comments",
136
- // label: "Comments",
137
- // visible: true
138
- // }]
139
- // }]
140
- }, {
141
- id: "863e4f6f2a7840db896cc1b1606d552d",
142
- name: "IA map"
143
- }, {
144
- id: "3715f4899bea4b2a948347c5c2357e58",
145
- name: "PN Map"
146
- }, {
147
- id: "4fa949c89bb04ecb8a9f5ad119448333",
148
- name: "CS TIL DATA"
149
- }, {
150
- id: "f5b01c17a09941eaad63e7b4e6c7d880",
151
- name: "Attachments Map"
152
- }, {
153
- id: "b422923b7a4c4958b9788118255f2f0a",
154
- name: "Floor aware map"
155
- }, {
156
- id: "5dc8ae351ff34280a75f7ffe1115b36b",
157
- name: "Standalone table",
158
- filterConfig: {
159
- "mapId": "5dc8ae351ff34280a75f7ffe1115b36b",
160
- "layerExpressions": [{
161
- "id": "18c4a8cda15-layer-2",
162
- "title": "Table_1",
163
- "operator": " AND ",
164
- "expressions": [{
165
- "definitionExpression": "OBJECTID > 14",
166
- "id": 1702486334825,
167
- "index": 0,
168
- "name": "> 14",
169
- "active": false
170
- }]
171
- }]
172
- }
173
- }]
174
- ];
69
+ if (!headerSet) {
70
+ // Want the header to be disabled by default for IA
71
+ // Want the header to be enabled by default for the demo app
72
+ demo.hideHeader = false;
175
73
  }
176
- </script>
177
- </head>
178
74
 
179
- <!-- <body class="calcite-mode-dark" onload="addValues()"> -->
180
- <body onload="addValues()">
181
- <crowdsource-manager id="demo" class="crowdsource"/>
182
- <!-- <crowdsource-manager id="demo" class="crowdsource" theme="dark"/> -->
183
- </body>
75
+ demo.mapInfos = [
76
+ ...custom,
77
+ ...[{
78
+ id: "ce3dec81bf714d3bb71da9691ab686d1",
79
+ name: "Popup Configured Map",
80
+ filterConfig: {
81
+ mapId: "ce3dec81bf714d3bb71da9691ab686d1",
82
+ layerExpressions: [
83
+ {
84
+ id: "Requests_681",
85
+ title: "Requests",
86
+ operator: " AND ",
87
+ expressions: [
88
+ {
89
+ definitionExpression: "OBJECTID > 690",
90
+ id: 1701793260225,
91
+ index: 0,
92
+ name: "greater than 690",
93
+ active: false
94
+ }
95
+ ]
96
+ }, {
97
+ id: "Requets_6608",
98
+ title: "Comments",
99
+ operator: " AND ",
100
+ expressions: [
101
+ {
102
+ definitionExpression: "OBJECTID > 1",
103
+ id: 1701793260226,
104
+ index: 0,
105
+ name: "greater than 1",
106
+ active: false
107
+ }
108
+ ]
109
+ }
110
+ ]
111
+ }
112
+ }, {
113
+ id: "863e4f6f2a7840db896cc1b1606d552d",
114
+ name: "IA map"
115
+ }, {
116
+ id: "3715f4899bea4b2a948347c5c2357e58",
117
+ name: "PN Map"
118
+ }, {
119
+ id: "4fa949c89bb04ecb8a9f5ad119448333",
120
+ name: "CS TIL DATA"
121
+ }, {
122
+ id: "f5b01c17a09941eaad63e7b4e6c7d880",
123
+ name: "Attachments Map"
124
+ }, {
125
+ id: "b422923b7a4c4958b9788118255f2f0a",
126
+ name: "Floor aware map"
127
+ }, {
128
+ id: "5dc8ae351ff34280a75f7ffe1115b36b",
129
+ name: "Standalone table",
130
+ filterConfig: {
131
+ mapId: "5dc8ae351ff34280a75f7ffe1115b36b",
132
+ layerExpressions: [{
133
+ id: "18c4a8cda15-layer-2",
134
+ title: "Table_1",
135
+ operator: " AND ",
136
+ expressions: [{
137
+ definitionExpression: "OBJECTID > 14",
138
+ id: 1702486334825,
139
+ index: 0,
140
+ name: "> 14",
141
+ active: false
142
+ }]
143
+ }]
144
+ }
145
+ }, {
146
+ id: "91e220910a994da4abfb0d1763d64ecb",
147
+ name: "EditMultiLayers",
148
+ visible: true,
149
+ layerOptions: {
150
+ layers: [{
151
+ id: "18b1fb85a29-layer-3",
152
+ fields: [
153
+ "OBJECTID", "a", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "c"
154
+ ],
155
+ fieldOrder: [
156
+ "c", "b", "a", "OBJECTID", "Shape__Area", "Shape__Length", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n"
157
+ ]
158
+ }, {
159
+ id: "18b1fb862df-layer-4",
160
+ fields: ["OBJECTID", "test"],
161
+ fieldOrder: ["test", "OBJECTID"]
162
+ }, {
163
+ id: "18b1fb82f0e-layer-2",
164
+ fields: [
165
+ "URL", "Avg_Stars", "Your_Stars", "Route_Type", "Rating", "Pitches", "Length", "Area_Latitude", "Area_Longitude", "ObjectId"
166
+ ],
167
+ fieldOrder: [
168
+ "Your_Stars", "Route", "Location", "URL", "Avg_Stars", "Route_Type", "Rating", "Pitches", "Length", "Area_Latitude", "Area_Longitude", "ObjectId"
169
+ ]
170
+ }],
171
+ mapId: "91e220910a994da4abfb0d1763d64ecb"
172
+ }
173
+ }, {
174
+ id: "7197542839d948258c7862b33f9d96ad",
175
+ name: "EditPolymap",
176
+ visible: true
177
+ }, {
178
+ id: "fbe7bb1907f34d5aa8771ad6475a1dfe",
179
+ name: "Mountain Project",
180
+ visible: true,
181
+ layerOptions: {
182
+ layers: [{
183
+ id: "18a6ffdeae9-layer-2",
184
+ fields: [
185
+ "URL", "Avg_Stars", "Your_Stars", "Route_Type", "Rating", "Pitches", "Length", "Area_Latitude", "Area_Longitude", "ObjectId"
186
+ ],
187
+ fieldOrder: [
188
+ "Avg_Stars", "Route", "Location", "URL", "Your_Stars", "Route_Type", "Rating", "Pitches", "Length", "Area_Latitude", "Area_Longitude", "ObjectId"
189
+ ]
190
+ }],
191
+ mapId: "fbe7bb1907f34d5aa8771ad6475a1dfe"
192
+ }
193
+ }]
194
+ ];
195
+ }
196
+ </script>
197
+ </head>
198
+
199
+ <!-- <body class="calcite-mode-dark" onload="addValues()"> -->
200
+
201
+ <body onload="addValues()">
202
+ <crowdsource-manager id="demo" class="crowdsource" />
203
+ <!-- <crowdsource-manager id="demo" class="crowdsource" theme="dark"/> -->
204
+ </body>
205
+
184
206
  </html>
@@ -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 i,h as t,H as s,g as e,c as h}from"./p-78780f63.js";import{g as o,l}from"./p-e902ba19.js";import{q as a,g as n,b as d,e as r,f as c,i as v}from"./p-2c382841.js";import{d as p}from"./p-6c85b276.js";import"./p-d918ec36.js";import"./p-e1a4994d.js";import"./p-c1cf3ebc.js";import"./p-d89fff3a.js";import"./p-a230b270.js";import"./p-220ec0d1.js";const u=class{constructor(t){i(this,t),this.isMobile=void 0,this.layer=void 0,this.mapView=void 0,this.zoomAndScrollToSelected=void 0,this._cardLoading=!1,this._graphics=void 0,this._translations=void 0}async featureSelectionChange(i){const t=i.detail;this._cardLoading=!0;const s=t.length>0?await a(t,this.layer,[],!1,this.mapView.spatialReference):[];this._graphics=s.sort(((i,s)=>t.indexOf(i.getObjectId())-t.indexOf(s.getObjectId()))),this._cardLoading=!1}async layerSelectionChange(i){const t=i.detail[0];this.layer=await n(this.mapView,t)}async componentWillLoad(){await this._getTranslations()}render(){var i,e;const h=(null===(i=this._graphics)||void 0===i?void 0:i.length)>0?"":"display-none",o=(null===(e=this._graphics)||void 0===e?void 0:e.length)>0?"display-none":"";return t(s,null,t("div",{class:"overflow-auto height-full"},t("calcite-shell",{class:"position-relative "+h},t("div",null,t("info-card",{graphics:this._graphics,isLoading:this._cardLoading,isMobile:this.isMobile,mapView:this.mapView,zoomAndScrollToSelected:this.zoomAndScrollToSelected}))),t("calcite-shell",{class:"position-relative "+o},t("div",{class:"padding-1"},t("calcite-notice",{icon:"table",open:!0},t("div",{slot:"message"},this._translations.selectFeaturesToStart))))))}async _getTranslations(){const i=await o(this.el);this._translations=i[0]}get el(){return e(this)}};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%}card-manager{display:block}";const b=class{constructor(t){i(this,t),this.featureSelectionChange=h(this,"featureSelectionChange",7),this._allIds=[],this._ctrlIsPressed=!1,this._defaultFilterHonored=!1,this._defaultGlobalIdHonored=!1,this._defaultOidHonored=!1,this._observerSet=!1,this._shiftIsPressed=!1,this._skipOnChange=!1,this._tableSorting=!1,this.onTableNodeCreate=i=>{this._tableNode=i},this.defaultFilter=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.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._controlsThatFit=void 0,this._fetchingData=!1,this._filterActive=!1,this._filterOpen=!1,this._layer=void 0,this._selectAllActive=!1,this._showHideOpen=!1,this._showOnlySelected=!1,this._sortActive=!1,this._translations=void 0}enableCSVWatchHandler(){var i;(null===(i=this._toolInfos)||void 0===i?void 0:i.length)>0&&this._initToolInfos()}enableInlineEditWatchHandler(){this._table&&(this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit)}_controlsThatFitWatchHandler(){var i;const t=this._controlsThatFit?this._controlsThatFit.reduce(((i,t)=>(i.push(t.id),i)),[]):[];this._toolInfos=null===(i=this._toolInfos)||void 0===i?void 0:i.map((i=>{if(i&&this._controlsThatFit){const s=this._getId(i.icon);return i.isOverflow=t.indexOf(s)<0,i}}))}isMobileWatchHandler(){this._toolInfos||this.isMobile||this._initToolInfos()}async mapInfoWatchHandler(){var i;(null===(i=this._toolInfos)||void 0===i?void 0:i.length)>0&&this._initToolInfos(),this._initLayerExpressions()}async mapViewWatchHandler(){this._mapClickHandle&&this._mapClickHandle.remove(),this.mapView&&(this._updateShareUrl(),this._mapClickHandle=this.reactiveUtils.on((()=>this.mapView),"click",(i=>{this._mapClicked(i)})))}async _layerWatchHandler(){var i,t;this._fetchingData=!0,this._definitionExpression=this._layer.definitionExpression,this._floorField=null===(t=null===(i=this._layer)||void 0===i?void 0:i.floorInfo)||void 0===t?void 0:t.floorField,this._updateFloorDefinitionExpression(),await this._resetTable(),this._updateShareUrl(),this._initLayerExpressions(),this._fetchingData=!1}async selectedIdsWatchHandler(){this._updateShareUrl(),this._validateEnabledActions(),this._selectAllActive&&this.selectedIds.length!==this._allIds.length&&(this._selectAllActive=!1)}async _sortActiveWatchHandler(){this._sortActive||await this._sortTable()}async selectionChanged(i){const t=i.detail[0],s=t.getObjectId();if(this.zoomAndScrollToSelected){const i=this._table.viewModel.getObjectIdIndex(s);this._table.scrollToIndex(i);const e=t.layer;let h;this.mapView.allLayerViews.toArray().some((i=>{if(i.layer.title===e.title&&"feature"===i.layer.type)return h=i,!0})),h&&await d([s],h,this.mapView,!0)}}async editsComplete(i){const t=i.detail;"delete"!==t&&"add"!==t||(this._allIds=await r(this._layer)),await this._refresh()}async levelChanged(i){this._floorLevel=i.detail,this._updateFloorDefinitionExpression()}noLayersFound(){this._layer=void 0,this._allIds=[],this._clearSelection()}async componentWillLoad(){await this._getTranslations(),await this._initModules(),this._initToolInfos(),this._resizeObserver||(this._resizeObserver=new ResizeObserver((()=>this._onResize())))}render(){const i=this._fetchingData?"display-none":"",e=this._fetchingData?"":"display-none",h=this._allIds.length.toString(),o=this.selectedIds.length.toString(),l=this.isMobile?"height-full":"height-full-adjusted";return this._validateActiveActions(),t(s,null,t("calcite-shell",null,this._getTableControlRow("header"),t("div",{class:`width-full ${l}`},t("calcite-panel",{class:"height-full width-full"},t("calcite-loader",{class:e,label:this._translations.fetchingData,scale:"l"}),t("div",{class:i,ref:this.onTableNodeCreate})),this.isMobile?void 0:t("div",{class:"bottom-left text-color height-19"},this._translations.recordsSelected.replace("{{total}}",h).replace("{{selected}}",o)))),this._filterModal())}async componentDidLoad(){this.isMobile||this._observerSet||(this._resizeObserver.observe(this._toolbar),this._observerSet=!0),document.onclick=i=>this._handleDocumentClick(i),document.onkeydown=i=>this._handleKeyDown(i),document.onkeyup=i=>this._handleKeyUp(i)}componentDidRender(){this._updateToolbar()}async _initModules(){const[i,t]=await l(["esri/widgets/FeatureTable","esri/core/reactiveUtils"]);this.FeatureTable=i,this.reactiveUtils=t}_onResize(){this._updateToolbar()}_getTableControlRow(i){return t("div",{class:"display-flex border-bottom height-51",ref:i=>this._toolbar=i,slot:i},this._getActionBar(),this.isMobile?void 0:this._getDropdown("more-table-options"),this.enableShare&&!this.isMobile?this._getShare("share"):void 0)}_getActionBar(){const i=this.isMobile?"width-full":"",s=this.isMobile?"border-top":"";return t("calcite-action-bar",{class:i,expandDisabled:!0,expanded:!0,id:this._getId("bar"),layout:"horizontal"},t("div",{class:`border-end ${i} ${s}`,id:"solutions-map-layer-picker-container"},t("map-layer-picker",{appearance:"transparent",defaultLayerId:this.defaultLayerId,display:"inline-flex",height:50,isMobile:this.isMobile,mapView:this.mapView,onLayerSelectionChange:i=>this._layerSelectionChanged(i),onlyShowUpdatableLayers:this.onlyShowUpdatableLayers,placeholderIcon:"layers",scale:"l",showSingleLayerAsLabel:!0,showTables:!0,type:"dropdown"})),this.isMobile?void 0:this._getActions())}_getActions(){return this._getActionItems().reduce(((i,s)=>(s&&!s.isOverflow&&i.push(s.isDanger?this._getDangerAction(s.icon,s.label,s.func,s.disabled):s.isSublist?t("calcite-dropdown",{closeOnSelectDisabled:!0,id:this._getId(s.icon),onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:i=>this._showHideDropdown=i},this._getAction(s.active,this._showHideOpen?"chevron-down":s.icon,s.indicator,s.label,s.func,s.disabled,"trigger"),this._showHideOpen?this._getFieldlist():void 0):this._getAction(s.active,s.icon,s.indicator,s.label,s.func,s.disabled)),i)),[])}_getFieldlist(){return this._columnsInfo?t("calcite-dropdown-group",{"selection-mode":"multiple"},Object.keys(this._columnsInfo).map((i=>t("calcite-dropdown-item",{id:i,onClick:i=>{const t=i.target;this._columnsInfo[t.id]=t.selected,t.selected?this._table.showColumn(t.id):this._table.hideColumn(t.id)},selected:this._columnsInfo[i]},i)))):void 0}_validateEnabledActions(){var i;const t=this._featuresSelected(),s=["zoom-to-object","trash","erase","selected-items-filter"];null===(i=this._toolInfos)||void 0===i||i.forEach((i=>{i&&s.indexOf(i.icon)>-1&&(i.disabled=!t)}))}_validateActiveActions(){var i;const t=["filter","list-check-all","selected-items-filter"];null===(i=this._toolInfos)||void 0===i||i.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 i=this._featuresSelected(),t=this._featuresEmpty(),s=this._hasFilterExpressions();this._translations&&(this._toolInfos=[{active:!1,icon:"zoom-to-object",indicator:!1,label:this._translations.zoom,func:()=>this._zoom(),disabled:!i,isOverflow:!1},s?{active:!1,icon:"filter",indicator:!1,label:this._translations.filters,func:()=>this._toggleFilter(),disabled:!1,isOverflow:!1}:void 0,this._deleteEnabled?{active:void 0,icon:"trash",indicator:void 0,label:void 0,func:void 0,disabled:!i,isDanger:!0,isOverflow:!1}:void 0,{active:!1,icon:"erase",indicator:!1,label:this._translations.clearSelection,func:()=>this._clearSelection(),disabled:!i,isOverflow:!1},{active:!1,icon:"selected-items-filter",indicator:!1,label:this._showOnlySelected?this._translations.showAll:this._translations.showSelected,func:()=>this._toggleShowSelected(),disabled:!i,isOverflow:!1},{active:!1,icon:"list-check-all",indicator:!1,func:()=>this._selectAll(),label:this._translations.selectAll,disabled:t,isOverflow:!1},{active:!1,icon:"compare",indicator:!1,func:()=>this._switchSelected(),label:this._translations.switchSelected,disabled:t,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,disabled:t,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(){this._floorField&&this._floorLevel&&(this._layer.definitionExpression=`${this._floorField} = '${this._floorLevel}'`)}_featuresSelected(){return this.selectedIds.length>0}_featuresEmpty(){return 0===this._allIds.length}_hasFilterExpressions(){var i,t,s;let e;return(null===(t=null===(i=this.mapInfo)||void 0===i?void 0:i.filterConfig)||void 0===t?void 0:t.layerExpressions)&&(null===(s=this._layer)||void 0===s?void 0:s.id)&&(e=this.mapInfo.filterConfig.layerExpressions.filter((i=>i.id===this._layer.id))),(null==e?void 0:e.length)>0}_updateToolbar(){this._timeout&&clearTimeout(this._timeout),this.isMobile||(this._timeout=setTimeout((()=>{clearTimeout(this._timeout),this._setToolbarSizeInfos();const i=this._toolbar.offsetWidth;let t=this._toolbarSizeInfos.reduce(((i,t)=>i+t.width),0);const s=["solutions-more","solutions-map-layer-picker-container","solutions-action-share"];if(t>i){if(this._toolbarSizeInfos.length>0){const e=[...this._toolbarSizeInfos].reverse().reduce(((e,h)=>(s.indexOf(h.id)<0&&(t>i?t-=h.width:e.push(h)),e)),[]).reverse();this._setControlsThatFit(e,s)}}else if(this._defaultVisibleToolSizeInfos){const e=this._toolbarSizeInfos.reduce(((i,t)=>(i.push(t.id),i)),[]);let h=!1;const o=[...this._defaultVisibleToolSizeInfos].reduce(((o,l)=>(!h&&s.indexOf(l.id)<0&&(e.indexOf(l.id)>-1||t+l.width<=i)?(e.indexOf(l.id)<0&&(t+=l.width),o.push(l)):s.indexOf(l.id)<0&&t+l.width>i&&(h=!0),o)),[]);this._setControlsThatFit(o,s)}}),5))}_setControlsThatFit(i,t){let s=JSON.stringify(i)!==JSON.stringify(this._controlsThatFit);document.getElementById("solutions-action-bar").childNodes.forEach((i=>{t.indexOf(i.id)<0&&!s&&(s=this._controlsThatFit.map((i=>i.id)).indexOf(i.id)<0)})),s&&(this._controlsThatFit=[...i])}_setToolbarSizeInfos(){let i=!1;this._toolbarSizeInfos=[],this._toolbar.childNodes.forEach(((t,s)=>{0===s?t.childNodes.forEach((t=>{this._toolbarSizeInfos.push({id:t.id,width:t.offsetWidth}),i||(i=t.offsetWidth>0)})):t.referenceElement||(this._toolbarSizeInfos.push({id:t.id,width:t.offsetWidth}),i||(i=t.offsetWidth>0))})),i&&!this._defaultVisibleToolSizeInfos&&(this._defaultVisibleToolSizeInfos=[...this._toolbarSizeInfos])}_getActionItems(){var i;return null===(i=this._toolInfos)||void 0===i?void 0:i.filter((i=>i&&!i.isOverflow))}_getDropdown(i){const s=this._getDropdownItems();return s.length>0?t("calcite-dropdown",{closeOnSelectDisabled:!0,disabled:void 0===this._layer,id:"solutions-more",onCalciteDropdownBeforeClose:()=>this._forceShowHide(),ref:i=>this._moreDropdown=i},t("calcite-action",{appearance:"solid",id:i,label:"",onClick:()=>this._closeShowHide(),slot:"trigger",text:""},t("calcite-button",{appearance:"transparent",iconEnd:"chevron-down",kind:"neutral"},this._translations.more)),t("calcite-dropdown-group",{"selection-mode":"none"},s.map((i=>t("calcite-dropdown-group",{class:i.disabled?"disabled":"",selectionMode:i.disabled?"none":"single"},t("calcite-dropdown-item",{iconStart:i.isSublist&&this._showHideOpen?"chevron-down":i.icon,id:"solutions-subset-list",onClick:i.func},i.label))))),this._showHideOpen?this._getFieldlist():void 0):void 0}_getDropdownItems(){var i;return null===(i=this._toolInfos)||void 0===i?void 0:i.filter((i=>i&&i.isOverflow))}_getAction(i,s,e,h,o,l,a){const n=void 0===this._layer||l;return t("div",{class:"display-flex",id:this._getId(s),slot:a},t("calcite-action",{active:i,appearance:"solid",disabled:n,icon:s,id:s,indicator:e,label:h,onClick:o,text:h,textEnabled:!0}),this._getToolTip("bottom",s,h))}_getShare(i){return t("div",{class:"share-action",id:this._getId(i)},t("instant-apps-social-share",{autoUpdateShareUrl:!1,class:"instant-app-share",embed:this.shareIncludeEmbed,popoverButtonIconScale:"s",ref:i=>this._shareNode=i,scale:"m",shareButtonColor:"neutral",shareButtonType:"action",socialMedia:this.shareIncludeSocial,view:this.mapView}),this._getToolTip("bottom",i,this._translations.share))}_updateShareUrl(){var i,t,s,e;const h=null===(i=this._shareNode)||void 0===i?void 0:i.shareUrl;if(!h)return;const o=new URL(h);if((null===(t=this.mapInfo)||void 0===t?void 0:t.id)?o.searchParams.set("webmap",this.mapInfo.id):o.searchParams.delete("webmap"),(null===(s=this._layer)||void 0===s?void 0:s.id)?o.searchParams.set("layer",this._layer.id):o.searchParams.delete("layer"),(null===(e=this.selectedIds)||void 0===e?void 0:e.length)>0?o.searchParams.set("oid",this.selectedIds.join(",")):o.searchParams.delete("oid"),this._filterActive){const i=JSON.parse(this._filterList.urlParams.get("filter")),t=this._filterList.layerExpressions.map((t=>(t.expressions=t.expressions.map((t=>(t.id.toString()===i.expressionId.toString()&&(t.active=!0),t))),t)));o.searchParams.set("filter",JSON.stringify(t))}else o.searchParams.delete("filter");this._shareNode.shareUrl=o.href}_getToolTip(i,s,e){return t("calcite-tooltip",{placement:i,"reference-element":s},t("span",null,e))}_getId(i){return`solutions-action-${i}`}_getDangerAction(i,s,e,h){const o=void 0===this._layer||h;return t("div",{class:"display-flex",id:this._getId(i)},"trash"===i?t("delete-button",{buttonType:"action",class:"display-flex",disabled:o,icon:i,ids:this._getIds(),layer:this._layer}):t("calcite-action",{appearance:"solid",disabled:o,id:i,onClick:e,text:""},t("calcite-button",{appearance:"transparent",iconStart:i,kind:"danger"},s)),this._getToolTip("bottom",i,s))}_getIds(){return this._table.highlightIds.toArray()}async _getTable(i,t){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:{header:!1,menu:!1},tableTemplate:{columnTemplates:t},container:i})})),this._initColumnsInfo(),this._checkEditEnabled(),await this._table.when((()=>{this._table.highlightIds.on("change",(i=>{this._handleOnChange(i)})),this.reactiveUtils.watch((()=>this._table.activeSortOrders),(i=>{var t,s,e,h;this._sortActive=!!this._layer&&(i.length>0&&"asc"===(null===(t=i[0])||void 0===t?void 0:t.direction)||"desc"===(null===(s=i[0])||void 0===s?void 0:s.direction)||null===(null===(e=i[0])||void 0===e?void 0:e.direction)&&(null===(h=i[0])||void 0===h?void 0:h.fieldName)===this._layer.objectIdField)}))})))}async _handleOnChange(i){const t=[...this._table.highlightIds.toArray()];if(this._skipOnChange)this._skipOnChange=!1;else{if(this._ctrlIsPressed||this._shiftIsPressed){if(this._ctrlIsPressed)this.selectedIds=t.reverse();else if(this._shiftIsPressed&&(this._skipOnChange=!0,this._previousCurrentId=this._currentId,this._currentId=[...this._table.highlightIds.toArray()].reverse()[0],this._previousCurrentId!==this._currentId)){const i=this._table.activeSortOrders.reduce(((i,t)=>(i.push(`${t.fieldName} ${t.direction}`),i)),[]),s=await c(this._layer,this._layer.definitionExpression,i);let e=!1;const h=this._table.viewModel.getObjectIdIndex(this._previousCurrentId),o=this._table.viewModel.getObjectIdIndex(this._currentId),l=h<o?h:o,a=o>h?o:h;this._skipOnChange=l+1!==a;const n=s.reduce(((i,t)=>{const s=t,h=this._table.viewModel.getObjectIdIndex(s);return s!==this._currentId&&s!==this._previousCurrentId||(e=!e,i.indexOf(s)<0&&i.push(s)),e&&i.indexOf(s)<0&&i.push(s),(this.selectedIds.indexOf(s)>-1||h>=l&&h<=a)&&i.indexOf(s)<0&&h>-1&&i.push(s),i}),[]);this.selectedIds=h<o?n.reverse():n,this._table.highlightIds.addMany(this.selectedIds.filter((i=>t.indexOf(i)<0)))}}else if(this.selectedIds.length>0){this._skipOnChange=!0;const s=this.selectedIds.length>1&&1===i.removed.length?i.removed:t.filter((i=>this.selectedIds.indexOf(i)<0));this._clearSelection(),this.selectedIds=[...s],s.length>0?this._table.highlightIds.add(s[0]):this._skipOnChange=!1}else this.selectedIds=t.reverse();this._finishOnChange()}this._currentId=[...this._table.highlightIds.toArray()].reverse()[0]}_finishOnChange(){this._showOnlySelected&&(this._featuresSelected()?this._table.filterBySelection():this._toggleShowSelected()),this.featureSelectionChange.emit(this.selectedIds)}async _resetTable(){var i;this._clearSelection(),this._allIds=[],this.featureSelectionChange.emit(this.selectedIds);const t=this._getColumnTemplates(this._layer.id,null===(i=this._layer)||void 0===i?void 0:i.fields);this._allIds=await r(this._layer),this._table?t&&(this._table.tableTemplate.columnTemplates=t):await this._getTable(this._tableNode,t),this._table.layer=this._layer,this._table.view=this.mapView,this._checkEditEnabled(),this._table.editingEnabled=this._editEnabled&&this.enableInlineEdit,this._initToolInfos(),await this._table.when((async()=>{var i,t;if(this._table.highlightIds.removeAll(),this._table.clearSelectionFilter(),this._initColumnsInfo(),!this._defaultOidHonored&&(null===(i=this.defaultOid)||void 0===i?void 0:i.length)>0&&this.defaultOid[0]>-1&&(this._selectDefaultFeature(this.defaultOid),this._defaultOidHonored=!0),!this._defaultGlobalIdHonored&&(null===(t=this.defaultGlobalId)||void 0===t?void 0:t.length)>0){const i=await v(this.defaultGlobalId,this._layer),t=(null==i?void 0:i.length)>0?i.map((i=>i.getObjectId())):void 0;t&&this._selectDefaultFeature(t),this._defaultGlobalIdHonored=!0}!this._defaultFilterHonored&&this.defaultFilter&&this._filterList&&(this._layerExpressions=this.defaultFilter,this._filterActive=!0,this._defaultFilterHonored=!0)})),this._showOnlySelected=!1,this._sortActive=!1,await this._sortTable()}_initColumnsInfo(){this._columnsInfo=this._table.columns.reduce(((i,t)=>(i[t.name]=!t.hidden,i)),{})}_selectDefaultFeature(i){i.length>0&&(this._table.highlightIds.addMany(i),this._table.when((()=>{const t=this._table.viewModel.getObjectIdIndex(i[0]);this._table.viewModel.scrollToIndex(t)})))}_checkEditEnabled(){this._editEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsUpdate,this._deleteEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsDelete}async _sortTable(){this._table&&this._layer&&!this._sortActive&&!this._tableSorting&&this.showNewestFirst&&(this._tableSorting=!0,await this._table.when(),await this._layer.when((()=>{this._table.sortColumn(this._layer.objectIdField,"desc"),this._tableSorting=!1})))}_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(i){var t;const s=null===(t=i.target)||void 0===t?void 0:t.id;this._showHideOpen&&Object.keys(this._columnsInfo).indexOf(s)<0&&"solutions-subset-list"!==s&&"chevron-right"!==s&&(this._closeShowHide(),this._moreDropdown&&(this._moreDropdown.open=!1),this._showHideDropdown&&(this._showHideDropdown.open=!1))}_handleKeyDown(i){this._ctrlIsPressed=i.ctrlKey,this._shiftIsPressed=i.shiftKey}_handleKeyUp(i){this._ctrlIsPressed=i.ctrlKey,this._shiftIsPressed=i.shiftKey}_filterModal(){var i,s,e;return t("calcite-modal",{"aria-labelledby":"modal-title",class:"modal",kind:"brand",onCalciteModalClose:async()=>this._closeFilter(),open:this._filterOpen,widthScale:"s"},t("div",{class:"display-flex align-center",id:"modal-title",slot:"header"},null===(s=null===(i=this._translations)||void 0===i?void 0:i.filter)||void 0===s?void 0:s.replace("{{title}}",null===(e=this._layer)||void 0===e?void 0:e.title)),t("div",{slot:"content"},t("instant-apps-filter-list",{autoUpdateUrl:!1,closeBtn:!0,closeBtnOnClick:async()=>this._closeFilter(),layerExpressions:this._layerExpressions,onFilterListReset:()=>this._handleFilterListReset(),onFilterUpdate:()=>this._handleFilterUpdate(),ref:i=>this._filterList=i,view:this.mapView,zoomBtn:!1})))}_handleFilterListReset(){this._filterActive=!1,this._updateShareUrl()}_handleFilterUpdate(){this._filterActive=this._definitionExpression!==this._layer.definitionExpression,this._updateShareUrl()}async _closeFilter(){this._filterOpen&&(this._allIds=await r(this._layer),this._filterOpen=!1)}async _mapClicked(i){const t={include:this._layer},s=await this.mapView.hitTest(i.screenPoint,t);s.results.length>0&&(s.results.forEach((i=>{this._clearSelection();const t=i.graphic.getObjectId(),s=this._table.highlightIds.indexOf(t);s>-1?this._table.highlightIds.removeAt(s):this._table.highlightIds.add(t)})),this._showOnlySelected&&this._table.filterBySelection())}_selectAll(){const i=this._allIds;this._table.highlightIds.removeAll(),this._skipOnChange=!0,this._table.highlightIds.addMany(i),this.selectedIds=i,this._finishOnChange(),this._selectAllActive=!0}_toggleShowSelected(){this._showOnlySelected=!this._showOnlySelected,this._showOnlySelected?this._table.filterBySelection():this._table.clearSelectionFilter()}_clearSelection(){var i;this.selectedIds=[],null===(i=this._table)||void 0===i||i.highlightIds.removeAll(),this._finishOnChange()}_toggleFilter(){this._filterOpen=!this._filterOpen}_initLayerExpressions(){var i,t;const s=null===(t=null===(i=this.mapInfo)||void 0===i?void 0:i.filterConfig)||void 0===t?void 0:t.layerExpressions;this._layerExpressions=s?s.filter((i=>{var t;return i.id===(null===(t=this._layer)||void 0===t?void 0:t.id)})):[],this._filterList.layerExpressions=this._layerExpressions,this._filterActive=!1}_switchSelected(){const i=[...this.selectedIds];this._table.highlightIds.removeAll();const t=this._allIds.reduce(((t,s)=>(i.indexOf(s)<0&&t.push(s),t)),[]).sort(((i,t)=>i-t));this._skipOnChange=!0,this._table.highlightIds.addMany(t),this.selectedIds=t,this._finishOnChange()}async _exportToCSV(){const i={},t=this._table.highlightIds.toArray();i[this._layer.id]={selectionSetNames:[this._layer.title],ids:t,layer:this._layer};const s=this._table.columns.toArray().reduce(((i,t)=>(t.hidden||i.push(t.name.toLocaleLowerCase()),i)),[]);p(null,i,!1,!1,!0,s)}async _refresh(){await this._table.refresh(),this.featureSelectionChange.emit(this.selectedIds)}_zoom(){this._table.zoomToSelection()}async _layerSelectionChanged(i){var t;const s=i.detail[0];if(s!==(null===(t=this._layer)||void 0===t?void 0:t.id)||this._featuresEmpty()){this._fetchingData=!0;const i=await n(this.mapView,s);await i.when((()=>{this._layer=i}))}this._fetchingData=!1}_getColumnTemplates(i,t){var s,e;let h;null===(e=null===(s=this.mapInfo)||void 0===s?void 0:s.layerOptions)||void 0===e||e.layers.some((t=>{if(t.id===i)return h=t,!0}));const o=(null==h?void 0:h.fields)&&(null==h?void 0:h.fieldOrder)?h.fieldOrder.filter((i=>h.fields.indexOf(i)>-1)):void 0;let l;return t&&(l=h&&(null==h?void 0:h.fields)?t.reduce(((i,t)=>{if(h.fields.indexOf(t.name)>-1){const s={type:"field",fieldName:t.name,label:t.alias,menuConfig:this._getMenuConfig(t.name)};i.push(s)}return i}),[]).sort(this._sortFields.bind(this,null==h?void 0:h.fieldOrder)):t.map((i=>({type:"field",fieldName:i.name,label:i.alias,menuConfig:this._getMenuConfig(i.name)})))),o?null==l?void 0:l.sort(this._sortFields.bind(this,o)):l}_sortFields(i,t,s){return(null==i?void 0:i.indexOf(t.fieldName))-i.indexOf(s.fieldName)}_getMenuConfig(i){return{items:[{label:this._translations.hideField,iconClass:"esri-icon-non-visible",autoCloseMenu:!0,clickFunction:()=>{this._handleHideClick(i)}}]}}_handleHideClick(i){this._columnsInfo[i]=!1,this._table.hideColumn(i),this._table.tableTemplate.columnTemplates.forEach((t=>{t.fieldName===i&&(t.visible=!1)}))}async _getTranslations(){const i=await o(this.el);this._translations=i[0]}get el(){return e(this)}static get watchers(){return{enableCSV:["enableCSVWatchHandler"],enableInlineEdit:["enableInlineEditWatchHandler"],_controlsThatFit:["_controlsThatFitWatchHandler"],isMobile:["isMobileWatchHandler"],mapInfo:["mapInfoWatchHandler"],mapView:["mapViewWatchHandler"],_layer:["_layerWatchHandler"],selectedIds:["selectedIdsWatchHandler"],_sortActive:["_sortActiveWatchHandler"]}}};b.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{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}';const m=class{constructor(t){i(this,t),this.mapChanged=h(this,"mapChanged",7),this.beforeMapChanged=h(this,"beforeMapChanged",7),this._defaultWebmapHonored=!1,this._loadedId="",this.defaultWebmapId="",this.enableHome=void 0,this.enableLegend=void 0,this.enableFloorFilter=void 0,this.enableFullscreen=void 0,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.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._searchConfiguration=void 0,this._webMapInfo=void 0}enableHomeWatchHandler(){this._initHome()}async mapInfoChange(i){await this._loadMap(i.detail)}async componentWillLoad(){await this._initModules()}render(){var i,e;const h=this.hidden?"visibility-hidden":"",o="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light",l=(null===(i=this.mapInfos)||void 0===i?void 0:i.length)>1?"":"display-none",a=(null===(e=this.mapInfos)||void 0===e?void 0:e.length)>1?"map-height":"height-full";return t(s,null,t("map-picker",{class:l,mapInfos:this.mapInfos,ref:i=>this._mapPicker=i}),t("div",{class:`${a} ${h}`,ref:i=>this._mapDiv=i}),t("map-tools",{basemapConfig:this.basemapConfig,class:`box-shadow ${o}`,enableBasemap:this.enableBasemap,enableFloorFilter:this.enableFloorFilter,enableFullscreen:this.enableFullscreen,enableHome:this.enableHome,enableLegend:this.enableLegend,enableSearch:this.enableSearch,enableSingleExpand:this.enableSingleExpand,homeZoomToolsSize:this.homeZoomToolsSize,mapView:this.mapView,mapWidgetsSize:this.mapWidgetsSize,position:this.mapWidgetsPosition,ref:i=>this._mapTools=i,searchConfiguration:this._searchConfiguration,stackTools:this.stackTools,toolOrder:this.toolOrder}))}async _initModules(){const[i,t,s]=await l(["esri/WebMap","esri/views/MapView","esri/widgets/Home"]);this.WebMap=i,this.MapView=t,this.Home=s}async _loadMap(i){var t;const s=!this._defaultWebmapHonored&&this.defaultWebmapId,e=null===(t=this.mapInfos)||void 0===t?void 0:t.filter((i=>i.id===this.defaultWebmapId)),h=JSON.stringify(i)!==JSON.stringify(this._webMapInfo);this._webMapInfo=s&&e?e[0]:!(null==i?void 0:i.id)&&this.mapInfos.length>0?this.mapInfos[0]:i;const o=this._webMapInfo.id,l=s&&(null==i?void 0:i.id)===this.defaultWebmapId;if(this._loadedId!==o&&!s||l){const i=new this.WebMap({portalItem:{id:o}});this.mapView=new this.MapView({container:this._mapDiv,map:i,resizeAlign:"center"}),this._loadedId=o,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=!!l||this._defaultWebmapHonored,this.mapChanged.emit({id:o,mapView:this.mapView})}))}else s?(this._defaultWebmapHonored=!0,this._mapPicker.setMapByID(o)):h&&(this._searchConfiguration=this._webMapInfo.searchConfiguration,this.beforeMapChanged.emit(),this.mapChanged.emit({id:o,mapView:this.mapView}))}_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 i="s"===this.homeZoomToolsSize?"32px":"m"===this.homeZoomToolsSize?"40px":"48px";this._homeWidget.domNode.style.height=i,this._homeWidget.domNode.style.width=i}else this._homeWidget&&this.mapView.ui.remove(this._homeWidget)}get el(){return e(this)}static get watchers(){return{enableHome:["enableHomeWatchHandler"]}}};m.style=":host{display:block;--calcite-label-margin-bottom:0;--calcite-block-padding:0}.map-height{height:calc(100% - 51px)}.height-full{height:100%}.box-shadow{box-shadow:none !important}.visibility-hidden{visibility:hidden}.display-none{display:none}";export{u as card_manager,b as layer_table,m as map_card}