@esri/solutions-components 0.8.6 → 0.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/crowdsource-manager.cjs.entry.js +6 -4
- package/dist/cjs/crowdsource-reporter.cjs.entry.js +6 -2
- 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 +102 -66
- package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +78 -2
- package/dist/collection/utils/interfaces.ts +16 -0
- package/dist/components/crowdsource-manager.js +12 -8
- package/dist/components/crowdsource-reporter.js +10 -2
- package/dist/esm/crowdsource-manager.entry.js +6 -4
- package/dist/esm/crowdsource-reporter.entry.js +6 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/solutions-components.js +1 -1
- package/dist/solutions-components/p-6db185bf.entry.js +6 -0
- package/dist/solutions-components/p-e8f13354.entry.js +6 -0
- package/dist/solutions-components/solutions-components.esm.js +1 -1
- package/dist/solutions-components/utils/interfaces.ts +16 -0
- package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +22 -14
- package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +17 -1
- package/dist/types/components.d.ts +50 -2
- package/dist/types/utils/interfaces.d.ts +14 -0
- package/package.json +1 -1
- package/dist/solutions-components/p-273d833b.entry.js +0 -6
- package/dist/solutions-components/p-45ed16d5.entry.js +0 -6
@@ -572,3 +572,19 @@ export interface IConsentResponse {
|
|
572
572
|
export interface IManagedLayers {
|
573
573
|
[key: string]: "buffer" | "sketch";
|
574
574
|
}
|
575
|
+
|
576
|
+
/**
|
577
|
+
* Key is the layers guid
|
578
|
+
*/
|
579
|
+
export interface IReportingOptions {
|
580
|
+
[key: string]: IReportOption;
|
581
|
+
}
|
582
|
+
|
583
|
+
export interface IReportOption {
|
584
|
+
reporting: boolean;
|
585
|
+
comment: boolean;
|
586
|
+
like: boolean;
|
587
|
+
dislike: boolean;
|
588
|
+
likeField: string;
|
589
|
+
dislikeField: string;
|
590
|
+
}
|
@@ -23,6 +23,10 @@ export declare class CrowdsourceManager {
|
|
23
23
|
* Array of objects containing proxy information for premium platform services.
|
24
24
|
*/
|
25
25
|
appProxies: any;
|
26
|
+
/**
|
27
|
+
* IBasemapConfig: List of any basemaps to filter out from the basemap widget
|
28
|
+
*/
|
29
|
+
basemapConfig: IBasemapConfig;
|
26
30
|
/**
|
27
31
|
* string: default center point values for the map
|
28
32
|
* ; delimited x;y pair
|
@@ -52,6 +56,10 @@ export declare class CrowdsourceManager {
|
|
52
56
|
* boolean: when true the layer table will auto refresh the data
|
53
57
|
*/
|
54
58
|
enableAutoRefresh: boolean;
|
59
|
+
/**
|
60
|
+
* boolean: when true the basemap widget will be available
|
61
|
+
*/
|
62
|
+
enableBasemap: boolean;
|
55
63
|
/**
|
56
64
|
* boolean: when true the layer table will support drag/drop of columns to adjust order
|
57
65
|
*/
|
@@ -68,6 +76,10 @@ export declare class CrowdsourceManager {
|
|
68
76
|
* boolean: when true the fullscreen widget will be available
|
69
77
|
*/
|
70
78
|
enableFullscreen: boolean;
|
79
|
+
/**
|
80
|
+
* boolean: when true the home widget will be available
|
81
|
+
*/
|
82
|
+
enableHome: boolean;
|
71
83
|
/**
|
72
84
|
* boolean: when true edits can be applied directly within the table
|
73
85
|
*/
|
@@ -84,26 +96,14 @@ export declare class CrowdsourceManager {
|
|
84
96
|
* boolean: when true the share widget will be available
|
85
97
|
*/
|
86
98
|
enableShare: boolean;
|
87
|
-
/**
|
88
|
-
* boolean: when true the home widget will be available
|
89
|
-
*/
|
90
|
-
enableHome: boolean;
|
91
99
|
/**
|
92
100
|
* boolean: when true the zoom widget will be available
|
93
101
|
*/
|
94
102
|
enableZoom: boolean;
|
95
103
|
/**
|
96
|
-
* boolean: when true the
|
97
|
-
*/
|
98
|
-
enableBasemap: boolean;
|
99
|
-
/**
|
100
|
-
* IBasemapConfig: List of any basemaps to filter out from the basemap widget
|
101
|
-
*/
|
102
|
-
basemapConfig: IBasemapConfig;
|
103
|
-
/**
|
104
|
-
* boolean: when true the table will be sorted by objectid in descending order by default
|
104
|
+
* boolean: when true the map will be hidden on load
|
105
105
|
*/
|
106
|
-
|
106
|
+
hideMapOnLoad: boolean;
|
107
107
|
/**
|
108
108
|
* IMapInfo[]: array of map infos (name and id)
|
109
109
|
*/
|
@@ -124,6 +124,10 @@ export declare class CrowdsourceManager {
|
|
124
124
|
* boolean: When true the share options will include social media sharing
|
125
125
|
*/
|
126
126
|
shareIncludeSocial: boolean;
|
127
|
+
/**
|
128
|
+
* boolean: when true the table will be sorted by objectid in descending order by default
|
129
|
+
*/
|
130
|
+
showNewestFirst: boolean;
|
127
131
|
/**
|
128
132
|
* theme: "light" | "dark" theme to be used
|
129
133
|
*/
|
@@ -132,6 +136,10 @@ export declare class CrowdsourceManager {
|
|
132
136
|
* boolean: When true the selected feature will zoomed to in the map and the row will be scrolled to within the table
|
133
137
|
*/
|
134
138
|
zoomAndScrollToSelected: boolean;
|
139
|
+
/**
|
140
|
+
* number: default scale to zoom to when zooming to a single point feature
|
141
|
+
*/
|
142
|
+
zoomToScale: number;
|
135
143
|
/**
|
136
144
|
* When true the info panel with the popup details will take the full height and prevent the map from displaying
|
137
145
|
*/
|
@@ -15,7 +15,7 @@
|
|
15
15
|
*/
|
16
16
|
/// <reference types="arcgis-js-api" />
|
17
17
|
import { VNode, EventEmitter } from "../../stencil-public-runtime";
|
18
|
-
import { IMapChange, IMapClick, IMapInfo, ISearchConfiguration, theme } from "../../utils/interfaces";
|
18
|
+
import { IMapChange, IMapClick, IMapInfo, IReportingOptions, ISearchConfiguration, theme } from "../../utils/interfaces";
|
19
19
|
import CrowdsourceReporter_T9n from "../../assets/t9n/crowdsource-reporter/resources.json";
|
20
20
|
import { ILayerItemsHash } from "../layer-list/layer-list";
|
21
21
|
export declare class CrowdsourceReporter {
|
@@ -76,6 +76,14 @@ export declare class CrowdsourceReporter {
|
|
76
76
|
* string: Id of the zoom level from URL params
|
77
77
|
*/
|
78
78
|
level: string;
|
79
|
+
/**
|
80
|
+
* string: The color that will be displayed on hover when expanding the popup header
|
81
|
+
*/
|
82
|
+
popupHeaderHoverColor: string;
|
83
|
+
/**
|
84
|
+
* string: The background color to apply to the popup header
|
85
|
+
*/
|
86
|
+
popupHeaderColor: string;
|
79
87
|
/**
|
80
88
|
* string: The word(s) to display in the reports submit button
|
81
89
|
*/
|
@@ -84,6 +92,10 @@ export declare class CrowdsourceReporter {
|
|
84
92
|
* string: The word(s) to display in the reports header
|
85
93
|
*/
|
86
94
|
reportsHeader: string;
|
95
|
+
/**
|
96
|
+
* IReportingOptions: Key options for reporting
|
97
|
+
*/
|
98
|
+
reportingOptions: IReportingOptions;
|
87
99
|
/**
|
88
100
|
* string: The message to display when the report has been submitted
|
89
101
|
*/
|
@@ -120,6 +132,10 @@ export declare class CrowdsourceReporter {
|
|
120
132
|
* boolean: when true the zoom widget will be available
|
121
133
|
*/
|
122
134
|
enableZoom: boolean;
|
135
|
+
/**
|
136
|
+
* number: default scale to zoom to when zooming to a single point feature
|
137
|
+
*/
|
138
|
+
zoomToScale: number;
|
123
139
|
/**
|
124
140
|
* IMapInfo: The current map info stores configuration details
|
125
141
|
*/
|
@@ -5,9 +5,9 @@
|
|
5
5
|
* It contains typing information for all components that exist in this project.
|
6
6
|
*/
|
7
7
|
import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
|
8
|
-
import { ButtonType, DistanceUnit, EditType, EDrawMode, ELayoutMode, IBasemapConfig, IConsentResponse, IExportInfos, IInventoryItem, ILayerAndTableIds, IMapChange, IMapInfo, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange, theme } from "./utils/interfaces";
|
8
|
+
import { ButtonType, DistanceUnit, EditType, EDrawMode, ELayoutMode, IBasemapConfig, IConsentResponse, IExportInfos, IInventoryItem, ILayerAndTableIds, IMapChange, IMapInfo, IReportingOptions, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange, theme } from "./utils/interfaces";
|
9
9
|
import { UserSession } from "@esri/solution-common";
|
10
|
-
export { ButtonType, DistanceUnit, EditType, EDrawMode, ELayoutMode, IBasemapConfig, IConsentResponse, IExportInfos, IInventoryItem, ILayerAndTableIds, IMapChange, IMapInfo, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange, theme } from "./utils/interfaces";
|
10
|
+
export { ButtonType, DistanceUnit, EditType, EDrawMode, ELayoutMode, IBasemapConfig, IConsentResponse, IExportInfos, IInventoryItem, ILayerAndTableIds, IMapChange, IMapInfo, IReportingOptions, ISearchConfiguration, ISelectionSet, ISketchGraphicsChange, ISolutionSpatialReferenceInfo, ISpatialRefRepresentation, IValueChange, theme } from "./utils/interfaces";
|
11
11
|
export { UserSession } from "@esri/solution-common";
|
12
12
|
export namespace Components {
|
13
13
|
interface ArcgisLogin {
|
@@ -211,6 +211,10 @@ export namespace Components {
|
|
211
211
|
* boolean: when true the zoom widget will be available
|
212
212
|
*/
|
213
213
|
"enableZoom": boolean;
|
214
|
+
/**
|
215
|
+
* boolean: when true the map will be hidden on load
|
216
|
+
*/
|
217
|
+
"hideMapOnLoad": boolean;
|
214
218
|
/**
|
215
219
|
* IMapInfo[]: array of map infos (name and id)
|
216
220
|
*/
|
@@ -243,6 +247,10 @@ export namespace Components {
|
|
243
247
|
* boolean: When true the selected feature will zoomed to in the map and the row will be scrolled to within the table
|
244
248
|
*/
|
245
249
|
"zoomAndScrollToSelected": boolean;
|
250
|
+
/**
|
251
|
+
* number: default scale to zoom to when zooming to a single point feature
|
252
|
+
*/
|
253
|
+
"zoomToScale": number;
|
246
254
|
}
|
247
255
|
interface CrowdsourceReporter {
|
248
256
|
/**
|
@@ -321,6 +329,14 @@ export namespace Components {
|
|
321
329
|
* string: Object id of the feature from URL params
|
322
330
|
*/
|
323
331
|
"objectId": string;
|
332
|
+
/**
|
333
|
+
* string: The background color to apply to the popup header
|
334
|
+
*/
|
335
|
+
"popupHeaderColor": string;
|
336
|
+
/**
|
337
|
+
* string: The color that will be displayed on hover when expanding the popup header
|
338
|
+
*/
|
339
|
+
"popupHeaderHoverColor": string;
|
324
340
|
/**
|
325
341
|
* string: The word(s) to display in the reports submit button
|
326
342
|
*/
|
@@ -329,6 +345,10 @@ export namespace Components {
|
|
329
345
|
* string: The message to display when the report has been submitted
|
330
346
|
*/
|
331
347
|
"reportSubmittedMessage": string;
|
348
|
+
/**
|
349
|
+
* IReportingOptions: Key options for reporting
|
350
|
+
*/
|
351
|
+
"reportingOptions": IReportingOptions;
|
332
352
|
/**
|
333
353
|
* string: The word(s) to display in the reports header
|
334
354
|
*/
|
@@ -345,6 +365,10 @@ export namespace Components {
|
|
345
365
|
* theme: "light" | "dark" theme to be used
|
346
366
|
*/
|
347
367
|
"theme": theme;
|
368
|
+
/**
|
369
|
+
* number: default scale to zoom to when zooming to a single point feature
|
370
|
+
*/
|
371
|
+
"zoomToScale": number;
|
348
372
|
}
|
349
373
|
interface DeductCalculator {
|
350
374
|
}
|
@@ -2342,6 +2366,10 @@ declare namespace LocalJSX {
|
|
2342
2366
|
* boolean: when true the zoom widget will be available
|
2343
2367
|
*/
|
2344
2368
|
"enableZoom"?: boolean;
|
2369
|
+
/**
|
2370
|
+
* boolean: when true the map will be hidden on load
|
2371
|
+
*/
|
2372
|
+
"hideMapOnLoad"?: boolean;
|
2345
2373
|
/**
|
2346
2374
|
* IMapInfo[]: array of map infos (name and id)
|
2347
2375
|
*/
|
@@ -2374,6 +2402,10 @@ declare namespace LocalJSX {
|
|
2374
2402
|
* boolean: When true the selected feature will zoomed to in the map and the row will be scrolled to within the table
|
2375
2403
|
*/
|
2376
2404
|
"zoomAndScrollToSelected"?: boolean;
|
2405
|
+
/**
|
2406
|
+
* number: default scale to zoom to when zooming to a single point feature
|
2407
|
+
*/
|
2408
|
+
"zoomToScale"?: number;
|
2377
2409
|
}
|
2378
2410
|
interface CrowdsourceReporter {
|
2379
2411
|
/**
|
@@ -2456,6 +2488,14 @@ declare namespace LocalJSX {
|
|
2456
2488
|
* Emitted when toggle panel button is clicked in reporter
|
2457
2489
|
*/
|
2458
2490
|
"onTogglePanel"?: (event: CrowdsourceReporterCustomEvent<boolean>) => void;
|
2491
|
+
/**
|
2492
|
+
* string: The background color to apply to the popup header
|
2493
|
+
*/
|
2494
|
+
"popupHeaderColor"?: string;
|
2495
|
+
/**
|
2496
|
+
* string: The color that will be displayed on hover when expanding the popup header
|
2497
|
+
*/
|
2498
|
+
"popupHeaderHoverColor"?: string;
|
2459
2499
|
/**
|
2460
2500
|
* string: The word(s) to display in the reports submit button
|
2461
2501
|
*/
|
@@ -2464,6 +2504,10 @@ declare namespace LocalJSX {
|
|
2464
2504
|
* string: The message to display when the report has been submitted
|
2465
2505
|
*/
|
2466
2506
|
"reportSubmittedMessage"?: string;
|
2507
|
+
/**
|
2508
|
+
* IReportingOptions: Key options for reporting
|
2509
|
+
*/
|
2510
|
+
"reportingOptions"?: IReportingOptions;
|
2467
2511
|
/**
|
2468
2512
|
* string: The word(s) to display in the reports header
|
2469
2513
|
*/
|
@@ -2480,6 +2524,10 @@ declare namespace LocalJSX {
|
|
2480
2524
|
* theme: "light" | "dark" theme to be used
|
2481
2525
|
*/
|
2482
2526
|
"theme"?: theme;
|
2527
|
+
/**
|
2528
|
+
* number: default scale to zoom to when zooming to a single point feature
|
2529
|
+
*/
|
2530
|
+
"zoomToScale"?: number;
|
2483
2531
|
}
|
2484
2532
|
interface DeductCalculator {
|
2485
2533
|
/**
|
@@ -493,3 +493,17 @@ export interface IConsentResponse {
|
|
493
493
|
export interface IManagedLayers {
|
494
494
|
[key: string]: "buffer" | "sketch";
|
495
495
|
}
|
496
|
+
/**
|
497
|
+
* Key is the layers guid
|
498
|
+
*/
|
499
|
+
export interface IReportingOptions {
|
500
|
+
[key: string]: IReportOption;
|
501
|
+
}
|
502
|
+
export interface IReportOption {
|
503
|
+
reporting: boolean;
|
504
|
+
comment: boolean;
|
505
|
+
like: boolean;
|
506
|
+
dislike: boolean;
|
507
|
+
likeField: string;
|
508
|
+
dislikeField: string;
|
509
|
+
}
|
package/package.json
CHANGED
@@ -1,6 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Copyright 2022 Esri
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
*/
|
6
|
-
import{r as t,c as i,h as s,H as e,g as h}from"./p-7d280d8a.js";import{l as a,g as o}from"./p-be8ef276.js";import{a as l,b as c,h as n,c as r,g as d,q as u}from"./p-3af79063.js";import"./p-8ddc7786.js";import"./p-e2d0ad1b.js";import"./p-c1cf3ebc.js";const p=class{constructor(s){t(this,s),this.togglePanel=i(this,"togglePanel",7),this._noLayerToDisplayErrorMsg="Web map does not contain any editable layers.",this.description=void 0,this.isMobile=void 0,this.enableAnonymousAccess=void 0,this.enableAnonymousComments=void 0,this.enableComments=void 0,this.enableLogin=void 0,this.enableNewReports=void 0,this.layers=void 0,this.loginTitle=void 0,this.mapView=void 0,this.layerId=void 0,this.objectId=void 0,this.center=void 0,this.level=void 0,this.reportButtonText=void 0,this.reportsHeader=void 0,this.reportSubmittedMessage=void 0,this.searchConfiguration=void 0,this.showComments=void 0,this.defaultWebmap="",this.enableSearch=!0,this.enableHome=!0,this.mapInfos=[],this.theme="light",this.enableZoom=!0,this._mapInfo=void 0,this._flowItems=[],this._sidePanelCollapsed=!1,this._translations=void 0,this._hasValidLayers=!1,this._selectedLayerName=void 0,this._reportSubmitted=!1,this._showSubmitCancelButton=!1,this._featureCreationFailedErrorMsg=void 0}async isMobileWatchHandler(){this._sidePanelCollapsed=!1}async mapViewWatchHandler(){await this.mapView.when((async()=>{await this.setMapView()}))}async componentWillLoad(){var t;this._urlParamsLoaded=!1,await this._initModules(),await this._getTranslations(),await(null===(t=this.mapView)||void 0===t?void 0:t.when((async()=>{await this.setMapView()})))}render(){const t="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light";return s(e,null,this._reportSubmitted&&s("calcite-alert",{"auto-close":!0,class:t+" report-submitted-msg",icon:"check-circle",kind:"success",label:"",onCalciteAlertClose:()=>{this._reportSubmitted=!1},open:!0,placement:"top"},s("div",{slot:"message"},this.reportSubmittedMessage?this.reportSubmittedMessage:this._translations.submitMsg)),this._featureCreationFailedErrorMsg&&s("calcite-alert",{"auto-close":!0,class:t,icon:"x-octagon",kind:"danger",label:"",onCalciteAlertClose:()=>{this._featureCreationFailedErrorMsg=""},open:!0,placement:"top"},s("div",{slot:"title"},this._translations.error),s("div",{slot:"message"},this._featureCreationFailedErrorMsg)),s("div",null,s("calcite-shell",{"content-behind":!0},this._getReporter())))}async _initModules(){const[t]=await a(["esri/core/reactiveUtils"]);this.reactiveUtils=t}setSelectedLayer(t,i){this._selectedLayerId=t,this._selectedLayerName=i,this._validLayers.forEach((i=>{i.set("visible",!t||i.id===t)}))}_getReporter(){const t=[];return this._flowItems.forEach((i=>{switch(i){case"layer-list":t.push(this.getLayerListFlowItem());break;case"feature-list":t.push(this.getFeatureListFlowItem(this._selectedLayerId,this._selectedLayerName));break;case"feature-details":t.push(this.getFeatureDetailsFlowItem());break;case"reporting-layer-list":t.push(this.getChooseCategoryFlowItem());break;case"feature-create":t.push(this.getFeatureCreateFlowItem())}})),s("calcite-panel",{class:"width-full "+("dark"===this.theme?"calcite-mode-dark":"calcite-mode-light")},this.mapView?s("calcite-flow",null,(null==t?void 0:t.length)>0&&t):s("calcite-loader",{label:"",scale:"m"}))}getLayerListFlowItem(){var t;return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportsHeader},this.isMobile&&this.getActionToExpandCollapsePanel(),this._hasValidLayers&&this.enableNewReports&&s("calcite-button",{appearance:"solid",onClick:this.navigateToChooseCategory.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),s("calcite-panel",{"full-height":!0,"full-width":!0},s("layer-list",{class:"height-full",layers:(null===(t=this._editableLayerIds)||void 0===t?void 0:t.length)>0?this._editableLayerIds:this.layers,mapView:this.mapView,noLayerErrorMsg:this._noLayerToDisplayErrorMsg,onLayerSelect:this.displayFeaturesList.bind(this),onLayersListLoaded:this.layerListLoaded.bind(this),ref:t=>this._layerList=t,showFeatureCount:!0,showNextIcon:!0})))}getChooseCategoryFlowItem(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),s("calcite-panel",{"full-height":!0,"full-width":!0},s("calcite-notice",{class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},s("div",{slot:"message"},this._translations.chooseCategoryMsg)),s("layer-list",{class:"height-full",layers:this.layers,mapView:this.mapView,noLayerErrorMsg:this._noLayerToDisplayErrorMsg,onLayerSelect:this.navigateToCreateFeature.bind(this),showFeatureCount:!1,showNextIcon:!1})))}getFeatureCreateFlowItem(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,onCalciteFlowItemBack:this.backFromCreateFeaturePanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),this._showSubmitCancelButton&&s("div",{class:"width-full",slot:"footer"},s("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:this.onSubmitButtonClick.bind(this),width:"full"},this._translations.submit),s("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromCreateFeaturePanel.bind(this),width:"full"},this._translations.cancel)),s("calcite-panel",{"full-height":!0,"full-width":!0},s("calcite-notice",{class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},s("div",{slot:"message"},this._translations.featureEditFormInfoMsg)),s("create-feature",{customizeSubmit:!0,mapView:this.mapView,onDrawComplete:this.onDrawComplete.bind(this),onEditingAttachment:this.showSubmitCancelButton.bind(this),onFail:this.createFeatureFailed.bind(this),onSuccess:this.onReportSubmitted.bind(this),ref:t=>this._createFeature=t,searchConfiguration:this.searchConfiguration,selectedLayerId:this._selectedLayerId})))}onDrawComplete(){this._showSubmitCancelButton=!0}showSubmitCancelButton(t){this._showSubmitCancelButton=!t.detail}onSubmitButtonClick(){this._createFeature&&this._createFeature.submit()}backFromCreateFeaturePanel(){this._createFeature&&this._createFeature.close(),this.backFromSelectedPanel()}createFeatureFailed(t){console.error(t.detail),this._featureCreationFailedErrorMsg=t.detail.message}onReportSubmitted(){this._reportSubmitted=!0,this.navigateToHomePage()}async navigateToHomePage(){this._createFeature&&this._createFeature.close(),this._layerList&&this._layerList.refresh(),this.setSelectedFeatures([]),1===this._editableLayerIds.length?(await this._featureList.refresh(),this._flowItems=["feature-list"]):this._flowItems=["layer-list"]}async navigateToCreateFeature(t){t.detail.layerId&&t.detail.layerName&&this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this._showSubmitCancelButton=!1,this._flowItems=[...this._flowItems,"feature-create"]}navigateToChooseCategory(){this._flowItems=[...this._flowItems,"reporting-layer-list"]}async layerListLoaded(t){const i=t.detail,s=await l(this.mapView);this._validLayers=[],s.forEach((t=>{i.includes(t.id)&&this._validLayers.push(t)})),this.handleMapClick(),this._hasValidLayers=i.length>0,this._urlParamsLoaded||(this._urlParamsLoaded=!0,await this.loadFeatureFromURLParams())}displayFeaturesList(t){this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this._flowItems=[...this._flowItems,"feature-list"]}backFromSelectedPanel(){const t=[...this._flowItems];t.pop(),this.clearHighlights(),1!==t.length||"layer-list"!==t[0]?this._flowItems=[...t]:this.navigateToHomePage()}toggleSidePanel(){this._sidePanelCollapsed=!this._sidePanelCollapsed,this.togglePanel.emit(this._sidePanelCollapsed)}async onFeatureSelectFromList(t){this.setSelectedFeatures([t.detail]),this._flowItems=[...this._flowItems,"feature-details"]}getFeatureListFlowItem(t,i){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:i,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),this.enableNewReports&&s("calcite-button",{appearance:"solid",onClick:this.navigateToCreateFeature.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),s("calcite-panel",{"full-height":!0},s("feature-list",{class:"height-full",highlightOnHover:!0,mapView:this.mapView,noFeaturesFoundMsg:this._translations.featureErrorMsg,onFeatureSelect:this.onFeatureSelectFromList.bind(this),pageSize:30,ref:t=>this._featureList=t,selectedLayerId:t})))}getFeatureDetailsFlowItem(){return s("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),s("instant-apps-social-share",{autoUpdateShareUrl:!1,embed:!1,popoverButtonIconScale:"s",ref:t=>this._shareNode=t,scale:"m",shareButtonColor:"neutral",shareButtonType:"action",slot:"header-actions-end",socialMedia:!0,view:this.mapView}),s("calcite-panel",{"full-height":!0},s("info-card",{allowEditing:!1,graphics:this._selectedFeature,highlightEnabled:!1,isLoading:!1,isMobile:!1,mapView:this.mapView,onSelectionChanged:this.featureDetailsChanged.bind(this),zoomAndScrollToSelected:!0})))}setSelectedFeatures(t){this._selectedFeature=t,this.setCurrentFeature(this._selectedFeature.length?this._selectedFeature[0]:null)}setCurrentFeature(t){if(t&&t.layer){const i=t.layer;this.setSelectedLayer(i.id,i.title),this._currentFeatureId=t.attributes[i.objectIdField]}else this._editableLayerIds.length>1&&this.setSelectedLayer("",""),this._currentFeatureId="";this._updateShareURL()}featureDetailsChanged(t){this.setCurrentFeature(t.detail[0]),this.highlightOnMap(t.detail[0])}async highlightOnMap(t){if(this.clearHighlights(),t&&t.geometry&&t.layer){const i=await c(this.mapView,t.layer.id);i.highlightOptions=null,this._highlightHandle=await n([t.getObjectId()],i,this.mapView,!0)}}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}getActionToExpandCollapsePanel(){return s("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})}async setMapView(){var t;await this.getLayersToShowInList(),1===(null===(t=this._editableLayerIds)||void 0===t?void 0:t.length)?await this.renderFeaturesList():this._flowItems=["layer-list"],this.mapView.popupEnabled=!1,this._defaultCenter&&this._defaultLevel&&(await this.mapView.goTo({center:this._defaultCenter,zoom:this._defaultLevel}),this._defaultCenter=void 0,this._defaultLevel=void 0)}handleMapClick(){this._mapClickHandle&&this._mapClickHandle.remove(),this._mapClickHandle=this.reactiveUtils.on((()=>this.mapView),"click",this.onMapClick.bind(this))}async onMapClick(t){this.mapView.popupEnabled=!1;const i=await this.mapView.hitTest(t);if(i.results.length>0){const t=[];i.results.forEach((function(i){"graphic"===i.type&&t.push(i.graphic)}));const s=t.filter((t=>this._validLayers.includes(t.layer))),e=t.filter((t=>{var i;return!this._validLayers.includes(t.layer)&&(null===(i=null==t?void 0:t.layer)||void 0===i?void 0:i.id)}));if(s.length>0&&(this.setSelectedFeatures(s),this._flowItems.length&&"feature-details"!==this._flowItems[this._flowItems.length-1]?this._flowItems=[...this._flowItems,"feature-details"]:(this._flowItems=[...this._flowItems],this.highlightOnMap(t[0]))),e.length>0){this.mapView.popupEnabled=!0;const t={features:e,updateLocationEnabled:!0};await this.mapView.openPopup(t)}}}async _getTranslations(){const t=await o(this.el);this._translations=t[0]}reduceToConfiguredLayers(t){var i;const s=(null===(i=this.layers)||void 0===i?void 0:i.length)>0?this.layers:[];return Object.keys(t).reduce(((i,e)=>{let h=t[e].supportsAdd;return(null==s?void 0:s.length)>0&&(h=s.indexOf(e)>-1&&t[e].supportsAdd),h&&i.push(e),i}),[])}async getLayersToShowInList(){const t=await r(this.mapView,!0);(await l(this.mapView)).forEach((i=>{var s,e;"feature"===(null==i?void 0:i.type)&&(null==i?void 0:i.editingEnabled)&&(null===(e=null===(s=null==i?void 0:i.capabilities)||void 0===s?void 0:s.operations)||void 0===e?void 0:e.supportsAdd)&&(t[i.id].supportsAdd=!0)})),this._editableLayerIds=this.reduceToConfiguredLayers(t)}async renderFeaturesList(){const t={detail:this._editableLayerIds};await this.layerListLoaded(t),this.setSelectedLayer(this._validLayers[0].id,this._validLayers[0].title),this._flowItems=["feature-list"]}_updateShareURL(){var t,i;const s=null===(t=this._shareNode)||void 0===t?void 0:t.shareUrl;if(!s)return;const e=new URL(s);this._selectedLayerId?e.searchParams.set("layerid",this._selectedLayerId):e.searchParams.delete("layerid"),(null===(i=this._selectedFeature)||void 0===i?void 0:i.length)?e.searchParams.set("oid",this._currentFeatureId):e.searchParams.delete("oid"),this._shareNode.shareUrl=e.href}async loadFeatureFromURLParams(){if(this.center&&this.level&&await this.mapView.goTo({center:this.center.split(";").map(Number),zoom:this.level}),this.layerId&&this.objectId){const t=await d(this.mapView,this.layerId);if(t){const i=await u([Number(this.objectId)],t,[],!0,this.mapView.spatialReference);i.length&&(this._selectedFeature=i,this._flowItems=this._flowItems.length&&"feature-details"!==this._flowItems[this._flowItems.length-1]?[...this._flowItems,"feature-details"]:[...this._flowItems],await this.highlightOnMap(i[0]))}}}get el(){return h(this)}static get watchers(){return{isMobile:["isMobileWatchHandler"],mapView:["mapViewWatchHandler"]}}};p.style=":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100% !important}.width-0{width:0}.height-full{height:100% !important}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.notice-msg{padding:10px;width:calc(100% - 20px)}.footer-top-button{padding-bottom:7px}.footer-button{height:35px}.report-submitted-msg{position:absolute;z-index:1000}";export{p as crowdsource_reporter}
|
@@ -1,6 +0,0 @@
|
|
1
|
-
/*!
|
2
|
-
* Copyright 2022 Esri
|
3
|
-
* Licensed under the Apache License, Version 2.0
|
4
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
5
|
-
*/
|
6
|
-
import{r as i,h as t,H as e,g as s}from"./p-7d280d8a.js";import{g as h}from"./p-be8ef276.js";import{E as o}from"./p-c1cf3ebc.js";import{g as l}from"./p-3af79063.js";import"./p-8ddc7786.js";import"./p-e2d0ad1b.js";const a=class{constructor(t){i(this,t),this._defaultCenterHonored=!1,this._defaultLevelHonored=!1,this._shouldSetMapView=!1,this.appProxies=void 0,this.defaultCenter="",this.defaultGlobalId="",this.defaultLayer="",this.defaultLevel="",this.defaultOid="",this.defaultWebmap="",this.enableAutoRefresh=!1,this.enableColumnReorder=!0,this.enableCSV=!0,this.enableFloorFilter=!0,this.enableFullscreen=!0,this.enableInlineEdit=!1,this.enableLegend=!0,this.enableSearch=!0,this.enableShare=!1,this.enableHome=!0,this.enableZoom=!0,this.enableBasemap=!0,this.basemapConfig=void 0,this.showNewestFirst=!0,this.mapInfos=[],this.onlyShowUpdatableLayers=!0,this.searchConfiguration=void 0,this.shareIncludeEmbed=void 0,this.shareIncludeSocial=void 0,this.theme="light",this.zoomAndScrollToSelected=!1,this._expandPopup=!1,this._hideFooter=!1,this._hideTable=!1,this._isMobile=void 0,this._translations=void 0,this._layer=void 0,this._layoutMode=o.GRID,this._mapInfo=void 0,this._mapView=void 0,this._panelOpen=!0,this._numSelected=0,this._tableOnly=!1}enableZoomWatchHandler(){this._initMapZoom()}async featureSelectionChange(i){var t;this._numSelected=null===(t=i.detail)||void 0===t?void 0:t.length}async popupClosed(){this._isMobile&&this.showHideMapPopupAndTable(!1)}async idsFound(i){const t=i.detail;this._tableOnly=t.tableIds.length>0&&0===t.layerIds.length,this._tableOnly&&(this._expandPopup=!0)}async layoutChanged(i){this._layoutMode=i.detail}async mapChanged(i){this._mapChange=i.detail,await this._mapChange.mapView.when((async()=>{await this._setMapView()}))}async beforeMapChanged(){this._expandPopup&&(this._shouldSetMapView=!0,this._expandPopup=!1)}async layerSelectionChange(i){const t=i.detail[0],e=await l(this._mapView,t);await e.when((()=>{this._layer=e}))}async componentWillLoad(){await this._getTranslations(),this._resizeObserver=new ResizeObserver((()=>this._onResize()))}render(){return t(e,null,t("calcite-shell",{class:"position-relative"},t("calcite-panel",{class:"width-full height-full "+(this._isMobile&&this._hideTable?"border-width-0":this._isMobile?"border-bottom-width-0":"")},this._getBody(this._layoutMode,this._panelOpen,this._hideTable)),this._getFooter()))}async componentDidRender(){this._shouldSetMapView&&(this._shouldSetMapView=!1,await this._setMapView())}async componentDidLoad(){this._resizeObserver.observe(this.el)}_getFooter(){var i,e,s,h;const o=(null===(i=this._layer)||void 0===i?void 0:i.editingEnabled)&&(null===(h=null===(s=null===(e=this._layer)||void 0===e?void 0:e.capabilities)||void 0===s?void 0:s.operations)||void 0===h?void 0:h.supportsDelete);return this._isMobile&&this._numSelected>0&&!this._hideFooter?t("div",{class:"width-100",slot:"footer"},t("div",{class:"display-flex padding-1-2"},t("calcite-button",{appearance:"solid",id:"solutions-show",onClick:()=>this.showHideMapPopupAndTable(!0),width:"full"},this._translations.view.replace("{{n}}",this._numSelected.toString())),o?t("delete-button",{class:"padding-inline-start-1 width-full",id:"solutions-delete",ids:this._layerTable.selectedIds,layer:this._layer}):void 0)):void 0}_getDividerIcon(i,t){let e="";switch(i){case o.HORIZONTAL:e=t?"chevrons-up":"chevrons-down";break;case o.VERTICAL:case o.GRID:e=t?"chevrons-left":"chevrons-right"}return e}_getMapSizeClass(i,t,e){let s="";switch(i){case o.HORIZONTAL:s=(t&&!e?"height-1-2 display-grid":t&&e?"height-full":"height-0")+" width-full position-relative";break;case o.GRID:s="height-full position-relative "+(t?"width-1-3":"width-0");break;case o.VERTICAL:s="height-full position-relative "+(t?"width-1-2":"width-0")}return s}_getTableSizeClass(i,t){let e="";switch(i){case o.HORIZONTAL:e=(t?"height-1-2":"height-full")+" width-full display-flex flex-column";break;case o.GRID:e=(t?"width-2-3":"width-full")+" height-full display-flex";break;case o.VERTICAL:e=(t?"width-1-2":"width-full")+" height-full display-flex"}return e}_getBody(i,e,s){return t("calcite-panel",{class:"width-full height-full"},t("div",{class:"width-full height-full overflow-hidden "+(i===o.HORIZONTAL?"":"display-flex")},this._getMapAndCard(i,e,s),this._getTable(i,e,s)))}_getMapAndCard(i,e,s){const h=this._getMapSizeClass(i,e,s);return t("div",{class:`${h} overflow-hidden`},this._getMapNode(e),this._getPopupExpandNode())}_getMapNode(i){var e;return t("div",{class:(this._layoutMode!==o.HORIZONTAL||this._isMobile&&!i?"adjusted-height-50":"")+" overflow-hidden"},t("map-card",{appProxies:this.appProxies,basemapConfig:this.basemapConfig,class:"width-full",defaultWebmapId:this.defaultWebmap,enableBasemap:this.enableBasemap,enableFloorFilter:this.enableFloorFilter,enableFullscreen:this.enableFullscreen,enableHome:this.enableHome,enableLegend:this.enableLegend,enableSearch:this.enableSearch,enableSingleExpand:!0,hidden:this._expandPopup&&!this._isMobile,homeZoomIndex:3,homeZoomPosition:"top-left",homeZoomToolsSize:"s",mapInfos:null===(e=this.mapInfos)||void 0===e?void 0:e.filter((i=>!1!==i.visible)),mapWidgetsIndex:0,mapWidgetsPosition:"top-right",mapWidgetsSize:"m",stackTools:!0,theme:this.theme,toolOrder:["legend","search","fullscreen","basemap","floorfilter"]}))}_getPopupExpandNode(){var i;const e=this._expandPopup?"chevrons-down":"chevrons-up",s="expand-popup",h=this._expandPopup?this._translations.collapsePopup:this._translations.expandPopup,o="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light",l=this._expandPopup?1===(null===(i=this.mapInfos)||void 0===i?void 0:i.length)||this._isMobile?"position-absolute-0":"position-absolute-50":"height-full",a=this._isMobile?"display-none height-0":"";return t("div",{class:`${this._isMobile?"calcite-mode-light":"calcite-mode-dark"} ${l} ${this._isMobile&&this._hideTable?"position-absolute-0 width-full height-full":this._isMobile?"display-none height-0":""}`},t("calcite-panel",null,this._isMobile?void 0:t("div",{class:`display-flex align-items-center ${a}`,slot:"header-content"},t("calcite-icon",{icon:"information",scale:"s"}),t("div",{class:"padding-inline-start-75"},this._translations.information)),t("calcite-action",{class:a,disabled:this._tableOnly,icon:e,id:s,onClick:()=>this._togglePopup(),slot:"header-actions-end",text:""}),this._tableOnly?void 0:t("calcite-tooltip",{class:o,label:"",placement:"bottom","reference-element":s},t("span",null,h)),this._getCardNode()))}_togglePopup(){this._expandPopup=!this._expandPopup}_getCardNode(){return t("div",{class:"width-50 height-full "+("dark"===this.theme?"calcite-mode-dark":"calcite-mode-light")},t("card-manager",{class:(this._expandPopup||this._isMobile?"height-full":"height-50")+" width-full",isMobile:this._isMobile,mapView:null==this?void 0:this._mapView,zoomAndScrollToSelected:this.zoomAndScrollToSelected}))}_getTable(i,e,s){var h,l;const a=s&&this._isMobile?"visibility-hidden":"",d=this._getTableSizeClass(i,e),n=this._getDividerIcon(i,e),r=e?this._translations.close:this._translations.open,c="toggle-layout",p=i===o.HORIZONTAL?"horizontal":"vertical",u=i===o.HORIZONTAL?"header":"panel-start",g=this.defaultWebmap&&this.defaultLayer,b=this.defaultGlobalId?(null===(h=this.defaultGlobalId)||void 0===h?void 0:h.indexOf(","))>-1?this.defaultGlobalId.split(","):[this.defaultGlobalId]:void 0,v=this.defaultOid?(null===(l=this.defaultOid)||void 0===l?void 0:l.indexOf(","))>-1?this.defaultOid.split(",").map((i=>parseInt(i,10))):[parseInt(this.defaultOid,10)]:void 0;return t("calcite-shell",{class:`${d} ${a} border-bottom`},this._isMobile?void 0:t("calcite-action-bar",{class:"border-sides",expandDisabled:!0,layout:p,slot:u},t("calcite-action",{class:"toggle-node",icon:n,id:c,onClick:()=>this._toggleLayout(),text:""}),t("calcite-tooltip",{label:r,placement:"bottom","reference-element":c},t("span",null,r))),t("div",{class:"width-full height-full position-relative"},t("layer-table",{defaultGlobalId:g?b:void 0,defaultLayerId:g?this.defaultLayer:"",defaultOid:g&&!b?v:void 0,enableAutoRefresh:this.enableAutoRefresh,enableCSV:this.enableCSV,enableColumnReorder:this.enableColumnReorder,enableInlineEdit:this.enableInlineEdit,enableShare:this.enableShare,isMobile:this._isMobile,mapInfo:this._mapInfo,mapView:null==this?void 0:this._mapView,onlyShowUpdatableLayers:this.onlyShowUpdatableLayers,ref:i=>this._layerTable=i,shareIncludeEmbed:this.shareIncludeEmbed,shareIncludeSocial:this.shareIncludeSocial,showNewestFirst:this.showNewestFirst,zoomAndScrollToSelected:this.zoomAndScrollToSelected})))}_onResize(){const i=this.el.offsetWidth<1024,t=!this._isMobile&&i;this._isMobile=i,this._layoutMode=this._isMobile?o.HORIZONTAL:o.GRID,t&&(this._panelOpen=!0)}_toggleLayout(){this._panelOpen=!this._panelOpen}showHideMapPopupAndTable(i){this._expandPopup=!1,this._hideTable=i,this._hideFooter=i}_getMapInfo(i){let t;return this.mapInfos.some((e=>{if(e.id===i)return t=e,!0})),Object.assign({},t)}async _setMapView(){var i;this._mapInfo=this._getMapInfo(this._mapChange.id),this._mapView=this._mapChange.mapView,this._initMapZoom(),this._mapView.popupEnabled=!1;const t=!this.defaultCenter||this._defaultCenterHonored||null===(i=this.defaultCenter)||void 0===i?void 0:i.split(";").map((i=>parseFloat(i))),e=!this.defaultLevel||this._defaultLevelHonored?void 0:parseInt(this.defaultLevel,10);t&&e&&(await this._mapView.goTo({center:t,zoom:e}),this._defaultCenterHonored=!0,this._defaultLevelHonored=!0)}_initMapZoom(){this.enableZoom?this.enableZoom&&this._mapView.ui.add({component:"zoom",position:"top-left",index:0}):this._mapView.ui.remove("zoom")}async _getTranslations(){const i=await h(this.el);this._translations=i[0]}get el(){return s(this)}static get watchers(){return{enableZoom:["enableZoomWatchHandler"]}}};a.style=":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.padding-1-2{padding:0.5rem}.display-flex{display:flex}.width-full{width:100%}.width-1-2{position:relative;width:50%}.width-1-3{position:relative;width:33.33%}.width-2-3{position:relative;width:66.66%}.width-0{width:0}.height-full{height:100%}.height-1-2{position:relative;height:50%}.height-0{height:0}.toggle-node{width:51px;height:51px}.overflow-hidden{overflow:hidden}.flex-column{flex-direction:column}.border{border:1px solid var(--calcite-color-border-3)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.border-sides{border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.position-relative{position:relative}.height-50{height:50%}.adjusted-height-50{height:calc(50% - 25px)}.adjusted-height-100{height:calc(100% - 50px)}.adjusted-height-100-50{height:calc(100% - 50px)}.display-none{display:none}.height-53{height:53px}.position-absolute-53{position:absolute;top:53px}.display-grid{display:grid}.height-50-px{height:50px}.padding-inline-start-75{padding-inline-start:0.75rem}.align-items-center{align-items:center}.esri-floor-filter__close-levels-button{width:40px !important;height:40px !important}.esri-floor-filter__level-button{width:40px !important;height:40px !important}.esri-floor-filter__browse-button{width:40px !important;height:40px !important}.position-absolute-50{position:absolute;top:50px;bottom:0px;left:0px;right:0px}.position-absolute-0{position:absolute;top:0px;bottom:0px;left:0px;right:0px}.visibility-hidden{visibility:hidden;height:0px}.position-fixed{position:fixed}.border-width-0{border-width:0px}.border-bottom-width-0{border-bottom-width:0px}";export{a as crowdsource_manager}
|