@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
@@ -29,8 +29,10 @@ export class CrowdsourceManager {
|
|
29
29
|
*/
|
30
30
|
this._shouldSetMapView = false;
|
31
31
|
this.classicGrid = false;
|
32
|
+
this.defaultCenter = "";
|
32
33
|
this.defaultGlobalId = "";
|
33
34
|
this.defaultLayer = "";
|
35
|
+
this.defaultLevel = "";
|
34
36
|
this.defaultOid = "";
|
35
37
|
this.defaultWebmap = "";
|
36
38
|
this.enableAutoRefresh = false;
|
@@ -64,6 +66,13 @@ export class CrowdsourceManager {
|
|
64
66
|
// Watch handlers
|
65
67
|
//
|
66
68
|
//--------------------------------------------------------------------------
|
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
|
+
}
|
67
76
|
/**
|
68
77
|
* Watch for globalid url param to be set
|
69
78
|
*/
|
@@ -78,6 +87,12 @@ export class CrowdsourceManager {
|
|
78
87
|
this._defaultOid = !this.defaultOid ? undefined :
|
79
88
|
this.defaultOid.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
80
89
|
}
|
90
|
+
/**
|
91
|
+
* Watch for zoom level param to be set
|
92
|
+
*/
|
93
|
+
defaultLevelWatchHandler() {
|
94
|
+
this._defaultLevel = !this.defaultLevel ? undefined : parseInt(this.defaultLevel, 10);
|
95
|
+
}
|
81
96
|
/**
|
82
97
|
* When true the map zoom tools will be available
|
83
98
|
*/
|
@@ -105,8 +120,8 @@ export class CrowdsourceManager {
|
|
105
120
|
*/
|
106
121
|
async mapChanged(evt) {
|
107
122
|
this._mapChange = evt.detail;
|
108
|
-
await this._mapChange.mapView.when(() => {
|
109
|
-
this._setMapView();
|
123
|
+
await this._mapChange.mapView.when(async () => {
|
124
|
+
await this._setMapView();
|
110
125
|
});
|
111
126
|
}
|
112
127
|
/**
|
@@ -141,10 +156,10 @@ export class CrowdsourceManager {
|
|
141
156
|
* Called after each render
|
142
157
|
* Used to delay the setting of the mapView when the popup is expaneded and obstructs the view
|
143
158
|
*/
|
144
|
-
componentDidRender() {
|
159
|
+
async componentDidRender() {
|
145
160
|
if (this._shouldSetMapView) {
|
146
161
|
this._shouldSetMapView = false;
|
147
|
-
this._setMapView();
|
162
|
+
await this._setMapView();
|
148
163
|
}
|
149
164
|
}
|
150
165
|
//--------------------------------------------------------------------------
|
@@ -366,11 +381,19 @@ export class CrowdsourceManager {
|
|
366
381
|
*
|
367
382
|
* @protected
|
368
383
|
*/
|
369
|
-
_setMapView() {
|
384
|
+
async _setMapView() {
|
370
385
|
this._mapInfo = this._getMapInfo(this._mapChange.id);
|
371
386
|
this._mapView = this._mapChange.mapView;
|
372
387
|
this._initMapZoom();
|
373
388
|
this._mapView.popupEnabled = false;
|
389
|
+
if (this._defaultCenter && this._defaultLevel) {
|
390
|
+
await this._mapView.goTo({
|
391
|
+
center: this._defaultCenter,
|
392
|
+
zoom: this._defaultLevel
|
393
|
+
});
|
394
|
+
this._defaultCenter = undefined;
|
395
|
+
this._defaultLevel = undefined;
|
396
|
+
}
|
374
397
|
}
|
375
398
|
/**
|
376
399
|
* Add/remove zoom tools based on enableZoom prop
|
@@ -430,6 +453,24 @@ export class CrowdsourceManager {
|
|
430
453
|
"reflect": false,
|
431
454
|
"defaultValue": "false"
|
432
455
|
},
|
456
|
+
"defaultCenter": {
|
457
|
+
"type": "string",
|
458
|
+
"mutable": false,
|
459
|
+
"complexType": {
|
460
|
+
"original": "string",
|
461
|
+
"resolved": "string",
|
462
|
+
"references": {}
|
463
|
+
},
|
464
|
+
"required": false,
|
465
|
+
"optional": false,
|
466
|
+
"docs": {
|
467
|
+
"tags": [],
|
468
|
+
"text": "string: default center point values for the map\r\n; delimited x;y pair"
|
469
|
+
},
|
470
|
+
"attribute": "default-center",
|
471
|
+
"reflect": false,
|
472
|
+
"defaultValue": "\"\""
|
473
|
+
},
|
433
474
|
"defaultGlobalId": {
|
434
475
|
"type": "string",
|
435
476
|
"mutable": false,
|
@@ -466,6 +507,24 @@ export class CrowdsourceManager {
|
|
466
507
|
"reflect": false,
|
467
508
|
"defaultValue": "\"\""
|
468
509
|
},
|
510
|
+
"defaultLevel": {
|
511
|
+
"type": "string",
|
512
|
+
"mutable": false,
|
513
|
+
"complexType": {
|
514
|
+
"original": "string",
|
515
|
+
"resolved": "string",
|
516
|
+
"references": {}
|
517
|
+
},
|
518
|
+
"required": false,
|
519
|
+
"optional": false,
|
520
|
+
"docs": {
|
521
|
+
"tags": [],
|
522
|
+
"text": "string: default zoom level"
|
523
|
+
},
|
524
|
+
"attribute": "default-level",
|
525
|
+
"reflect": false,
|
526
|
+
"defaultValue": "\"\""
|
527
|
+
},
|
469
528
|
"defaultOid": {
|
470
529
|
"type": "string",
|
471
530
|
"mutable": false,
|
@@ -892,11 +951,17 @@ export class CrowdsourceManager {
|
|
892
951
|
static get elementRef() { return "el"; }
|
893
952
|
static get watchers() {
|
894
953
|
return [{
|
954
|
+
"propName": "defaultCenter",
|
955
|
+
"methodName": "defaultCenterWatchHandler"
|
956
|
+
}, {
|
895
957
|
"propName": "defaultGlobalId",
|
896
958
|
"methodName": "defaultGlobalIdWatchHandler"
|
897
959
|
}, {
|
898
960
|
"propName": "defaultOid",
|
899
961
|
"methodName": "defaultOidWatchHandler"
|
962
|
+
}, {
|
963
|
+
"propName": "defaultLevel",
|
964
|
+
"methodName": "defaultLevelWatchHandler"
|
900
965
|
}, {
|
901
966
|
"propName": "enableZoom",
|
902
967
|
"methodName": "enableZoomWatchHandler"
|
@@ -94,7 +94,7 @@ export class EditCard {
|
|
94
94
|
}
|
95
95
|
this._layerEditHandle = this._layer.on("edits", () => {
|
96
96
|
this.editsComplete.emit();
|
97
|
-
|
97
|
+
this.open = false;
|
98
98
|
});
|
99
99
|
}
|
100
100
|
}
|
@@ -157,8 +157,7 @@ export class EditCard {
|
|
157
157
|
},
|
158
158
|
container
|
159
159
|
});
|
160
|
-
if (this.
|
161
|
-
this._editHandle.remove();
|
160
|
+
if (this._attachmentHandle && this._activeWorkflowHandle) {
|
162
161
|
this._attachmentHandle.remove();
|
163
162
|
this._activeWorkflowHandle.remove();
|
164
163
|
}
|
@@ -167,18 +166,13 @@ export class EditCard {
|
|
167
166
|
this._editor.viewModel.state === "creating-features", () => {
|
168
167
|
this._shouldClose = false;
|
169
168
|
});
|
170
|
-
this._editHandle = this.reactiveUtils.when(() => this._editor.viewModel.state === "ready", () => {
|
171
|
-
if (this._shouldClose) {
|
172
|
-
void this._closeEdit();
|
173
|
-
}
|
174
|
-
else if (this.graphicIndex > -1 && this.graphics.length > 0 && this.open && !this._shouldClose) {
|
175
|
-
void this._startUpdate();
|
176
|
-
}
|
177
|
-
});
|
178
169
|
this._activeWorkflowHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.activeWorkflow) === null || _a === void 0 ? void 0 : _a.activeWorkflow; }, (activeWorkflow) => {
|
179
170
|
if ((activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) === "update-table-record" || (activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) === "create-features") {
|
180
171
|
this._shouldClose = false;
|
181
172
|
}
|
173
|
+
if (!(activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) && !(activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.hasPendingEdits)) {
|
174
|
+
this.open = false;
|
175
|
+
}
|
182
176
|
});
|
183
177
|
// had issues with destroy before adding like this
|
184
178
|
this._editContainer.appendChild(container);
|
@@ -190,12 +184,15 @@ export class EditCard {
|
|
190
184
|
* @returns void
|
191
185
|
*/
|
192
186
|
async _closeEdit() {
|
193
|
-
var _a, _b, _c;
|
187
|
+
var _a, _b, _c, _d;
|
194
188
|
this._shouldClose = true;
|
195
189
|
if ((_a = this._editor) === null || _a === void 0 ? void 0 : _a.activeWorkflow) {
|
196
190
|
await ((_b = this._editor) === null || _b === void 0 ? void 0 : _b.cancelWorkflow());
|
197
191
|
}
|
198
|
-
(_c = this.
|
192
|
+
if (this.graphicIndex > -1 && ((_c = this.graphics) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
193
|
+
this.refreshGraphics.emit(this.graphics);
|
194
|
+
}
|
195
|
+
(_d = this._editor) === null || _d === void 0 ? void 0 : _d.destroy();
|
199
196
|
this._shouldClose = false;
|
200
197
|
this.closeEdit.emit();
|
201
198
|
}
|
@@ -345,6 +342,26 @@ export class EditCard {
|
|
345
342
|
"resolved": "void",
|
346
343
|
"references": {}
|
347
344
|
}
|
345
|
+
}, {
|
346
|
+
"method": "refreshGraphics",
|
347
|
+
"name": "refreshGraphics",
|
348
|
+
"bubbles": true,
|
349
|
+
"cancelable": true,
|
350
|
+
"composed": true,
|
351
|
+
"docs": {
|
352
|
+
"tags": [],
|
353
|
+
"text": "Emitted on demand when the editor is closed to handle\r\nthings like attachment updates that don't fire the standard edit update event when complete"
|
354
|
+
},
|
355
|
+
"complexType": {
|
356
|
+
"original": "__esri.Graphic[]",
|
357
|
+
"resolved": "Graphic[]",
|
358
|
+
"references": {
|
359
|
+
"___esri": {
|
360
|
+
"location": "global",
|
361
|
+
"id": "global::___esri"
|
362
|
+
}
|
363
|
+
}
|
364
|
+
}
|
348
365
|
}];
|
349
366
|
}
|
350
367
|
static get elementRef() { return "el"; }
|
@@ -85,6 +85,12 @@ export class InfoCard {
|
|
85
85
|
async closeEdit() {
|
86
86
|
this._editRecordOpen = false;
|
87
87
|
}
|
88
|
+
/**
|
89
|
+
* Refresh the info-card graphics
|
90
|
+
*/
|
91
|
+
async refreshGraphics(evt) {
|
92
|
+
this.graphics = [...evt.detail];
|
93
|
+
}
|
88
94
|
//--------------------------------------------------------------------------
|
89
95
|
//
|
90
96
|
// Functions (lifecycle)
|
@@ -413,6 +419,12 @@ export class InfoCard {
|
|
413
419
|
"target": "window",
|
414
420
|
"capture": false,
|
415
421
|
"passive": false
|
422
|
+
}, {
|
423
|
+
"name": "refreshGraphics",
|
424
|
+
"method": "refreshGraphics",
|
425
|
+
"target": "window",
|
426
|
+
"capture": false,
|
427
|
+
"passive": false
|
416
428
|
}];
|
417
429
|
}
|
418
430
|
}
|
@@ -108,8 +108,9 @@ vaadin-grid-cell-content {
|
|
108
108
|
.share-action {
|
109
109
|
position: absolute;
|
110
110
|
right: 0;
|
111
|
-
margin-top:
|
111
|
+
margin-top: 4px;
|
112
112
|
margin-inline-end: 4px;
|
113
|
+
margin-bottom: 4px;
|
113
114
|
}
|
114
115
|
|
115
116
|
html[dir="rtl"] .share-action {
|
@@ -124,3 +125,8 @@ html[dir="rtl"] .share-action {
|
|
124
125
|
opacity: var(--calcite-ui-opacity-disabled);
|
125
126
|
pointer-events: none;
|
126
127
|
}
|
128
|
+
|
129
|
+
.instant-app-share {
|
130
|
+
height: 42px !important;
|
131
|
+
display: inline-flex;
|
132
|
+
}
|
@@ -613,7 +613,7 @@ export class LayerTable {
|
|
613
613
|
* @returns VNode The node representing the DOM element that will contain the action
|
614
614
|
*/
|
615
615
|
_getShare(icon) {
|
616
|
-
return (h("div", { class: "share-action", id: this._getId(icon) }, 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)));
|
616
|
+
return (h("div", { class: "share-action", id: this._getId(icon) }, 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)));
|
617
617
|
}
|
618
618
|
/**
|
619
619
|
* Called each time the values that are used for custom url params change
|
@@ -732,11 +732,11 @@ export class LayerTable {
|
|
732
732
|
* @returns void
|
733
733
|
*/
|
734
734
|
async _resetTable() {
|
735
|
-
var _a
|
735
|
+
var _a;
|
736
736
|
this._clearSelection();
|
737
737
|
this._allIds = [];
|
738
738
|
this.featureSelectionChange.emit(this._selectedIndexes);
|
739
|
-
const columnTemplates = this._getColumnTemplates(this._layer.id, (
|
739
|
+
const columnTemplates = this._getColumnTemplates(this._layer.id, (_a = this._layer) === null || _a === void 0 ? void 0 : _a.fields);
|
740
740
|
this._allIds = await queryAllIds(this._layer);
|
741
741
|
if (!this._table) {
|
742
742
|
await this._getTable(this._tableNode, columnTemplates);
|
@@ -1067,8 +1067,8 @@ export class LayerTable {
|
|
1067
1067
|
if (fieldInfos) {
|
1068
1068
|
columnTemplates = columnTemplates ? columnTemplates.map(columnTemplate => {
|
1069
1069
|
fieldInfos.some(fieldInfo => {
|
1070
|
-
if (fieldInfo.
|
1071
|
-
columnTemplate.label = fieldInfo.
|
1070
|
+
if (fieldInfo.name === columnTemplate.fieldName) {
|
1071
|
+
columnTemplate.label = fieldInfo.alias;
|
1072
1072
|
return true;
|
1073
1073
|
}
|
1074
1074
|
});
|
@@ -1076,8 +1076,8 @@ export class LayerTable {
|
|
1076
1076
|
}) : fieldInfos.map(fieldInfo => {
|
1077
1077
|
return {
|
1078
1078
|
type: "field",
|
1079
|
-
fieldName: fieldInfo.
|
1080
|
-
label: fieldInfo.
|
1079
|
+
fieldName: fieldInfo.name,
|
1080
|
+
label: fieldInfo.alias
|
1081
1081
|
};
|
1082
1082
|
});
|
1083
1083
|
}
|
@@ -134,7 +134,7 @@ export class MapCard {
|
|
134
134
|
this.mapView = new this.MapView({
|
135
135
|
container: this._mapDiv,
|
136
136
|
map: webMap,
|
137
|
-
resizeAlign: "
|
137
|
+
resizeAlign: "center"
|
138
138
|
});
|
139
139
|
this._loadedId = id;
|
140
140
|
this._searchConfiguration = this._webMapInfo.searchConfiguration;
|
@@ -36,22 +36,12 @@ export class MapFullscreen {
|
|
36
36
|
* @returns Promise when complete
|
37
37
|
*/
|
38
38
|
async mapViewWatchHandler() {
|
39
|
-
await this.mapView.when(() => {
|
40
|
-
this._initFullscreenWidget();
|
39
|
+
await this.mapView.when(async () => {
|
40
|
+
await this._initFullscreenWidget();
|
41
41
|
});
|
42
42
|
}
|
43
43
|
//--------------------------------------------------------------------------
|
44
44
|
//
|
45
|
-
// Methods (public)
|
46
|
-
//
|
47
|
-
//--------------------------------------------------------------------------
|
48
|
-
//--------------------------------------------------------------------------
|
49
|
-
//
|
50
|
-
// Events (public)
|
51
|
-
//
|
52
|
-
//--------------------------------------------------------------------------
|
53
|
-
//--------------------------------------------------------------------------
|
54
|
-
//
|
55
45
|
// Functions (lifecycle)
|
56
46
|
//
|
57
47
|
//--------------------------------------------------------------------------
|
@@ -72,13 +62,13 @@ export class MapFullscreen {
|
|
72
62
|
* It's never called during the first render().
|
73
63
|
*/
|
74
64
|
async componentDidUpdate() {
|
75
|
-
this._initFullscreenWidget();
|
65
|
+
await this._initFullscreenWidget();
|
76
66
|
}
|
77
67
|
/**
|
78
68
|
* StencilJS: Called once just after the component is fully loaded and the first render() occurs.
|
79
69
|
*/
|
80
70
|
async componentDidLoad() {
|
81
|
-
this._initFullscreenWidget();
|
71
|
+
await this._initFullscreenWidget();
|
82
72
|
}
|
83
73
|
//--------------------------------------------------------------------------
|
84
74
|
//
|
@@ -93,21 +83,29 @@ export class MapFullscreen {
|
|
93
83
|
* @protected
|
94
84
|
*/
|
95
85
|
async _initModules() {
|
96
|
-
const [Fullscreen] = await loadModules([
|
97
|
-
"esri/widgets/Fullscreen"
|
86
|
+
const [Fullscreen, reactiveUtils] = await loadModules([
|
87
|
+
"esri/widgets/Fullscreen",
|
88
|
+
"esri/core/reactiveUtils"
|
98
89
|
]);
|
99
90
|
this.Fullscreen = Fullscreen;
|
91
|
+
this.reactiveUtils = reactiveUtils;
|
100
92
|
}
|
101
93
|
/**
|
102
94
|
* Initialize the search widget
|
103
95
|
*
|
104
96
|
* @protected
|
105
97
|
*/
|
106
|
-
_initFullscreenWidget() {
|
98
|
+
async _initFullscreenWidget() {
|
107
99
|
if (this.mapView && this._fullscreenElement && !this.fullscreenWidget) {
|
108
100
|
this.fullscreenWidget = new this.Fullscreen({
|
109
101
|
view: this.mapView
|
110
102
|
});
|
103
|
+
await this.fullscreenWidget.when(() => {
|
104
|
+
if (this._fullscreenStateChangeHandle) {
|
105
|
+
this._fullscreenStateChangeHandle.remove();
|
106
|
+
}
|
107
|
+
this._fullscreenStateChangeHandle = this.reactiveUtils.watch(() => this.fullscreenWidget.viewModel.state, (state) => this.fullscreenStateChange.emit(state));
|
108
|
+
});
|
111
109
|
}
|
112
110
|
else if (this.fullscreenWidget) {
|
113
111
|
this.fullscreenWidget.view = this.mapView;
|
@@ -169,6 +167,24 @@ export class MapFullscreen {
|
|
169
167
|
}
|
170
168
|
};
|
171
169
|
}
|
170
|
+
static get events() {
|
171
|
+
return [{
|
172
|
+
"method": "fullscreenStateChange",
|
173
|
+
"name": "fullscreenStateChange",
|
174
|
+
"bubbles": true,
|
175
|
+
"cancelable": true,
|
176
|
+
"composed": true,
|
177
|
+
"docs": {
|
178
|
+
"tags": [],
|
179
|
+
"text": "Emitted on demand when the fullscreen widget state has changed"
|
180
|
+
},
|
181
|
+
"complexType": {
|
182
|
+
"original": "string",
|
183
|
+
"resolved": "string",
|
184
|
+
"references": {}
|
185
|
+
}
|
186
|
+
}];
|
187
|
+
}
|
172
188
|
static get watchers() {
|
173
189
|
return [{
|
174
190
|
"propName": "mapView",
|
@@ -89,10 +89,14 @@ export class MapTools {
|
|
89
89
|
async _showFullscreenWatchHandler(v) {
|
90
90
|
const fs = this._fullscreenElement.fullscreenWidget;
|
91
91
|
if (v) {
|
92
|
-
fs.viewModel.
|
92
|
+
if (fs.viewModel.state === "ready") {
|
93
|
+
fs.viewModel.enter();
|
94
|
+
}
|
93
95
|
}
|
94
96
|
else {
|
95
|
-
fs.viewModel.
|
97
|
+
if (fs.viewModel.state === "active") {
|
98
|
+
fs.viewModel.exit();
|
99
|
+
}
|
96
100
|
}
|
97
101
|
}
|
98
102
|
/**
|
@@ -169,7 +173,22 @@ export class MapTools {
|
|
169
173
|
this._getActionGroup("basemap", false, this._translations.basemap, () => this._toggleBasemapPicker()) :
|
170
174
|
undefined, this.enableFloorFilter && this._hasFloorInfo ?
|
171
175
|
this._getActionGroup("urban-model", false, this._translations.floorFilter, () => this._toggleFloorFilter()) :
|
172
|
-
undefined)), h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, resultGraphicEnabled: true, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, ref: (el) => { this._fullscreenElement = el; } }), h("floor-filter", { class: floorFilterClass, enabled: this.enableFloorFilter, mapView: this.mapView, ref: (el) => { this._floorFilterElement = el; } })));
|
176
|
+
undefined)), h("basemap-gallery", { basemapConfig: this.basemapConfig, class: basemapClass, mapView: this.mapView, ref: (el) => { this._basemapElement = el; } }), h("map-search", { class: searchClass, mapView: this.mapView, ref: (el) => { this._searchElement = el; }, resultGraphicEnabled: true, searchConfiguration: this.searchConfiguration }), h("map-legend", { class: legendClass, mapView: this.mapView, ref: (el) => { this._legendElement = el; } }), h("map-fullscreen", { class: fullscreenClass, mapView: this.mapView, onFullscreenStateChange: (evt) => this._fullscreenStateChange(evt.detail), ref: (el) => { this._fullscreenElement = el; } }), h("floor-filter", { class: floorFilterClass, enabled: this.enableFloorFilter, mapView: this.mapView, ref: (el) => { this._floorFilterElement = el; } })));
|
177
|
+
}
|
178
|
+
/**
|
179
|
+
* Respond to fullscreen state change and ensure our state var is in sync
|
180
|
+
*
|
181
|
+
* @param state The fullscreen view model's state.
|
182
|
+
*
|
183
|
+
* @protected
|
184
|
+
*/
|
185
|
+
_fullscreenStateChange(state) {
|
186
|
+
if (state === "ready" && this._showFullscreen) {
|
187
|
+
this._showFullscreen = false;
|
188
|
+
}
|
189
|
+
else if (state === "active" && !this._showFullscreen) {
|
190
|
+
this._showFullscreen = true;
|
191
|
+
}
|
173
192
|
}
|
174
193
|
//--------------------------------------------------------------------------
|
175
194
|
//
|
@@ -63,8 +63,10 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
63
63
|
*/
|
64
64
|
this._shouldSetMapView = false;
|
65
65
|
this.classicGrid = false;
|
66
|
+
this.defaultCenter = "";
|
66
67
|
this.defaultGlobalId = "";
|
67
68
|
this.defaultLayer = "";
|
69
|
+
this.defaultLevel = "";
|
68
70
|
this.defaultOid = "";
|
69
71
|
this.defaultWebmap = "";
|
70
72
|
this.enableAutoRefresh = false;
|
@@ -98,6 +100,13 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
98
100
|
// Watch handlers
|
99
101
|
//
|
100
102
|
//--------------------------------------------------------------------------
|
103
|
+
/**
|
104
|
+
* Watch for center url param to be set
|
105
|
+
*/
|
106
|
+
defaultCenterWatchHandler() {
|
107
|
+
this._defaultCenter = !this.defaultCenter ? undefined :
|
108
|
+
this.defaultCenter.split(";").map(v => parseFloat(v));
|
109
|
+
}
|
101
110
|
/**
|
102
111
|
* Watch for globalid url param to be set
|
103
112
|
*/
|
@@ -112,6 +121,12 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
112
121
|
this._defaultOid = !this.defaultOid ? undefined :
|
113
122
|
this.defaultOid.indexOf(",") > -1 ? this.defaultOid.split(",").map(o => parseInt(o, 10)) : [parseInt(this.defaultOid, 10)];
|
114
123
|
}
|
124
|
+
/**
|
125
|
+
* Watch for zoom level param to be set
|
126
|
+
*/
|
127
|
+
defaultLevelWatchHandler() {
|
128
|
+
this._defaultLevel = !this.defaultLevel ? undefined : parseInt(this.defaultLevel, 10);
|
129
|
+
}
|
115
130
|
/**
|
116
131
|
* When true the map zoom tools will be available
|
117
132
|
*/
|
@@ -139,8 +154,8 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
139
154
|
*/
|
140
155
|
async mapChanged(evt) {
|
141
156
|
this._mapChange = evt.detail;
|
142
|
-
await this._mapChange.mapView.when(() => {
|
143
|
-
this._setMapView();
|
157
|
+
await this._mapChange.mapView.when(async () => {
|
158
|
+
await this._setMapView();
|
144
159
|
});
|
145
160
|
}
|
146
161
|
/**
|
@@ -175,10 +190,10 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
175
190
|
* Called after each render
|
176
191
|
* Used to delay the setting of the mapView when the popup is expaneded and obstructs the view
|
177
192
|
*/
|
178
|
-
componentDidRender() {
|
193
|
+
async componentDidRender() {
|
179
194
|
if (this._shouldSetMapView) {
|
180
195
|
this._shouldSetMapView = false;
|
181
|
-
this._setMapView();
|
196
|
+
await this._setMapView();
|
182
197
|
}
|
183
198
|
}
|
184
199
|
//--------------------------------------------------------------------------
|
@@ -400,11 +415,19 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
400
415
|
*
|
401
416
|
* @protected
|
402
417
|
*/
|
403
|
-
_setMapView() {
|
418
|
+
async _setMapView() {
|
404
419
|
this._mapInfo = this._getMapInfo(this._mapChange.id);
|
405
420
|
this._mapView = this._mapChange.mapView;
|
406
421
|
this._initMapZoom();
|
407
422
|
this._mapView.popupEnabled = false;
|
423
|
+
if (this._defaultCenter && this._defaultLevel) {
|
424
|
+
await this._mapView.goTo({
|
425
|
+
center: this._defaultCenter,
|
426
|
+
zoom: this._defaultLevel
|
427
|
+
});
|
428
|
+
this._defaultCenter = undefined;
|
429
|
+
this._defaultLevel = undefined;
|
430
|
+
}
|
408
431
|
}
|
409
432
|
/**
|
410
433
|
* Add/remove zoom tools based on enableZoom prop
|
@@ -435,15 +458,19 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
435
458
|
}
|
436
459
|
get el() { return this; }
|
437
460
|
static get watchers() { return {
|
461
|
+
"defaultCenter": ["defaultCenterWatchHandler"],
|
438
462
|
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
439
463
|
"defaultOid": ["defaultOidWatchHandler"],
|
464
|
+
"defaultLevel": ["defaultLevelWatchHandler"],
|
440
465
|
"enableZoom": ["enableZoomWatchHandler"]
|
441
466
|
}; }
|
442
467
|
static get style() { return crowdsourceManagerCss; }
|
443
468
|
}, [0, "crowdsource-manager", {
|
444
469
|
"classicGrid": [4, "classic-grid"],
|
470
|
+
"defaultCenter": [1, "default-center"],
|
445
471
|
"defaultGlobalId": [1, "default-global-id"],
|
446
472
|
"defaultLayer": [1, "default-layer"],
|
473
|
+
"defaultLevel": [1, "default-level"],
|
447
474
|
"defaultOid": [1, "default-oid"],
|
448
475
|
"defaultWebmap": [1, "default-webmap"],
|
449
476
|
"enableAutoRefresh": [4, "enable-auto-refresh"],
|
@@ -472,8 +499,10 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
472
499
|
"_mapView": [32],
|
473
500
|
"_panelOpen": [32]
|
474
501
|
}, [[8, "layoutChanged", "layoutChanged"], [8, "mapChanged", "mapChanged"], [8, "beforeMapChanged", "beforeMapChanged"]], {
|
502
|
+
"defaultCenter": ["defaultCenterWatchHandler"],
|
475
503
|
"defaultGlobalId": ["defaultGlobalIdWatchHandler"],
|
476
504
|
"defaultOid": ["defaultOidWatchHandler"],
|
505
|
+
"defaultLevel": ["defaultLevelWatchHandler"],
|
477
506
|
"enableZoom": ["enableZoomWatchHandler"]
|
478
507
|
}]);
|
479
508
|
function defineCustomElement$1() {
|
@@ -19,6 +19,7 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
19
19
|
this.__registerHost();
|
20
20
|
this.closeEdit = createEvent(this, "closeEdit", 7);
|
21
21
|
this.editsComplete = createEvent(this, "editsComplete", 7);
|
22
|
+
this.refreshGraphics = createEvent(this, "refreshGraphics", 7);
|
22
23
|
/**
|
23
24
|
* boolean: When true the Editor widget should be closed
|
24
25
|
*/
|
@@ -89,7 +90,7 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
89
90
|
}
|
90
91
|
this._layerEditHandle = this._layer.on("edits", () => {
|
91
92
|
this.editsComplete.emit();
|
92
|
-
|
93
|
+
this.open = false;
|
93
94
|
});
|
94
95
|
}
|
95
96
|
}
|
@@ -152,8 +153,7 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
152
153
|
},
|
153
154
|
container
|
154
155
|
});
|
155
|
-
if (this.
|
156
|
-
this._editHandle.remove();
|
156
|
+
if (this._attachmentHandle && this._activeWorkflowHandle) {
|
157
157
|
this._attachmentHandle.remove();
|
158
158
|
this._activeWorkflowHandle.remove();
|
159
159
|
}
|
@@ -162,18 +162,13 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
162
162
|
this._editor.viewModel.state === "creating-features", () => {
|
163
163
|
this._shouldClose = false;
|
164
164
|
});
|
165
|
-
this._editHandle = this.reactiveUtils.when(() => this._editor.viewModel.state === "ready", () => {
|
166
|
-
if (this._shouldClose) {
|
167
|
-
void this._closeEdit();
|
168
|
-
}
|
169
|
-
else if (this.graphicIndex > -1 && this.graphics.length > 0 && this.open && !this._shouldClose) {
|
170
|
-
void this._startUpdate();
|
171
|
-
}
|
172
|
-
});
|
173
165
|
this._activeWorkflowHandle = this.reactiveUtils.watch(() => { var _a; return (_a = this._editor.viewModel.activeWorkflow) === null || _a === void 0 ? void 0 : _a.activeWorkflow; }, (activeWorkflow) => {
|
174
166
|
if ((activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) === "update-table-record" || (activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) === "create-features") {
|
175
167
|
this._shouldClose = false;
|
176
168
|
}
|
169
|
+
if (!(activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.type) && !(activeWorkflow === null || activeWorkflow === void 0 ? void 0 : activeWorkflow.hasPendingEdits)) {
|
170
|
+
this.open = false;
|
171
|
+
}
|
177
172
|
});
|
178
173
|
// had issues with destroy before adding like this
|
179
174
|
this._editContainer.appendChild(container);
|
@@ -185,12 +180,15 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
185
180
|
* @returns void
|
186
181
|
*/
|
187
182
|
async _closeEdit() {
|
188
|
-
var _a, _b, _c;
|
183
|
+
var _a, _b, _c, _d;
|
189
184
|
this._shouldClose = true;
|
190
185
|
if ((_a = this._editor) === null || _a === void 0 ? void 0 : _a.activeWorkflow) {
|
191
186
|
await ((_b = this._editor) === null || _b === void 0 ? void 0 : _b.cancelWorkflow());
|
192
187
|
}
|
193
|
-
(_c = this.
|
188
|
+
if (this.graphicIndex > -1 && ((_c = this.graphics) === null || _c === void 0 ? void 0 : _c.length) > 0) {
|
189
|
+
this.refreshGraphics.emit(this.graphics);
|
190
|
+
}
|
191
|
+
(_d = this._editor) === null || _d === void 0 ? void 0 : _d.destroy();
|
194
192
|
this._shouldClose = false;
|
195
193
|
this.closeEdit.emit();
|
196
194
|
}
|