@esri/solutions-components 0.6.13 → 0.6.15
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/assets/t9n/layer-table/resources.json +1 -1
- package/dist/assets/t9n/layer-table/resources_en.json +1 -1
- package/dist/assets/t9n/map-layer-picker/resources.json +4 -0
- package/dist/assets/t9n/map-layer-picker/resources_en.json +4 -0
- package/dist/cjs/basemap-gallery_6.cjs.entry.js +20 -5
- package/dist/cjs/buffer-tools_4.cjs.entry.js +1 -1
- package/dist/cjs/calcite-chip_3.cjs.entry.js +803 -0
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +76 -28
- package/dist/cjs/card-manager_3.cjs.entry.js +112 -54
- package/dist/cjs/crowdsource-manager.cjs.entry.js +18 -5
- package/dist/cjs/{downloadUtils-fb4744e0.js → downloadUtils-34a515ad.js} +2 -2
- package/dist/cjs/edit-card_2.cjs.entry.js +29 -18
- package/dist/cjs/{index.es-372e33de.js → index.es-0ba11065.js} +2 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
- package/dist/cjs/{mapViewUtils-a4dd36ec.js → mapViewUtils-a2884698.js} +39 -55
- package/dist/cjs/public-notification.cjs.entry.js +3 -3
- package/dist/cjs/{publicNotificationStore-b69862af.js → publicNotificationStore-610bd880.js} +0 -4
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/collection/components/basemap-gallery/basemap-gallery.js +23 -1
- package/dist/collection/components/card-manager/card-manager.js +2 -2
- package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +171 -5
- package/dist/collection/components/edit-card/edit-card.js +44 -21
- package/dist/collection/components/layer-table/layer-table.js +127 -47
- package/dist/collection/components/map-card/map-card.js +115 -5
- package/dist/collection/components/map-layer-picker/map-layer-picker.css +6 -0
- package/dist/collection/components/map-layer-picker/map-layer-picker.js +107 -27
- package/dist/collection/components/map-picker/map-picker.css +5 -1
- package/dist/collection/components/map-picker/map-picker.js +3 -3
- package/dist/collection/components/map-tools/map-tools.js +104 -1
- package/dist/collection/demos/crowdsource-manager.html +2 -2
- package/dist/collection/demos/new-public-notification.html +3 -3
- package/dist/collection/utils/interfaces.ts +12 -1
- package/dist/collection/utils/mapViewUtils.js +38 -52
- package/dist/collection/utils/mapViewUtils.ts +41 -57
- package/dist/collection/utils/publicNotificationStore.js +0 -4
- package/dist/collection/utils/publicNotificationStore.ts +0 -4
- package/dist/components/basemap-gallery2.js +2 -0
- package/dist/components/card-manager2.js +2 -2
- package/dist/components/crowdsource-manager.js +27 -6
- package/dist/components/edit-card2.js +29 -18
- package/dist/components/layer-table2.js +136 -78
- package/dist/components/map-card2.js +17 -5
- package/dist/components/map-layer-picker2.js +114 -52
- package/dist/components/map-picker2.js +4 -4
- package/dist/components/map-select-tools2.js +55 -43
- package/dist/components/map-tools2.js +20 -1
- package/dist/components/mapViewUtils.js +39 -53
- package/dist/components/public-notification.js +1 -1
- package/dist/components/publicNotificationStore.js +0 -4
- package/dist/components/refine-selection2.js +61 -49
- package/dist/esm/basemap-gallery_6.entry.js +20 -5
- package/dist/esm/buffer-tools_4.entry.js +1 -1
- package/dist/esm/calcite-chip_3.entry.js +797 -0
- package/dist/esm/calcite-combobox_6.entry.js +76 -28
- package/dist/esm/card-manager_3.entry.js +112 -54
- package/dist/esm/crowdsource-manager.entry.js +18 -5
- package/dist/esm/{downloadUtils-67c7a6c8.js → downloadUtils-ac67a786.js} +2 -2
- package/dist/esm/edit-card_2.entry.js +29 -18
- package/dist/esm/{index.es-59a67d3d.js → index.es-f553598f.js} +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/map-select-tools_3.entry.js +3 -3
- package/dist/esm/{mapViewUtils-00a04d52.js → mapViewUtils-8141d8c1.js} +39 -53
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/public-notification.entry.js +3 -3
- package/dist/esm/{publicNotificationStore-90a6a274.js → publicNotificationStore-dcf39a55.js} +0 -4
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/demos/crowdsource-manager.html +2 -2
- package/dist/solutions-components/demos/new-public-notification.html +3 -3
- package/dist/solutions-components/p-08b52ed8.entry.js +6 -0
- package/dist/solutions-components/p-16362eb4.js +36 -0
- package/dist/solutions-components/{p-3691a072.js → p-1ab414e0.js} +2 -2
- package/dist/solutions-components/{p-73ab9d9a.entry.js → p-3d7aa1b2.entry.js} +1 -1
- package/dist/solutions-components/{p-9a8c51bf.entry.js → p-57cf6784.entry.js} +1 -1
- package/dist/solutions-components/p-64b22d57.entry.js +6 -0
- package/dist/solutions-components/p-654dd5df.entry.js +6 -0
- package/dist/solutions-components/{p-0219a1a9.entry.js → p-83a52f9e.entry.js} +6 -6
- package/dist/solutions-components/{p-f9166fcb.js → p-a26711e8.js} +1 -1
- package/dist/solutions-components/{p-b892e595.entry.js → p-b9d29f30.entry.js} +1 -1
- package/dist/solutions-components/{p-1b41181b.js → p-c8d0ce92.js} +2 -2
- package/dist/solutions-components/p-ee7e2f00.entry.js +34 -0
- package/dist/solutions-components/p-ef6ec812.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +12 -1
- package/dist/solutions-components/utils/mapViewUtils.ts +41 -57
- package/dist/solutions-components/utils/publicNotificationStore.ts +0 -4
- package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +5 -0
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +37 -1
- package/dist/types/components/edit-card/edit-card.d.ts +10 -9
- package/dist/types/components/layer-table/layer-table.d.ts +40 -0
- package/dist/types/components/map-card/map-card.d.ts +25 -1
- package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +50 -3
- package/dist/types/components/map-picker/map-picker.d.ts +2 -2
- package/dist/types/components/map-tools/map-tools.d.ts +21 -1
- package/dist/types/components.d.ts +182 -2
- package/dist/types/preact.d.ts +6 -3
- package/dist/types/utils/interfaces.d.ts +10 -1
- package/dist/types/utils/mapViewUtils.d.ts +8 -24
- package/dist/types/utils/publicNotificationStore.d.ts +0 -2
- package/package.json +1 -1
- package/dist/cjs/calcite-chip.cjs.entry.js +0 -259
- package/dist/cjs/calcite-notice.cjs.entry.js +0 -139
- package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -439
- package/dist/esm/calcite-chip.entry.js +0 -255
- package/dist/esm/calcite-notice.entry.js +0 -135
- package/dist/esm/calcite-tooltip.entry.js +0 -435
- package/dist/solutions-components/p-2cff8331.entry.js +0 -6
- package/dist/solutions-components/p-3a6c8fc3.entry.js +0 -6
- package/dist/solutions-components/p-3b1fc7a2.entry.js +0 -6
- package/dist/solutions-components/p-767002cd.js +0 -36
- package/dist/solutions-components/p-a776b7e6.entry.js +0 -6
- package/dist/solutions-components/p-be36d5ed.entry.js +0 -22
- package/dist/solutions-components/p-c644edf5.entry.js +0 -11
- package/dist/solutions-components/p-cfd88a2f.entry.js +0 -11
@@ -24,78 +24,64 @@ import { EWorkflowType } from "./interfaces";
|
|
24
24
|
* Gets the layer names from the current map
|
25
25
|
*
|
26
26
|
* @param mapView the map view to fetch the layer names from
|
27
|
+
* @param onlyShowUpdatableLayers when true only layers that support editing and updates will be returned
|
27
28
|
*
|
28
29
|
* @returns Promise resolving with an array of layer names
|
29
30
|
*
|
30
31
|
*/
|
31
|
-
export async function getMapLayerHash(mapView) {
|
32
|
-
let layerHash
|
32
|
+
export async function getMapLayerHash(mapView, onlyShowUpdatableLayers) {
|
33
|
+
let layerHash;
|
33
34
|
await mapView.when(() => {
|
34
35
|
layerHash = mapView.map.allLayers.toArray().reduce((prev, cur) => {
|
35
36
|
if (cur.type === "feature") {
|
36
|
-
prev[cur.id] =
|
37
|
+
prev[cur.id] = {
|
38
|
+
name: cur.title,
|
39
|
+
supportsUpdate: undefined
|
40
|
+
};
|
37
41
|
}
|
38
42
|
return prev;
|
39
43
|
}, {});
|
40
44
|
});
|
41
|
-
return layerHash
|
45
|
+
return onlyShowUpdatableLayers ? Object.keys(layerHash).reduce(async (prev, cur) => {
|
46
|
+
const layer = await getLayerOrTable(mapView, cur);
|
47
|
+
await layer.when(() => {
|
48
|
+
prev[cur] = {
|
49
|
+
name: layerHash[cur].name,
|
50
|
+
supportsUpdate: layer.editingEnabled && layer.capabilities.operations.supportsUpdate
|
51
|
+
};
|
52
|
+
});
|
53
|
+
return prev;
|
54
|
+
}, {}) : layerHash;
|
42
55
|
}
|
43
56
|
/**
|
44
57
|
* Gets the table names from the current map
|
45
58
|
*
|
46
59
|
* @param mapView the map view to fetch the table names from
|
60
|
+
* @param onlyShowUpdatableLayers when true only layers that support editing and updates will be returned
|
47
61
|
*
|
48
62
|
* @returns Promise resolving with an array of table names
|
49
63
|
*
|
50
64
|
*/
|
51
|
-
export async function getMapTableHash(mapView) {
|
52
|
-
let tableHash
|
65
|
+
export async function getMapTableHash(mapView, onlyShowUpdatableTables) {
|
66
|
+
let tableHash;
|
53
67
|
await mapView.when(() => {
|
54
68
|
tableHash = mapView.map.allTables.toArray().reduce((prev, cur) => {
|
55
|
-
prev[cur.id] =
|
69
|
+
prev[cur.id] = {
|
70
|
+
name: cur.title,
|
71
|
+
supportsUpdate: undefined
|
72
|
+
};
|
56
73
|
return prev;
|
57
74
|
}, {});
|
58
75
|
});
|
59
|
-
return tableHash
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
*/
|
69
|
-
export async function getMapLayerIds(mapView) {
|
70
|
-
let layerIds = [];
|
71
|
-
await mapView.when(() => {
|
72
|
-
layerIds = mapView.map.allLayers.toArray().reduce((prev, cur) => {
|
73
|
-
if (cur.type === "feature") {
|
74
|
-
prev.push(cur.id);
|
75
|
-
}
|
76
|
-
return prev;
|
77
|
-
}, []);
|
78
|
-
});
|
79
|
-
return layerIds;
|
80
|
-
}
|
81
|
-
/**
|
82
|
-
* Gets the table names from the current map
|
83
|
-
*
|
84
|
-
* @param mapView the map view to fetch the table names from
|
85
|
-
*
|
86
|
-
* @returns Promise resolving with an array of table names
|
87
|
-
*
|
88
|
-
*/
|
89
|
-
export async function getMapTableIds(mapView) {
|
90
|
-
// TODO...seems like its the same as the hash...see if I can remove this
|
91
|
-
let tableIds = [];
|
92
|
-
await mapView.when(() => {
|
93
|
-
tableIds = mapView.map.allTables.toArray().reduce((prev, cur) => {
|
94
|
-
prev.push(cur.id);
|
95
|
-
return prev;
|
96
|
-
}, []);
|
97
|
-
});
|
98
|
-
return tableIds;
|
76
|
+
return onlyShowUpdatableTables ? Object.keys(tableHash).reduce(async (prev, cur) => {
|
77
|
+
const item = await getLayerOrTable(mapView, cur);
|
78
|
+
await item.load();
|
79
|
+
prev[cur] = {
|
80
|
+
name: tableHash[cur].name,
|
81
|
+
supportsUpdate: item.editingEnabled && item.capabilities.operations.supportsUpdate
|
82
|
+
};
|
83
|
+
return prev;
|
84
|
+
}, {}) : tableHash;
|
99
85
|
}
|
100
86
|
/**
|
101
87
|
* Get a layer view by id
|
@@ -107,19 +93,19 @@ export async function getMapTableIds(mapView) {
|
|
107
93
|
*
|
108
94
|
*/
|
109
95
|
export async function getFeatureLayerView(mapView, id) {
|
110
|
-
const layer = await
|
96
|
+
const layer = await getLayerOrTable(mapView, id);
|
111
97
|
return layer ? await mapView.whenLayerView(layer) : undefined;
|
112
98
|
}
|
113
99
|
/**
|
114
|
-
* Get a layer by id
|
100
|
+
* Get a layer or table by id
|
115
101
|
*
|
116
102
|
* @param mapView the map view to fetch the layer from
|
117
|
-
* @param id the id
|
103
|
+
* @param id the id of the layer or table to fetch
|
118
104
|
*
|
119
|
-
* @returns Promise resolving with the fetched layer
|
105
|
+
* @returns Promise resolving with the fetched layer or table
|
120
106
|
*
|
121
107
|
*/
|
122
|
-
export async function
|
108
|
+
export async function getLayerOrTable(mapView, id) {
|
123
109
|
let layers = [];
|
124
110
|
await mapView.when(() => {
|
125
111
|
layers = [
|
@@ -21,89 +21,73 @@ import { EWorkflowType, IMapItemHash, ISelectionSet } from "./interfaces";
|
|
21
21
|
* Gets the layer names from the current map
|
22
22
|
*
|
23
23
|
* @param mapView the map view to fetch the layer names from
|
24
|
+
* @param onlyShowUpdatableLayers when true only layers that support editing and updates will be returned
|
24
25
|
*
|
25
26
|
* @returns Promise resolving with an array of layer names
|
26
27
|
*
|
27
28
|
*/
|
28
29
|
export async function getMapLayerHash(
|
29
|
-
mapView: __esri.MapView
|
30
|
+
mapView: __esri.MapView,
|
31
|
+
onlyShowUpdatableLayers: boolean
|
30
32
|
): Promise<IMapItemHash> {
|
31
|
-
let layerHash
|
33
|
+
let layerHash;
|
32
34
|
await mapView.when(() => {
|
33
35
|
layerHash = mapView.map.allLayers.toArray().reduce((prev, cur) => {
|
34
36
|
if (cur.type === "feature") {
|
35
|
-
prev[cur.id] =
|
37
|
+
prev[cur.id] = {
|
38
|
+
name: cur.title,
|
39
|
+
supportsUpdate: undefined
|
40
|
+
};
|
36
41
|
}
|
37
42
|
return prev;
|
38
43
|
}, {});
|
39
44
|
});
|
40
|
-
|
45
|
+
|
46
|
+
return onlyShowUpdatableLayers ? Object.keys(layerHash).reduce(async (prev, cur) => {
|
47
|
+
const layer = await getLayerOrTable(mapView, cur);
|
48
|
+
await layer.when(() => {
|
49
|
+
prev[cur] = {
|
50
|
+
name: layerHash[cur].name,
|
51
|
+
supportsUpdate: layer.editingEnabled && layer.capabilities.operations.supportsUpdate
|
52
|
+
};
|
53
|
+
});
|
54
|
+
return prev;
|
55
|
+
}, {}) : layerHash;
|
41
56
|
}
|
42
57
|
|
43
58
|
/**
|
44
59
|
* Gets the table names from the current map
|
45
60
|
*
|
46
61
|
* @param mapView the map view to fetch the table names from
|
62
|
+
* @param onlyShowUpdatableLayers when true only layers that support editing and updates will be returned
|
47
63
|
*
|
48
64
|
* @returns Promise resolving with an array of table names
|
49
65
|
*
|
50
66
|
*/
|
51
67
|
export async function getMapTableHash(
|
52
|
-
mapView: __esri.MapView
|
68
|
+
mapView: __esri.MapView,
|
69
|
+
onlyShowUpdatableTables: boolean
|
53
70
|
): Promise<IMapItemHash> {
|
54
|
-
let tableHash
|
71
|
+
let tableHash;
|
55
72
|
await mapView.when(() => {
|
56
73
|
tableHash = mapView.map.allTables.toArray().reduce((prev, cur) => {
|
57
|
-
prev[cur.id] =
|
74
|
+
prev[cur.id] = {
|
75
|
+
name: cur.title,
|
76
|
+
supportsUpdate: undefined
|
77
|
+
};
|
58
78
|
return prev;
|
59
79
|
}, {});
|
60
80
|
});
|
61
|
-
return tableHash;
|
62
|
-
}
|
63
|
-
|
64
|
-
/**
|
65
|
-
* Gets the layer names from the current map
|
66
|
-
*
|
67
|
-
* @param mapView the map view to fetch the layer names from
|
68
|
-
*
|
69
|
-
* @returns Promise resolving with an array of layer names
|
70
|
-
*
|
71
|
-
*/
|
72
|
-
export async function getMapLayerIds(
|
73
|
-
mapView: __esri.MapView
|
74
|
-
): Promise<string[]> {
|
75
|
-
let layerIds = [];
|
76
|
-
await mapView.when(() => {
|
77
|
-
layerIds = mapView.map.allLayers.toArray().reduce((prev, cur) => {
|
78
|
-
if (cur.type === "feature") {
|
79
|
-
prev.push(cur.id);
|
80
|
-
}
|
81
|
-
return prev;
|
82
|
-
}, []);
|
83
|
-
});
|
84
|
-
return layerIds;
|
85
|
-
}
|
86
81
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
mapView: __esri.MapView
|
97
|
-
): Promise<string[]> {
|
98
|
-
// TODO...seems like its the same as the hash...see if I can remove this
|
99
|
-
let tableIds = [];
|
100
|
-
await mapView.when(() => {
|
101
|
-
tableIds = mapView.map.allTables.toArray().reduce((prev, cur) => {
|
102
|
-
prev.push(cur.id);
|
103
|
-
return prev;
|
104
|
-
}, []);
|
105
|
-
});
|
106
|
-
return tableIds;
|
82
|
+
return onlyShowUpdatableTables ? Object.keys(tableHash).reduce(async (prev, cur) => {
|
83
|
+
const item = await getLayerOrTable(mapView, cur);
|
84
|
+
await item.load();
|
85
|
+
prev[cur] = {
|
86
|
+
name: tableHash[cur].name,
|
87
|
+
supportsUpdate: item.editingEnabled && item.capabilities.operations.supportsUpdate
|
88
|
+
};
|
89
|
+
return prev;
|
90
|
+
}, {}) : tableHash;
|
107
91
|
}
|
108
92
|
|
109
93
|
/**
|
@@ -119,20 +103,20 @@ export async function getFeatureLayerView(
|
|
119
103
|
mapView: __esri.MapView,
|
120
104
|
id: string
|
121
105
|
): Promise<__esri.FeatureLayerView> {
|
122
|
-
const layer = await
|
106
|
+
const layer = await getLayerOrTable(mapView, id);
|
123
107
|
return layer ? await mapView.whenLayerView(layer) : undefined;
|
124
108
|
}
|
125
109
|
|
126
110
|
/**
|
127
|
-
* Get a layer by id
|
111
|
+
* Get a layer or table by id
|
128
112
|
*
|
129
113
|
* @param mapView the map view to fetch the layer from
|
130
|
-
* @param id the id
|
114
|
+
* @param id the id of the layer or table to fetch
|
131
115
|
*
|
132
|
-
* @returns Promise resolving with the fetched layer
|
116
|
+
* @returns Promise resolving with the fetched layer or table
|
133
117
|
*
|
134
118
|
*/
|
135
|
-
export async function
|
119
|
+
export async function getLayerOrTable(
|
136
120
|
mapView: __esri.MapView,
|
137
121
|
id: string
|
138
122
|
): Promise<__esri.FeatureLayer> {
|
@@ -26,10 +26,6 @@ const { state, onChange } = createStore({
|
|
26
26
|
managedTables: [],
|
27
27
|
// Handle[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Handles.html#Handle
|
28
28
|
highlightHandles: [],
|
29
|
-
// IMapItemHash title: id lookup to be used across components
|
30
|
-
layerNameHash: {},
|
31
|
-
// IMapItemHash title: id lookup to be used across components
|
32
|
-
tableNameHash: {},
|
33
29
|
// remove all handles
|
34
30
|
removeHandles: () => {
|
35
31
|
state.highlightHandles.forEach(h => h === null || h === void 0 ? void 0 : h.remove());
|
@@ -23,10 +23,6 @@ const { state, onChange } = createStore({
|
|
23
23
|
managedTables: [],
|
24
24
|
// Handle[]: https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Handles.html#Handle
|
25
25
|
highlightHandles: [],
|
26
|
-
// IMapItemHash title: id lookup to be used across components
|
27
|
-
layerNameHash: {},
|
28
|
-
// IMapItemHash title: id lookup to be used across components
|
29
|
-
tableNameHash: {},
|
30
26
|
// remove all handles
|
31
27
|
removeHandles: () => {
|
32
28
|
state.highlightHandles.forEach(h => h?.remove());
|
@@ -14,6 +14,7 @@ const BasemapGallery = /*@__PURE__*/ proxyCustomElement(class BasemapGallery ext
|
|
14
14
|
this.__registerHost();
|
15
15
|
this.__attachShadow();
|
16
16
|
this.mapView = undefined;
|
17
|
+
this.basemapConfig = undefined;
|
17
18
|
this.basemapWidget = undefined;
|
18
19
|
}
|
19
20
|
//--------------------------------------------------------------------------
|
@@ -98,6 +99,7 @@ const BasemapGallery = /*@__PURE__*/ proxyCustomElement(class BasemapGallery ext
|
|
98
99
|
static get style() { return basemapGalleryCss; }
|
99
100
|
}, [1, "basemap-gallery", {
|
100
101
|
"mapView": [16],
|
102
|
+
"basemapConfig": [16],
|
101
103
|
"basemapWidget": [16]
|
102
104
|
}]);
|
103
105
|
function defineCustomElement() {
|
@@ -6,7 +6,7 @@
|
|
6
6
|
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
7
7
|
import { g as getLocaleComponentStrings } from './locale.js';
|
8
8
|
import { q as queryFeaturesByID } from './queryUtils.js';
|
9
|
-
import { g as
|
9
|
+
import { g as getLayerOrTable } from './mapViewUtils.js';
|
10
10
|
import { d as defineCustomElement$a } from './alert.js';
|
11
11
|
import { d as defineCustomElement$9 } from './button.js';
|
12
12
|
import { d as defineCustomElement$8 } from './chip.js';
|
@@ -62,7 +62,7 @@ const CardManager = /*@__PURE__*/ proxyCustomElement(class CardManager extends H
|
|
62
62
|
*/
|
63
63
|
async layerSelectionChange(evt) {
|
64
64
|
const id = evt.detail[0];
|
65
|
-
this.layer = await
|
65
|
+
this.layer = await getLayerOrTable(this.mapView, id);
|
66
66
|
}
|
67
67
|
//--------------------------------------------------------------------------
|
68
68
|
//
|
@@ -62,10 +62,18 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
62
62
|
this._shouldSetMapView = false;
|
63
63
|
this.classicGrid = false;
|
64
64
|
this.enableAutoRefresh = true;
|
65
|
+
this.enableFullscreen = true;
|
65
66
|
this.enableInlineEdit = false;
|
67
|
+
this.enableLegend = true;
|
68
|
+
this.enableSearch = true;
|
69
|
+
this.enableHome = true;
|
70
|
+
this.enableZoom = true;
|
71
|
+
this.enableBasemap = true;
|
72
|
+
this.basemapConfig = undefined;
|
66
73
|
this.showNewestFirst = true;
|
67
74
|
this.hideMap = false;
|
68
75
|
this.mapInfos = [];
|
76
|
+
this.onlyShowUpdatableLayers = true;
|
69
77
|
this.searchConfiguration = undefined;
|
70
78
|
this.zoomAndScrollToSelected = false;
|
71
79
|
this._expandPopup = false;
|
@@ -100,13 +108,18 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
100
108
|
*/
|
101
109
|
async mapChanged(evt) {
|
102
110
|
this._mapChange = evt.detail;
|
111
|
+
await this._mapChange.mapView.when(() => {
|
112
|
+
this._setMapView();
|
113
|
+
});
|
114
|
+
}
|
115
|
+
/**
|
116
|
+
* Listen for beforeMapChanged and minimize the popup if it's expanded
|
117
|
+
*/
|
118
|
+
async beforeMapChanged() {
|
103
119
|
if (this._expandPopup) {
|
104
120
|
this._shouldSetMapView = true;
|
105
121
|
this._expandPopup = false;
|
106
122
|
}
|
107
|
-
else {
|
108
|
-
this._setMapView();
|
109
|
-
}
|
110
123
|
}
|
111
124
|
//--------------------------------------------------------------------------
|
112
125
|
//
|
@@ -265,7 +278,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
265
278
|
const mapDisplayClass = this.classicGrid && layoutMode === ELayoutMode.GRID ? "display-flex height-full width-1-2" :
|
266
279
|
layoutMode === ELayoutMode.GRID && !hideMap ? "" : "display-none";
|
267
280
|
const mapContainerClass = this.classicGrid && layoutMode === ELayoutMode.GRID ? "width-full" : this._expandPopup ? "height-50-px" : "adjusted-height-50";
|
268
|
-
return (h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, h("map-card", { class: "width-full", mapInfos: this.mapInfos })));
|
281
|
+
return (h("div", { class: `${mapContainerClass} overflow-hidden ${mapDisplayClass}` }, h("map-card", { basemapConfig: this.basemapConfig, class: "width-full", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapInfos: this.mapInfos })));
|
269
282
|
}
|
270
283
|
/**
|
271
284
|
* Get the expand node for the popup information
|
@@ -319,7 +332,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
319
332
|
const toggleSlot = this.classicGrid && layoutMode !== ELayoutMode.VERTICAL ? "footer" :
|
320
333
|
this.classicGrid && layoutMode === ELayoutMode.VERTICAL ? "panel-end" :
|
321
334
|
layoutMode === ELayoutMode.HORIZONTAL ? "header" : "panel-start";
|
322
|
-
return (h("calcite-shell", { class: tableSizeClass + " border-bottom" }, h("calcite-action-bar", { class: "border", 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))), h("div", { class: "width-full height-full position-relative" }, h("layer-table", { enableAutoRefresh: this.enableAutoRefresh, enableInlineEdit: this.enableInlineEdit, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
335
|
+
return (h("calcite-shell", { class: tableSizeClass + " border-bottom" }, h("calcite-action-bar", { class: "border", 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))), h("div", { class: "width-full height-full position-relative" }, h("layer-table", { enableAutoRefresh: this.enableAutoRefresh, enableInlineEdit: this.enableInlineEdit, mapInfo: this._mapInfo, mapView: this === null || this === void 0 ? void 0 : this._mapView, onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, showNewestFirst: this.showNewestFirst, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))));
|
323
336
|
}
|
324
337
|
/**
|
325
338
|
* Open/Close the appropriate panel.
|
@@ -372,10 +385,18 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
372
385
|
}, [0, "crowdsource-manager", {
|
373
386
|
"classicGrid": [4, "classic-grid"],
|
374
387
|
"enableAutoRefresh": [4, "enable-auto-refresh"],
|
388
|
+
"enableFullscreen": [4, "enable-fullscreen"],
|
375
389
|
"enableInlineEdit": [4, "enable-inline-edit"],
|
390
|
+
"enableLegend": [4, "enable-legend"],
|
391
|
+
"enableSearch": [4, "enable-search"],
|
392
|
+
"enableHome": [4, "enable-home"],
|
393
|
+
"enableZoom": [4, "enable-zoom"],
|
394
|
+
"enableBasemap": [4, "enable-basemap"],
|
395
|
+
"basemapConfig": [16],
|
376
396
|
"showNewestFirst": [4, "show-newest-first"],
|
377
397
|
"hideMap": [4, "hide-map"],
|
378
398
|
"mapInfos": [16],
|
399
|
+
"onlyShowUpdatableLayers": [4, "only-show-updatable-layers"],
|
379
400
|
"searchConfiguration": [16],
|
380
401
|
"zoomAndScrollToSelected": [4, "zoom-and-scroll-to-selected"],
|
381
402
|
"_expandPopup": [32],
|
@@ -383,7 +404,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
|
|
383
404
|
"_layoutMode": [32],
|
384
405
|
"_mapView": [32],
|
385
406
|
"_panelOpen": [32]
|
386
|
-
}, [[8, "layoutChanged", "layoutChanged"], [8, "mapChanged", "mapChanged"]]]);
|
407
|
+
}, [[8, "layoutChanged", "layoutChanged"], [8, "mapChanged", "mapChanged"], [8, "beforeMapChanged", "beforeMapChanged"]]]);
|
387
408
|
function defineCustomElement$1() {
|
388
409
|
if (typeof customElements === "undefined") {
|
389
410
|
return;
|
@@ -16,6 +16,7 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
16
16
|
super();
|
17
17
|
this.__registerHost();
|
18
18
|
this.closeEdit = createEvent(this, "closeEdit", 7);
|
19
|
+
this.editsComplete = createEvent(this, "editsComplete", 7);
|
19
20
|
/**
|
20
21
|
* boolean: When true the Editor widget should be closed
|
21
22
|
*/
|
@@ -34,20 +35,25 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
34
35
|
/**
|
35
36
|
* Watch for changes to the graphics and update the feature widget
|
36
37
|
*/
|
37
|
-
|
38
|
-
this.
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
*/
|
43
|
-
graphicsWatchHandler() {
|
44
|
-
this._initEditorWidget();
|
38
|
+
async graphicsWatchHandler() {
|
39
|
+
if (this.graphics.length === 0) {
|
40
|
+
this._shouldClose = false;
|
41
|
+
this.closeEdit.emit();
|
42
|
+
}
|
45
43
|
}
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
44
|
+
async openWatchHandler(v) {
|
45
|
+
var _a;
|
46
|
+
if (v && ((_a = this.graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 && this.graphicIndex > -1) {
|
47
|
+
this._initEditorWidget();
|
48
|
+
if (this.graphicIndex > -1 && this.graphics.length > 0 && this.open && !this._shouldClose) {
|
49
|
+
await this._editor.startUpdateWorkflowAtFeatureEdit(this.graphics[this.graphicIndex]);
|
50
|
+
this._shouldClose = true;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
if (!v) {
|
54
|
+
this._shouldClose = false;
|
55
|
+
this.closeEdit.emit();
|
56
|
+
}
|
51
57
|
}
|
52
58
|
//--------------------------------------------------------------------------
|
53
59
|
//
|
@@ -78,6 +84,10 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
78
84
|
}
|
79
85
|
if (((_a = this.graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 && ((_b = this.graphics[0]) === null || _b === void 0 ? void 0 : _b.layer)) {
|
80
86
|
this._layer = this.graphics[0].layer;
|
87
|
+
if (this._layerEditHandle) {
|
88
|
+
this._layerEditHandle.remove();
|
89
|
+
}
|
90
|
+
this._layerEditHandle = this._layer.on("edits", () => this.editsComplete.emit());
|
81
91
|
}
|
82
92
|
}
|
83
93
|
/**
|
@@ -134,15 +144,17 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
134
144
|
this._attachmentHandle.remove();
|
135
145
|
this._activeWorkflowHandle.remove();
|
136
146
|
}
|
137
|
-
this._attachmentHandle = this.reactiveUtils.when(() => this._editor.viewModel.state === "adding-attachment" ||
|
147
|
+
this._attachmentHandle = this.reactiveUtils.when(() => this._editor.viewModel.state === "adding-attachment" ||
|
148
|
+
this._editor.viewModel.state === "editing-attachment" ||
|
149
|
+
this._editor.viewModel.state === "creating-features", () => {
|
138
150
|
this._shouldClose = false;
|
139
151
|
});
|
140
152
|
this._editHandle = this.reactiveUtils.when(() => this._editor.viewModel.state === "ready", () => {
|
141
153
|
if (this._shouldClose) {
|
142
|
-
this.closeEdit.emit();
|
143
154
|
this._shouldClose = false;
|
155
|
+
this.closeEdit.emit();
|
144
156
|
}
|
145
|
-
if (this.graphicIndex > -1 && this.graphics.length > 0 && this.open && !this._shouldClose) {
|
157
|
+
else if (this.graphicIndex > -1 && this.graphics.length > 0 && this.open && !this._shouldClose) {
|
146
158
|
void this._editor.startUpdateWorkflowAtFeatureEdit(this.graphics[this.graphicIndex]);
|
147
159
|
this._shouldClose = true;
|
148
160
|
}
|
@@ -167,9 +179,8 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
|
|
167
179
|
}
|
168
180
|
get el() { return this; }
|
169
181
|
static get watchers() { return {
|
170
|
-
"graphicIndex": ["graphicIndexWatchHandler"],
|
171
182
|
"graphics": ["graphicsWatchHandler"],
|
172
|
-
"
|
183
|
+
"open": ["openWatchHandler"]
|
173
184
|
}; }
|
174
185
|
static get style() { return editCardCss; }
|
175
186
|
}, [0, "edit-card", {
|