@esri/solutions-components 0.7.24 → 0.7.25
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/{info-card_4.cjs.entry.js → basemap-gallery_7.cjs.entry.js} +410 -324
- package/dist/cjs/buffer-tools_3.cjs.entry.js +3 -4
- package/dist/cjs/{calcite-alert_3.cjs.entry.js → calcite-alert_4.cjs.entry.js} +296 -3
- package/dist/cjs/calcite-combobox_6.cjs.entry.js +1 -2
- package/dist/cjs/calcite-flow_4.cjs.entry.js +3 -4
- package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +1 -2
- package/dist/cjs/{card-manager_2.cjs.entry.js → card-manager_3.cjs.entry.js} +182 -5
- package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -2
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +32 -90
- package/dist/cjs/{downloadUtils-401356b5.js → downloadUtils-83c6d3c3.js} +6 -6
- package/dist/cjs/{index.es-a9a4ff08.js → index.es-bd1a93b2.js} +2 -2
- package/dist/cjs/layout-manager.cjs.entry.js +1 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{locale-1ff119f5.js → locale-a476e15d.js} +24 -3
- package/dist/cjs/map-select-tools_3.cjs.entry.js +4 -5
- package/dist/cjs/{popupUtils-8d5b6e94.js → popupUtils-a73902a6.js} +2 -2
- package/dist/cjs/public-notification.cjs.entry.js +3 -4
- package/dist/cjs/solution-configuration.cjs.entry.js +1 -2
- package/dist/cjs/solution-contents_3.cjs.entry.js +1 -2
- package/dist/cjs/solutions-components.cjs.js +1 -1
- package/dist/cjs/spatial-ref.cjs.entry.js +1 -2
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +5 -27
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +69 -95
- package/dist/collection/demos/crowdsource-reporter.html +96 -45
- package/dist/components/crowdsource-reporter.js +95 -209
- package/dist/esm/{info-card_4.entry.js → basemap-gallery_7.entry.js} +406 -323
- package/dist/esm/buffer-tools_3.entry.js +1 -2
- package/dist/esm/{calcite-alert_3.entry.js → calcite-alert_4.entry.js} +295 -3
- package/dist/esm/calcite-combobox_6.entry.js +1 -2
- package/dist/esm/calcite-flow_4.entry.js +3 -4
- package/dist/esm/calcite-shell-panel_14.entry.js +1 -2
- package/dist/esm/{card-manager_2.entry.js → card-manager_3.entry.js} +181 -5
- package/dist/esm/crowdsource-manager.entry.js +1 -2
- package/dist/esm/crowdsource-reporter.entry.js +32 -90
- package/dist/esm/{downloadUtils-067dc2ff.js → downloadUtils-a301c193.js} +2 -2
- package/dist/esm/{index.es-92e46d8b.js → index.es-37a9907e.js} +2 -2
- package/dist/esm/layout-manager.entry.js +1 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{locale-13e3c96c.js → locale-731e75a8.js} +22 -2
- package/dist/esm/map-select-tools_3.entry.js +2 -3
- package/dist/esm/{popupUtils-b71f30fc.js → popupUtils-a593bd78.js} +1 -1
- package/dist/esm/public-notification.entry.js +2 -3
- package/dist/esm/solution-configuration.entry.js +1 -2
- package/dist/esm/solution-contents_3.entry.js +1 -2
- package/dist/esm/solutions-components.js +1 -1
- package/dist/esm/spatial-ref.entry.js +1 -2
- package/dist/solutions-components/demos/crowdsource-reporter.html +96 -45
- package/dist/solutions-components/{p-36cbf14f.js → p-0587972d.js} +1 -1
- package/dist/solutions-components/p-0b4f4b0e.entry.js +6 -0
- package/dist/solutions-components/{p-f54f3719.entry.js → p-0b619197.entry.js} +1 -1
- package/dist/solutions-components/{p-d50f34c4.entry.js → p-2656c6e4.entry.js} +1 -1
- package/dist/solutions-components/p-284cc5cd.entry.js +6 -0
- package/dist/solutions-components/{p-01032eec.entry.js → p-29f661f5.entry.js} +2 -2
- package/dist/solutions-components/p-5af99fd8.entry.js +6 -0
- package/dist/solutions-components/{p-d9061e5d.entry.js → p-7116f96d.entry.js} +1 -1
- package/dist/solutions-components/p-7c13406e.entry.js +6 -0
- package/dist/solutions-components/{p-685257d1.entry.js → p-7dbccc10.entry.js} +1 -1
- package/dist/solutions-components/p-8308f64c.entry.js +6 -0
- package/dist/solutions-components/{p-ca4023f4.entry.js → p-891682da.entry.js} +1 -1
- package/dist/solutions-components/{p-14ff1465.js → p-a603e673.js} +2 -2
- package/dist/solutions-components/p-b37ec1f3.entry.js +6 -0
- package/dist/solutions-components/{p-fec77450.js → p-db868283.js} +1 -1
- package/dist/solutions-components/{p-fb1c6811.entry.js → p-dded59a7.entry.js} +1 -1
- package/dist/solutions-components/p-e88a64be.entry.js +6 -0
- package/dist/solutions-components/p-e902ba19.js +36 -0
- package/dist/solutions-components/p-fe295e9d.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +14 -28
- package/dist/types/components.d.ts +16 -0
- package/package.json +1 -1
- package/dist/cjs/basemap-gallery_5.cjs.entry.js +0 -573
- package/dist/cjs/loadModules-46d14e81.js +0 -30
- package/dist/esm/basemap-gallery_5.entry.js +0 -565
- package/dist/esm/loadModules-cea493da.js +0 -28
- package/dist/solutions-components/p-3606c4b8.entry.js +0 -6
- package/dist/solutions-components/p-48ff9cea.js +0 -21
- package/dist/solutions-components/p-5e832d65.entry.js +0 -6
- package/dist/solutions-components/p-8fc072ca.entry.js +0 -6
- package/dist/solutions-components/p-a2d3df14.entry.js +0 -6
- package/dist/solutions-components/p-ab006ace.js +0 -21
- package/dist/solutions-components/p-ba56035f.entry.js +0 -6
- package/dist/solutions-components/p-c0ed2b83.entry.js +0 -6
- package/dist/solutions-components/p-cc88bb42.entry.js +0 -6
- package/dist/solutions-components/p-db69f4ba.entry.js +0 -6
- package/dist/solutions-components/p-e3061220.entry.js +0 -6
@@ -8,9 +8,8 @@
|
|
8
8
|
Object.defineProperty(exports, '__esModule', { value: true });
|
9
9
|
|
10
10
|
const index = require('./index-b8a649fc.js');
|
11
|
-
const locale = require('./locale-
|
11
|
+
const locale = require('./locale-a476e15d.js');
|
12
12
|
const common = require('./common-4cd3537b.js');
|
13
|
-
require('./loadModules-46d14e81.js');
|
14
13
|
require('./esri-loader-a91c0ec1.js');
|
15
14
|
require('./_commonjsHelpers-384729db.js');
|
16
15
|
require('./solution-resource-abec7452.js');
|
@@ -21,7 +21,7 @@
|
|
21
21
|
}
|
22
22
|
|
23
23
|
.width-full {
|
24
|
-
width: 100
|
24
|
+
width: 100% !important;
|
25
25
|
}
|
26
26
|
|
27
27
|
.width-0 {
|
@@ -29,7 +29,7 @@
|
|
29
29
|
}
|
30
30
|
|
31
31
|
.height-full {
|
32
|
-
height: 100
|
32
|
+
height: 100% !important;
|
33
33
|
}
|
34
34
|
|
35
35
|
.height-0 {
|
@@ -64,29 +64,7 @@
|
|
64
64
|
padding: 10px;
|
65
65
|
}
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
height: 50%;
|
71
|
-
width: 100%;
|
72
|
-
}
|
73
|
-
|
74
|
-
.map-container-mobile {
|
75
|
-
height: calc(100% - 100px);
|
76
|
-
}
|
77
|
-
|
78
|
-
.side-panel {
|
79
|
-
padding: 2px;
|
80
|
-
width: 100%;
|
81
|
-
height: 50%;
|
82
|
-
position: absolute;
|
83
|
-
top: 50%;
|
84
|
-
left: 0;
|
85
|
-
z-index: 60;
|
86
|
-
}
|
87
|
-
|
88
|
-
.collapsed-side-panel {
|
89
|
-
top: calc(100% - 100px);
|
90
|
-
height: 100px;
|
91
|
-
}
|
67
|
+
.collapsed-side-panel {
|
68
|
+
top: calc(100% - 55px);
|
69
|
+
height: 54px;
|
92
70
|
}
|
@@ -23,6 +23,7 @@ import { getLocaleComponentStrings } from "../../utils/locale";
|
|
23
23
|
export class CrowdsourceReporter {
|
24
24
|
constructor() {
|
25
25
|
this.description = undefined;
|
26
|
+
this.isMobile = undefined;
|
26
27
|
this.enableAnonymousAccess = undefined;
|
27
28
|
this.enableAnonymousComments = undefined;
|
28
29
|
this.enableComments = undefined;
|
@@ -30,6 +31,7 @@ export class CrowdsourceReporter {
|
|
30
31
|
this.enableNewReports = undefined;
|
31
32
|
this.layers = undefined;
|
32
33
|
this.loginTitle = undefined;
|
34
|
+
this.mapView = undefined;
|
33
35
|
this.reportButtonText = undefined;
|
34
36
|
this.reportsHeader = undefined;
|
35
37
|
this.reportSubmittedMessage = undefined;
|
@@ -42,8 +44,6 @@ export class CrowdsourceReporter {
|
|
42
44
|
this.theme = "light";
|
43
45
|
this.enableZoom = true;
|
44
46
|
this._mapInfo = undefined;
|
45
|
-
this._mapView = undefined;
|
46
|
-
this._isMobile = false;
|
47
47
|
this._flowItems = ["layer-list"];
|
48
48
|
this._sidePanelCollapsed = false;
|
49
49
|
this._translations = undefined;
|
@@ -54,6 +54,22 @@ export class CrowdsourceReporter {
|
|
54
54
|
// Watch handlers
|
55
55
|
//
|
56
56
|
//--------------------------------------------------------------------------
|
57
|
+
/**
|
58
|
+
* Called each time the mapView prop is changed.
|
59
|
+
*/
|
60
|
+
async isMobileWatchHandler() {
|
61
|
+
if (this.isMobile) {
|
62
|
+
this._sidePanelCollapsed = false;
|
63
|
+
}
|
64
|
+
}
|
65
|
+
/**
|
66
|
+
* Called each time the mapView prop is changed.
|
67
|
+
*/
|
68
|
+
async mapViewWatchHandler() {
|
69
|
+
await this.mapView.when(async () => {
|
70
|
+
await this.setMapView();
|
71
|
+
});
|
72
|
+
}
|
57
73
|
//--------------------------------------------------------------------------
|
58
74
|
//
|
59
75
|
// Methods (public)
|
@@ -64,15 +80,6 @@ export class CrowdsourceReporter {
|
|
64
80
|
// Events (public)
|
65
81
|
//
|
66
82
|
//--------------------------------------------------------------------------
|
67
|
-
/**
|
68
|
-
* Listen for mapChanged event to be fired then store the new mapView so components will be updated
|
69
|
-
*/
|
70
|
-
async mapChanged(evt) {
|
71
|
-
this._mapChange = evt.detail;
|
72
|
-
await this._mapChange.mapView.when(async () => {
|
73
|
-
await this.setMapView();
|
74
|
-
});
|
75
|
-
}
|
76
83
|
//--------------------------------------------------------------------------
|
77
84
|
//
|
78
85
|
// Functions (lifecycle)
|
@@ -85,27 +92,12 @@ export class CrowdsourceReporter {
|
|
85
92
|
*/
|
86
93
|
async componentWillLoad() {
|
87
94
|
await this._getTranslations();
|
88
|
-
const mediaQueryList = window.matchMedia("screen and (max-width: 600px)");
|
89
|
-
this._isMobile = mediaQueryList.matches;
|
90
|
-
//on change update the state for is mobile and the sidePanelCollapsed
|
91
|
-
mediaQueryList.onchange = (e) => {
|
92
|
-
this._isMobile = e.matches;
|
93
|
-
this._sidePanelCollapsed = false;
|
94
|
-
};
|
95
95
|
}
|
96
96
|
/**
|
97
97
|
* Renders the component.
|
98
98
|
*/
|
99
99
|
render() {
|
100
|
-
|
101
|
-
let validConfiguration = true;
|
102
|
-
//Check if webMap id is configured
|
103
|
-
if (!this.mapInfos || this.mapInfos.length <= 0 || (((_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.length) > 0 && !((_b = this.mapInfos[0]) === null || _b === void 0 ? void 0 : _b.id))) {
|
104
|
-
validConfiguration = false;
|
105
|
-
}
|
106
|
-
return (h(Host, null, h("div", null, validConfiguration &&
|
107
|
-
h("calcite-shell", { "content-behind": true }, this._getReporter(), this._getMapNode()), !validConfiguration &&
|
108
|
-
h("calcite-notice", { class: "error-msg", icon: "configure", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this._translations.invalidConfigurationErrorMsg)))));
|
100
|
+
return (h(Host, null, h("div", null, h("calcite-shell", { "content-behind": true }, this._getReporter()))));
|
109
101
|
}
|
110
102
|
//--------------------------------------------------------------------------
|
111
103
|
//
|
@@ -133,11 +125,11 @@ export class CrowdsourceReporter {
|
|
133
125
|
});
|
134
126
|
let sidePanelClass = "side-panel";
|
135
127
|
//in case of mobile handle for collapsed styles of the panel
|
136
|
-
if (this.
|
128
|
+
if (this.isMobile && this._sidePanelCollapsed) {
|
137
129
|
sidePanelClass += " collapsed-side-panel";
|
138
130
|
}
|
139
131
|
const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
|
140
|
-
return (h("calcite-panel", { class: sidePanelClass + " " + themeClass }, this.
|
132
|
+
return (h("calcite-panel", { class: sidePanelClass + " width-full " + themeClass }, this.mapView
|
141
133
|
? h("calcite-flow", null, (renderLists === null || renderLists === void 0 ? void 0 : renderLists.length) > 0 && renderLists)
|
142
134
|
: h("calcite-loader", { scale: "m" })));
|
143
135
|
}
|
@@ -147,7 +139,7 @@ export class CrowdsourceReporter {
|
|
147
139
|
* @protected
|
148
140
|
*/
|
149
141
|
getLayerListFlowItem() {
|
150
|
-
return (h("calcite-flow-item", { collapsed: this.
|
142
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this._hasValidLayers && h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), this._hasValidLayers && h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports && h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this) }))));
|
151
143
|
}
|
152
144
|
/**
|
153
145
|
* When layer list is loaded, we will receive the list of layers, if its means we don't have any valid layer to be listed
|
@@ -198,14 +190,14 @@ export class CrowdsourceReporter {
|
|
198
190
|
* @protected
|
199
191
|
*/
|
200
192
|
getFeatureListFlowItem(layerId, layerName) {
|
201
|
-
return (h("calcite-flow-item", { collapsed: this.
|
193
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports && h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnMap: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 100, selectedLayerId: layerId }))));
|
202
194
|
}
|
203
195
|
/**
|
204
196
|
* Returns the calcite-flow item for feature details
|
205
197
|
* @returns Node
|
206
198
|
*/
|
207
199
|
getFeatureDetailsFlowItem() {
|
208
|
-
return (h("calcite-flow-item", { collapsed: this.
|
200
|
+
return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, zoomAndScrollToSelected: true }))));
|
209
201
|
}
|
210
202
|
/**
|
211
203
|
* Returns the action button to Expand/Collapse side panel in mobile mode
|
@@ -213,51 +205,14 @@ export class CrowdsourceReporter {
|
|
213
205
|
getActionToExpandCollapsePanel() {
|
214
206
|
return (h("calcite-action", { icon: this._sidePanelCollapsed ? "chevrons-up" : "chevrons-down", onClick: this.toggleSidePanel.bind(this), slot: "header-actions-end", text: this._sidePanelCollapsed ? this._translations.expand : this._translations.collapse }));
|
215
207
|
}
|
216
|
-
/**
|
217
|
-
* Get the map node based for the current layout options
|
218
|
-
* @returns the map node
|
219
|
-
* @protected
|
220
|
-
*/
|
221
|
-
_getMapNode() {
|
222
|
-
var _a;
|
223
|
-
let mapContainerClass = "overflow-hidden map-container";
|
224
|
-
if (this._isMobile) {
|
225
|
-
if (this._sidePanelCollapsed) {
|
226
|
-
mapContainerClass += " map-container-mobile";
|
227
|
-
}
|
228
|
-
}
|
229
|
-
else {
|
230
|
-
mapContainerClass += " height-full";
|
231
|
-
}
|
232
|
-
return (h("div", { class: mapContainerClass }, h("map-card", { class: "width-full", defaultWebmapId: this.defaultWebmap, enableBasemap: false, enableFloorFilter: false, enableFullscreen: false, enableHome: this.enableHome, enableLegend: true, enableSearch: this.enableSearch, enableSingleExpand: false, hidden: false, homeZoomIndex: 0, homeZoomPosition: "top-left", homeZoomToolsSize: "s", mapInfos: (_a = this.mapInfos) === null || _a === void 0 ? void 0 : _a.filter(mapInfo => mapInfo.visible !== false), mapWidgetsIndex: this.enableHome ? 4 : 3, mapWidgetsPosition: "top-left", mapWidgetsSize: "s", stackTools: false, theme: this.theme, toolOrder: ["search", "legend", "fullscreen", "basemap", "floorfilter"] })));
|
233
|
-
}
|
234
|
-
/**
|
235
|
-
* Get the current map info (configuration details) when maps change
|
236
|
-
* @param id Id of the map to be returned
|
237
|
-
* @returns IMapInfo for the provided id
|
238
|
-
* @protected
|
239
|
-
*/
|
240
|
-
getMapInfo(id) {
|
241
|
-
let mapInfo;
|
242
|
-
this.mapInfos.some(mi => {
|
243
|
-
if (mi.id === id) {
|
244
|
-
mapInfo = mi;
|
245
|
-
return true;
|
246
|
-
}
|
247
|
-
});
|
248
|
-
return Object.assign({}, mapInfo);
|
249
|
-
}
|
250
208
|
/**
|
251
209
|
* Set the current map info when maps change
|
252
210
|
* @protected
|
253
211
|
*/
|
254
212
|
async setMapView() {
|
255
|
-
this.
|
256
|
-
this._mapView = this._mapChange.mapView;
|
257
|
-
this.initMapZoom();
|
258
|
-
this._mapView.popupEnabled = false;
|
213
|
+
this.mapView.popupEnabled = false;
|
259
214
|
if (this._defaultCenter && this._defaultLevel) {
|
260
|
-
await this.
|
215
|
+
await this.mapView.goTo({
|
261
216
|
center: this._defaultCenter,
|
262
217
|
zoom: this._defaultLevel
|
263
218
|
});
|
@@ -265,22 +220,6 @@ export class CrowdsourceReporter {
|
|
265
220
|
this._defaultLevel = undefined;
|
266
221
|
}
|
267
222
|
}
|
268
|
-
/**
|
269
|
-
* Add/remove zoom tools based on enableZoom prop
|
270
|
-
* @protected
|
271
|
-
*/
|
272
|
-
initMapZoom() {
|
273
|
-
if (!this.enableZoom) {
|
274
|
-
this._mapView.ui.remove("zoom");
|
275
|
-
}
|
276
|
-
else if (this.enableZoom) {
|
277
|
-
this._mapView.ui.add({
|
278
|
-
component: "zoom",
|
279
|
-
position: "top-left",
|
280
|
-
index: 0
|
281
|
-
});
|
282
|
-
}
|
283
|
-
}
|
284
223
|
/**
|
285
224
|
* Fetches the component's translations
|
286
225
|
* @returns Promise when complete
|
@@ -320,6 +259,23 @@ export class CrowdsourceReporter {
|
|
320
259
|
"attribute": "description",
|
321
260
|
"reflect": false
|
322
261
|
},
|
262
|
+
"isMobile": {
|
263
|
+
"type": "boolean",
|
264
|
+
"mutable": false,
|
265
|
+
"complexType": {
|
266
|
+
"original": "boolean",
|
267
|
+
"resolved": "boolean",
|
268
|
+
"references": {}
|
269
|
+
},
|
270
|
+
"required": false,
|
271
|
+
"optional": false,
|
272
|
+
"docs": {
|
273
|
+
"tags": [],
|
274
|
+
"text": "boolean: When true the application will be in mobile mode, controls the mobile or desktop view"
|
275
|
+
},
|
276
|
+
"attribute": "is-mobile",
|
277
|
+
"reflect": false
|
278
|
+
},
|
323
279
|
"enableAnonymousAccess": {
|
324
280
|
"type": "boolean",
|
325
281
|
"mutable": false,
|
@@ -437,6 +393,26 @@ export class CrowdsourceReporter {
|
|
437
393
|
"attribute": "login-title",
|
438
394
|
"reflect": false
|
439
395
|
},
|
396
|
+
"mapView": {
|
397
|
+
"type": "unknown",
|
398
|
+
"mutable": false,
|
399
|
+
"complexType": {
|
400
|
+
"original": "__esri.MapView",
|
401
|
+
"resolved": "MapView",
|
402
|
+
"references": {
|
403
|
+
"___esri": {
|
404
|
+
"location": "global",
|
405
|
+
"id": "global::___esri"
|
406
|
+
}
|
407
|
+
}
|
408
|
+
},
|
409
|
+
"required": false,
|
410
|
+
"optional": false,
|
411
|
+
"docs": {
|
412
|
+
"tags": [],
|
413
|
+
"text": "esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
|
414
|
+
}
|
415
|
+
},
|
440
416
|
"reportButtonText": {
|
441
417
|
"type": "string",
|
442
418
|
"mutable": false,
|
@@ -649,8 +625,6 @@ export class CrowdsourceReporter {
|
|
649
625
|
static get states() {
|
650
626
|
return {
|
651
627
|
"_mapInfo": {},
|
652
|
-
"_mapView": {},
|
653
|
-
"_isMobile": {},
|
654
628
|
"_flowItems": {},
|
655
629
|
"_sidePanelCollapsed": {},
|
656
630
|
"_translations": {},
|
@@ -658,13 +632,13 @@ export class CrowdsourceReporter {
|
|
658
632
|
};
|
659
633
|
}
|
660
634
|
static get elementRef() { return "el"; }
|
661
|
-
static get
|
635
|
+
static get watchers() {
|
662
636
|
return [{
|
663
|
-
"
|
664
|
-
"
|
665
|
-
|
666
|
-
"
|
667
|
-
"
|
637
|
+
"propName": "isMobile",
|
638
|
+
"methodName": "isMobileWatchHandler"
|
639
|
+
}, {
|
640
|
+
"propName": "mapView",
|
641
|
+
"methodName": "mapViewWatchHandler"
|
668
642
|
}];
|
669
643
|
}
|
670
644
|
}
|
@@ -22,9 +22,34 @@
|
|
22
22
|
| limitations under the License.
|
23
23
|
-->
|
24
24
|
<style>
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
#viewDiv {
|
26
|
+
position: absolute;
|
27
|
+
top: 0px;
|
28
|
+
right: 0px;
|
29
|
+
bottom: 0px;
|
30
|
+
left: 390px;
|
31
|
+
}
|
32
|
+
#viewDiv[dir="rtl"] {
|
33
|
+
right: 390px;
|
34
|
+
left: 0px;
|
35
|
+
}
|
36
|
+
.over-map {
|
37
|
+
position: absolute;
|
38
|
+
left: 0px;
|
39
|
+
background-color: var(--calcite-color-foreground-1);
|
40
|
+
}
|
41
|
+
.over-map[dir="rtl"] {
|
42
|
+
right: 0px;
|
43
|
+
}
|
44
|
+
.column {
|
45
|
+
width: 360px;
|
46
|
+
padding: 1rem;
|
47
|
+
border: 1px solid var(--calcite-color-border-2);
|
48
|
+
height: -webkit-fill-available;
|
49
|
+
height: 100%;
|
50
|
+
}
|
51
|
+
.column[dir="rtl"] {
|
52
|
+
float: right;
|
28
53
|
}
|
29
54
|
</style>
|
30
55
|
|
@@ -37,64 +62,90 @@
|
|
37
62
|
<script type="module" src="../solutions-components.esm.js"></script>
|
38
63
|
|
39
64
|
<script>
|
40
|
-
|
65
|
+
require(["esri/WebMap", "esri/views/MapView", "esri/widgets/Legend", "esri/config"], (
|
66
|
+
WebMap,
|
67
|
+
MapView,
|
68
|
+
Legend,
|
69
|
+
esriConfig
|
70
|
+
) => {
|
41
71
|
const demo = document.getElementById("demo");
|
42
72
|
|
43
|
-
let headerSet = false;
|
44
|
-
let custom = [];
|
45
|
-
let portal;
|
46
|
-
//Support id and portal URL parameter
|
47
|
-
var vars = window.location.search.substring(1).split("&");
|
48
|
-
vars.forEach((param) => {
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
73
|
+
// let headerSet = false;
|
74
|
+
// let custom = [];
|
75
|
+
// let portal;
|
76
|
+
// //Support id and portal URL parameter
|
77
|
+
// var vars = window.location.search.substring(1).split("&");
|
78
|
+
// vars.forEach((param) => {
|
79
|
+
// let vals = param.split("=");
|
80
|
+
// const v = vals[1];
|
81
|
+
// switch (vals[0]) {
|
82
|
+
// case "id":
|
83
|
+
// custom = [{
|
84
|
+
// id: v,
|
85
|
+
// name: "Map from URL"
|
86
|
+
// }];
|
87
|
+
// break;
|
88
|
+
// case "portal":
|
89
|
+
// portal = v;
|
90
|
+
// default:
|
91
|
+
// break;
|
92
|
+
// }
|
93
|
+
// });
|
94
|
+
|
95
|
+
// if (portal) {
|
96
|
+
// esriConfig.portalUrl = portal;
|
97
|
+
// }
|
98
|
+
|
99
|
+
// demo.mapInfos = [{
|
100
|
+
// //id: "f8c4d99deb3c483cac296cc261e18a25", //blank no layers
|
101
|
+
// //id: "a7e880f7afbb471991d43c8c4f1438ac" // Se mapping
|
102
|
+
// //id: "c720e337ff814fe4a83bc244c46f8e43" //15 Layers
|
103
|
+
// //id: "f5186c798b9e40dab1078658ddbc28cf" // 30K features
|
104
|
+
// //id: "dda88d905a6748a5ab46bea5be795f33" // screening layers
|
105
|
+
// id: "b5bdcb1e5d684dd3b21a2d44b8e4f928" //Popup content
|
106
|
+
// }];
|
107
|
+
// //if id is passed in the url parameter use that mapInfos
|
108
|
+
// if (custom?.length > 0) {
|
109
|
+
// demo.mapInfos = custom;
|
110
|
+
// }
|
111
|
+
|
112
|
+
//esriConfig.portalUrl = "https://solutions.mapsdevext.arcgis.com";
|
113
|
+
var webMap = new WebMap({
|
114
|
+
portalItem: {
|
115
|
+
id: "b5bdcb1e5d684dd3b21a2d44b8e4f928"
|
62
116
|
}
|
63
117
|
});
|
64
118
|
|
65
|
-
|
66
|
-
|
67
|
-
|
119
|
+
demo.mapView = new MapView({
|
120
|
+
container: "viewDiv",
|
121
|
+
map: webMap
|
122
|
+
});
|
123
|
+
|
124
|
+
demo.mapView.when(() => {
|
125
|
+
// const legend = new Legend({
|
126
|
+
// view: demo.mapView
|
127
|
+
// });
|
128
|
+
// demo.mapView.ui.add(legend, "top-left");
|
129
|
+
});
|
68
130
|
|
69
|
-
demo.
|
70
|
-
|
71
|
-
|
72
|
-
//id: "c720e337ff814fe4a83bc244c46f8e43" //15 Layers
|
73
|
-
//id: "f5186c798b9e40dab1078658ddbc28cf" // 30K features
|
74
|
-
//id: "dda88d905a6748a5ab46bea5be795f33" // screening layers
|
75
|
-
id: "b5bdcb1e5d684dd3b21a2d44b8e4f928" //Popup content
|
76
|
-
}];
|
77
|
-
//if id is passed in the url parameter use that mapInfos
|
78
|
-
if (custom?.length > 0) {
|
79
|
-
demo.mapInfos = custom;
|
80
|
-
}
|
81
|
-
demo.enableHome = true;
|
82
|
-
demo.enableSearch = true;
|
83
|
-
demo.enableZoom = true;
|
131
|
+
// demo.enableHome = true;
|
132
|
+
// demo.enableSearch = true;
|
133
|
+
// demo.enableZoom = true;
|
84
134
|
demo.reportsHeader = "Reports";
|
85
135
|
demo.reportButtonText = "Report an incident";
|
86
136
|
demo.enableNewReports = true;
|
87
|
-
//Select reporting layers -
|
137
|
+
//Select reporting layers -
|
88
138
|
//demo.layers = ['SE_field_mapping_9688', 'SE_field_mapping_5784', 'SE_field_mapping_1853'];
|
89
139
|
//demo.layers = ['Three_Layers_nested_4042', 'SE_sort_2889', 'SE_sort_756']; //screening layers
|
90
140
|
demo.theme = "light";
|
91
141
|
demo.reportSubmittedMessage = "Thank you";
|
92
|
-
}
|
142
|
+
});
|
93
143
|
</script>
|
94
144
|
</head>
|
95
145
|
|
96
146
|
<!-- <body class="calcite-mode-dark"> -->
|
97
|
-
<body
|
98
|
-
<
|
147
|
+
<body>
|
148
|
+
<div id="viewDiv"></div>
|
149
|
+
<crowdsource-reporter id="demo" class="over-map column"></crowdsource-reporter>
|
99
150
|
</body>
|
100
151
|
</html>
|