@esri/solutions-components 0.7.49 → 0.7.51
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/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
@@ -24,13 +24,27 @@ import { ELayoutMode } from "../../utils/interfaces";
|
|
24
24
|
import { getLayerOrTable } from "../../utils/mapViewUtils";
|
25
25
|
export class CrowdsourceManager {
|
26
26
|
constructor() {
|
27
|
+
//--------------------------------------------------------------------------
|
28
|
+
//
|
29
|
+
// Properties (protected)
|
30
|
+
//
|
31
|
+
//--------------------------------------------------------------------------
|
32
|
+
/**
|
33
|
+
* boolean: When true the map view will be set after render due to popup obstructing the view
|
34
|
+
* MapView.when is not fired when mapView is not currently visible
|
35
|
+
*/
|
36
|
+
this._defaultCenterHonored = false;
|
37
|
+
/**
|
38
|
+
* boolean: When true the map view will be set after render due to popup obstructing the view
|
39
|
+
* MapView.when is not fired when mapView is not currently visible
|
40
|
+
*/
|
41
|
+
this._defaultLevelHonored = false;
|
27
42
|
/**
|
28
43
|
* boolean: When true the map view will be set after render due to popup obstructing the view
|
29
44
|
* MapView.when is not fired when mapView is not currently visible
|
30
45
|
*/
|
31
46
|
this._shouldSetMapView = false;
|
32
47
|
this.defaultCenter = "";
|
33
|
-
this.defaultFilter = "";
|
34
48
|
this.defaultGlobalId = "";
|
35
49
|
this.defaultLayer = "";
|
36
50
|
this.defaultLevel = "";
|
@@ -75,39 +89,6 @@ export class CrowdsourceManager {
|
|
75
89
|
// Watch handlers
|
76
90
|
//
|
77
91
|
//--------------------------------------------------------------------------
|
78
|
-
/**
|
79
|
-
* Watch for center url param to be set
|
80
|
-
*/
|
81
|
-
defaultCenterWatchHandler() {
|
82
|
-
this._defaultCenter = !this.defaultCenter ? undefined :
|
83
|
-
this.defaultCenter.split(";").map(v => parseFloat(v));
|
84
|
-
}
|
85
|
-
/**
|
86
|
-
* Watch for filter url param to be set
|
87
|
-
*/
|
88
|
-
defaultFilterWatchHandler() {
|
89
|
-
this._defaultFilter = JSON.parse(this.defaultFilter);
|
90
|
-
}
|
91
|
-
/**
|
92
|
-
* Watch for globalid url param to be set
|
93
|
-
*/
|
94
|
-
defaultGlobalIdWatchHandler() {
|
95
|
-
this._defaultGlobalId = !this.defaultGlobalId ? undefined :
|
96
|
-
this.defaultGlobalId.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
97
|
-
}
|
98
|
-
/**
|
99
|
-
* Watch for oid url param to be set
|
100
|
-
*/
|
101
|
-
defaultOidWatchHandler() {
|
102
|
-
this._defaultOid = !this.defaultOid ? undefined :
|
103
|
-
this.defaultOid.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
104
|
-
}
|
105
|
-
/**
|
106
|
-
* Watch for zoom level param to be set
|
107
|
-
*/
|
108
|
-
defaultLevelWatchHandler() {
|
109
|
-
this._defaultLevel = !this.defaultLevel ? undefined : parseInt(this.defaultLevel, 10);
|
110
|
-
}
|
111
92
|
/**
|
112
93
|
* When true the map zoom tools will be available
|
113
94
|
*/
|
@@ -399,6 +380,7 @@ export class CrowdsourceManager {
|
|
399
380
|
* @protected
|
400
381
|
*/
|
401
382
|
_getTable(layoutMode, panelOpen, hideTable) {
|
383
|
+
var _a, _b;
|
402
384
|
const tableClass = hideTable && this._isMobile ? "visibility-hidden" : "";
|
403
385
|
const tableSizeClass = this._getTableSizeClass(layoutMode, panelOpen);
|
404
386
|
const icon = this._getDividerIcon(layoutMode, panelOpen);
|
@@ -407,7 +389,11 @@ export class CrowdsourceManager {
|
|
407
389
|
const toggleLayout = layoutMode === ELayoutMode.HORIZONTAL ? "horizontal" : "vertical";
|
408
390
|
const toggleSlot = layoutMode === ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
409
391
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
410
|
-
|
392
|
+
const globalId = !this.defaultGlobalId ? undefined :
|
393
|
+
((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
394
|
+
const defaultOid = !this.defaultOid ? undefined :
|
395
|
+
((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
396
|
+
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 }))));
|
411
397
|
}
|
412
398
|
/**
|
413
399
|
* Update the component layout when its size changes
|
@@ -460,17 +446,22 @@ export class CrowdsourceManager {
|
|
460
446
|
* @protected
|
461
447
|
*/
|
462
448
|
async _setMapView() {
|
449
|
+
var _a;
|
463
450
|
this._mapInfo = this._getMapInfo(this._mapChange.id);
|
464
451
|
this._mapView = this._mapChange.mapView;
|
465
452
|
this._initMapZoom();
|
466
453
|
this._mapView.popupEnabled = false;
|
467
|
-
|
454
|
+
const center = !this.defaultCenter || this._defaultCenterHonored ?
|
455
|
+
undefined : (_a = this.defaultCenter) === null || _a === void 0 ? void 0 : _a.split(";").map(v => parseFloat(v));
|
456
|
+
const zoom = !this.defaultLevel || this._defaultLevelHonored ?
|
457
|
+
undefined : parseInt(this.defaultLevel, 10);
|
458
|
+
if (center && zoom) {
|
468
459
|
await this._mapView.goTo({
|
469
|
-
center
|
470
|
-
zoom
|
460
|
+
center,
|
461
|
+
zoom
|
471
462
|
});
|
472
|
-
this.
|
473
|
-
this.
|
463
|
+
this._defaultCenterHonored = true;
|
464
|
+
this._defaultLevelHonored = true;
|
474
465
|
}
|
475
466
|
}
|
476
467
|
/**
|
@@ -531,24 +522,6 @@ export class CrowdsourceManager {
|
|
531
522
|
"reflect": false,
|
532
523
|
"defaultValue": "\"\""
|
533
524
|
},
|
534
|
-
"defaultFilter": {
|
535
|
-
"type": "string",
|
536
|
-
"mutable": false,
|
537
|
-
"complexType": {
|
538
|
-
"original": "string",
|
539
|
-
"resolved": "string",
|
540
|
-
"references": {}
|
541
|
-
},
|
542
|
-
"required": false,
|
543
|
-
"optional": false,
|
544
|
-
"docs": {
|
545
|
-
"tags": [],
|
546
|
-
"text": "string: default layer expression to apply to the current layer"
|
547
|
-
},
|
548
|
-
"attribute": "default-filter",
|
549
|
-
"reflect": false,
|
550
|
-
"defaultValue": "\"\""
|
551
|
-
},
|
552
525
|
"defaultGlobalId": {
|
553
526
|
"type": "string",
|
554
527
|
"mutable": false,
|
@@ -1052,21 +1025,6 @@ export class CrowdsourceManager {
|
|
1052
1025
|
static get elementRef() { return "el"; }
|
1053
1026
|
static get watchers() {
|
1054
1027
|
return [{
|
1055
|
-
"propName": "defaultCenter",
|
1056
|
-
"methodName": "defaultCenterWatchHandler"
|
1057
|
-
}, {
|
1058
|
-
"propName": "defaultFilter",
|
1059
|
-
"methodName": "defaultFilterWatchHandler"
|
1060
|
-
}, {
|
1061
|
-
"propName": "defaultGlobalId",
|
1062
|
-
"methodName": "defaultGlobalIdWatchHandler"
|
1063
|
-
}, {
|
1064
|
-
"propName": "defaultOid",
|
1065
|
-
"methodName": "defaultOidWatchHandler"
|
1066
|
-
}, {
|
1067
|
-
"propName": "defaultLevel",
|
1068
|
-
"methodName": "defaultLevelWatchHandler"
|
1069
|
-
}, {
|
1070
1028
|
"propName": "enableZoom",
|
1071
1029
|
"methodName": "enableZoomWatchHandler"
|
1072
1030
|
}];
|
@@ -32,8 +32,17 @@ export class FloorFilter {
|
|
32
32
|
//
|
33
33
|
//--------------------------------------------------------------------------
|
34
34
|
async mapViewWatchHandler() {
|
35
|
-
|
36
|
-
|
35
|
+
const webMap = this.mapView.map;
|
36
|
+
await webMap.when(() => {
|
37
|
+
if (this.floorFilterWidget) {
|
38
|
+
this.floorFilterWidget.destroy();
|
39
|
+
this.floorFilterWidget = undefined;
|
40
|
+
}
|
41
|
+
if (this._floorFilterElement) {
|
42
|
+
this._floorFilterElement.remove();
|
43
|
+
this._floorFilterElement = document.createElement("div");
|
44
|
+
}
|
45
|
+
this._initFloorFilter(this.mapView, webMap);
|
37
46
|
});
|
38
47
|
}
|
39
48
|
//--------------------------------------------------------------------------
|
@@ -73,30 +82,25 @@ export class FloorFilter {
|
|
73
82
|
/**
|
74
83
|
* Initialize the floor filter or reset the current view if it already exists
|
75
84
|
*/
|
76
|
-
_initFloorFilter(view) {
|
77
|
-
var _a, _b, _c
|
78
|
-
if (view && this.enabled && this.FloorFilter && (
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
this.
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
this.
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
this.
|
94
|
-
|
95
|
-
});
|
96
|
-
}
|
97
|
-
else {
|
98
|
-
this.floorFilterWidget.viewModel.view = view;
|
99
|
-
}
|
85
|
+
_initFloorFilter(view, webMap) {
|
86
|
+
var _a, _b, _c;
|
87
|
+
if (view && this.enabled && this.FloorFilter && (webMap === null || webMap === void 0 ? void 0 : webMap.floorInfo)) {
|
88
|
+
this.floorFilterWidget = new this.FloorFilter({
|
89
|
+
container: this._floorFilterElement,
|
90
|
+
view
|
91
|
+
});
|
92
|
+
(_a = this._facilityHandle) === null || _a === void 0 ? void 0 : _a.remove();
|
93
|
+
this._facilityHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.facility, (facility) => {
|
94
|
+
this.facilityChanged.emit(facility);
|
95
|
+
});
|
96
|
+
(_b = this._levelHandle) === null || _b === void 0 ? void 0 : _b.remove();
|
97
|
+
this._levelHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.level, (level) => {
|
98
|
+
this.levelChanged.emit(level);
|
99
|
+
});
|
100
|
+
(_c = this._siteHandle) === null || _c === void 0 ? void 0 : _c.remove();
|
101
|
+
this._siteHandle = this.reactiveUtils.watch(() => this.floorFilterWidget.site, (site) => {
|
102
|
+
this.siteChanged.emit(site);
|
103
|
+
});
|
100
104
|
}
|
101
105
|
}
|
102
106
|
static get is() { return "floor-filter"; }
|
@@ -64,7 +64,6 @@ export class LayerTable {
|
|
64
64
|
this.onTableNodeCreate = (node) => {
|
65
65
|
this._tableNode = node;
|
66
66
|
};
|
67
|
-
this.defaultFilter = undefined;
|
68
67
|
this.defaultGlobalId = undefined;
|
69
68
|
this.defaultLayerId = undefined;
|
70
69
|
this.defaultOid = undefined;
|
@@ -100,6 +99,18 @@ export class LayerTable {
|
|
100
99
|
// Watch handlers
|
101
100
|
//
|
102
101
|
//--------------------------------------------------------------------------
|
102
|
+
/**
|
103
|
+
* Handle url defaults when defaultOid is set
|
104
|
+
*/
|
105
|
+
async defaultOidWatchHandler() {
|
106
|
+
await this._handleDefaults();
|
107
|
+
}
|
108
|
+
/**
|
109
|
+
* Handle url defaults when defaultGlobalId is set
|
110
|
+
*/
|
111
|
+
async defaultGlobalIdWatchHandler() {
|
112
|
+
await this._handleDefaults();
|
113
|
+
}
|
103
114
|
/**
|
104
115
|
* Reset the toolInfos when export csv is enabled/disabled
|
105
116
|
*/
|
@@ -787,22 +798,6 @@ export class LayerTable {
|
|
787
798
|
else {
|
788
799
|
urlObj.searchParams.delete("oid");
|
789
800
|
}
|
790
|
-
if (this._filterActive) {
|
791
|
-
const filter = JSON.parse(this._filterList.urlParams.get("filter"));
|
792
|
-
const layerExpressions = this._filterList.layerExpressions.map(layerExp => {
|
793
|
-
layerExp.expressions = layerExp.expressions.map(exp => {
|
794
|
-
if (exp.id.toString() === filter.expressionId.toString()) {
|
795
|
-
exp.active = true;
|
796
|
-
}
|
797
|
-
return exp;
|
798
|
-
});
|
799
|
-
return layerExp;
|
800
|
-
});
|
801
|
-
urlObj.searchParams.set("filter", JSON.stringify(layerExpressions));
|
802
|
-
}
|
803
|
-
else {
|
804
|
-
urlObj.searchParams.delete("filter");
|
805
|
-
}
|
806
801
|
this._shareNode.shareUrl = urlObj.href;
|
807
802
|
}
|
808
803
|
/**
|
@@ -816,7 +811,7 @@ export class LayerTable {
|
|
816
811
|
* @returns VNode The tooltip node
|
817
812
|
*/
|
818
813
|
_getToolTip(placement, referenceElement, text) {
|
819
|
-
return (h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, h("span", null, text)));
|
814
|
+
return document.getElementById(referenceElement) ? (h("calcite-tooltip", { placement: placement, "reference-element": referenceElement }, h("span", null, text))) : undefined;
|
820
815
|
}
|
821
816
|
/**
|
822
817
|
* Get an id with a prefix to the user supplied value
|
@@ -979,7 +974,11 @@ export class LayerTable {
|
|
979
974
|
_resetColumnTemplates() {
|
980
975
|
var _a, _b;
|
981
976
|
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);
|
982
|
-
|
977
|
+
const hasChange = columnTemplates === null || columnTemplates === void 0 ? void 0 : columnTemplates.some((ct, i) => {
|
978
|
+
var _a;
|
979
|
+
return JSON.stringify((_a = this._table) === null || _a === void 0 ? void 0 : _a.tableTemplate.columnTemplates[i]) !== JSON.stringify(ct);
|
980
|
+
});
|
981
|
+
if (this._table && columnTemplates && hasChange) {
|
983
982
|
this._table.tableTemplate = new this.TableTemplate({
|
984
983
|
columnTemplates
|
985
984
|
});
|
@@ -1002,37 +1001,67 @@ export class LayerTable {
|
|
1002
1001
|
this._table.view = this.mapView;
|
1003
1002
|
this._table.layer = this._layer;
|
1004
1003
|
}
|
1004
|
+
await this._initLayerRefresh();
|
1005
1005
|
this._checkEditEnabled();
|
1006
1006
|
this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
|
1007
1007
|
await this.reactiveUtils.once(() => this._table.state === "loaded")
|
1008
1008
|
.then(async () => {
|
1009
|
-
var _a, _b, _c;
|
1010
1009
|
this._table.highlightIds.removeAll();
|
1011
1010
|
this._table.clearSelectionFilter();
|
1012
1011
|
this._resetColumnTemplates();
|
1013
|
-
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1) {
|
1014
|
-
this._selectDefaultFeature(this.defaultOid);
|
1015
|
-
this._defaultOidHonored = true;
|
1016
|
-
}
|
1017
|
-
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0) {
|
1018
|
-
const features = await queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1019
|
-
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1020
|
-
if (oids) {
|
1021
|
-
this._selectDefaultFeature(oids);
|
1022
|
-
}
|
1023
|
-
this._defaultGlobalIdHonored = true;
|
1024
|
-
}
|
1025
|
-
if (!this._defaultFilterHonored && ((_c = this.defaultFilter) === null || _c === void 0 ? void 0 : _c.length) > 0 && this._filterList) {
|
1026
|
-
this._layerExpressions = this.defaultFilter;
|
1027
|
-
this._filterActive = true;
|
1028
|
-
this._defaultFilterHonored = true;
|
1029
|
-
}
|
1030
1012
|
this._showOnlySelected = false;
|
1013
|
+
await this._handleDefaults();
|
1031
1014
|
await this._sortTable();
|
1032
1015
|
this._initToolInfos();
|
1033
1016
|
this._updateToolbar();
|
1034
1017
|
});
|
1035
1018
|
}
|
1019
|
+
/**
|
1020
|
+
* Update the current IDs when that layers data is modified
|
1021
|
+
*/
|
1022
|
+
async _initLayerRefresh() {
|
1023
|
+
if (this._refreshHandle) {
|
1024
|
+
this._refreshHandle.remove();
|
1025
|
+
}
|
1026
|
+
this._refreshHandle = this._layer.on("refresh", (evt) => {
|
1027
|
+
if (evt.dataChanged) {
|
1028
|
+
this._skipOnChange = true;
|
1029
|
+
void this._updateAllIds();
|
1030
|
+
}
|
1031
|
+
});
|
1032
|
+
}
|
1033
|
+
/**
|
1034
|
+
* Reset _allIds when the layers data has changed and refresh the selection ids and table
|
1035
|
+
*/
|
1036
|
+
async _updateAllIds() {
|
1037
|
+
this._allIds = await queryAllIds(this._layer);
|
1038
|
+
this.selectedIds = this.selectedIds.filter(id => this._allIds.indexOf(id) > -1);
|
1039
|
+
await this._refresh();
|
1040
|
+
}
|
1041
|
+
/**
|
1042
|
+
* Handle default OID or GlobalID from url parameters
|
1043
|
+
*/
|
1044
|
+
async _handleDefaults() {
|
1045
|
+
var _a, _b;
|
1046
|
+
if (!this._defaultOidHonored && ((_a = this.defaultOid) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.defaultOid[0] > -1 && this._table) {
|
1047
|
+
await this._selectDefaultFeature(this.defaultOid);
|
1048
|
+
this._defaultOidHonored = true;
|
1049
|
+
this.defaultOid = undefined;
|
1050
|
+
this._showOnlySelected = false;
|
1051
|
+
this._toggleShowSelected();
|
1052
|
+
}
|
1053
|
+
if (!this._defaultGlobalIdHonored && ((_b = this.defaultGlobalId) === null || _b === void 0 ? void 0 : _b.length) > 0 && this._table) {
|
1054
|
+
const features = await queryFeaturesByGlobalID(this.defaultGlobalId, this._layer);
|
1055
|
+
const oids = (features === null || features === void 0 ? void 0 : features.length) > 0 ? features.map(f => f.getObjectId()) : undefined;
|
1056
|
+
if (oids) {
|
1057
|
+
await this._selectDefaultFeature(oids);
|
1058
|
+
}
|
1059
|
+
this._defaultGlobalIdHonored = true;
|
1060
|
+
this.defaultGlobalId = undefined;
|
1061
|
+
this._showOnlySelected = false;
|
1062
|
+
this._toggleShowSelected();
|
1063
|
+
}
|
1064
|
+
}
|
1036
1065
|
/**
|
1037
1066
|
* Store the column names and current hidden status to support show/hide of columns
|
1038
1067
|
* @param fieldNames optional list of names from new config options
|
@@ -1061,13 +1090,12 @@ export class LayerTable {
|
|
1061
1090
|
/**
|
1062
1091
|
* Select the feature that was specified via url params
|
1063
1092
|
*/
|
1064
|
-
_selectDefaultFeature(oids) {
|
1093
|
+
async _selectDefaultFeature(oids) {
|
1065
1094
|
if (oids.length > 0) {
|
1066
1095
|
this._table.highlightIds.addMany(oids);
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
});
|
1096
|
+
// This is messed up and only make this worse
|
1097
|
+
//const i = this._table.viewModel.getObjectIdIndex(oids[0]);
|
1098
|
+
//this._table.viewModel.scrollToIndex(i);
|
1071
1099
|
}
|
1072
1100
|
}
|
1073
1101
|
/**
|
@@ -1454,27 +1482,6 @@ export class LayerTable {
|
|
1454
1482
|
}
|
1455
1483
|
static get properties() {
|
1456
1484
|
return {
|
1457
|
-
"defaultFilter": {
|
1458
|
-
"type": "unknown",
|
1459
|
-
"mutable": false,
|
1460
|
-
"complexType": {
|
1461
|
-
"original": "LayerExpression[]",
|
1462
|
-
"resolved": "LayerExpression[]",
|
1463
|
-
"references": {
|
1464
|
-
"LayerExpression": {
|
1465
|
-
"location": "import",
|
1466
|
-
"path": "@esri/instant-apps-components",
|
1467
|
-
"id": ""
|
1468
|
-
}
|
1469
|
-
}
|
1470
|
-
},
|
1471
|
-
"required": false,
|
1472
|
-
"optional": false,
|
1473
|
-
"docs": {
|
1474
|
-
"tags": [],
|
1475
|
-
"text": "LayerExpression[]: default layer expression(s) to apply to the current layer"
|
1476
|
-
}
|
1477
|
-
},
|
1478
1485
|
"defaultGlobalId": {
|
1479
1486
|
"type": "unknown",
|
1480
1487
|
"mutable": false,
|
@@ -1806,6 +1813,12 @@ export class LayerTable {
|
|
1806
1813
|
static get elementRef() { return "el"; }
|
1807
1814
|
static get watchers() {
|
1808
1815
|
return [{
|
1816
|
+
"propName": "defaultOid",
|
1817
|
+
"methodName": "defaultOidWatchHandler"
|
1818
|
+
}, {
|
1819
|
+
"propName": "defaultGlobalId",
|
1820
|
+
"methodName": "defaultGlobalIdWatchHandler"
|
1821
|
+
}, {
|
1809
1822
|
"propName": "enableCSV",
|
1810
1823
|
"methodName": "enableCSVWatchHandler"
|
1811
1824
|
}, {
|
@@ -71,13 +71,27 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
71
71
|
constructor() {
|
72
72
|
super();
|
73
73
|
this.__registerHost();
|
74
|
+
//--------------------------------------------------------------------------
|
75
|
+
//
|
76
|
+
// Properties (protected)
|
77
|
+
//
|
78
|
+
//--------------------------------------------------------------------------
|
79
|
+
/**
|
80
|
+
* boolean: When true the map view will be set after render due to popup obstructing the view
|
81
|
+
* MapView.when is not fired when mapView is not currently visible
|
82
|
+
*/
|
83
|
+
this._defaultCenterHonored = false;
|
84
|
+
/**
|
85
|
+
* boolean: When true the map view will be set after render due to popup obstructing the view
|
86
|
+
* MapView.when is not fired when mapView is not currently visible
|
87
|
+
*/
|
88
|
+
this._defaultLevelHonored = false;
|
74
89
|
/**
|
75
90
|
* boolean: When true the map view will be set after render due to popup obstructing the view
|
76
91
|
* MapView.when is not fired when mapView is not currently visible
|
77
92
|
*/
|
78
93
|
this._shouldSetMapView = false;
|
79
94
|
this.defaultCenter = "";
|
80
|
-
this.defaultFilter = "";
|
81
95
|
this.defaultGlobalId = "";
|
82
96
|
this.defaultLayer = "";
|
83
97
|
this.defaultLevel = "";
|
@@ -122,39 +136,6 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
122
136
|
// Watch handlers
|
123
137
|
//
|
124
138
|
//--------------------------------------------------------------------------
|
125
|
-
/**
|
126
|
-
* Watch for center url param to be set
|
127
|
-
*/
|
128
|
-
defaultCenterWatchHandler() {
|
129
|
-
this._defaultCenter = !this.defaultCenter ? undefined :
|
130
|
-
this.defaultCenter.split(";").map(v => parseFloat(v));
|
131
|
-
}
|
132
|
-
/**
|
133
|
-
* Watch for filter url param to be set
|
134
|
-
*/
|
135
|
-
defaultFilterWatchHandler() {
|
136
|
-
this._defaultFilter = JSON.parse(this.defaultFilter);
|
137
|
-
}
|
138
|
-
/**
|
139
|
-
* Watch for globalid url param to be set
|
140
|
-
*/
|
141
|
-
defaultGlobalIdWatchHandler() {
|
142
|
-
this._defaultGlobalId = !this.defaultGlobalId ? undefined :
|
143
|
-
this.defaultGlobalId.indexOf(",") > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
144
|
-
}
|
145
|
-
/**
|
146
|
-
* Watch for oid url param to be set
|
147
|
-
*/
|
148
|
-
defaultOidWatchHandler() {
|
149
|
-
this._defaultOid = !this.defaultOid ? undefined :
|
150
|
-
this.defaultOid.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
151
|
-
}
|
152
|
-
/**
|
153
|
-
* Watch for zoom level param to be set
|
154
|
-
*/
|
155
|
-
defaultLevelWatchHandler() {
|
156
|
-
this._defaultLevel = !this.defaultLevel ? undefined : parseInt(this.defaultLevel, 10);
|
157
|
-
}
|
158
139
|
/**
|
159
140
|
* When true the map zoom tools will be available
|
160
141
|
*/
|
@@ -446,6 +427,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
446
427
|
* @protected
|
447
428
|
*/
|
448
429
|
_getTable(layoutMode, panelOpen, hideTable) {
|
430
|
+
var _a, _b;
|
449
431
|
const tableClass = hideTable && this._isMobile ? "visibility-hidden" : "";
|
450
432
|
const tableSizeClass = this._getTableSizeClass(layoutMode, panelOpen);
|
451
433
|
const icon = this._getDividerIcon(layoutMode, panelOpen);
|
@@ -454,7 +436,11 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
454
436
|
const toggleLayout = layoutMode === ELayoutMode.HORIZONTAL ? "horizontal" : "vertical";
|
455
437
|
const toggleSlot = layoutMode === ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
456
438
|
const hasMapAndLayer = this.defaultWebmap && this.defaultLayer;
|
457
|
-
|
439
|
+
const globalId = !this.defaultGlobalId ? undefined :
|
440
|
+
((_a = this.defaultGlobalId) === null || _a === void 0 ? void 0 : _a.indexOf(",")) > -1 ? this.defaultGlobalId.split(",") : [this.defaultGlobalId];
|
441
|
+
const defaultOid = !this.defaultOid ? undefined :
|
442
|
+
((_b = this.defaultOid) === null || _b === void 0 ? void 0 : _b.indexOf(",")) > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
443
|
+
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 }))));
|
458
444
|
}
|
459
445
|
/**
|
460
446
|
* Update the component layout when its size changes
|
@@ -507,17 +493,22 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
507
493
|
* @protected
|
508
494
|
*/
|
509
495
|
async _setMapView() {
|
496
|
+
var _a;
|
510
497
|
this._mapInfo = this._getMapInfo(this._mapChange.id);
|
511
498
|
this._mapView = this._mapChange.mapView;
|
512
499
|
this._initMapZoom();
|
513
500
|
this._mapView.popupEnabled = false;
|
514
|
-
|
501
|
+
const center = !this.defaultCenter || this._defaultCenterHonored ?
|
502
|
+
undefined : (_a = this.defaultCenter) === null || _a === void 0 ? void 0 : _a.split(";").map(v => parseFloat(v));
|
503
|
+
const zoom = !this.defaultLevel || this._defaultLevelHonored ?
|
504
|
+
undefined : parseInt(this.defaultLevel, 10);
|
505
|
+
if (center && zoom) {
|
515
506
|
await this._mapView.goTo({
|
516
|
-
center
|
517
|
-
zoom
|
507
|
+
center,
|
508
|
+
zoom
|
518
509
|
});
|
519
|
-
this.
|
520
|
-
this.
|
510
|
+
this._defaultCenterHonored = true;
|
511
|
+
this._defaultLevelHonored = true;
|
521
512
|
}
|
522
513
|
}
|
523
514
|
/**
|
@@ -549,17 +540,11 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
549
540
|
}
|
550
541
|
get el() { return this; }
|
551
542
|
static get watchers() { return {
|
552
|
-
"defaultCenter": ["defaultCenterWatchHandler"],
|
553
|
-
"defaultFilter": ["defaultFilterWatchHandler"],
|
554
|
-
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
555
|
-
"defaultOid": ["defaultOidWatchHandler"],
|
556
|
-
"defaultLevel": ["defaultLevelWatchHandler"],
|
557
543
|
"enableZoom": ["enableZoomWatchHandler"]
|
558
544
|
}; }
|
559
545
|
static get style() { return crowdsourceManagerCss; }
|
560
546
|
}, [0, "crowdsource-manager", {
|
561
547
|
"defaultCenter": [1, "default-center"],
|
562
|
-
"defaultFilter": [1, "default-filter"],
|
563
548
|
"defaultGlobalId": [1, "default-global-id"],
|
564
549
|
"defaultLayer": [1, "default-layer"],
|
565
550
|
"defaultLevel": [1, "default-level"],
|
@@ -599,11 +584,6 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
599
584
|
"_numSelected": [32],
|
600
585
|
"_tableOnly": [32]
|
601
586
|
}, [[8, "featureSelectionChange", "featureSelectionChange"], [8, "popupClosed", "popupClosed"], [8, "idsFound", "idsFound"], [8, "layoutChanged", "layoutChanged"], [8, "mapChanged", "mapChanged"], [8, "beforeMapChanged", "beforeMapChanged"], [8, "layerSelectionChange", "layerSelectionChange"]], {
|
602
|
-
"defaultCenter": ["defaultCenterWatchHandler"],
|
603
|
-
"defaultFilter": ["defaultFilterWatchHandler"],
|
604
|
-
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
605
|
-
"defaultOid": ["defaultOidWatchHandler"],
|
606
|
-
"defaultLevel": ["defaultLevelWatchHandler"],
|
607
587
|
"enableZoom": ["enableZoomWatchHandler"]
|
608
588
|
}]);
|
609
589
|
function defineCustomElement$1() {
|