@esri/solutions-components 0.7.49 → 0.7.50
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 +63 -42
- package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -45
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +18 -73
- package/dist/collection/components/layer-table/layer-table.js +67 -63
- package/dist/components/crowdsource-manager.js +18 -51
- package/dist/components/layer-table2.js +65 -43
- package/dist/esm/card-manager_3.entry.js +63 -42
- package/dist/esm/crowdsource-manager.entry.js +18 -45
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/p-21bc3c8a.entry.js +6 -0
- package/dist/solutions-components/p-a5fd812c.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +2 -45
- package/dist/types/components/layer-table/layer-table.d.ts +16 -5
- package/dist/types/components.d.ts +0 -18
- package/package.json +1 -1
- package/dist/solutions-components/p-6d9f6b6a.entry.js +0 -6
- package/dist/solutions-components/p-766c0b57.entry.js +0 -6
@@ -149,7 +149,6 @@ const LayerTable = class {
|
|
149
149
|
this.onTableNodeCreate = (node) => {
|
150
150
|
this._tableNode = node;
|
151
151
|
};
|
152
|
-
this.defaultFilter = undefined;
|
153
152
|
this.defaultGlobalId = undefined;
|
154
153
|
this.defaultLayerId = undefined;
|
155
154
|
this.defaultOid = undefined;
|
@@ -185,6 +184,12 @@ const LayerTable = class {
|
|
185
184
|
// Watch handlers
|
186
185
|
//
|
187
186
|
//--------------------------------------------------------------------------
|
187
|
+
async defaultOidWatchHandler() {
|
188
|
+
await this._handleDefaults();
|
189
|
+
}
|
190
|
+
async defaultGlobalIdWatchHandler() {
|
191
|
+
await this._handleDefaults();
|
192
|
+
}
|
188
193
|
/**
|
189
194
|
* Reset the toolInfos when export csv is enabled/disabled
|
190
195
|
*/
|
@@ -872,22 +877,6 @@ const LayerTable = class {
|
|
872
877
|
else {
|
873
878
|
urlObj.searchParams.delete("oid");
|
874
879
|
}
|
875
|
-
if (this._filterActive) {
|
876
|
-
const filter = JSON.parse(this._filterList.urlParams.get("filter"));
|
877
|
-
const layerExpressions = this._filterList.layerExpressions.map(layerExp => {
|
878
|
-
layerExp.expressions = layerExp.expressions.map(exp => {
|
879
|
-
if (exp.id.toString() === filter.expressionId.toString()) {
|
880
|
-
exp.active = true;
|
881
|
-
}
|
882
|
-
return exp;
|
883
|
-
});
|
884
|
-
return layerExp;
|
885
|
-
});
|
886
|
-
urlObj.searchParams.set("filter", JSON.stringify(layerExpressions));
|
887
|
-
}
|
888
|
-
else {
|
889
|
-
urlObj.searchParams.delete("filter");
|
890
|
-
}
|
891
880
|
this._shareNode.shareUrl = urlObj.href;
|
892
881
|
}
|
893
882
|
/**
|
@@ -901,7 +890,7 @@ const LayerTable = class {
|
|
901
890
|
* @returns VNode The tooltip node
|
902
891
|
*/
|
903
892
|
_getToolTip(placement, referenceElement, text) {
|
904
|
-
return (index.h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, index.h("span", null, text)));
|
893
|
+
return document.getElementById(referenceElement) ? (index.h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, index.h("span", null, text))) : undefined;
|
905
894
|
}
|
906
895
|
/**
|
907
896
|
* Get an id with a prefix to the user supplied value
|
@@ -1064,7 +1053,11 @@ const LayerTable = class {
|
|
1064
1053
|
_resetColumnTemplates() {
|
1065
1054
|
var _a, _b;
|
1066
1055
|
const columnTemplates = this._getColumnTemplates((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id, (_b = this._layer) === null || _b === void 0 ? void 0 : _b.fields);
|
1067
|
-
|
1056
|
+
const hasChange = columnTemplates.some((ct, i) => {
|
1057
|
+
var _a;
|
1058
|
+
return JSON.stringify((_a = this._table) === null || _a === void 0 ? void 0 : _a.tableTemplate.columnTemplates[i]) !== JSON.stringify(ct);
|
1059
|
+
});
|
1060
|
+
if (this._table && columnTemplates && hasChange) {
|
1068
1061
|
this._table.tableTemplate = new this.TableTemplate({
|
1069
1062
|
columnTemplates
|
1070
1063
|
});
|
@@ -1087,37 +1080,64 @@ const LayerTable = class {
|
|
1087
1080
|
this._table.view = this.mapView;
|
1088
1081
|
this._table.layer = this._layer;
|
1089
1082
|
}
|
1083
|
+
await this._initLayerRefresh();
|
1090
1084
|
this._checkEditEnabled();
|
1091
1085
|
this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
|
1092
1086
|
await this.reactiveUtils.once(() => this._table.state === "loaded")
|
1093
1087
|
.then(async () => {
|
1094
|
-
var _a, _b, _c;
|
1095
1088
|
this._table.highlightIds.removeAll();
|
1096
1089
|
this._table.clearSelectionFilter();
|
1097
1090
|
this._resetColumnTemplates();
|
1098
|
-
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1) {
|
1099
|
-
this._selectDefaultFeature(this.defaultOid);
|
1100
|
-
this._defaultOidHonored = true;
|
1101
|
-
}
|
1102
|
-
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
1103
|
-
const features = await mapViewUtils.queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1104
|
-
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1105
|
-
if (oids) {
|
1106
|
-
this._selectDefaultFeature(oids);
|
1107
|
-
}
|
1108
|
-
this._defaultGlobalIdHonored = true;
|
1109
|
-
}
|
1110
|
-
if (!this._defaultFilterHonored && ((_c = this.defaultFilter) === null || _c === void 0 ? void 0 : _c.length) > 0 && this._filterList) {
|
1111
|
-
this._layerExpressions = this.defaultFilter;
|
1112
|
-
this._filterActive = true;
|
1113
|
-
this._defaultFilterHonored = true;
|
1114
|
-
}
|
1115
1091
|
this._showOnlySelected = false;
|
1092
|
+
await this._handleDefaults();
|
1116
1093
|
await this._sortTable();
|
1117
1094
|
this._initToolInfos();
|
1118
1095
|
this._updateToolbar();
|
1119
1096
|
});
|
1120
1097
|
}
|
1098
|
+
/**
|
1099
|
+
* Update the current IDs when that layers data is modified
|
1100
|
+
*/
|
1101
|
+
async _initLayerRefresh() {
|
1102
|
+
if (this._refreshHandle) {
|
1103
|
+
this._refreshHandle.remove();
|
1104
|
+
}
|
1105
|
+
this._refreshHandle = this._layer.on("refresh", (evt) => {
|
1106
|
+
if (evt.dataChanged) {
|
1107
|
+
this._skipOnChange = true;
|
1108
|
+
void this._updateAllIds();
|
1109
|
+
}
|
1110
|
+
});
|
1111
|
+
}
|
1112
|
+
/**
|
1113
|
+
* Reset _allIds when the layers data has changed and refresh the selection ids and table
|
1114
|
+
*/
|
1115
|
+
async _updateAllIds() {
|
1116
|
+
this._allIds = await mapViewUtils.queryAllIds(this._layer);
|
1117
|
+
this.selectedIds = this.selectedIds.filter(id => this._allIds.indexOf(id) > -1);
|
1118
|
+
await this._refresh();
|
1119
|
+
}
|
1120
|
+
async _handleDefaults() {
|
1121
|
+
var _a, _b;
|
1122
|
+
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1 && this._table) {
|
1123
|
+
await this._selectDefaultFeature(this.defaultOid);
|
1124
|
+
this._defaultOidHonored = true;
|
1125
|
+
this.defaultOid = undefined;
|
1126
|
+
this._showOnlySelected = false;
|
1127
|
+
this._toggleShowSelected();
|
1128
|
+
}
|
1129
|
+
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0 && this._table) {
|
1130
|
+
const features = await mapViewUtils.queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1131
|
+
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1132
|
+
if (oids) {
|
1133
|
+
await this._selectDefaultFeature(oids);
|
1134
|
+
}
|
1135
|
+
this._defaultGlobalIdHonored = true;
|
1136
|
+
this.defaultGlobalId = undefined;
|
1137
|
+
this._showOnlySelected = false;
|
1138
|
+
this._toggleShowSelected();
|
1139
|
+
}
|
1140
|
+
}
|
1121
1141
|
/**
|
1122
1142
|
* Store the column names and current hidden status to support show/hide of columns
|
1123
1143
|
* @param fieldNames optional list of names from new config options
|
@@ -1146,13 +1166,12 @@ const LayerTable = class {
|
|
1146
1166
|
/**
|
1147
1167
|
* Select the feature that was specified via url params
|
1148
1168
|
*/
|
1149
|
-
_selectDefaultFeature(oids) {
|
1169
|
+
async _selectDefaultFeature(oids) {
|
1150
1170
|
if (oids.length > 0) {
|
1151
1171
|
this._table.highlightIds.addMany(oids);
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
});
|
1172
|
+
// This is messed up and only make this worse
|
1173
|
+
//const i = this._table.viewModel.getObjectIdIndex(oids[0]);
|
1174
|
+
//this._table.viewModel.scrollToIndex(i);
|
1156
1175
|
}
|
1157
1176
|
}
|
1158
1177
|
/**
|
@@ -1528,6 +1547,8 @@ const LayerTable = class {
|
|
1528
1547
|
}
|
1529
1548
|
get el() { return index.getElement(this); }
|
1530
1549
|
static get watchers() { return {
|
1550
|
+
"defaultOid": ["defaultOidWatchHandler"],
|
1551
|
+
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
1531
1552
|
"enableCSV": ["enableCSVWatchHandler"],
|
1532
1553
|
"enableInlineEdit": ["enableInlineEditWatchHandler"],
|
1533
1554
|
"enableShare": ["enableShareWatchHandler"],
|
@@ -24,8 +24,9 @@ const CrowdsourceManager = class {
|
|
24
24
|
* MapView.when is not fired when mapView is not currently visible
|
25
25
|
*/
|
26
26
|
this._shouldSetMapView = false;
|
27
|
+
this._defaultCenterHonored = false;
|
28
|
+
this._defaultLevelHonored = false;
|
27
29
|
this.defaultCenter = "";
|
28
|
-
this.defaultFilter = "";
|
29
30
|
this.defaultGlobalId = "";
|
30
31
|
this.defaultLayer = "";
|
31
32
|
this.defaultLevel = "";
|
@@ -70,39 +71,6 @@ const CrowdsourceManager = class {
|
|
70
71
|
// Watch handlers
|
71
72
|
//
|
72
73
|
//--------------------------------------------------------------------------
|
73
|
-
/**
|
74
|
-
* Watch for center url param to be set
|
75
|
-
*/
|
76
|
-
defaultCenterWatchHandler() {
|
77
|
-
this._defaultCenter = !this.defaultCenter ? undefined :
|
78
|
-
this.defaultCenter.split(";").map(v => parseFloat(v));
|
79
|
-
}
|
80
|
-
/**
|
81
|
-
* Watch for filter url param to be set
|
82
|
-
*/
|
83
|
-
defaultFilterWatchHandler() {
|
84
|
-
this._defaultFilter = JSON.parse(this.defaultFilter);
|
85
|
-
}
|
86
|
-
/**
|
87
|
-
* Watch for globalid url param to be set
|
88
|
-
*/
|
89
|
-
defaultGlobalIdWatchHandler() {
|
90
|
-
this._defaultGlobalId = !this.defaultGlobalId ? undefined :
|
91
|
-
this.defaultGlobalId.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
92
|
-
}
|
93
|
-
/**
|
94
|
-
* Watch for oid url param to be set
|
95
|
-
*/
|
96
|
-
defaultOidWatchHandler() {
|
97
|
-
this._defaultOid = !this.defaultOid ? undefined :
|
98
|
-
this.defaultOid.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
99
|
-
}
|
100
|
-
/**
|
101
|
-
* Watch for zoom level param to be set
|
102
|
-
*/
|
103
|
-
defaultLevelWatchHandler() {
|
104
|
-
this._defaultLevel = !this.defaultLevel ? undefined : parseInt(this.defaultLevel, 10);
|
105
|
-
}
|
106
74
|
/**
|
107
75
|
* When true the map zoom tools will be available
|
108
76
|
*/
|
@@ -394,6 +362,7 @@ const CrowdsourceManager = class {
|
|
394
362
|
* @protected
|
395
363
|
*/
|
396
364
|
_getTable(layoutMode, panelOpen, hideTable) {
|
365
|
+
var _a, _b;
|
397
366
|
const tableClass = hideTable && this._isMobile ? "visibility-hidden" : "";
|
398
367
|
const tableSizeClass = this._getTableSizeClass(layoutMode, panelOpen);
|
399
368
|
const icon = this._getDividerIcon(layoutMode, panelOpen);
|
@@ -402,7 +371,11 @@ const CrowdsourceManager = class {
|
|
402
371
|
const toggleLayout = layoutMode === interfaces.ELayoutMode.HORIZONTAL ? "horizontal" : "vertical";
|
403
372
|
const toggleSlot = layoutMode === interfaces.ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
404
373
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
405
|
-
|
374
|
+
const globalId = !this.defaultGlobalId ? undefined :
|
375
|
+
((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
376
|
+
const defaultOid = !this.defaultOid ? undefined :
|
377
|
+
((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
378
|
+
return (index.h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (index.h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, index.h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), index.h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, index.h("span", null, tooltip)))) : undefined, index.h("div", { class: `width-full height-full position-relative` }, index.h("layer-table", { defaultGlobalId: hasMapAndLayer ? globalId : undefined, defaultLayerId: hasMapAndLayer ? this.defaultLayer : "", defaultOid: hasMapAndLayer && !globalId ? defaultOid : undefined, enableAutoRefresh: this.enableAutoRefresh, enableCSV: this.enableCSV, enableColumnReorder: this.enableColumnReorder, enableInlineEdit: this.enableInlineEdit, enableShare: this.enableShare, isMobile: this._isMobile, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, ref: (el) => this._layerTable = el, shareIncludeEmbed: this.shareIncludeEmbed, shareIncludeSocial: this.shareIncludeSocial, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
406
379
|
}
|
407
380
|
/**
|
408
381
|
* Update the component layout when its size changes
|
@@ -455,17 +428,22 @@ const CrowdsourceManager = class {
|
|
455
428
|
* @protected
|
456
429
|
*/
|
457
430
|
async _setMapView() {
|
431
|
+
var _a;
|
458
432
|
this._mapInfo = this._getMapInfo(this._mapChange.id);
|
459
433
|
this._mapView = this._mapChange.mapView;
|
460
434
|
this._initMapZoom();
|
461
435
|
this._mapView.popupEnabled = false;
|
462
|
-
|
436
|
+
const center = !this.defaultCenter || this._defaultCenterHonored ?
|
437
|
+
undefined : (_a = this.defaultCenter) === null || _a === void 0 ? void 0 : _a.split(";").map(v => parseFloat(v));
|
438
|
+
const zoom = !this.defaultLevel || this._defaultLevelHonored ?
|
439
|
+
undefined : parseInt(this.defaultLevel, 10);
|
440
|
+
if (center && zoom) {
|
463
441
|
await this._mapView.goTo({
|
464
|
-
center
|
465
|
-
zoom
|
442
|
+
center,
|
443
|
+
zoom
|
466
444
|
});
|
467
|
-
this.
|
468
|
-
this.
|
445
|
+
this._defaultCenterHonored = true;
|
446
|
+
this._defaultLevelHonored = true;
|
469
447
|
}
|
470
448
|
}
|
471
449
|
/**
|
@@ -497,11 +475,6 @@ const CrowdsourceManager = class {
|
|
497
475
|
}
|
498
476
|
get el() { return index.getElement(this); }
|
499
477
|
static get watchers() { return {
|
500
|
-
"defaultCenter": ["defaultCenterWatchHandler"],
|
501
|
-
"defaultFilter": ["defaultFilterWatchHandler"],
|
502
|
-
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
503
|
-
"defaultOid": ["defaultOidWatchHandler"],
|
504
|
-
"defaultLevel": ["defaultLevelWatchHandler"],
|
505
478
|
"enableZoom": ["enableZoomWatchHandler"]
|
506
479
|
}; }
|
507
480
|
};
|