@esri/solutions-components 0.7.4 → 0.7.5
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/map-tools/resources.json +2 -2
- package/dist/assets/t9n/map-tools/resources_en.json +2 -2
- package/dist/cjs/basemap-gallery_7.cjs.entry.js +38 -20
- package/dist/cjs/calcite-alert_3.cjs.entry.js +17 -13
- package/dist/cjs/card-manager_3.cjs.entry.js +9 -9
- package/dist/cjs/crowdsource-manager.cjs.entry.js +30 -5
- 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 +70 -5
- package/dist/collection/components/edit-card/edit-card.js +30 -13
- package/dist/collection/components/info-card/info-card.js +12 -0
- package/dist/collection/components/layer-table/layer-table.css +7 -1
- package/dist/collection/components/layer-table/layer-table.js +7 -7
- package/dist/collection/components/map-card/map-card.js +1 -1
- package/dist/collection/components/map-fullscreen/map-fullscreen.js +33 -17
- package/dist/collection/components/map-tools/map-tools.js +22 -3
- package/dist/components/crowdsource-manager.js +34 -5
- package/dist/components/edit-card2.js +11 -13
- package/dist/components/info-card2.js +7 -1
- package/dist/components/layer-table2.js +8 -8
- package/dist/components/map-card2.js +1 -1
- package/dist/components/map-fullscreen2.js +17 -18
- package/dist/components/map-tools2.js +22 -3
- package/dist/esm/basemap-gallery_7.entry.js +38 -20
- package/dist/esm/calcite-alert_3.entry.js +17 -13
- package/dist/esm/card-manager_3.entry.js +9 -9
- package/dist/esm/crowdsource-manager.entry.js +30 -5
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/{p-3272b303.entry.js → p-14236e25.entry.js} +1 -1
- package/dist/solutions-components/p-4b3ebd24.entry.js +6 -0
- package/dist/solutions-components/p-a4a0c7c5.entry.js +6 -0
- package/dist/solutions-components/p-b070bd54.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +27 -2
- package/dist/types/components/edit-card/edit-card.d.ts +5 -0
- package/dist/types/components/info-card/info-card.d.ts +4 -0
- package/dist/types/components/layer-table/layer-table.d.ts +1 -1
- package/dist/types/components/map-fullscreen/map-fullscreen.d.ts +14 -1
- package/dist/types/components/map-tools/map-tools.d.ts +8 -0
- package/dist/types/components.d.ts +40 -0
- package/dist/types/preact.d.ts +5 -2
- package/package.json +1 -1
- package/dist/solutions-components/p-089dc6bf.entry.js +0 -6
- package/dist/solutions-components/p-dfb33c83.entry.js +0 -6
- package/dist/solutions-components/p-ed254530.entry.js +0 -6
@@ -4,7 +4,7 @@
|
|
4
4
|
"expand": "Expand",
|
5
5
|
"basemap": "Basemap",
|
6
6
|
"collapse": "Collapse",
|
7
|
-
"enterFullscreen": "Enter
|
8
|
-
"exitFullscreen": "Exit
|
7
|
+
"enterFullscreen": "Enter full screen",
|
8
|
+
"exitFullscreen": "Exit full screen",
|
9
9
|
"floorFilter": "Floor filter"
|
10
10
|
}
|
@@ -4,7 +4,7 @@
|
|
4
4
|
"expand": "Expand",
|
5
5
|
"basemap": "Basemap",
|
6
6
|
"collapse": "Collapse",
|
7
|
-
"enterFullscreen": "Enter
|
8
|
-
"exitFullscreen": "Exit
|
7
|
+
"enterFullscreen": "Enter full screen",
|
8
|
+
"exitFullscreen": "Exit full screen",
|
9
9
|
"floorFilter": "Floor filter"
|
10
10
|
}
|
@@ -215,6 +215,7 @@ const mapFullscreenCss = ":host{display:block}";
|
|
215
215
|
const MapFullscreen = class {
|
216
216
|
constructor(hostRef) {
|
217
217
|
index.registerInstance(this, hostRef);
|
218
|
+
this.fullscreenStateChange = index.createEvent(this, "fullscreenStateChange", 7);
|
218
219
|
this.mapView = undefined;
|
219
220
|
this.fullscreenWidget = undefined;
|
220
221
|
}
|
@@ -229,22 +230,12 @@ const MapFullscreen = class {
|
|
229
230
|
* @returns Promise when complete
|
230
231
|
*/
|
231
232
|
async mapViewWatchHandler() {
|
232
|
-
await this.mapView.when(() => {
|
233
|
-
this._initFullscreenWidget();
|
233
|
+
await this.mapView.when(async () => {
|
234
|
+
await this._initFullscreenWidget();
|
234
235
|
});
|
235
236
|
}
|
236
237
|
//--------------------------------------------------------------------------
|
237
238
|
//
|
238
|
-
// Methods (public)
|
239
|
-
//
|
240
|
-
//--------------------------------------------------------------------------
|
241
|
-
//--------------------------------------------------------------------------
|
242
|
-
//
|
243
|
-
// Events (public)
|
244
|
-
//
|
245
|
-
//--------------------------------------------------------------------------
|
246
|
-
//--------------------------------------------------------------------------
|
247
|
-
//
|
248
239
|
// Functions (lifecycle)
|
249
240
|
//
|
250
241
|
//--------------------------------------------------------------------------
|
@@ -265,13 +256,13 @@ const MapFullscreen = class {
|
|
265
256
|
* It's never called during the first render().
|
266
257
|
*/
|
267
258
|
async componentDidUpdate() {
|
268
|
-
this._initFullscreenWidget();
|
259
|
+
await this._initFullscreenWidget();
|
269
260
|
}
|
270
261
|
/**
|
271
262
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
272
263
|
*/
|
273
264
|
async componentDidLoad() {
|
274
|
-
this._initFullscreenWidget();
|
265
|
+
await this._initFullscreenWidget();
|
275
266
|
}
|
276
267
|
//--------------------------------------------------------------------------
|
277
268
|
//
|
@@ -286,21 +277,29 @@ const MapFullscreen = class {
|
|
286
277
|
* @protected
|
287
278
|
*/
|
288
279
|
async _initModules() {
|
289
|
-
const [Fullscreen] = await loadModules.loadModules([
|
290
|
-
"esri/widgets/Fullscreen"
|
280
|
+
const [Fullscreen, reactiveUtils] = await loadModules.loadModules([
|
281
|
+
"esri/widgets/Fullscreen",
|
282
|
+
"esri/core/reactiveUtils"
|
291
283
|
]);
|
292
284
|
this.Fullscreen = Fullscreen;
|
285
|
+
this.reactiveUtils = reactiveUtils;
|
293
286
|
}
|
294
287
|
/**
|
295
288
|
* Initialize the search widget
|
296
289
|
*
|
297
290
|
* @protected
|
298
291
|
*/
|
299
|
-
_initFullscreenWidget() {
|
292
|
+
async _initFullscreenWidget() {
|
300
293
|
if (this.mapView && this._fullscreenElement && !this.fullscreenWidget) {
|
301
294
|
this.fullscreenWidget = new this.Fullscreen({
|
302
295
|
view: this.mapView
|
303
296
|
});
|
297
|
+
await this.fullscreenWidget.when(() => {
|
298
|
+
if (this._fullscreenStateChangeHandle) {
|
299
|
+
this._fullscreenStateChangeHandle.remove();
|
300
|
+
}
|
301
|
+
this._fullscreenStateChangeHandle = this.reactiveUtils.watch(() => this.fullscreenWidget.viewModel.state, (state) => this.fullscreenStateChange.emit(state));
|
302
|
+
});
|
304
303
|
}
|
305
304
|
else if (this.fullscreenWidget) {
|
306
305
|
this.fullscreenWidget.view = this.mapView;
|
@@ -813,10 +812,14 @@ const MapTools = class {
|
|
813
812
|
async _showFullscreenWatchHandler(v) {
|
814
813
|
const fs = this._fullscreenElement.fullscreenWidget;
|
815
814
|
if (v) {
|
816
|
-
fs.viewModel.
|
815
|
+
if (fs.viewModel.state === "ready") {
|
816
|
+
fs.viewModel.enter();
|
817
|
+
}
|
817
818
|
}
|
818
819
|
else {
|
819
|
-
fs.viewModel.
|
820
|
+
if (fs.viewModel.state === "active") {
|
821
|
+
fs.viewModel.exit();
|
822
|
+
}
|
820
823
|
}
|
821
824
|
}
|
822
825
|
/**
|
@@ -893,7 +896,22 @@ const MapTools = class {
|
|
893
896
|
this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()) :
|
894
897
|
undefined, this.enableFloorFilter && this._hasFloorInfo ?
|
895
898
|
this._getActionGroup("urban-model", false, this._translations.floorFilter, () => this._toggleFloorFilter()) :
|
896
|
-
undefined)), index.h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), index.h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, resultGraphicEnabled: true, searchConfiguration: this.searchConfiguration }), index.h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), index.h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } }), index.h("floor-filter", { class: floorFilterClass, enabled: this.enableFloorFilter, mapView: this.mapView, ref: (el) => { this._floorFilterElement = el; } })));
|
899
|
+
undefined)), index.h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), index.h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, resultGraphicEnabled: true, searchConfiguration: this.searchConfiguration }), index.h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), index.h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, onFullscreenStateChange: (evt) => this._fullscreenStateChange(evt.detail), ref: (el) => { this._fullscreenElement = el; } }), index.h("floor-filter", { class: floorFilterClass, enabled: this.enableFloorFilter, mapView: this.mapView, ref: (el) => { this._floorFilterElement = el; } })));
|
900
|
+
}
|
901
|
+
/**
|
902
|
+
* Respond to fullscreen state change and ensure our state var is in sync
|
903
|
+
*
|
904
|
+
* @param state The fullscreen view model's state.
|
905
|
+
*
|
906
|
+
* @protected
|
907
|
+
*/
|
908
|
+
_fullscreenStateChange(state) {
|
909
|
+
if (state === "ready" && this._showFullscreen) {
|
910
|
+
this._showFullscreen = false;
|
911
|
+
}
|
912
|
+
else if (state === "active" && !this._showFullscreen) {
|
913
|
+
this._showFullscreen = true;
|
914
|
+
}
|
897
915
|
}
|
898
916
|
//--------------------------------------------------------------------------
|
899
917
|
//
|
@@ -318,6 +318,7 @@ const EditCard = class {
|
|
318
318
|
index.registerInstance(this, hostRef);
|
319
319
|
this.closeEdit = index.createEvent(this, "closeEdit", 7);
|
320
320
|
this.editsComplete = index.createEvent(this, "editsComplete", 7);
|
321
|
+
this.refreshGraphics = index.createEvent(this, "refreshGraphics", 7);
|
321
322
|
/**
|
322
323
|
* boolean: When true the Editor widget should be closed
|
323
324
|
*/
|
@@ -388,7 +389,7 @@ const EditCard = class {
|
|
388
389
|
}
|
389
390
|
this._layerEditHandle = this._layer.on("edits", () => {
|
390
391
|
this.editsComplete.emit();
|
391
|
-
|
392
|
+
this.open = false;
|
392
393
|
});
|
393
394
|
}
|
394
395
|
}
|
@@ -451,8 +452,7 @@ const EditCard = class {
|
|
451
452
|
},
|
452
453
|
container
|
453
454
|
});
|
454
|
-
if (this.
|
455
|
-
this._editHandle.remove();
|
455
|
+
if (this._attachmentHandle && this._activeWorkflowHandle) {
|
456
456
|
this._attachmentHandle.remove();
|
457
457
|
this._activeWorkflowHandle.remove();
|
458
458
|
}
|
@@ -461,18 +461,13 @@ const EditCard = class {
|
|
461
461
|
this._editor.viewModel.state === "creating-features", () => {
|
462
462
|
this._shouldClose = false;
|
463
463
|
});
|
464
|
-
this._editHandle = this.reactiveUtils.when(() => this._editor.viewModel.state === "ready", () => {
|
465
|
-
if (this._shouldClose) {
|
466
|
-
void this._closeEdit();
|
467
|
-
}
|
468
|
-
else if (this.graphicIndex > -1 && this.graphics.length > 0 && this.open && !this._shouldClose) {
|
469
|
-
void this._startUpdate();
|
470
|
-
}
|
471
|
-
});
|
472
464
|
this._activeWorkflowHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.activeWorkflow) === null || _a === void 0 ? void 0 : _a.activeWorkflow; }, (activeWorkflow) => {
|
473
465
|
if ((activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) === "update-table-record" || (activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) === "create-features") {
|
474
466
|
this._shouldClose = false;
|
475
467
|
}
|
468
|
+
if (!(activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) && !(activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.hasPendingEdits)) {
|
469
|
+
this.open = false;
|
470
|
+
}
|
476
471
|
});
|
477
472
|
// had issues with destroy before adding like this
|
478
473
|
this._editContainer.appendChild(container);
|
@@ -484,12 +479,15 @@ const EditCard = class {
|
|
484
479
|
* @returns void
|
485
480
|
*/
|
486
481
|
async _closeEdit() {
|
487
|
-
var _a, _b, _c;
|
482
|
+
var _a, _b, _c, _d;
|
488
483
|
this._shouldClose = true;
|
489
484
|
if ((_a = this._editor) === null || _a === void 0 ? void 0 : _a.activeWorkflow) {
|
490
485
|
await ((_b = this._editor) === null || _b === void 0 ? void 0 : _b.cancelWorkflow());
|
491
486
|
}
|
492
|
-
(_c = this.
|
487
|
+
if (this.graphicIndex > -1 && ((_c = this.graphics) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
488
|
+
this.refreshGraphics.emit(this.graphics);
|
489
|
+
}
|
490
|
+
(_d = this._editor) === null || _d === void 0 ? void 0 : _d.destroy();
|
493
491
|
this._shouldClose = false;
|
494
492
|
this.closeEdit.emit();
|
495
493
|
}
|
@@ -587,6 +585,12 @@ const InfoCard = class {
|
|
587
585
|
async closeEdit() {
|
588
586
|
this._editRecordOpen = false;
|
589
587
|
}
|
588
|
+
/**
|
589
|
+
* Refresh the info-card graphics
|
590
|
+
*/
|
591
|
+
async refreshGraphics(evt) {
|
592
|
+
this.graphics = [...evt.detail];
|
593
|
+
}
|
590
594
|
//--------------------------------------------------------------------------
|
591
595
|
//
|
592
596
|
// Functions (lifecycle)
|
@@ -106,7 +106,7 @@ const CardManager = class {
|
|
106
106
|
};
|
107
107
|
CardManager.style = cardManagerCss;
|
108
108
|
|
109
|
-
const layerTableCss = ":host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-ui-border-2)}.border-end{border-inline-end:1px solid var(--calcite-ui-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-ui-background)}.text-color{color:var(--calcite-ui-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-ui-danger)}.esri-feature-table vaadin-grid{border:none !important}vaadin-grid-cell-content{padding:var(--lumo-space-xs) var(--lumo-space-m) !important;font-size:14px !important}.share-action{position:absolute;right:0;margin-top:
|
109
|
+
const layerTableCss = ":host{display:block}.height-full{height:100%}.height-full-adjusted{height:calc(100% - 20px)}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-ui-border-2)}.border-end{border-inline-end:1px solid var(--calcite-ui-border-2)}.border-bottom{border-bottom:1px solid var(--calcite-ui-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51{height:51px}.height-50-px{height:50px}.bottom-left{position:absolute;left:0;bottom:0;padding-left:5px}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0;padding-right:5px}.height-19{height:19px}.background{background-color:var(--calcite-ui-background)}.text-color{color:var(--calcite-ui-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-ui-danger)}.esri-feature-table vaadin-grid{border:none !important}vaadin-grid-cell-content{padding:var(--lumo-space-xs) var(--lumo-space-m) !important;font-size:14px !important}.share-action{position:absolute;right:0;margin-top:4px;margin-inline-end:4px;margin-bottom:4px}html[dir=\"rtl\"] .share-action{left:0}.disabled{cursor:default !important;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled);pointer-events:none}.instant-app-share{height:42px !important;display:inline-flex}";
|
110
110
|
|
111
111
|
const LayerTable = class {
|
112
112
|
constructor(hostRef) {
|
@@ -699,7 +699,7 @@ const LayerTable = class {
|
|
699
699
|
* @returns VNode The node representing the DOM element that will contain the action
|
700
700
|
*/
|
701
701
|
_getShare(icon) {
|
702
|
-
return (index.h("div", { class: "share-action", id: this._getId(icon) }, index.h("instant-apps-social-share", { autoUpdateShareUrl: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, scale: "m", shareButtonColor: "neutral", socialMedia: true, view: this.mapView }), this._getToolTip("bottom", icon, this._translations.share)));
|
702
|
+
return (index.h("div", { class: "share-action", id: this._getId(icon) }, index.h("instant-apps-social-share", { autoUpdateShareUrl: false, class: "instant-app-share", popoverButtonIconScale: "s", ref: el => this._shareNode = el, scale: "m", shareButtonColor: "neutral", socialMedia: true, view: this.mapView }), this._getToolTip("bottom", icon, this._translations.share)));
|
703
703
|
}
|
704
704
|
/**
|
705
705
|
* Called each time the values that are used for custom url params change
|
@@ -818,11 +818,11 @@ const LayerTable = class {
|
|
818
818
|
* @returns void
|
819
819
|
*/
|
820
820
|
async _resetTable() {
|
821
|
-
var _a
|
821
|
+
var _a;
|
822
822
|
this._clearSelection();
|
823
823
|
this._allIds = [];
|
824
824
|
this.featureSelectionChange.emit(this._selectedIndexes);
|
825
|
-
const columnTemplates = this._getColumnTemplates(this._layer.id, (
|
825
|
+
const columnTemplates = this._getColumnTemplates(this._layer.id, (_a = this._layer) === null || _a === void 0 ? void 0 : _a.fields);
|
826
826
|
this._allIds = await mapViewUtils.queryAllIds(this._layer);
|
827
827
|
if (!this._table) {
|
828
828
|
await this._getTable(this._tableNode, columnTemplates);
|
@@ -1153,8 +1153,8 @@ const LayerTable = class {
|
|
1153
1153
|
if (fieldInfos) {
|
1154
1154
|
columnTemplates = columnTemplates ? columnTemplates.map(columnTemplate => {
|
1155
1155
|
fieldInfos.some(fieldInfo => {
|
1156
|
-
if (fieldInfo.
|
1157
|
-
columnTemplate.label = fieldInfo.
|
1156
|
+
if (fieldInfo.name === columnTemplate.fieldName) {
|
1157
|
+
columnTemplate.label = fieldInfo.alias;
|
1158
1158
|
return true;
|
1159
1159
|
}
|
1160
1160
|
});
|
@@ -1162,8 +1162,8 @@ const LayerTable = class {
|
|
1162
1162
|
}) : fieldInfos.map(fieldInfo => {
|
1163
1163
|
return {
|
1164
1164
|
type: "field",
|
1165
|
-
fieldName: fieldInfo.
|
1166
|
-
label: fieldInfo.
|
1165
|
+
fieldName: fieldInfo.name,
|
1166
|
+
label: fieldInfo.alias
|
1167
1167
|
};
|
1168
1168
|
});
|
1169
1169
|
}
|
@@ -1306,7 +1306,7 @@ const MapCard = class {
|
|
1306
1306
|
this.mapView = new this.MapView({
|
1307
1307
|
container: this._mapDiv,
|
1308
1308
|
map: webMap,
|
1309
|
-
resizeAlign: "
|
1309
|
+
resizeAlign: "center"
|
1310
1310
|
});
|
1311
1311
|
this._loadedId = id;
|
1312
1312
|
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
@@ -24,8 +24,10 @@ const CrowdsourceManager = class {
|
|
24
24
|
*/
|
25
25
|
this._shouldSetMapView = false;
|
26
26
|
this.classicGrid = false;
|
27
|
+
this.defaultCenter = "";
|
27
28
|
this.defaultGlobalId = "";
|
28
29
|
this.defaultLayer = "";
|
30
|
+
this.defaultLevel = "";
|
29
31
|
this.defaultOid = "";
|
30
32
|
this.defaultWebmap = "";
|
31
33
|
this.enableAutoRefresh = false;
|
@@ -59,6 +61,13 @@ const CrowdsourceManager = class {
|
|
59
61
|
// Watch handlers
|
60
62
|
//
|
61
63
|
//--------------------------------------------------------------------------
|
64
|
+
/**
|
65
|
+
* Watch for center url param to be set
|
66
|
+
*/
|
67
|
+
defaultCenterWatchHandler() {
|
68
|
+
this._defaultCenter = !this.defaultCenter ? undefined :
|
69
|
+
this.defaultCenter.split(";").map(v => parseFloat(v));
|
70
|
+
}
|
62
71
|
/**
|
63
72
|
* Watch for globalid url param to be set
|
64
73
|
*/
|
@@ -73,6 +82,12 @@ const CrowdsourceManager = class {
|
|
73
82
|
this._defaultOid = !this.defaultOid ? undefined :
|
74
83
|
this.defaultOid.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
75
84
|
}
|
85
|
+
/**
|
86
|
+
* Watch for zoom level param to be set
|
87
|
+
*/
|
88
|
+
defaultLevelWatchHandler() {
|
89
|
+
this._defaultLevel = !this.defaultLevel ? undefined : parseInt(this.defaultLevel, 10);
|
90
|
+
}
|
76
91
|
/**
|
77
92
|
* When true the map zoom tools will be available
|
78
93
|
*/
|
@@ -100,8 +115,8 @@ const CrowdsourceManager = class {
|
|
100
115
|
*/
|
101
116
|
async mapChanged(evt) {
|
102
117
|
this._mapChange = evt.detail;
|
103
|
-
await this._mapChange.mapView.when(() => {
|
104
|
-
this._setMapView();
|
118
|
+
await this._mapChange.mapView.when(async () => {
|
119
|
+
await this._setMapView();
|
105
120
|
});
|
106
121
|
}
|
107
122
|
/**
|
@@ -136,10 +151,10 @@ const CrowdsourceManager = class {
|
|
136
151
|
* Called after each render
|
137
152
|
* Used to delay the setting of the mapView when the popup is expaneded and obstructs the view
|
138
153
|
*/
|
139
|
-
componentDidRender() {
|
154
|
+
async componentDidRender() {
|
140
155
|
if (this._shouldSetMapView) {
|
141
156
|
this._shouldSetMapView = false;
|
142
|
-
this._setMapView();
|
157
|
+
await this._setMapView();
|
143
158
|
}
|
144
159
|
}
|
145
160
|
//--------------------------------------------------------------------------
|
@@ -361,11 +376,19 @@ const CrowdsourceManager = class {
|
|
361
376
|
*
|
362
377
|
* @protected
|
363
378
|
*/
|
364
|
-
_setMapView() {
|
379
|
+
async _setMapView() {
|
365
380
|
this._mapInfo = this._getMapInfo(this._mapChange.id);
|
366
381
|
this._mapView = this._mapChange.mapView;
|
367
382
|
this._initMapZoom();
|
368
383
|
this._mapView.popupEnabled = false;
|
384
|
+
if (this._defaultCenter && this._defaultLevel) {
|
385
|
+
await this._mapView.goTo({
|
386
|
+
center: this._defaultCenter,
|
387
|
+
zoom: this._defaultLevel
|
388
|
+
});
|
389
|
+
this._defaultCenter = undefined;
|
390
|
+
this._defaultLevel = undefined;
|
391
|
+
}
|
369
392
|
}
|
370
393
|
/**
|
371
394
|
* Add/remove zoom tools based on enableZoom prop
|
@@ -396,8 +419,10 @@ const CrowdsourceManager = class {
|
|
396
419
|
}
|
397
420
|
get el() { return index.getElement(this); }
|
398
421
|
static get watchers() { return {
|
422
|
+
"defaultCenter": ["defaultCenterWatchHandler"],
|
399
423
|
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
400
424
|
"defaultOid": ["defaultOidWatchHandler"],
|
425
|
+
"defaultLevel": ["defaultLevelWatchHandler"],
|
401
426
|
"enableZoom": ["enableZoomWatchHandler"]
|
402
427
|
}; }
|
403
428
|
};
|