@esri/solutions-components 0.7.49 → 0.7.51
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 +30 -26
- package/dist/cjs/card-manager_3.cjs.entry.js +72 -42
- package/dist/cjs/crowdsource-manager.cjs.entry.js +31 -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 +31 -73
- package/dist/collection/components/floor-filter/floor-filter.js +30 -26
- package/dist/collection/components/layer-table/layer-table.js +76 -63
- package/dist/components/crowdsource-manager.js +31 -51
- package/dist/components/floor-filter2.js +30 -26
- package/dist/components/layer-table2.js +74 -43
- package/dist/esm/basemap-gallery_7.entry.js +30 -26
- package/dist/esm/card-manager_3.entry.js +72 -42
- package/dist/esm/crowdsource-manager.entry.js +31 -45
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/p-697e9e11.entry.js +6 -0
- package/dist/solutions-components/p-7cfc4ba5.entry.js +6 -0
- package/dist/solutions-components/p-b4d2feb0.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +6 -41
- package/dist/types/components/floor-filter/floor-filter.d.ts +1 -1
- package/dist/types/components/layer-table/layer-table.d.ts +25 -5
- package/dist/types/components.d.ts +0 -18
- package/package.json +1 -1
- package/dist/solutions-components/p-6a83b842.entry.js +0 -6
- package/dist/solutions-components/p-6d9f6b6a.entry.js +0 -6
- package/dist/solutions-components/p-766c0b57.entry.js +0 -6
@@ -26,8 +26,17 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
|
|
26
26
|
//
|
27
27
|
//--------------------------------------------------------------------------
|
28
28
|
async mapViewWatchHandler() {
|
29
|
-
|
30
|
-
|
29
|
+
const webMap = this.mapView.map;
|
30
|
+
await webMap.when(() => {
|
31
|
+
if (this.floorFilterWidget) {
|
32
|
+
this.floorFilterWidget.destroy();
|
33
|
+
this.floorFilterWidget = undefined;
|
34
|
+
}
|
35
|
+
if (this._floorFilterElement) {
|
36
|
+
this._floorFilterElement.remove();
|
37
|
+
this._floorFilterElement = document.createElement("div");
|
38
|
+
}
|
39
|
+
this._initFloorFilter(this.mapView, webMap);
|
31
40
|
});
|
32
41
|
}
|
33
42
|
//--------------------------------------------------------------------------
|
@@ -67,30 +76,25 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
|
|
67
76
|
/**
|
68
77
|
* Initialize the floor filter or reset the current view if it already exists
|
69
78
|
*/
|
70
|
-
_initFloorFilter(view) {
|
71
|
-
var _a, _b, _c
|
72
|
-
if (view && this.enabled && this.FloorFilter && (
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
this.
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
this.
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
this.
|
88
|
-
|
89
|
-
});
|
90
|
-
}
|
91
|
-
else {
|
92
|
-
this.floorFilterWidget.viewModel.view = view;
|
93
|
-
}
|
79
|
+
_initFloorFilter(view, webMap) {
|
80
|
+
var _a, _b, _c;
|
81
|
+
if (view && this.enabled && this.FloorFilter && (webMap === null || webMap === void 0 ? void 0 : webMap.floorInfo)) {
|
82
|
+
this.floorFilterWidget = new this.FloorFilter({
|
83
|
+
container: this._floorFilterElement,
|
84
|
+
view
|
85
|
+
});
|
86
|
+
(_a = this._facilityHandle) === null || _a === void 0 ? void 0 : _a.remove();
|
87
|
+
this._facilityHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.facility, (facility) => {
|
88
|
+
this.facilityChanged.emit(facility);
|
89
|
+
});
|
90
|
+
(_b = this._levelHandle) === null || _b === void 0 ? void 0 : _b.remove();
|
91
|
+
this._levelHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.level, (level) => {
|
92
|
+
this.levelChanged.emit(level);
|
93
|
+
});
|
94
|
+
(_c = this._siteHandle) === null || _c === void 0 ? void 0 : _c.remove();
|
95
|
+
this._siteHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.site, (site) => {
|
96
|
+
this.siteChanged.emit(site);
|
97
|
+
});
|
94
98
|
}
|
95
99
|
}
|
96
100
|
get el() { return this; }
|
@@ -93,7 +93,6 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
93
93
|
this.onTableNodeCreate = (node) => {
|
94
94
|
this._tableNode = node;
|
95
95
|
};
|
96
|
-
this.defaultFilter = undefined;
|
97
96
|
this.defaultGlobalId = undefined;
|
98
97
|
this.defaultLayerId = undefined;
|
99
98
|
this.defaultOid = undefined;
|
@@ -129,6 +128,18 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
129
128
|
// Watch handlers
|
130
129
|
//
|
131
130
|
//--------------------------------------------------------------------------
|
131
|
+
/**
|
132
|
+
* Handle url defaults when defaultOid is set
|
133
|
+
*/
|
134
|
+
async defaultOidWatchHandler() {
|
135
|
+
await this._handleDefaults();
|
136
|
+
}
|
137
|
+
/**
|
138
|
+
* Handle url defaults when defaultGlobalId is set
|
139
|
+
*/
|
140
|
+
async defaultGlobalIdWatchHandler() {
|
141
|
+
await this._handleDefaults();
|
142
|
+
}
|
132
143
|
/**
|
133
144
|
* Reset the toolInfos when export csv is enabled/disabled
|
134
145
|
*/
|
@@ -816,22 +827,6 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
816
827
|
else {
|
817
828
|
urlObj.searchParams.delete("oid");
|
818
829
|
}
|
819
|
-
if (this._filterActive) {
|
820
|
-
const filter = JSON.parse(this._filterList.urlParams.get("filter"));
|
821
|
-
const layerExpressions = this._filterList.layerExpressions.map(layerExp => {
|
822
|
-
layerExp.expressions = layerExp.expressions.map(exp => {
|
823
|
-
if (exp.id.toString() === filter.expressionId.toString()) {
|
824
|
-
exp.active = true;
|
825
|
-
}
|
826
|
-
return exp;
|
827
|
-
});
|
828
|
-
return layerExp;
|
829
|
-
});
|
830
|
-
urlObj.searchParams.set("filter", JSON.stringify(layerExpressions));
|
831
|
-
}
|
832
|
-
else {
|
833
|
-
urlObj.searchParams.delete("filter");
|
834
|
-
}
|
835
830
|
this._shareNode.shareUrl = urlObj.href;
|
836
831
|
}
|
837
832
|
/**
|
@@ -845,7 +840,7 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
845
840
|
* @returns VNode The tooltip node
|
846
841
|
*/
|
847
842
|
_getToolTip(placement, referenceElement, text) {
|
848
|
-
return (h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, h("span", null, text)));
|
843
|
+
return document.getElementById(referenceElement) ? (h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, h("span", null, text))) : undefined;
|
849
844
|
}
|
850
845
|
/**
|
851
846
|
* Get an id with a prefix to the user supplied value
|
@@ -1008,7 +1003,11 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1008
1003
|
_resetColumnTemplates() {
|
1009
1004
|
var _a, _b;
|
1010
1005
|
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);
|
1011
|
-
|
1006
|
+
const hasChange = columnTemplates === null || columnTemplates === void 0 ? void 0 : columnTemplates.some((ct, i) => {
|
1007
|
+
var _a;
|
1008
|
+
return JSON.stringify((_a = this._table) === null || _a === void 0 ? void 0 : _a.tableTemplate.columnTemplates[i]) !== JSON.stringify(ct);
|
1009
|
+
});
|
1010
|
+
if (this._table && columnTemplates && hasChange) {
|
1012
1011
|
this._table.tableTemplate = new this.TableTemplate({
|
1013
1012
|
columnTemplates
|
1014
1013
|
});
|
@@ -1031,37 +1030,67 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1031
1030
|
this._table.view = this.mapView;
|
1032
1031
|
this._table.layer = this._layer;
|
1033
1032
|
}
|
1033
|
+
await this._initLayerRefresh();
|
1034
1034
|
this._checkEditEnabled();
|
1035
1035
|
this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
|
1036
1036
|
await this.reactiveUtils.once(() => this._table.state === "loaded")
|
1037
1037
|
.then(async () => {
|
1038
|
-
var _a, _b, _c;
|
1039
1038
|
this._table.highlightIds.removeAll();
|
1040
1039
|
this._table.clearSelectionFilter();
|
1041
1040
|
this._resetColumnTemplates();
|
1042
|
-
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1) {
|
1043
|
-
this._selectDefaultFeature(this.defaultOid);
|
1044
|
-
this._defaultOidHonored = true;
|
1045
|
-
}
|
1046
|
-
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
1047
|
-
const features = await queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1048
|
-
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1049
|
-
if (oids) {
|
1050
|
-
this._selectDefaultFeature(oids);
|
1051
|
-
}
|
1052
|
-
this._defaultGlobalIdHonored = true;
|
1053
|
-
}
|
1054
|
-
if (!this._defaultFilterHonored && ((_c = this.defaultFilter) === null || _c === void 0 ? void 0 : _c.length) > 0 && this._filterList) {
|
1055
|
-
this._layerExpressions = this.defaultFilter;
|
1056
|
-
this._filterActive = true;
|
1057
|
-
this._defaultFilterHonored = true;
|
1058
|
-
}
|
1059
1041
|
this._showOnlySelected = false;
|
1042
|
+
await this._handleDefaults();
|
1060
1043
|
await this._sortTable();
|
1061
1044
|
this._initToolInfos();
|
1062
1045
|
this._updateToolbar();
|
1063
1046
|
});
|
1064
1047
|
}
|
1048
|
+
/**
|
1049
|
+
* Update the current IDs when that layers data is modified
|
1050
|
+
*/
|
1051
|
+
async _initLayerRefresh() {
|
1052
|
+
if (this._refreshHandle) {
|
1053
|
+
this._refreshHandle.remove();
|
1054
|
+
}
|
1055
|
+
this._refreshHandle = this._layer.on("refresh", (evt) => {
|
1056
|
+
if (evt.dataChanged) {
|
1057
|
+
this._skipOnChange = true;
|
1058
|
+
void this._updateAllIds();
|
1059
|
+
}
|
1060
|
+
});
|
1061
|
+
}
|
1062
|
+
/**
|
1063
|
+
* Reset _allIds when the layers data has changed and refresh the selection ids and table
|
1064
|
+
*/
|
1065
|
+
async _updateAllIds() {
|
1066
|
+
this._allIds = await queryAllIds(this._layer);
|
1067
|
+
this.selectedIds = this.selectedIds.filter(id => this._allIds.indexOf(id) > -1);
|
1068
|
+
await this._refresh();
|
1069
|
+
}
|
1070
|
+
/**
|
1071
|
+
* Handle default OID or GlobalID from url parameters
|
1072
|
+
*/
|
1073
|
+
async _handleDefaults() {
|
1074
|
+
var _a, _b;
|
1075
|
+
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1 && this._table) {
|
1076
|
+
await this._selectDefaultFeature(this.defaultOid);
|
1077
|
+
this._defaultOidHonored = true;
|
1078
|
+
this.defaultOid = undefined;
|
1079
|
+
this._showOnlySelected = false;
|
1080
|
+
this._toggleShowSelected();
|
1081
|
+
}
|
1082
|
+
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0 && this._table) {
|
1083
|
+
const features = await queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1084
|
+
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1085
|
+
if (oids) {
|
1086
|
+
await this._selectDefaultFeature(oids);
|
1087
|
+
}
|
1088
|
+
this._defaultGlobalIdHonored = true;
|
1089
|
+
this.defaultGlobalId = undefined;
|
1090
|
+
this._showOnlySelected = false;
|
1091
|
+
this._toggleShowSelected();
|
1092
|
+
}
|
1093
|
+
}
|
1065
1094
|
/**
|
1066
1095
|
* Store the column names and current hidden status to support show/hide of columns
|
1067
1096
|
* @param fieldNames optional list of names from new config options
|
@@ -1090,13 +1119,12 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1090
1119
|
/**
|
1091
1120
|
* Select the feature that was specified via url params
|
1092
1121
|
*/
|
1093
|
-
_selectDefaultFeature(oids) {
|
1122
|
+
async _selectDefaultFeature(oids) {
|
1094
1123
|
if (oids.length > 0) {
|
1095
1124
|
this._table.highlightIds.addMany(oids);
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
});
|
1125
|
+
// This is messed up and only make this worse
|
1126
|
+
//const i = this._table.viewModel.getObjectIdIndex(oids[0]);
|
1127
|
+
//this._table.viewModel.scrollToIndex(i);
|
1100
1128
|
}
|
1101
1129
|
}
|
1102
1130
|
/**
|
@@ -1472,6 +1500,8 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1472
1500
|
}
|
1473
1501
|
get el() { return this; }
|
1474
1502
|
static get watchers() { return {
|
1503
|
+
"defaultOid": ["defaultOidWatchHandler"],
|
1504
|
+
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
1475
1505
|
"enableCSV": ["enableCSVWatchHandler"],
|
1476
1506
|
"enableInlineEdit": ["enableInlineEditWatchHandler"],
|
1477
1507
|
"enableShare": ["enableShareWatchHandler"],
|
@@ -1484,7 +1514,6 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1484
1514
|
}; }
|
1485
1515
|
static get style() { return layerTableCss; }
|
1486
1516
|
}, [0, "layer-table", {
|
1487
|
-
"defaultFilter": [16],
|
1488
1517
|
"defaultGlobalId": [16],
|
1489
1518
|
"defaultLayerId": [1, "default-layer-id"],
|
1490
1519
|
"defaultOid": [16],
|
@@ -1515,6 +1544,8 @@ const LayerTable = /*@__PURE__*/ proxyCustomElement(class LayerTable extends HTM
|
|
1515
1544
|
"_toolInfos": [32],
|
1516
1545
|
"_translations": [32]
|
1517
1546
|
}, [[8, "selectionChanged", "selectionChanged"], [8, "editsComplete", "editsComplete"], [8, "facilityChanged", "facilityChanged"], [8, "levelChanged", "levelChanged"], [8, "siteChanged", "siteChanged"], [8, "noLayersFound", "noLayersFound"]], {
|
1547
|
+
"defaultOid": ["defaultOidWatchHandler"],
|
1548
|
+
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
1518
1549
|
"enableCSV": ["enableCSVWatchHandler"],
|
1519
1550
|
"enableInlineEdit": ["enableInlineEditWatchHandler"],
|
1520
1551
|
"enableShare": ["enableShareWatchHandler"],
|
@@ -132,8 +132,17 @@ const FloorFilter = class {
|
|
132
132
|
//
|
133
133
|
//--------------------------------------------------------------------------
|
134
134
|
async mapViewWatchHandler() {
|
135
|
-
|
136
|
-
|
135
|
+
const webMap = this.mapView.map;
|
136
|
+
await webMap.when(() => {
|
137
|
+
if (this.floorFilterWidget) {
|
138
|
+
this.floorFilterWidget.destroy();
|
139
|
+
this.floorFilterWidget = undefined;
|
140
|
+
}
|
141
|
+
if (this._floorFilterElement) {
|
142
|
+
this._floorFilterElement.remove();
|
143
|
+
this._floorFilterElement = document.createElement("div");
|
144
|
+
}
|
145
|
+
this._initFloorFilter(this.mapView, webMap);
|
137
146
|
});
|
138
147
|
}
|
139
148
|
//--------------------------------------------------------------------------
|
@@ -173,30 +182,25 @@ const FloorFilter = class {
|
|
173
182
|
/**
|
174
183
|
* Initialize the floor filter or reset the current view if it already exists
|
175
184
|
*/
|
176
|
-
_initFloorFilter(view) {
|
177
|
-
var _a, _b, _c
|
178
|
-
if (view && this.enabled && this.FloorFilter && (
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
this.
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
this.
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
this.
|
194
|
-
|
195
|
-
});
|
196
|
-
}
|
197
|
-
else {
|
198
|
-
this.floorFilterWidget.viewModel.view = view;
|
199
|
-
}
|
185
|
+
_initFloorFilter(view, webMap) {
|
186
|
+
var _a, _b, _c;
|
187
|
+
if (view && this.enabled && this.FloorFilter && (webMap === null || webMap === void 0 ? void 0 : webMap.floorInfo)) {
|
188
|
+
this.floorFilterWidget = new this.FloorFilter({
|
189
|
+
container: this._floorFilterElement,
|
190
|
+
view
|
191
|
+
});
|
192
|
+
(_a = this._facilityHandle) === null || _a === void 0 ? void 0 : _a.remove();
|
193
|
+
this._facilityHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.facility, (facility) => {
|
194
|
+
this.facilityChanged.emit(facility);
|
195
|
+
});
|
196
|
+
(_b = this._levelHandle) === null || _b === void 0 ? void 0 : _b.remove();
|
197
|
+
this._levelHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.level, (level) => {
|
198
|
+
this.levelChanged.emit(level);
|
199
|
+
});
|
200
|
+
(_c = this._siteHandle) === null || _c === void 0 ? void 0 : _c.remove();
|
201
|
+
this._siteHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.site, (site) => {
|
202
|
+
this.siteChanged.emit(site);
|
203
|
+
});
|
200
204
|
}
|
201
205
|
}
|
202
206
|
get el() { return getElement(this); }
|
@@ -145,7 +145,6 @@ const LayerTable = class {
|
|
145
145
|
this.onTableNodeCreate = (node) => {
|
146
146
|
this._tableNode = node;
|
147
147
|
};
|
148
|
-
this.defaultFilter = undefined;
|
149
148
|
this.defaultGlobalId = undefined;
|
150
149
|
this.defaultLayerId = undefined;
|
151
150
|
this.defaultOid = undefined;
|
@@ -181,6 +180,18 @@ const LayerTable = class {
|
|
181
180
|
// Watch handlers
|
182
181
|
//
|
183
182
|
//--------------------------------------------------------------------------
|
183
|
+
/**
|
184
|
+
* Handle url defaults when defaultOid is set
|
185
|
+
*/
|
186
|
+
async defaultOidWatchHandler() {
|
187
|
+
await this._handleDefaults();
|
188
|
+
}
|
189
|
+
/**
|
190
|
+
* Handle url defaults when defaultGlobalId is set
|
191
|
+
*/
|
192
|
+
async defaultGlobalIdWatchHandler() {
|
193
|
+
await this._handleDefaults();
|
194
|
+
}
|
184
195
|
/**
|
185
196
|
* Reset the toolInfos when export csv is enabled/disabled
|
186
197
|
*/
|
@@ -868,22 +879,6 @@ const LayerTable = class {
|
|
868
879
|
else {
|
869
880
|
urlObj.searchParams.delete("oid");
|
870
881
|
}
|
871
|
-
if (this._filterActive) {
|
872
|
-
const filter = JSON.parse(this._filterList.urlParams.get("filter"));
|
873
|
-
const layerExpressions = this._filterList.layerExpressions.map(layerExp => {
|
874
|
-
layerExp.expressions = layerExp.expressions.map(exp => {
|
875
|
-
if (exp.id.toString() === filter.expressionId.toString()) {
|
876
|
-
exp.active = true;
|
877
|
-
}
|
878
|
-
return exp;
|
879
|
-
});
|
880
|
-
return layerExp;
|
881
|
-
});
|
882
|
-
urlObj.searchParams.set("filter", JSON.stringify(layerExpressions));
|
883
|
-
}
|
884
|
-
else {
|
885
|
-
urlObj.searchParams.delete("filter");
|
886
|
-
}
|
887
882
|
this._shareNode.shareUrl = urlObj.href;
|
888
883
|
}
|
889
884
|
/**
|
@@ -897,7 +892,7 @@ const LayerTable = class {
|
|
897
892
|
* @returns VNode The tooltip node
|
898
893
|
*/
|
899
894
|
_getToolTip(placement, referenceElement, text) {
|
900
|
-
return (h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, h("span", null, text)));
|
895
|
+
return document.getElementById(referenceElement) ? (h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, h("span", null, text))) : undefined;
|
901
896
|
}
|
902
897
|
/**
|
903
898
|
* Get an id with a prefix to the user supplied value
|
@@ -1060,7 +1055,11 @@ const LayerTable = class {
|
|
1060
1055
|
_resetColumnTemplates() {
|
1061
1056
|
var _a, _b;
|
1062
1057
|
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);
|
1063
|
-
|
1058
|
+
const hasChange = columnTemplates === null || columnTemplates === void 0 ? void 0 : columnTemplates.some((ct, i) => {
|
1059
|
+
var _a;
|
1060
|
+
return JSON.stringify((_a = this._table) === null || _a === void 0 ? void 0 : _a.tableTemplate.columnTemplates[i]) !== JSON.stringify(ct);
|
1061
|
+
});
|
1062
|
+
if (this._table && columnTemplates && hasChange) {
|
1064
1063
|
this._table.tableTemplate = new this.TableTemplate({
|
1065
1064
|
columnTemplates
|
1066
1065
|
});
|
@@ -1083,37 +1082,67 @@ const LayerTable = class {
|
|
1083
1082
|
this._table.view = this.mapView;
|
1084
1083
|
this._table.layer = this._layer;
|
1085
1084
|
}
|
1085
|
+
await this._initLayerRefresh();
|
1086
1086
|
this._checkEditEnabled();
|
1087
1087
|
this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
|
1088
1088
|
await this.reactiveUtils.once(() => this._table.state === "loaded")
|
1089
1089
|
.then(async () => {
|
1090
|
-
var _a, _b, _c;
|
1091
1090
|
this._table.highlightIds.removeAll();
|
1092
1091
|
this._table.clearSelectionFilter();
|
1093
1092
|
this._resetColumnTemplates();
|
1094
|
-
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1) {
|
1095
|
-
this._selectDefaultFeature(this.defaultOid);
|
1096
|
-
this._defaultOidHonored = true;
|
1097
|
-
}
|
1098
|
-
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
1099
|
-
const features = await queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1100
|
-
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1101
|
-
if (oids) {
|
1102
|
-
this._selectDefaultFeature(oids);
|
1103
|
-
}
|
1104
|
-
this._defaultGlobalIdHonored = true;
|
1105
|
-
}
|
1106
|
-
if (!this._defaultFilterHonored && ((_c = this.defaultFilter) === null || _c === void 0 ? void 0 : _c.length) > 0 && this._filterList) {
|
1107
|
-
this._layerExpressions = this.defaultFilter;
|
1108
|
-
this._filterActive = true;
|
1109
|
-
this._defaultFilterHonored = true;
|
1110
|
-
}
|
1111
1093
|
this._showOnlySelected = false;
|
1094
|
+
await this._handleDefaults();
|
1112
1095
|
await this._sortTable();
|
1113
1096
|
this._initToolInfos();
|
1114
1097
|
this._updateToolbar();
|
1115
1098
|
});
|
1116
1099
|
}
|
1100
|
+
/**
|
1101
|
+
* Update the current IDs when that layers data is modified
|
1102
|
+
*/
|
1103
|
+
async _initLayerRefresh() {
|
1104
|
+
if (this._refreshHandle) {
|
1105
|
+
this._refreshHandle.remove();
|
1106
|
+
}
|
1107
|
+
this._refreshHandle = this._layer.on("refresh", (evt) => {
|
1108
|
+
if (evt.dataChanged) {
|
1109
|
+
this._skipOnChange = true;
|
1110
|
+
void this._updateAllIds();
|
1111
|
+
}
|
1112
|
+
});
|
1113
|
+
}
|
1114
|
+
/**
|
1115
|
+
* Reset _allIds when the layers data has changed and refresh the selection ids and table
|
1116
|
+
*/
|
1117
|
+
async _updateAllIds() {
|
1118
|
+
this._allIds = await queryAllIds(this._layer);
|
1119
|
+
this.selectedIds = this.selectedIds.filter(id => this._allIds.indexOf(id) > -1);
|
1120
|
+
await this._refresh();
|
1121
|
+
}
|
1122
|
+
/**
|
1123
|
+
* Handle default OID or GlobalID from url parameters
|
1124
|
+
*/
|
1125
|
+
async _handleDefaults() {
|
1126
|
+
var _a, _b;
|
1127
|
+
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1 && this._table) {
|
1128
|
+
await this._selectDefaultFeature(this.defaultOid);
|
1129
|
+
this._defaultOidHonored = true;
|
1130
|
+
this.defaultOid = undefined;
|
1131
|
+
this._showOnlySelected = false;
|
1132
|
+
this._toggleShowSelected();
|
1133
|
+
}
|
1134
|
+
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0 && this._table) {
|
1135
|
+
const features = await queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1136
|
+
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1137
|
+
if (oids) {
|
1138
|
+
await this._selectDefaultFeature(oids);
|
1139
|
+
}
|
1140
|
+
this._defaultGlobalIdHonored = true;
|
1141
|
+
this.defaultGlobalId = undefined;
|
1142
|
+
this._showOnlySelected = false;
|
1143
|
+
this._toggleShowSelected();
|
1144
|
+
}
|
1145
|
+
}
|
1117
1146
|
/**
|
1118
1147
|
* Store the column names and current hidden status to support show/hide of columns
|
1119
1148
|
* @param fieldNames optional list of names from new config options
|
@@ -1142,13 +1171,12 @@ const LayerTable = class {
|
|
1142
1171
|
/**
|
1143
1172
|
* Select the feature that was specified via url params
|
1144
1173
|
*/
|
1145
|
-
_selectDefaultFeature(oids) {
|
1174
|
+
async _selectDefaultFeature(oids) {
|
1146
1175
|
if (oids.length > 0) {
|
1147
1176
|
this._table.highlightIds.addMany(oids);
|
1148
|
-
|
1149
|
-
|
1150
|
-
|
1151
|
-
});
|
1177
|
+
// This is messed up and only make this worse
|
1178
|
+
//const i = this._table.viewModel.getObjectIdIndex(oids[0]);
|
1179
|
+
//this._table.viewModel.scrollToIndex(i);
|
1152
1180
|
}
|
1153
1181
|
}
|
1154
1182
|
/**
|
@@ -1524,6 +1552,8 @@ const LayerTable = class {
|
|
1524
1552
|
}
|
1525
1553
|
get el() { return getElement(this); }
|
1526
1554
|
static get watchers() { return {
|
1555
|
+
"defaultOid": ["defaultOidWatchHandler"],
|
1556
|
+
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
1527
1557
|
"enableCSV": ["enableCSVWatchHandler"],
|
1528
1558
|
"enableInlineEdit": ["enableInlineEditWatchHandler"],
|
1529
1559
|
"enableShare": ["enableShareWatchHandler"],
|
@@ -15,13 +15,27 @@ const crowdsourceManagerCss = ":host{display:block;--calcite-label-margin-bottom
|
|
15
15
|
const CrowdsourceManager = class {
|
16
16
|
constructor(hostRef) {
|
17
17
|
registerInstance(this, hostRef);
|
18
|
+
//--------------------------------------------------------------------------
|
19
|
+
//
|
20
|
+
// Properties (protected)
|
21
|
+
//
|
22
|
+
//--------------------------------------------------------------------------
|
23
|
+
/**
|
24
|
+
* boolean: When true the map view will be set after render due to popup obstructing the view
|
25
|
+
* MapView.when is not fired when mapView is not currently visible
|
26
|
+
*/
|
27
|
+
this._defaultCenterHonored = false;
|
28
|
+
/**
|
29
|
+
* boolean: When true the map view will be set after render due to popup obstructing the view
|
30
|
+
* MapView.when is not fired when mapView is not currently visible
|
31
|
+
*/
|
32
|
+
this._defaultLevelHonored = false;
|
18
33
|
/**
|
19
34
|
* boolean: When true the map view will be set after render due to popup obstructing the view
|
20
35
|
* MapView.when is not fired when mapView is not currently visible
|
21
36
|
*/
|
22
37
|
this._shouldSetMapView = false;
|
23
38
|
this.defaultCenter = "";
|
24
|
-
this.defaultFilter = "";
|
25
39
|
this.defaultGlobalId = "";
|
26
40
|
this.defaultLayer = "";
|
27
41
|
this.defaultLevel = "";
|
@@ -66,39 +80,6 @@ const CrowdsourceManager = class {
|
|
66
80
|
// Watch handlers
|
67
81
|
//
|
68
82
|
//--------------------------------------------------------------------------
|
69
|
-
/**
|
70
|
-
* Watch for center url param to be set
|
71
|
-
*/
|
72
|
-
defaultCenterWatchHandler() {
|
73
|
-
this._defaultCenter = !this.defaultCenter ? undefined :
|
74
|
-
this.defaultCenter.split(";").map(v => parseFloat(v));
|
75
|
-
}
|
76
|
-
/**
|
77
|
-
* Watch for filter url param to be set
|
78
|
-
*/
|
79
|
-
defaultFilterWatchHandler() {
|
80
|
-
this._defaultFilter = JSON.parse(this.defaultFilter);
|
81
|
-
}
|
82
|
-
/**
|
83
|
-
* Watch for globalid url param to be set
|
84
|
-
*/
|
85
|
-
defaultGlobalIdWatchHandler() {
|
86
|
-
this._defaultGlobalId = !this.defaultGlobalId ? undefined :
|
87
|
-
this.defaultGlobalId.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
88
|
-
}
|
89
|
-
/**
|
90
|
-
* Watch for oid url param to be set
|
91
|
-
*/
|
92
|
-
defaultOidWatchHandler() {
|
93
|
-
this._defaultOid = !this.defaultOid ? undefined :
|
94
|
-
this.defaultOid.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
95
|
-
}
|
96
|
-
/**
|
97
|
-
* Watch for zoom level param to be set
|
98
|
-
*/
|
99
|
-
defaultLevelWatchHandler() {
|
100
|
-
this._defaultLevel = !this.defaultLevel ? undefined : parseInt(this.defaultLevel, 10);
|
101
|
-
}
|
102
83
|
/**
|
103
84
|
* When true the map zoom tools will be available
|
104
85
|
*/
|
@@ -390,6 +371,7 @@ const CrowdsourceManager = class {
|
|
390
371
|
* @protected
|
391
372
|
*/
|
392
373
|
_getTable(layoutMode, panelOpen, hideTable) {
|
374
|
+
var _a, _b;
|
393
375
|
const tableClass = hideTable && this._isMobile ? "visibility-hidden" : "";
|
394
376
|
const tableSizeClass = this._getTableSizeClass(layoutMode, panelOpen);
|
395
377
|
const icon = this._getDividerIcon(layoutMode, panelOpen);
|
@@ -398,7 +380,11 @@ const CrowdsourceManager = class {
|
|
398
380
|
const toggleLayout = layoutMode === ELayoutMode.HORIZONTAL ? "horizontal" : "vertical";
|
399
381
|
const toggleSlot = layoutMode === ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
400
382
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
401
|
-
|
383
|
+
const globalId = !this.defaultGlobalId ? undefined :
|
384
|
+
((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
385
|
+
const defaultOid = !this.defaultOid ? undefined :
|
386
|
+
((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
387
|
+
return (h("calcite-shell", { class: `${tableSizeClass} ${tableClass} border-bottom` }, !this._isMobile ? (h("calcite-action-bar", { class: "border-sides", expandDisabled: true, layout: toggleLayout, slot: toggleSlot }, h("calcite-action", { class: "toggle-node", icon: icon, id: id, onClick: () => this._toggleLayout(), text: "" }), h("calcite-tooltip", { label: tooltip, placement: "bottom", "reference-element": id }, h("span", null, tooltip)))) : undefined, h("div", { class: `width-full height-full position-relative` }, 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 }))));
|
402
388
|
}
|
403
389
|
/**
|
404
390
|
* Update the component layout when its size changes
|
@@ -451,17 +437,22 @@ const CrowdsourceManager = class {
|
|
451
437
|
* @protected
|
452
438
|
*/
|
453
439
|
async _setMapView() {
|
440
|
+
var _a;
|
454
441
|
this._mapInfo = this._getMapInfo(this._mapChange.id);
|
455
442
|
this._mapView = this._mapChange.mapView;
|
456
443
|
this._initMapZoom();
|
457
444
|
this._mapView.popupEnabled = false;
|
458
|
-
|
445
|
+
const center = !this.defaultCenter || this._defaultCenterHonored ?
|
446
|
+
undefined : (_a = this.defaultCenter) === null || _a === void 0 ? void 0 : _a.split(";").map(v => parseFloat(v));
|
447
|
+
const zoom = !this.defaultLevel || this._defaultLevelHonored ?
|
448
|
+
undefined : parseInt(this.defaultLevel, 10);
|
449
|
+
if (center && zoom) {
|
459
450
|
await this._mapView.goTo({
|
460
|
-
center
|
461
|
-
zoom
|
451
|
+
center,
|
452
|
+
zoom
|
462
453
|
});
|
463
|
-
this.
|
464
|
-
this.
|
454
|
+
this._defaultCenterHonored = true;
|
455
|
+
this._defaultLevelHonored = true;
|
465
456
|
}
|
466
457
|
}
|
467
458
|
/**
|
@@ -493,11 +484,6 @@ const CrowdsourceManager = class {
|
|
493
484
|
}
|
494
485
|
get el() { return getElement(this); }
|
495
486
|
static get watchers() { return {
|
496
|
-
"defaultCenter": ["defaultCenterWatchHandler"],
|
497
|
-
"defaultFilter": ["defaultFilterWatchHandler"],
|
498
|
-
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
499
|
-
"defaultOid": ["defaultOidWatchHandler"],
|
500
|
-
"defaultLevel": ["defaultLevelWatchHandler"],
|
501
487
|
"enableZoom": ["enableZoomWatchHandler"]
|
502
488
|
}; }
|
503
489
|
};
|