@esri/solutions-components 0.7.46 → 0.7.48
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +13 -5
- package/dist/cjs/card-manager_3.cjs.entry.js +34 -3
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/floor-filter/floor-filter.js +41 -5
- package/dist/collection/components/layer-table/layer-table.js +46 -3
- package/dist/collection/demos/crowdsource-manager.html +6 -0
- package/dist/components/floor-filter2.js +13 -5
- package/dist/components/layer-table2.js +35 -4
- package/dist/esm/basemap-gallery_7.entry.js +13 -5
- package/dist/esm/card-manager_3.entry.js +34 -3
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/demos/crowdsource-manager.html +6 -0
- package/dist/solutions-components/p-6a83b842.entry.js +6 -0
- package/dist/solutions-components/p-fec03ab3.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/floor-filter/floor-filter.d.ts +16 -0
- package/dist/types/components/layer-table/layer-table.d.ts +21 -1
- package/dist/types/components.d.ts +10 -0
- package/dist/types/preact.d.ts +3 -1
- package/package.json +1 -1
- package/dist/solutions-components/p-26764dd7.entry.js +0 -6
- package/dist/solutions-components/p-fc4df904.entry.js +0 -6
@@ -74,22 +74,28 @@ export class FloorFilter {
|
|
74
74
|
* Initialize the floor filter or reset the current view if it already exists
|
75
75
|
*/
|
76
76
|
_initFloorFilter(view) {
|
77
|
-
var _a;
|
77
|
+
var _a, _b, _c, _d;
|
78
78
|
if (view && this.enabled && this.FloorFilter && ((_a = view === null || view === void 0 ? void 0 : view.map) === null || _a === void 0 ? void 0 : _a.floorInfo)) {
|
79
79
|
if (!this.floorFilterWidget) {
|
80
80
|
this.floorFilterWidget = new this.FloorFilter({
|
81
81
|
container: this._floorFilterElement,
|
82
82
|
view
|
83
83
|
});
|
84
|
-
|
85
|
-
|
86
|
-
|
84
|
+
(_b = this._facilityHandle) === null || _b === void 0 ? void 0 : _b.remove();
|
85
|
+
this._facilityHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.facility, (facility) => {
|
86
|
+
this.facilityChanged.emit(facility);
|
87
|
+
});
|
88
|
+
(_c = this._levelHandle) === null || _c === void 0 ? void 0 : _c.remove();
|
87
89
|
this._levelHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.level, (level) => {
|
88
90
|
this.levelChanged.emit(level);
|
89
91
|
});
|
92
|
+
(_d = this._siteHandle) === null || _d === void 0 ? void 0 : _d.remove();
|
93
|
+
this._siteHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.site, (site) => {
|
94
|
+
this.siteChanged.emit(site);
|
95
|
+
});
|
90
96
|
}
|
91
97
|
else {
|
92
|
-
this.floorFilterWidget.view = view;
|
98
|
+
this.floorFilterWidget.viewModel.view = view;
|
93
99
|
}
|
94
100
|
}
|
95
101
|
}
|
@@ -168,6 +174,21 @@ export class FloorFilter {
|
|
168
174
|
}
|
169
175
|
static get events() {
|
170
176
|
return [{
|
177
|
+
"method": "facilityChanged",
|
178
|
+
"name": "facilityChanged",
|
179
|
+
"bubbles": true,
|
180
|
+
"cancelable": true,
|
181
|
+
"composed": true,
|
182
|
+
"docs": {
|
183
|
+
"tags": [],
|
184
|
+
"text": "Emitted on demand when the Facility is changed"
|
185
|
+
},
|
186
|
+
"complexType": {
|
187
|
+
"original": "string",
|
188
|
+
"resolved": "string",
|
189
|
+
"references": {}
|
190
|
+
}
|
191
|
+
}, {
|
171
192
|
"method": "levelChanged",
|
172
193
|
"name": "levelChanged",
|
173
194
|
"bubbles": true,
|
@@ -182,6 +203,21 @@ export class FloorFilter {
|
|
182
203
|
"resolved": "string",
|
183
204
|
"references": {}
|
184
205
|
}
|
206
|
+
}, {
|
207
|
+
"method": "siteChanged",
|
208
|
+
"name": "siteChanged",
|
209
|
+
"bubbles": true,
|
210
|
+
"cancelable": true,
|
211
|
+
"composed": true,
|
212
|
+
"docs": {
|
213
|
+
"tags": [],
|
214
|
+
"text": "Emitted on demand when the Site is changed"
|
215
|
+
},
|
216
|
+
"complexType": {
|
217
|
+
"original": "string",
|
218
|
+
"resolved": "string",
|
219
|
+
"references": {}
|
220
|
+
}
|
185
221
|
}];
|
186
222
|
}
|
187
223
|
static get elementRef() { return "el"; }
|
@@ -167,6 +167,7 @@ export class LayerTable {
|
|
167
167
|
this._mapClickHandle.remove();
|
168
168
|
}
|
169
169
|
if (this.mapView) {
|
170
|
+
this._floorExpression = undefined;
|
170
171
|
this._updateShareUrl();
|
171
172
|
this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
|
172
173
|
void this._mapClicked(event);
|
@@ -235,6 +236,13 @@ export class LayerTable {
|
|
235
236
|
}
|
236
237
|
await this._refresh();
|
237
238
|
}
|
239
|
+
/**
|
240
|
+
* Refresh the table when floor filter facility is changed
|
241
|
+
*/
|
242
|
+
async facilityChanged(evt) {
|
243
|
+
this._floorFacility = evt.detail;
|
244
|
+
this._updateFloorDefinitionExpression();
|
245
|
+
}
|
238
246
|
/**
|
239
247
|
* Refresh the table when floor filter level is changed
|
240
248
|
*/
|
@@ -242,6 +250,13 @@ export class LayerTable {
|
|
242
250
|
this._floorLevel = evt.detail;
|
243
251
|
this._updateFloorDefinitionExpression();
|
244
252
|
}
|
253
|
+
/**
|
254
|
+
* Refresh the table when floor filter site is changed
|
255
|
+
*/
|
256
|
+
async siteChanged(evt) {
|
257
|
+
this._floorSite = evt.detail;
|
258
|
+
this._updateFloorDefinitionExpression();
|
259
|
+
}
|
245
260
|
/**
|
246
261
|
* Refresh the table when
|
247
262
|
*/
|
@@ -538,7 +553,12 @@ export class LayerTable {
|
|
538
553
|
*/
|
539
554
|
_updateFloorDefinitionExpression() {
|
540
555
|
if (this._floorField && this._floorLevel) {
|
541
|
-
|
556
|
+
const floorExp = `${this._floorField} = '${this._floorLevel}'`;
|
557
|
+
const defExp = this._layer.definitionExpression;
|
558
|
+
this._layer.definitionExpression = (defExp === null || defExp === void 0 ? void 0 : defExp.indexOf(this._floorExpression)) > -1 ?
|
559
|
+
defExp.replace(this._floorExpression, floorExp) :
|
560
|
+
defExp ? `${defExp} AND (${floorExp})` : floorExp;
|
561
|
+
this._floorExpression = floorExp;
|
542
562
|
}
|
543
563
|
}
|
544
564
|
/**
|
@@ -1141,7 +1161,15 @@ export class LayerTable {
|
|
1141
1161
|
* Check if the layers definitionExpression has been modified
|
1142
1162
|
*/
|
1143
1163
|
_handleFilterUpdate() {
|
1144
|
-
|
1164
|
+
const defExp = this._layer.definitionExpression;
|
1165
|
+
if (this._floorExpression) {
|
1166
|
+
const regEx = new RegExp(`${this._floorField} = ['].+[']`, "gm");
|
1167
|
+
this._layer.definitionExpression = defExp && this._floorField && defExp.indexOf(`${this._floorField} = '`) > -1 ?
|
1168
|
+
defExp.replace(regEx, this._floorExpression) : defExp ?
|
1169
|
+
`${defExp} AND (${this._floorExpression})` : this._floorExpression;
|
1170
|
+
}
|
1171
|
+
this._filterActive = this._definitionExpression !== this._layer.definitionExpression &&
|
1172
|
+
(this._floorExpression ? this._layer.definitionExpression !== this._floorExpression : true);
|
1145
1173
|
this._updateShareUrl();
|
1146
1174
|
}
|
1147
1175
|
/**
|
@@ -1229,7 +1257,10 @@ export class LayerTable {
|
|
1229
1257
|
const layerExpressions = (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.layerExpressions;
|
1230
1258
|
this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => { var _a; return exp.id === ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id); }) : [];
|
1231
1259
|
this._filterList.layerExpressions = this._layerExpressions;
|
1232
|
-
this._filterActive =
|
1260
|
+
this._filterActive = this._layerExpressions.filter(lyrExp => {
|
1261
|
+
console.log(lyrExp);
|
1262
|
+
return lyrExp.expressions.filter(exp => exp.active).length > 0;
|
1263
|
+
}).length > 0;
|
1233
1264
|
}
|
1234
1265
|
/**
|
1235
1266
|
* Select all rows that are not currently selectd
|
@@ -1817,12 +1848,24 @@ export class LayerTable {
|
|
1817
1848
|
"target": "window",
|
1818
1849
|
"capture": false,
|
1819
1850
|
"passive": false
|
1851
|
+
}, {
|
1852
|
+
"name": "facilityChanged",
|
1853
|
+
"method": "facilityChanged",
|
1854
|
+
"target": "window",
|
1855
|
+
"capture": false,
|
1856
|
+
"passive": false
|
1820
1857
|
}, {
|
1821
1858
|
"name": "levelChanged",
|
1822
1859
|
"method": "levelChanged",
|
1823
1860
|
"target": "window",
|
1824
1861
|
"capture": false,
|
1825
1862
|
"passive": false
|
1863
|
+
}, {
|
1864
|
+
"name": "siteChanged",
|
1865
|
+
"method": "siteChanged",
|
1866
|
+
"target": "window",
|
1867
|
+
"capture": false,
|
1868
|
+
"passive": false
|
1826
1869
|
}, {
|
1827
1870
|
"name": "noLayersFound",
|
1828
1871
|
"method": "noLayersFound",
|
@@ -38,6 +38,12 @@
|
|
38
38
|
<script type="module" src="../solutions-components.esm.js"></script>
|
39
39
|
|
40
40
|
<script>
|
41
|
+
// require(["esri/config"], (
|
42
|
+
// esriConfig
|
43
|
+
// ) => {
|
44
|
+
// esriConfig.portalUrl = "https://holistic.mapsdevext.arcgis.com";
|
45
|
+
// });
|
46
|
+
|
41
47
|
function addValues() {
|
42
48
|
const demo = document.getElementById("demo");
|
43
49
|
|
@@ -13,7 +13,9 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
|
|
13
13
|
super();
|
14
14
|
this.__registerHost();
|
15
15
|
this.__attachShadow();
|
16
|
+
this.facilityChanged = createEvent(this, "facilityChanged", 7);
|
16
17
|
this.levelChanged = createEvent(this, "levelChanged", 7);
|
18
|
+
this.siteChanged = createEvent(this, "siteChanged", 7);
|
17
19
|
this.enabled = undefined;
|
18
20
|
this.floorFilterWidget = undefined;
|
19
21
|
this.mapView = undefined;
|
@@ -66,22 +68,28 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
|
|
66
68
|
* Initialize the floor filter or reset the current view if it already exists
|
67
69
|
*/
|
68
70
|
_initFloorFilter(view) {
|
69
|
-
var _a;
|
71
|
+
var _a, _b, _c, _d;
|
70
72
|
if (view && this.enabled && this.FloorFilter && ((_a = view === null || view === void 0 ? void 0 : view.map) === null || _a === void 0 ? void 0 : _a.floorInfo)) {
|
71
73
|
if (!this.floorFilterWidget) {
|
72
74
|
this.floorFilterWidget = new this.FloorFilter({
|
73
75
|
container: this._floorFilterElement,
|
74
76
|
view
|
75
77
|
});
|
76
|
-
|
77
|
-
|
78
|
-
|
78
|
+
(_b = this._facilityHandle) === null || _b === void 0 ? void 0 : _b.remove();
|
79
|
+
this._facilityHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.facility, (facility) => {
|
80
|
+
this.facilityChanged.emit(facility);
|
81
|
+
});
|
82
|
+
(_c = this._levelHandle) === null || _c === void 0 ? void 0 : _c.remove();
|
79
83
|
this._levelHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.level, (level) => {
|
80
84
|
this.levelChanged.emit(level);
|
81
85
|
});
|
86
|
+
(_d = this._siteHandle) === null || _d === void 0 ? void 0 : _d.remove();
|
87
|
+
this._siteHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.site, (site) => {
|
88
|
+
this.siteChanged.emit(site);
|
89
|
+
});
|
82
90
|
}
|
83
91
|
else {
|
84
|
-
this.floorFilterWidget.view = view;
|
92
|
+
this.floorFilterWidget.viewModel.view = view;
|
85
93
|
}
|
86
94
|
}
|
87
95
|
}
|
@@ -196,6 +196,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
196
196
|
this._mapClickHandle.remove();
|
197
197
|
}
|
198
198
|
if (this.mapView) {
|
199
|
+
this._floorExpression = undefined;
|
199
200
|
this._updateShareUrl();
|
200
201
|
this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
|
201
202
|
void this._mapClicked(event);
|
@@ -264,6 +265,13 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
264
265
|
}
|
265
266
|
await this._refresh();
|
266
267
|
}
|
268
|
+
/**
|
269
|
+
* Refresh the table when floor filter facility is changed
|
270
|
+
*/
|
271
|
+
async facilityChanged(evt) {
|
272
|
+
this._floorFacility = evt.detail;
|
273
|
+
this._updateFloorDefinitionExpression();
|
274
|
+
}
|
267
275
|
/**
|
268
276
|
* Refresh the table when floor filter level is changed
|
269
277
|
*/
|
@@ -271,6 +279,13 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
271
279
|
this._floorLevel = evt.detail;
|
272
280
|
this._updateFloorDefinitionExpression();
|
273
281
|
}
|
282
|
+
/**
|
283
|
+
* Refresh the table when floor filter site is changed
|
284
|
+
*/
|
285
|
+
async siteChanged(evt) {
|
286
|
+
this._floorSite = evt.detail;
|
287
|
+
this._updateFloorDefinitionExpression();
|
288
|
+
}
|
274
289
|
/**
|
275
290
|
* Refresh the table when
|
276
291
|
*/
|
@@ -567,7 +582,12 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
567
582
|
*/
|
568
583
|
_updateFloorDefinitionExpression() {
|
569
584
|
if (this._floorField && this._floorLevel) {
|
570
|
-
|
585
|
+
const floorExp = `${this._floorField} = '${this._floorLevel}'`;
|
586
|
+
const defExp = this._layer.definitionExpression;
|
587
|
+
this._layer.definitionExpression = (defExp === null || defExp === void 0 ? void 0 : defExp.indexOf(this._floorExpression)) > -1 ?
|
588
|
+
defExp.replace(this._floorExpression, floorExp) :
|
589
|
+
defExp ? `${defExp} AND (${floorExp})` : floorExp;
|
590
|
+
this._floorExpression = floorExp;
|
571
591
|
}
|
572
592
|
}
|
573
593
|
/**
|
@@ -1170,7 +1190,15 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1170
1190
|
* Check if the layers definitionExpression has been modified
|
1171
1191
|
*/
|
1172
1192
|
_handleFilterUpdate() {
|
1173
|
-
|
1193
|
+
const defExp = this._layer.definitionExpression;
|
1194
|
+
if (this._floorExpression) {
|
1195
|
+
const regEx = new RegExp(`${this._floorField} = ['].+[']`, "gm");
|
1196
|
+
this._layer.definitionExpression = defExp && this._floorField && defExp.indexOf(`${this._floorField} = '`) > -1 ?
|
1197
|
+
defExp.replace(regEx, this._floorExpression) : defExp ?
|
1198
|
+
`${defExp} AND (${this._floorExpression})` : this._floorExpression;
|
1199
|
+
}
|
1200
|
+
this._filterActive = this._definitionExpression !== this._layer.definitionExpression &&
|
1201
|
+
(this._floorExpression ? this._layer.definitionExpression !== this._floorExpression : true);
|
1174
1202
|
this._updateShareUrl();
|
1175
1203
|
}
|
1176
1204
|
/**
|
@@ -1258,7 +1286,10 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1258
1286
|
const layerExpressions = (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.layerExpressions;
|
1259
1287
|
this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => { var _a; return exp.id === ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id); }) : [];
|
1260
1288
|
this._filterList.layerExpressions = this._layerExpressions;
|
1261
|
-
this._filterActive =
|
1289
|
+
this._filterActive = this._layerExpressions.filter(lyrExp => {
|
1290
|
+
console.log(lyrExp);
|
1291
|
+
return lyrExp.expressions.filter(exp => exp.active).length > 0;
|
1292
|
+
}).length > 0;
|
1262
1293
|
}
|
1263
1294
|
/**
|
1264
1295
|
* Select all rows that are not currently selectd
|
@@ -1484,7 +1515,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1484
1515
|
"_showOnlySelected": [32],
|
1485
1516
|
"_toolInfos": [32],
|
1486
1517
|
"_translations": [32]
|
1487
|
-
}, [[8, "selectionChanged", "selectionChanged"], [8, "editsComplete", "editsComplete"], [8, "levelChanged", "levelChanged"], [8, "noLayersFound", "noLayersFound"]], {
|
1518
|
+
}, [[8, "selectionChanged", "selectionChanged"], [8, "editsComplete", "editsComplete"], [8, "facilityChanged", "facilityChanged"], [8, "levelChanged", "levelChanged"], [8, "siteChanged", "siteChanged"], [8, "noLayersFound", "noLayersFound"]], {
|
1488
1519
|
"enableCSV": ["enableCSVWatchHandler"],
|
1489
1520
|
"enableInlineEdit": ["enableInlineEditWatchHandler"],
|
1490
1521
|
"enableShare": ["enableShareWatchHandler"],
|
@@ -119,7 +119,9 @@ const floorFilterCss = ":host{display:block}";
|
|
119
119
|
const FloorFilter = class {
|
120
120
|
constructor(hostRef) {
|
121
121
|
registerInstance(this, hostRef);
|
122
|
+
this.facilityChanged = createEvent(this, "facilityChanged", 7);
|
122
123
|
this.levelChanged = createEvent(this, "levelChanged", 7);
|
124
|
+
this.siteChanged = createEvent(this, "siteChanged", 7);
|
123
125
|
this.enabled = undefined;
|
124
126
|
this.floorFilterWidget = undefined;
|
125
127
|
this.mapView = undefined;
|
@@ -172,22 +174,28 @@ const FloorFilter = class {
|
|
172
174
|
* Initialize the floor filter or reset the current view if it already exists
|
173
175
|
*/
|
174
176
|
_initFloorFilter(view) {
|
175
|
-
var _a;
|
177
|
+
var _a, _b, _c, _d;
|
176
178
|
if (view && this.enabled && this.FloorFilter && ((_a = view === null || view === void 0 ? void 0 : view.map) === null || _a === void 0 ? void 0 : _a.floorInfo)) {
|
177
179
|
if (!this.floorFilterWidget) {
|
178
180
|
this.floorFilterWidget = new this.FloorFilter({
|
179
181
|
container: this._floorFilterElement,
|
180
182
|
view
|
181
183
|
});
|
182
|
-
|
183
|
-
|
184
|
-
|
184
|
+
(_b = this._facilityHandle) === null || _b === void 0 ? void 0 : _b.remove();
|
185
|
+
this._facilityHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.facility, (facility) => {
|
186
|
+
this.facilityChanged.emit(facility);
|
187
|
+
});
|
188
|
+
(_c = this._levelHandle) === null || _c === void 0 ? void 0 : _c.remove();
|
185
189
|
this._levelHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.level, (level) => {
|
186
190
|
this.levelChanged.emit(level);
|
187
191
|
});
|
192
|
+
(_d = this._siteHandle) === null || _d === void 0 ? void 0 : _d.remove();
|
193
|
+
this._siteHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.site, (site) => {
|
194
|
+
this.siteChanged.emit(site);
|
195
|
+
});
|
188
196
|
}
|
189
197
|
else {
|
190
|
-
this.floorFilterWidget.view = view;
|
198
|
+
this.floorFilterWidget.viewModel.view = view;
|
191
199
|
}
|
192
200
|
}
|
193
201
|
}
|
@@ -248,6 +248,7 @@ const LayerTable = class {
|
|
248
248
|
this._mapClickHandle.remove();
|
249
249
|
}
|
250
250
|
if (this.mapView) {
|
251
|
+
this._floorExpression = undefined;
|
251
252
|
this._updateShareUrl();
|
252
253
|
this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
|
253
254
|
void this._mapClicked(event);
|
@@ -316,6 +317,13 @@ const LayerTable = class {
|
|
316
317
|
}
|
317
318
|
await this._refresh();
|
318
319
|
}
|
320
|
+
/**
|
321
|
+
* Refresh the table when floor filter facility is changed
|
322
|
+
*/
|
323
|
+
async facilityChanged(evt) {
|
324
|
+
this._floorFacility = evt.detail;
|
325
|
+
this._updateFloorDefinitionExpression();
|
326
|
+
}
|
319
327
|
/**
|
320
328
|
* Refresh the table when floor filter level is changed
|
321
329
|
*/
|
@@ -323,6 +331,13 @@ const LayerTable = class {
|
|
323
331
|
this._floorLevel = evt.detail;
|
324
332
|
this._updateFloorDefinitionExpression();
|
325
333
|
}
|
334
|
+
/**
|
335
|
+
* Refresh the table when floor filter site is changed
|
336
|
+
*/
|
337
|
+
async siteChanged(evt) {
|
338
|
+
this._floorSite = evt.detail;
|
339
|
+
this._updateFloorDefinitionExpression();
|
340
|
+
}
|
326
341
|
/**
|
327
342
|
* Refresh the table when
|
328
343
|
*/
|
@@ -619,7 +634,12 @@ const LayerTable = class {
|
|
619
634
|
*/
|
620
635
|
_updateFloorDefinitionExpression() {
|
621
636
|
if (this._floorField && this._floorLevel) {
|
622
|
-
|
637
|
+
const floorExp = `${this._floorField} = '${this._floorLevel}'`;
|
638
|
+
const defExp = this._layer.definitionExpression;
|
639
|
+
this._layer.definitionExpression = (defExp === null || defExp === void 0 ? void 0 : defExp.indexOf(this._floorExpression)) > -1 ?
|
640
|
+
defExp.replace(this._floorExpression, floorExp) :
|
641
|
+
defExp ? `${defExp} AND (${floorExp})` : floorExp;
|
642
|
+
this._floorExpression = floorExp;
|
623
643
|
}
|
624
644
|
}
|
625
645
|
/**
|
@@ -1222,7 +1242,15 @@ const LayerTable = class {
|
|
1222
1242
|
* Check if the layers definitionExpression has been modified
|
1223
1243
|
*/
|
1224
1244
|
_handleFilterUpdate() {
|
1225
|
-
|
1245
|
+
const defExp = this._layer.definitionExpression;
|
1246
|
+
if (this._floorExpression) {
|
1247
|
+
const regEx = new RegExp(`${this._floorField} = ['].+[']`, "gm");
|
1248
|
+
this._layer.definitionExpression = defExp && this._floorField && defExp.indexOf(`${this._floorField} = '`) > -1 ?
|
1249
|
+
defExp.replace(regEx, this._floorExpression) : defExp ?
|
1250
|
+
`${defExp} AND (${this._floorExpression})` : this._floorExpression;
|
1251
|
+
}
|
1252
|
+
this._filterActive = this._definitionExpression !== this._layer.definitionExpression &&
|
1253
|
+
(this._floorExpression ? this._layer.definitionExpression !== this._floorExpression : true);
|
1226
1254
|
this._updateShareUrl();
|
1227
1255
|
}
|
1228
1256
|
/**
|
@@ -1310,7 +1338,10 @@ const LayerTable = class {
|
|
1310
1338
|
const layerExpressions = (_b = (_a = this.mapInfo) === null || _a === void 0 ? void 0 : _a.filterConfig) === null || _b === void 0 ? void 0 : _b.layerExpressions;
|
1311
1339
|
this._layerExpressions = layerExpressions ? layerExpressions.filter((exp) => { var _a; return exp.id === ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id); }) : [];
|
1312
1340
|
this._filterList.layerExpressions = this._layerExpressions;
|
1313
|
-
this._filterActive =
|
1341
|
+
this._filterActive = this._layerExpressions.filter(lyrExp => {
|
1342
|
+
console.log(lyrExp);
|
1343
|
+
return lyrExp.expressions.filter(exp => exp.active).length > 0;
|
1344
|
+
}).length > 0;
|
1314
1345
|
}
|
1315
1346
|
/**
|
1316
1347
|
* Select all rows that are not currently selectd
|