@esri/solutions-components 0.10.29 → 0.10.31

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. package/dist/cjs/calcite-alert_5.cjs.entry.js +33 -12
  2. package/dist/cjs/calcite-flow_4.cjs.entry.js +15 -17
  3. package/dist/cjs/card-manager_3.cjs.entry.js +0 -2
  4. package/dist/cjs/crowdsource-reporter.cjs.entry.js +45 -22
  5. package/dist/cjs/feature-list.cjs.entry.js +16 -10
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/map-select-tools_3.cjs.entry.js +4 -1
  8. package/dist/cjs/solutions-components.cjs.js +1 -1
  9. package/dist/collection/assets/t9n/create-feature/resources_ar.json +1 -1
  10. package/dist/collection/assets/t9n/create-feature/resources_bg.json +1 -1
  11. package/dist/collection/assets/t9n/create-feature/resources_bs.json +1 -1
  12. package/dist/collection/assets/t9n/create-feature/resources_ca.json +1 -1
  13. package/dist/collection/assets/t9n/create-feature/resources_cs.json +1 -1
  14. package/dist/collection/assets/t9n/create-feature/resources_da.json +1 -1
  15. package/dist/collection/assets/t9n/create-feature/resources_de.json +1 -1
  16. package/dist/collection/assets/t9n/create-feature/resources_el.json +1 -1
  17. package/dist/collection/assets/t9n/create-feature/resources_es.json +1 -1
  18. package/dist/collection/assets/t9n/create-feature/resources_et.json +1 -1
  19. package/dist/collection/assets/t9n/create-feature/resources_fi.json +1 -1
  20. package/dist/collection/assets/t9n/create-feature/resources_fr.json +1 -1
  21. package/dist/collection/assets/t9n/create-feature/resources_he.json +1 -1
  22. package/dist/collection/assets/t9n/create-feature/resources_hr.json +1 -1
  23. package/dist/collection/assets/t9n/create-feature/resources_hu.json +1 -1
  24. package/dist/collection/assets/t9n/create-feature/resources_id.json +1 -1
  25. package/dist/collection/assets/t9n/create-feature/resources_it.json +1 -1
  26. package/dist/collection/assets/t9n/create-feature/resources_ja.json +1 -1
  27. package/dist/collection/assets/t9n/create-feature/resources_ko.json +1 -1
  28. package/dist/collection/assets/t9n/create-feature/resources_lt.json +1 -1
  29. package/dist/collection/assets/t9n/create-feature/resources_lv.json +1 -1
  30. package/dist/collection/assets/t9n/create-feature/resources_nb.json +1 -1
  31. package/dist/collection/assets/t9n/create-feature/resources_nl.json +1 -1
  32. package/dist/collection/assets/t9n/create-feature/resources_pl.json +1 -1
  33. package/dist/collection/assets/t9n/create-feature/resources_pt-BR.json +2 -2
  34. package/dist/collection/assets/t9n/create-feature/resources_pt-PT.json +1 -1
  35. package/dist/collection/assets/t9n/create-feature/resources_ro.json +1 -1
  36. package/dist/collection/assets/t9n/create-feature/resources_ru.json +1 -1
  37. package/dist/collection/assets/t9n/create-feature/resources_sk.json +1 -1
  38. package/dist/collection/assets/t9n/create-feature/resources_sl.json +1 -1
  39. package/dist/collection/assets/t9n/create-feature/resources_sr.json +1 -1
  40. package/dist/collection/assets/t9n/create-feature/resources_sv.json +1 -1
  41. package/dist/collection/assets/t9n/create-feature/resources_th.json +1 -1
  42. package/dist/collection/assets/t9n/create-feature/resources_tr.json +1 -1
  43. package/dist/collection/assets/t9n/create-feature/resources_uk.json +1 -1
  44. package/dist/collection/assets/t9n/create-feature/resources_vi.json +1 -1
  45. package/dist/collection/assets/t9n/create-feature/resources_zh-CN.json +1 -1
  46. package/dist/collection/assets/t9n/create-feature/resources_zh-HK.json +1 -1
  47. package/dist/collection/assets/t9n/create-feature/resources_zh-TW.json +1 -1
  48. package/dist/collection/components/card-manager/card-manager.js +0 -2
  49. package/dist/collection/components/create-feature/create-feature.css +8 -1
  50. package/dist/collection/components/create-feature/create-feature.js +32 -31
  51. package/dist/collection/components/create-related-feature/create-related-feature.js +9 -26
  52. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +45 -23
  53. package/dist/collection/components/feature-details/feature-details.js +6 -8
  54. package/dist/collection/components/feature-list/feature-list.js +16 -10
  55. package/dist/collection/components/map-select-tools/map-select-tools.js +4 -1
  56. package/dist/components/card-manager2.js +0 -2
  57. package/dist/components/create-feature2.js +33 -13
  58. package/dist/components/create-related-feature2.js +9 -10
  59. package/dist/components/crowdsource-reporter.js +45 -23
  60. package/dist/components/feature-details2.js +6 -8
  61. package/dist/components/feature-list2.js +16 -10
  62. package/dist/components/map-select-tools2.js +4 -1
  63. package/dist/esm/calcite-alert_5.entry.js +33 -12
  64. package/dist/esm/calcite-flow_4.entry.js +15 -17
  65. package/dist/esm/card-manager_3.entry.js +0 -2
  66. package/dist/esm/crowdsource-reporter.entry.js +45 -22
  67. package/dist/esm/feature-list.entry.js +16 -10
  68. package/dist/esm/loader.js +1 -1
  69. package/dist/esm/map-select-tools_3.entry.js +4 -1
  70. package/dist/esm/solutions-components.js +1 -1
  71. package/dist/solutions-components/assets/t9n/create-feature/resources_ar.json +1 -1
  72. package/dist/solutions-components/assets/t9n/create-feature/resources_bg.json +1 -1
  73. package/dist/solutions-components/assets/t9n/create-feature/resources_bs.json +1 -1
  74. package/dist/solutions-components/assets/t9n/create-feature/resources_ca.json +1 -1
  75. package/dist/solutions-components/assets/t9n/create-feature/resources_cs.json +1 -1
  76. package/dist/solutions-components/assets/t9n/create-feature/resources_da.json +1 -1
  77. package/dist/solutions-components/assets/t9n/create-feature/resources_de.json +1 -1
  78. package/dist/solutions-components/assets/t9n/create-feature/resources_el.json +1 -1
  79. package/dist/solutions-components/assets/t9n/create-feature/resources_es.json +1 -1
  80. package/dist/solutions-components/assets/t9n/create-feature/resources_et.json +1 -1
  81. package/dist/solutions-components/assets/t9n/create-feature/resources_fi.json +1 -1
  82. package/dist/solutions-components/assets/t9n/create-feature/resources_fr.json +1 -1
  83. package/dist/solutions-components/assets/t9n/create-feature/resources_he.json +1 -1
  84. package/dist/solutions-components/assets/t9n/create-feature/resources_hr.json +1 -1
  85. package/dist/solutions-components/assets/t9n/create-feature/resources_hu.json +1 -1
  86. package/dist/solutions-components/assets/t9n/create-feature/resources_id.json +1 -1
  87. package/dist/solutions-components/assets/t9n/create-feature/resources_it.json +1 -1
  88. package/dist/solutions-components/assets/t9n/create-feature/resources_ja.json +1 -1
  89. package/dist/solutions-components/assets/t9n/create-feature/resources_ko.json +1 -1
  90. package/dist/solutions-components/assets/t9n/create-feature/resources_lt.json +1 -1
  91. package/dist/solutions-components/assets/t9n/create-feature/resources_lv.json +1 -1
  92. package/dist/solutions-components/assets/t9n/create-feature/resources_nb.json +1 -1
  93. package/dist/solutions-components/assets/t9n/create-feature/resources_nl.json +1 -1
  94. package/dist/solutions-components/assets/t9n/create-feature/resources_pl.json +1 -1
  95. package/dist/solutions-components/assets/t9n/create-feature/resources_pt-BR.json +2 -2
  96. package/dist/solutions-components/assets/t9n/create-feature/resources_pt-PT.json +1 -1
  97. package/dist/solutions-components/assets/t9n/create-feature/resources_ro.json +1 -1
  98. package/dist/solutions-components/assets/t9n/create-feature/resources_ru.json +1 -1
  99. package/dist/solutions-components/assets/t9n/create-feature/resources_sk.json +1 -1
  100. package/dist/solutions-components/assets/t9n/create-feature/resources_sl.json +1 -1
  101. package/dist/solutions-components/assets/t9n/create-feature/resources_sr.json +1 -1
  102. package/dist/solutions-components/assets/t9n/create-feature/resources_sv.json +1 -1
  103. package/dist/solutions-components/assets/t9n/create-feature/resources_th.json +1 -1
  104. package/dist/solutions-components/assets/t9n/create-feature/resources_tr.json +1 -1
  105. package/dist/solutions-components/assets/t9n/create-feature/resources_uk.json +1 -1
  106. package/dist/solutions-components/assets/t9n/create-feature/resources_vi.json +1 -1
  107. package/dist/solutions-components/assets/t9n/create-feature/resources_zh-CN.json +1 -1
  108. package/dist/solutions-components/assets/t9n/create-feature/resources_zh-HK.json +1 -1
  109. package/dist/solutions-components/assets/t9n/create-feature/resources_zh-TW.json +1 -1
  110. package/dist/solutions-components/p-0a578582.entry.js +6 -0
  111. package/dist/solutions-components/p-1f072e2c.entry.js +11 -0
  112. package/dist/solutions-components/p-cc4c013e.entry.js +6 -0
  113. package/dist/solutions-components/p-dd0bd439.entry.js +17 -0
  114. package/dist/solutions-components/p-edd88d2d.entry.js +6 -0
  115. package/dist/solutions-components/{p-971b67d7.entry.js → p-ff8b0603.entry.js} +1 -1
  116. package/dist/solutions-components/solutions-components.esm.js +1 -1
  117. package/dist/types/components/create-feature/create-feature.d.ts +17 -5
  118. package/dist/types/components/create-related-feature/create-related-feature.d.ts +4 -4
  119. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +10 -9
  120. package/dist/types/components/feature-list/feature-list.d.ts +1 -2
  121. package/dist/types/components.d.ts +0 -9
  122. package/package.json +1 -1
  123. package/dist/solutions-components/p-24ae549d.entry.js +0 -6
  124. package/dist/solutions-components/p-399dc933.entry.js +0 -17
  125. package/dist/solutions-components/p-634f86e5.entry.js +0 -11
  126. package/dist/solutions-components/p-94a5d59f.entry.js +0 -6
  127. package/dist/solutions-components/p-988c0d5e.entry.js +0 -6
@@ -146,6 +146,14 @@ export declare class CreateFeature {
146
146
  * __esri.FeatureLayer: selected feature layer;
147
147
  */
148
148
  protected _selectedLayer: __esri.FeatureLayer;
149
+ /**
150
+ * HTMLDivElement: refrence for search div element
151
+ */
152
+ protected _searchDiv: HTMLDivElement;
153
+ /**
154
+ * HTMLCalciteNoticeElement: calcite notice refrence element
155
+ */
156
+ protected _calciteNotice: HTMLCalciteNoticeElement;
149
157
  /**
150
158
  * Called each time the mapView prop is changed.
151
159
  */
@@ -158,11 +166,6 @@ export declare class CreateFeature {
158
166
  * When _editorLoading is true the container node will be hidden while starting the create workflow
159
167
  */
160
168
  _editorLoadingWatchHandler(v: boolean): Promise<void>;
161
- /**
162
- * Destroy the Editor widget instance
163
- * @returns Promise that resolves when the operation is complete
164
- */
165
- close(): Promise<void>;
166
169
  /**
167
170
  * Submit the created feature
168
171
  * @returns Promise that resolves when the operation is complete
@@ -206,6 +209,15 @@ export declare class CreateFeature {
206
209
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
207
210
  */
208
211
  componentDidLoad(): Promise<void>;
212
+ /**
213
+ * Called after each render
214
+ * Used to adjust the map top in case of mobile
215
+ */
216
+ componentDidRender(): void;
217
+ /**
218
+ * StencilJS: Called every time the component is disconnected from the DOM,
219
+ */
220
+ disconnectedCallback(): void;
209
221
  /**
210
222
  * Renders the component.
211
223
  */
@@ -81,10 +81,6 @@ export declare class CreateRelatedFeature {
81
81
  * When _editorLoading is true the container node will be hidden while starting the create workflow
82
82
  */
83
83
  _editorLoadingWatchHandler(v: boolean): Promise<void>;
84
- /**
85
- * Destroy the Editor widget instance
86
- */
87
- close(): Promise<void>;
88
84
  /**
89
85
  * Submit the comment
90
86
  */
@@ -125,6 +121,10 @@ export declare class CreateRelatedFeature {
125
121
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
126
122
  */
127
123
  componentDidLoad(): Promise<void>;
124
+ /**
125
+ * StencilJS: Called every time the component is disconnected from the DOM,
126
+ */
127
+ disconnectedCallback(): void;
128
128
  /**
129
129
  * Display editor widget to create the new feature
130
130
  * @protected
@@ -168,10 +168,6 @@ export declare class CrowdsourceReporter {
168
168
  * boolean: Will be true when has valid reporting layers (This will be used to show the create report button on layer list)
169
169
  */
170
170
  _hasValidLayers: boolean;
171
- /**
172
- * boolean: show loading indicator for feature details component upto completing pending operations
173
- */
174
- _loadingFeatureDetails: boolean;
175
171
  /**
176
172
  * IMapInfo: The current map info stores configuration details
177
173
  */
@@ -354,6 +350,10 @@ export declare class CrowdsourceReporter {
354
350
  * FilterInitState: filter's init state
355
351
  */
356
352
  protected _filterInitState: FilterInitState;
353
+ /**
354
+ * string: Previous selected layer id
355
+ */
356
+ protected _prevSelectedLayerId: string;
357
357
  /**
358
358
  * Called each time the mapView prop is changed.
359
359
  */
@@ -438,7 +438,7 @@ export declare class CrowdsourceReporter {
438
438
  * Check if the layers definitionExpression has been modified and update the feature list depending on the applied filters
439
439
  * @protected
440
440
  */
441
- protected _handleFilterUpdate(): void;
441
+ protected _handleFilterUpdate(): Promise<void>;
442
442
  /**
443
443
  * Get the feature layer list
444
444
  * @returns the layer list items
@@ -542,16 +542,17 @@ export declare class CrowdsourceReporter {
542
542
  * @protected
543
543
  */
544
544
  protected layerListLoaded(evt: CustomEvent): Promise<void>;
545
- /**On click of layer list item show feature list
545
+ /**
546
+ * On click of layer list item show feature list
546
547
  * @param evt Event which has details of selected layerId and layerName
547
548
  * @protected
548
549
  */
549
- protected displayFeaturesList(evt: CustomEvent): void;
550
+ protected displayFeaturesList(evt: CustomEvent): Promise<void>;
550
551
  /**
551
- * On back from filter panel get the filter's init state
552
+ * Reset's the applied filter
552
553
  * @protected
553
554
  */
554
- protected backFromFilterPanel(): Promise<void>;
555
+ protected resetFilter(): Promise<void>;
555
556
  /**
556
557
  * On back from selected panel navigate to the previous panel
557
558
  * @protected
@@ -251,11 +251,10 @@ export declare class FeatureList {
251
251
  /**
252
252
  *
253
253
  * @param feature Each individual feature instance to be listed
254
- * @param creatorField Feature's creator field from the layer
255
254
  * @returns user information
256
255
  * @protected
257
256
  */
258
- protected getUserInformation(feature: __esri.Graphic, creatorField: string): Promise<any>;
257
+ protected getUserInformation(feature: __esri.Graphic): Promise<any>;
259
258
  /**
260
259
  * Creates a feature symbology
261
260
  * @param feature Each individual feature
@@ -127,11 +127,6 @@ export namespace Components {
127
127
  "portal": __esri.Portal;
128
128
  }
129
129
  interface CreateFeature {
130
- /**
131
- * Destroy the Editor widget instance
132
- * @returns Promise that resolves when the operation is complete
133
- */
134
- "close": () => Promise<void>;
135
130
  /**
136
131
  * boolean: Set this to true when have a custom submit button in the app. This will hide the header and footer elements of the editor and user needs to execute the submit method manually.
137
132
  */
@@ -184,10 +179,6 @@ export namespace Components {
184
179
  "submit": () => Promise<void>;
185
180
  }
186
181
  interface CreateRelatedFeature {
187
- /**
188
- * Destroy the Editor widget instance
189
- */
190
- "close": () => Promise<void>;
191
182
  /**
192
183
  * boolean: Set this to true when have a custom submit button in the app. This will hide the header and footer elements of the editor and user needs to execute the submit method manually.
193
184
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/solutions-components",
3
- "version": "0.10.29",
3
+ "version": "0.10.31",
4
4
  "description": "Web Components for Esri's Solutions Applications",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -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,g as e,h as s}from"./p-4e6eb06e.js";import{l as a,g as h}from"./p-f4aadb3b.js";import{P as n}from"./p-2360802a.js";import{g as l,c as o,h as r}from"./p-d572627c.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-46c8015c.js";import"./p-d0d020a5.js";import"./p-7530a02f.js";import"./p-9bb44f57.js";import"./p-80cb7c73.js";const c=class{constructor(e){t(this,e),this.featureSelect=i(this,"featureSelect",7),this.selectedLayerId=void 0,this.mapView=void 0,this.noFeaturesFoundMsg=void 0,this.pageSize=100,this.highlightOnMap=!1,this.highlightOnHover=!1,this.sortingInfo=void 0,this.whereClause=void 0,this.textSize="large",this.showInitialLoading=!0,this.showErrorWhenNoFeatures=!0,this.showUserImageInList=!1,this.showFeatureSymbol=!1,this.applyLayerViewFilter=!1,this.reportingOptions=void 0,this._featureItems=[],this._featuresCount=0,this._isLoading=!1,this._translations=void 0}get el(){return e(this)}Color;esriConfig;symbolUtils;_popupUtils;_selectedLayer;_highlightHandle;_pagination;_validFieldTypes=["small-integer","integer","big-integer","single","long"];_abbreviatedLikeCount;_likeFieldAvailable=!1;async selectedLayerWatchHandler(){this._selectedLayer=await l(this.mapView,this.selectedLayerId),await this.initializeFeatureItems()}async sortingInfoWatchHandler(){await this.initializeFeatureItems()}async whereClauseHandler(){await this.initializeFeatureItems()}async refresh(t){if(t){const t={target:{startItem:this._pagination.startItem}};await this.pageChanged(t)}else await this.initializeFeatureItems()}featureSelect;async componentWillLoad(){await this.initModules(),await this._getTranslations(),this._isLoading=this.showInitialLoading,this._popupUtils=new n,this.mapView&&this.selectedLayerId&&(this._selectedLayer=await l(this.mapView,this.selectedLayerId))}async componentDidLoad(){await this.initializeFeatureItems()}render(){return s("calcite-panel",{key:"3ba64729e3b56d8912424b65187fee65c5ed079f","full-height":!0,"full-width":!0},this._isLoading&&s("calcite-loader",{key:"d18959827b6f7feec0a42605ab93ee1147a3ddfc",label:"",scale:"m"}),this.showErrorWhenNoFeatures&&0===this._featureItems.length&&!this._isLoading&&s("calcite-notice",{key:"507e0031a5fb5a78b1d61bb4e893e4d9a314e207",class:"error-msg",icon:"feature-details",kind:"info",open:!0},s("div",{key:"640c9e8ab31fea285f6db4199a5ff4d917a4feec",slot:"message"},this.noFeaturesFoundMsg?this.noFeaturesFoundMsg:this._translations.featureErrorMsg)),s("calcite-list",{key:"daa9fd622f3c97dad878854b70509e8cafcdea50","selection-appearance":"border","selection-mode":"none"},!this._isLoading&&this._featureItems.length>0&&this._featureItems),this._featuresCount>this.pageSize&&s("div",{key:"b30411c22825e9ec631235e243e726d3fa2244e4",class:"width-full",slot:"footer"},s("calcite-pagination",{key:"b3ee14ca6cde66bc45124b4de73fa019ffe634f8",class:"pagination","full-width":!0,onCalcitePaginationChange:this.pageChanged.bind(this),"page-size":this.pageSize,ref:t=>this._pagination=t,"start-item":"1","total-items":this._featuresCount})))}async initModules(){const[t,i,e]=await a(["esri/Color","esri/config","esri/symbols/support/symbolUtils"]);this.Color=t,this.esriConfig=i,this.symbolUtils=e}async getWhereCondition(){let t="1=1";if(this.whereClause&&(t=this.whereClause),this._selectedLayer?.definitionExpression&&(t=t+" AND "+this._selectedLayer.definitionExpression),this.applyLayerViewFilter){const i=await o(this.mapView,this.selectedLayerId);i?.filter?.where&&(t=t+" AND "+i.filter.where)}return t}async initializeFeatureItems(){if(this._selectedLayer){this._pagination?.goTo("start"),this._isLoading=this.showInitialLoading,this._featureItems=await this.queryPage(0);const t={where:await this.getWhereCondition()};this._featuresCount=await this._selectedLayer.queryFeatureCount(t),this._isLoading=!1}}async pageChanged(t){this._isLoading=!0,this._highlightHandle&&(this._highlightHandle.remove(),this._highlightHandle=null);const i=t.target.startItem-1;this._featureItems=await this.queryPage(i),this._isLoading=!1}async featureClicked(t,i){if(this.clearHighlights(),this.highlightOnMap){const i=Number(t.target.value),e=await o(this.mapView,this.selectedLayerId);this._highlightHandle=await r([i],e,this.mapView,!0)}await this.emitSelectedFeature(i)}async emitSelectedFeature(t){const i=t.layer,e=i.createQuery();e.returnGeometry=!0,e.objectIds=[t.getObjectId()];const s=await i.queryFeatures(e);this.featureSelect.emit(s.features[0])}async onFeatureHover(t){if(this.clearHighlights(),this.highlightOnHover){const i=t.getObjectId(),e=await o(this.mapView,this.selectedLayerId);e.highlightOptions={color:new this.Color("#FFFF00")},this._highlightHandle=e.highlight([i])}}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}async queryPage(t){const i=this._selectedLayer,e=this.sortingInfo?.field?this.sortingInfo.field:i.objectIdField,s=this.sortingInfo?.order?this.sortingInfo.order:"desc",a=await this.getWhereCondition(),h={start:t,num:this.pageSize,outFields:["*"],returnGeometry:!0,where:a,outSpatialReference:this.mapView.spatialReference.toJSON()};e&&s&&(h.orderByFields=[e.toString()+" "+s]);const n=await i.queryFeatures(h);return await this.createFeatureItem(n)}async createFeatureItem(t){const i=t?.features,e=this.reportingOptions&&this.reportingOptions[this.selectedLayerId].like,s=i.map((async t=>{const i=await this._popupUtils.getPopupTitle(t,this.mapView.map);let s,a;if(this.showUserImageInList){const i=this._selectedLayer.editFieldsInfo?.creatorField.toLowerCase();i&&(s=await this.getUserInformation(t,i))}return this.showFeatureSymbol&&(a=await this.getFeatureSymbol(t)),e&&this.getAbbreviatedLikeCount(t),this.getFeatureItem(t,i,a,s)}));return Promise.all(s)}getAbbreviatedLikeCount(t){const i=this._selectedLayer,e=this.reportingOptions[i.id].likeField;i.fields.forEach((s=>{if(this._validFieldTypes.indexOf(s.type)>-1&&s.name===e&&this.reportingOptions[i.id].like){this._likeFieldAvailable=!0;let i=t.attributes[e]||0;i>999&&(i=i>999999?this._translations.millionsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e6).toString()):this._translations.thousandsAbbreviation.replace("{{abbreviated_value}}",Math.floor(i/1e3).toString())),this._abbreviatedLikeCount=i}}))}getFeatureItem(t,i,e,a){const h=t.attributes[this._selectedLayer.objectIdField].toString();i=i??h;const n=Number(t.attributes[this.reportingOptions?.[this._selectedLayer.id].likeField]).toLocaleString(),l="small"===this.textSize?"feature-list-popup-title-small":"feature-list-popup-title",o=this.showUserImageInList||this.showFeatureSymbol?"feature-list-popup-title-padding-reduced":"feature-list-popup-title-padding";return s("calcite-list-item",{onCalciteListItemSelect:i=>{this.featureClicked(i,t)},onMouseLeave:()=>{this.clearHighlights()},onMouseOver:()=>{this.onFeatureHover(t)},value:h},this.showUserImageInList&&s("calcite-avatar",{class:"profile-img","full-name":a?.fullName,id:a?.id,scale:"m",slot:"content-start",thumbnail:a?.userProfileUrl}),this.showFeatureSymbol&&s("div",{class:"feature-symbol",ref:t=>t&&t.appendChild(e),slot:"content-start"}),s("div",{class:`${l} ${o}`,slot:"content-start"},i),this._likeFieldAvailable&&s("div",{class:"like-container",id:h.concat("like"),slot:"content-end"},s("span",null,this._abbreviatedLikeCount),s("calcite-icon",{icon:"thumbs-up",scale:"s"}),s("calcite-tooltip",{overlayPositioning:"fixed",placement:"top","reference-element":h.concat("like")},n)),s("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}async getUserInformation(t,i){const e=this.mapView.map.portalItem.portal?.credential?.token;let s=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${t.attributes[i]}?f=json&returnUserLicensedItems=true`;e&&(s+=`&token=${e}`);const a=await fetch(s),h=await a.json();let n=`${this.esriConfig.portalUrl}/sharing/rest/community/users/${h?.username??t.attributes[i]}/info/blob.png`;return h?.access&&e&&(n+=`?token=${e}`),h.userProfileUrl=n,h}async getFeatureSymbol(t){const i=document.createElement("div");return await this.symbolUtils.getDisplayedSymbol(t).then((async t=>{if(t&&await(this.symbolUtils?.renderPreviewHTML(t,{node:i})),i.children?.length){const t=i.children[0];if(t){const i=Number(t.getAttribute("height")),e=Number(t.getAttribute("width"));e>30?t.setAttribute("width","30"):e<19&&t.setAttribute("width","20"),t.setAttribute("viewBox",`0 0 ${e} ${i}`)}}})),i}async _getTranslations(){const t=await h(this.el);this._translations=t[0]}static get watchers(){return{selectedLayerId:["selectedLayerWatchHandler"],sortingInfo:["sortingInfoWatchHandler"],whereClause:["whereClauseHandler"]}}};c.style=":host{display:block}.width-full{width:100%}.pagination{display:flex;justify-content:center}.error-msg{padding:10px;width:calc(100% - 20px)}.feature-list-popup-title{font-weight:500;white-space:pre-line}.feature-list-popup-title-small{font-size:small;white-space:pre-line}.feature-list-popup-title-padding{padding:10px 12px}.feature-list-popup-title-padding-reduced{padding:10px 0}.profile-img{margin:0 0.75rem;min-width:32px}.like-container{display:flex;align-items:center;gap:5px;color:gray !important;font-style:italic}.feature-symbol{padding:3px 10px;min-width:30px;display:flex;justify-content:center}";export{c as feature_list}
@@ -1,17 +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 e,h as i,H as s,g as a,F as o}from"./p-4e6eb06e.js";import{s as n,t as c,o as l,z as r,g as h}from"./p-621ad249.js";import{g as d}from"./p-4a291f79.js";import{s as p,a as f,c as b}from"./p-ad9d1221.js";import{N as m,c as u,d as g}from"./p-895e7b9c.js";import{o as y}from"./p-c7f8b7f0.js";import{c as v,s as w,d as k,u as x}from"./p-efaa77a0.js";import{K as _}from"./p-876c3f5f.js";import{u as C,I as z}from"./p-d6902512.js";import{S as E}from"./p-3776809a.js";import{l as F,g as j}from"./p-f4aadb3b.js";import{a as L,g as S}from"./p-d572627c.js";import{P as W}from"./p-2360802a.js";import"./p-7d542581.js";import"./p-91371f97.js";import"./p-4f82eb55.js";import"./p-233f219c.js";import"./p-ff336351.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";import"./p-46c8015c.js";import"./p-d0d020a5.js";import"./p-7530a02f.js";import"./p-9bb44f57.js";
7
- /*!
8
- * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
9
- * See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.
10
- * v2.13.0
11
- */const H={slow:14e3,medium:1e4,fast:6e3},D="container",M="container--active",A="container--embedded",I="queue-count",P="queue-count--active",B="focused",V=new class{constructor(){this.registeredElements=[],this.queueTimeoutId=null}registerElement(t){const{registeredElements:e}=this;if(!e.includes(t)){switch(t.queue){case"immediate":e.unshift(t);break;case"next":e.splice(1,0,t);break;case"last":e.push(t)}this.updateAlerts()}}unregisterElement(t){const{registeredElements:e}=this,i=e.indexOf(t);-1!==i&&e.splice(i,1),t.active=!1,this.updateAlerts()}updateAlerts(){window.clearTimeout(this.queueTimeoutId),this.queueTimeoutId=null,this.registeredElements.forEach(((t,e)=>{t.openAlertCount=this.registeredElements.length,0===e?this.queueTimeoutId=window.setTimeout((()=>t.active=!0),300):t.active=!1}))}},T=class{constructor(i){t(this,i),this.calciteAlertBeforeClose=e(this,"calciteAlertBeforeClose",6),this.calciteAlertClose=e(this,"calciteAlertClose",6),this.calciteAlertBeforeOpen=e(this,"calciteAlertBeforeOpen",6),this.calciteAlertOpen=e(this,"calciteAlertOpen",6),this.handleKeyBoardFocus=()=>{this.isFocused=!0,this.handleFocus()},this.handleKeyBoardBlur=()=>{this.isFocused=!1,this.isHovered||this.handleBlur()},this.autoCloseTimeoutId=null,this.totalOpenTime=0,this.totalHoverTime=0,this.openTransitionProp="opacity",this.setTransitionEl=t=>{this.transitionEl=t},this.closeAlert=()=>{this.open=!1,this.clearAutoCloseTimeout()},this.actionsEndSlotChangeHandler=t=>{this.hasEndActions=n(t)},this.handleMouseOver=()=>{this.isHovered=!0,this.handleFocus()},this.handleMouseLeave=()=>{this.isHovered=!1,this.isFocused||this.handleBlur()},this.handleFocus=()=>{this.clearAutoCloseTimeout(),this.totalOpenTime=Date.now()-this.initialOpenTime,this.lastMouseOverBegin=Date.now()},this.handleBlur=()=>{const t=Date.now()-this.lastMouseOverBegin,e=H[this.autoCloseDuration]-this.totalOpenTime+this.totalHoverTime;this.totalHoverTime=this.totalHoverTime?t+this.totalHoverTime:t,this.autoCloseTimeoutId=window.setTimeout((()=>this.closeAlert()),e)},this.active=!1,this.openAlertCount=0,this.open=!1,this.autoClose=!1,this.autoCloseDuration="medium",this.embedded=!1,this.kind="brand",this.icon=void 0,this.iconFlipRtl=!1,this.label=void 0,this.numberingSystem=void 0,this.placement="bottom",this.scale="m",this.messages=void 0,this.messageOverrides=void 0,this.queue="last",this.defaultMessages=void 0,this.effectiveLocale="",this.numberStringFormatter=new m,this.hasEndActions=!1,this.isFocused=!1}handleActiveChange(){this.clearAutoCloseTimeout(),this.active&&this.autoClose&&!this.autoCloseTimeoutId&&(this.initialOpenTime=Date.now(),this.autoCloseTimeoutId=window.setTimeout((()=>this.closeAlert()),H[this.autoCloseDuration]))}openHandler(){y(this),this.open?V.registerElement(this.el):V.unregisterElement(this.el)}updateDuration(){this.autoClose&&this.autoCloseTimeoutId&&(this.clearAutoCloseTimeout(),this.autoCloseTimeoutId=window.setTimeout((()=>this.closeAlert()),H[this.autoCloseDuration]))}onMessagesChange(){}handleQueueChange(){this.open&&(V.unregisterElement(this.el),V.registerElement(this.el))}connectedCallback(){u(this),v(this),this.open&&V.registerElement(this.el),this.numberStringFormatter.numberFormatOptions={locale:this.effectiveLocale,numberingSystem:this.numberingSystem,signDisplay:"always"}}async componentWillLoad(){p(this),await w(this),this.open&&y(this)}componentDidLoad(){f(this)}disconnectedCallback(){V.unregisterElement(this.el),this.clearAutoCloseTimeout(),g(this),k(this),this.embedded=!1}render(){const{open:t,autoClose:e,label:a,placement:o,active:n,openAlertCount:l}=this,h=e?"alert":"alertdialog",d=!t,p=r(_,this.icon,this.kind),f=l>1;return i(s,{key:"cecedeaa678e4f6e22fd2aabc4d29bc8589430f6","aria-hidden":c(d),"aria-label":a,"calcite-hydrated-hidden":d,role:h},i("div",{key:"ca85d5f5ec313f3a305e01dcc8cbbad9647dd516",class:{[D]:!0,[M]:n,[`${D}--${o}`]:!0,[A]:this.embedded,[B]:this.isFocused},onPointerEnter:this.autoClose&&this.autoCloseTimeoutId?this.handleMouseOver:null,onPointerLeave:this.autoClose?this.handleMouseLeave:null,ref:this.setTransitionEl},p&&this.renderIcon(p),i("div",{key:"1f72f255c3e0630eed63bb62d3d50f4a2ba6a528",class:"text-container",onFocusin:this.autoClose&&this.autoCloseTimeoutId?this.handleKeyBoardFocus:null,onFocusout:this.autoClose?this.handleKeyBoardBlur:null},i("slot",{key:"aade607960adea0a10f5eac85b119444085c9cf9",name:"title"}),i("slot",{key:"1f47158cfbf8c0626cd49246142fb750311b1d4a",name:"message"}),i("slot",{key:"5ba06e024b517f23168311828cc8ce41c21926a6",name:"link"})),this.renderActionsEnd(),f?this.renderQueueCount():null,this.renderCloseButton(),t&&n&&e?i("div",{class:"dismiss-progress"}):null))}renderCloseButton(){return i("button",{"aria-label":this.messages.close,class:"close",key:"close",onClick:this.closeAlert,onFocusin:this.autoClose?this.handleKeyBoardFocus:null,onFocusout:this.autoClose?this.handleKeyBoardBlur:null,ref:t=>this.closeButton=t,type:"button"},i("calcite-icon",{icon:"x",scale:d(this.scale)}))}renderQueueCount(){const{openAlertCount:t}=this,e=this.numberStringFormatter.numberFormatter.format(t>2?t-1:1);return i("div",{class:{[I]:!0,[P]:t>1},key:"queue-count"},i("calcite-chip",{scale:this.scale,value:e},e))}renderActionsEnd(){return i("div",{class:"actions-end"},i("slot",{name:"actions-end",onSlotchange:this.actionsEndSlotChangeHandler}))}renderIcon(t){return i("div",{class:"icon"},i("calcite-icon",{flipRtl:this.iconFlipRtl,icon:t,scale:d(this.scale)}))}async setFocus(){await b(this);const t=l(this.el,{selector:"calcite-link"});if(this.closeButton||t)return t?t.setFocus():void(this.closeButton&&this.closeButton.focus())}effectiveLocaleChange(){x(this,this.effectiveLocale),this.numberStringFormatter.numberFormatOptions={locale:this.effectiveLocale,numberingSystem:this.numberingSystem,signDisplay:"always"}}numberingSystemChange(){this.numberStringFormatter.numberFormatOptions={locale:this.effectiveLocale,numberingSystem:this.numberingSystem,signDisplay:"always"}}clearAutoCloseTimeout(){window.clearTimeout(this.autoCloseTimeoutId),this.autoCloseTimeoutId=null}onBeforeOpen(){this.calciteAlertBeforeOpen.emit()}onOpen(){this.calciteAlertOpen.emit()}onBeforeClose(){this.calciteAlertBeforeClose.emit()}onClose(){this.calciteAlertClose.emit()}static get assetsDirs(){return["assets"]}get el(){return a(this)}static get watchers(){return{active:["handleActiveChange"],open:["openHandler"],autoCloseDuration:["updateDuration"],messageOverrides:["onMessagesChange"],queue:["handleQueueChange"],effectiveLocale:["effectiveLocaleChange"],numberingSystem:["numberingSystemChange"]}}};T.style=':host{--calcite-internal-alert-edge-distance:2rem;display:block;inline-size:var(--calcite-alert-width)}.container{pointer-events:none;position:fixed;z-index:var(--calcite-z-index-toast);margin-inline:auto;margin-block:0px;box-sizing:border-box;display:flex;inline-size:100%;min-inline-size:-moz-min-content;min-inline-size:min-content;align-items:center;justify-content:center;text-align:start;opacity:0;--tw-shadow:0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);--tw-shadow-colored:0 6px 20px -4px var(--tw-shadow-color), 0 4px 12px -2px var(--tw-shadow-color);box-shadow:var(--calcite-alert-shadow, var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow));background-color:var(--calcite-alert-background-color, var(--calcite-color-foreground-1));border-radius:var(--calcite-alert-corner-radius, var(--calcite-border-radius));border-block-start:0 solid transparent;border-inline:1px solid var(--calcite-color-border-3);border-block-end:1px solid var(--calcite-color-border-3);max-inline-size:calc(100% - var(--calcite-internal-alert-edge-distance) * 2);transition:opacity var(--calcite-internal-animation-timing-slow) cubic-bezier(0.215, 0.44, 0.42, 0.88), all var(--calcite-animation-timing) ease-in-out}.container--bottom,.container--top{inset-inline-end:0;inset-inline-start:0}.container[class*=bottom]{transform:translate3d(0, var(--calcite-internal-alert-edge-distance), 0);inset-block-end:var(--calcite-internal-alert-edge-distance)}.container[class*=top]{transform:translate3d(0, calc(-1 * var(--calcite-internal-alert-edge-distance)), 0);inset-block-start:var(--calcite-internal-alert-edge-distance)}.container[class*=start]{inset-inline-start:var(--calcite-internal-alert-edge-distance);inset-inline-end:auto}.container[class*=end]{inset-inline-end:var(--calcite-internal-alert-edge-distance);inset-inline-start:auto}.icon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0px;margin-block:auto;margin-inline-end:auto}.close{display:flex;cursor:pointer;align-items:center;justify-content:flex-end;align-self:stretch;border-style:none;background-color:transparent;color:var(--calcite-color-text-3);outline:2px solid transparent;outline-offset:2px;-webkit-appearance:none;border-start-end-radius:var(--calcite-alert-corner-radius, var(--calcite-border-radius));border-end-end-radius:var(--calcite-alert-corner-radius, var(--calcite-border-radius));outline-color:transparent}.close:focus{outline:2px solid var(--calcite-ui-focus-color, var(--calcite-color-brand));outline-offset:calc(\n -2px *\n calc(\n 1 -\n 2 * clamp(\n 0,\n var(--calcite-offset-invert-focus),\n 1\n )\n )\n )}.close:hover,.close:focus{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-2)}.close:active{background-color:var(--calcite-color-foreground-3)}.queue-count{visibility:hidden;display:flex;min-inline-size:-moz-min-content;min-inline-size:min-content;cursor:default;align-items:center;justify-content:space-around;align-self:stretch;overflow:hidden;text-align:center;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-text-2);opacity:0;transition:background-color, block-size, border-color, box-shadow, color, inset-block-end, inset-block-start, inset-inline-end, inset-inline-start inset-size, opacity, outline-color, transform var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s;border-inline:0 solid transparent;border-start-end-radius:0}.queue-count--active{visibility:visible;opacity:1}.dismiss-progress{position:absolute;display:block;inline-size:100%;overflow:hidden;inset-inline:0;inset-block-start:-2px;block-size:2px;border-radius:var(--calcite-border-radius) var(--calcite-border-radius) 0 0}.dismiss-progress::after{position:absolute;inset-block-start:0px;display:block;block-size:2px;content:"";background-color:var(--calcite-color-transparent-tint);inset-inline-end:0}.actions-end{display:flex;align-self:stretch}.text-container{box-sizing:border-box;display:flex;min-inline-size:0px;flex:1 1 auto;flex-direction:column;overflow-wrap:break-word}.footer{position:relative;display:flex;inline-size:auto;justify-content:flex-end;align-self:stretch;padding-block-start:1px;block-size:inherit}:host([scale=s]) slot[name=title]::slotted(*),:host([scale=s]) *::slotted([slot=title]){font-size:var(--calcite-font-size--1);line-height:1.375}:host([scale=s]) slot[name=message]::slotted(*),:host([scale=s]) *::slotted([slot=message]){font-size:var(--calcite-font-size--2);line-height:1.375}:host([scale=s]) slot[name=link]::slotted(*),:host([scale=s]) *::slotted([slot=link]){font-size:var(--calcite-font-size--2);line-height:1.375}:host([scale=s]) .queue-count{margin-inline:0.5rem}:host([scale=s]) .container{--calcite-internal-alert-min-height:3.5rem;inline-size:var(--calcite-alert-width, 40em)}:host([scale=s]) .close{padding:0.75rem}:host([scale=s]) .icon{padding-inline-start:0.75rem}:host([scale=s]) .text-container{padding-block:0.5rem;padding-inline:0.75rem 0.5rem}:host([scale=m]) slot[name=title]::slotted(*),:host([scale=m]) *::slotted([slot=title]){font-size:var(--calcite-font-size-0);line-height:1.375}:host([scale=m]) slot[name=message]::slotted(*),:host([scale=m]) *::slotted([slot=message]){font-size:var(--calcite-font-size--1);line-height:1.375}:host([scale=m]) slot[name=link]::slotted(*),:host([scale=m]) *::slotted([slot=link]){font-size:var(--calcite-font-size--1);line-height:1.375}:host([scale=m]) .queue-count{margin-inline:0.75rem}:host([scale=m]) .container{--calcite-internal-alert-min-height:4.1875rem;inline-size:var(--calcite-alert-width, 50em)}:host([scale=m]) .close{padding:1rem}:host([scale=m]) .icon{padding-inline-start:1rem}:host([scale=m]) .text-container{padding-block:0.75rem;padding-inline:1rem 0.75rem}:host([scale=l]) slot[name=title]::slotted(*),:host([scale=l]) *::slotted([slot=title]){margin-block-end:0.25rem;font-size:var(--calcite-font-size-1);line-height:1.375}:host([scale=l]) slot[name=message]::slotted(*),:host([scale=l]) *::slotted([slot=message]){font-size:var(--calcite-font-size-0);line-height:1.375}:host([scale=l]) slot[name=link]::slotted(*),:host([scale=l]) *::slotted([slot=link]){font-size:var(--calcite-font-size-0);line-height:1.375}:host([scale=l]) .queue-count{margin-inline:1rem}:host([scale=l]) .container{--calcite-internal-alert-min-height:5.625rem;inline-size:var(--calcite-alert-width, 60em)}:host([scale=l]) .close{padding:1.25rem}:host([scale=l]) .icon{padding-inline-start:1.25rem}:host([scale=l]) .text-container{padding-block:1rem;padding-inline:1.25rem 1rem}:host([open]) .container--active{border-block-start-width:2px;opacity:1;pointer-events:initial}:host([open]) .container--active[class*=bottom]{transform:translate3d(0, calc(-1 * var(--calcite-internal-alert-edge-distance)), inherit)}:host([open]) .container--active[class*=top]{transform:translate3d(0, var(--calcite-internal-alert-edge-distance), inherit)}:host([auto-close])>.queue-count{border-inline-end:0 solid transparent}slot[name=title]::slotted(*),*::slotted([slot=title]){font-size:var(--calcite-font-size-0);line-height:1.375;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-text-1)}slot[name=message]::slotted(*),*::slotted([slot=message]){margin:0px;display:inline;font-size:var(--calcite-font-size--1);line-height:1.375;font-weight:var(--calcite-font-weight-normal);margin-inline-end:0.5rem;color:var(--calcite-color-text-2)}slot[name=link]::slotted(*),*::slotted([slot=link]){display:inline-flex;color:var(--calcite-color-text-link)}:host([kind=brand]) .container{border-block-start-color:var(--calcite-color-brand)}:host([kind=brand]) .container .icon{color:var(--calcite-color-brand)}:host([kind=info]) .container{border-block-start-color:var(--calcite-color-status-info)}:host([kind=info]) .container .icon{color:var(--calcite-color-status-info)}:host([kind=danger]) .container{border-block-start-color:var(--calcite-color-status-danger)}:host([kind=danger]) .container .icon{color:var(--calcite-color-status-danger)}:host([kind=success]) .container{border-block-start-color:var(--calcite-color-status-success)}:host([kind=success]) .container .icon{color:var(--calcite-color-status-success)}:host([kind=warning]) .container{border-block-start-color:var(--calcite-color-status-warning)}:host([kind=warning]) .container .icon{color:var(--calcite-color-status-warning)}:host([auto-close-duration=fast]) .dismiss-progress:after{animation:dismissProgress 6000ms ease-out}:host(:hover[auto-close-duration=fast]) .dismiss-progress:after,:host(:focus[auto-close-duration=fast]) .dismiss-progress:after{animation-play-state:paused}:host([auto-close-duration=medium]) .dismiss-progress:after{animation:dismissProgress 10000ms ease-out}:host(:hover[auto-close-duration=medium]) .dismiss-progress:after,:host(:focus[auto-close-duration=medium]) .dismiss-progress:after{animation-play-state:paused}:host([auto-close-duration=slow]) .dismiss-progress:after{animation:dismissProgress 14000ms ease-out}:host(:hover[auto-close-duration=slow]) .dismiss-progress:after,:host(:focus[auto-close-duration=slow]) .dismiss-progress:after{animation-play-state:paused}.container.focused .dismiss-progress::after{animation-play-state:paused}@keyframes dismissProgress{0%{inline-size:0px;opacity:0.75}100%{inline-size:100%;opacity:1}}.container--embedded{position:absolute}:host([hidden]){display:none}[hidden]{display:none}:host([calcite-hydrated-hidden]){visibility:hidden !important;pointer-events:none}';
12
- /*!
13
- * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
14
- * See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.
15
- * v2.13.0
16
- */
17
- const O=class{constructor(i){t(this,i),this.calciteFlowItemBack=e(this,"calciteFlowItemBack",7),this.calciteFlowItemScroll=e(this,"calciteFlowItemScroll",6),this.calciteFlowItemClose=e(this,"calciteFlowItemClose",6),this.calciteFlowItemToggle=e(this,"calciteFlowItemToggle",6),this.handleInternalPanelScroll=t=>{t.target===this.containerEl&&(t.stopPropagation(),this.calciteFlowItemScroll.emit())},this.handleInternalPanelClose=t=>{t.target===this.containerEl&&(t.stopPropagation(),this.closed=!0,this.calciteFlowItemClose.emit())},this.handleInternalPanelToggle=t=>{t.target===this.containerEl&&(t.stopPropagation(),this.collapsed=t.target.collapsed,this.calciteFlowItemToggle.emit())},this.backButtonClick=()=>{this.calciteFlowItemBack.emit()},this.setBackRef=t=>{this.backButtonEl=t},this.setContainerRef=t=>{this.containerEl=t},this.closable=!1,this.closed=!1,this.collapsed=!1,this.collapseDirection="down",this.collapsible=!1,this.beforeBack=void 0,this.beforeClose=void 0,this.description=void 0,this.disabled=!1,this.heading=void 0,this.headingLevel=void 0,this.loading=!1,this.menuOpen=!1,this.messageOverrides=void 0,this.messages=void 0,this.overlayPositioning="absolute",this.scale="m",this.showBackButton=!1,this.defaultMessages=void 0,this.effectiveLocale=""}onMessagesChange(){}connectedCallback(){u(this),v(this)}async componentWillLoad(){await w(this),p(this)}componentDidRender(){C(this)}disconnectedCallback(){g(this),k(this)}componentDidLoad(){f(this)}effectiveLocaleChange(){x(this,this.effectiveLocale)}async setFocus(){await b(this);const{backButtonEl:t,containerEl:e}=this;return t?t.setFocus():e?e.setFocus():void 0}async scrollContentTo(t){await(this.containerEl?.scrollContentTo(t))}renderBackButton(){const{el:t}=this,e="rtl"===h(t),{showBackButton:s,backButtonClick:a,messages:o}=this,n=o.back;return s?i("calcite-action",{"aria-label":n,class:"back-button",icon:e?"chevron-right":"chevron-left",key:"flow-back-button",onClick:a,ref:this.setBackRef,scale:"s",slot:"header-actions-start",text:n,title:n}):null}render(){const{collapsed:t,collapseDirection:e,collapsible:a,closable:o,closed:n,description:c,disabled:l,heading:r,headingLevel:h,loading:d,menuOpen:p,messages:f,overlayPositioning:b,beforeClose:m}=this;return i(s,{key:"2e7872bb2687db0b67ddbf375f8ec0beaabbda36"},i(z,{key:"a9418954405a2cec2092bae3be5d77f02306e3c9",disabled:l},i("calcite-panel",{key:"d563c751421bf2d66c03286deaa613e09f585546",beforeClose:m,closable:o,closed:n,collapseDirection:e,collapsed:t,collapsible:a,description:c,disabled:l,heading:r,headingLevel:h,loading:d,menuOpen:p,messageOverrides:f,onCalcitePanelClose:this.handleInternalPanelClose,onCalcitePanelScroll:this.handleInternalPanelScroll,onCalcitePanelToggle:this.handleInternalPanelToggle,overlayPositioning:b,ref:this.setContainerRef,scale:this.scale},this.renderBackButton(),i("slot",{key:"c506ec8bb4debbd6a9da6c7941878de49776f614",name:"action-bar",slot:E.actionBar}),i("slot",{key:"e76e55e654ff878acff734bdf387402a9e262159",name:"alerts",slot:E.alerts}),i("slot",{key:"f7ab8839d7b101e31087130ebf3e36af1ec7da24",name:"header-actions-start",slot:E.headerActionsStart}),i("slot",{key:"2932c4c15b168732356b8e55fcc3064f5b3f4cf5",name:"header-actions-end",slot:E.headerActionsEnd}),i("slot",{key:"1ef8a9050683022733695445092f8c626487d87b",name:"header-content",slot:E.headerContent}),i("slot",{key:"24c0ab570a601a6c0edfb0c820e580fd24b158ce",name:"header-menu-actions",slot:E.headerMenuActions}),i("slot",{key:"ec55bbe7ba939a6efb35225850c37a1aadb97275",name:"fab",slot:E.fab}),i("slot",{key:"aa0bfec47656ef9f7f575cd933897a7909e5badc",name:"content-top",slot:E.contentTop}),i("slot",{key:"e23532d080e2df529c2aeb6af043c6efe7a0ab6d",name:"content-bottom",slot:E.contentBottom}),i("slot",{key:"db6ffc0d9300c77067a4c88ab277de685c7713af",name:"footer-start",slot:E.footerStart}),i("slot",{key:"5f249356da9292f34c4036d0d0741f048fe999e9",name:"footer",slot:E.footer}),i("slot",{key:"7476137bacc0f3be5c97682c5027f74d73254765",name:"footer-end",slot:E.footerEnd}),i("slot",{key:"58f60a46c42a05abe9b100a57d478d991e4f25bc",name:"footer-actions",slot:E.footerActions}),i("slot",{key:"926a8d94b76b6fcdef6dfd219ba8180c44f81c35"}))))}static get assetsDirs(){return["assets"]}get el(){return a(this)}static get watchers(){return{messageOverrides:["onMessagesChange"],effectiveLocale:["effectiveLocaleChange"]}}};O.style=":host{box-sizing:border-box;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:host([disabled]){cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{position:relative;display:flex;inline-size:100%;flex:1 1 auto;overflow:hidden}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.back-button{border-width:0px;border-style:solid;border-color:var(--calcite-color-border-3);border-inline-end-width:1px}calcite-panel{--calcite-panel-footer-padding:var(--calcite-flow-item-footer-padding);--calcite-panel-header-border-block-end:var(--calcite-flow-item-header-border-block-end)}:host([hidden]){display:none}[hidden]{display:none}";const q=class{constructor(i){t(this,i),this.success=e(this,"success",7),this.fail=e(this,"fail",7),this.drawComplete=e(this,"drawComplete",7),this.editingAttachment=e(this,"editingAttachment",7),this.progressStatus=e(this,"progressStatus",7),this.modeChanged=e(this,"modeChanged",7),this.mapView=void 0,this.selectedLayerId=void 0,this.customizeSubmit=!1,this.searchConfiguration=void 0,this.isMobile=void 0,this.floorLevel=void 0,this.formElements=void 0,this.enableSearch=!1,this.showGuidingMsg=!0,this.showGuidingMsgWhileDrawing=!0,this._editorLoading=!1,this._currentPage="templatePicker",this._translations=void 0}get el(){return a(this)}Editor;ExpressionInfo;FieldElement;FormTemplate;_editor;FeatureLayer;MapView;_updatedMapView;Search;_search;reactiveUtils;_addingAttachment;_container;_mapViewContainer;_isSubmitBtnClicked=!1;_selectedLayer;async mapViewWatchHandler(){await this.mapView.when((async()=>{await this.init()}))}async isMobileHandler(){this.modeChanged.emit()}async _editorLoadingWatchHandler(t){if(t){if(this._container?.classList.add("display-none"),this._selectedLayer?.isTable){const t={layer:this._selectedLayer,template:this._selectedLayer.templates[0]};await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(t),await this.hideEditorsElements()}else await this.startCreate();this._container?.classList.remove("display-none"),this._editorLoading=!1}}async close(){this._editor&&this._editor.destroy()}async submit(){this._editor&&(this._isSubmitBtnClicked=!0,this._editor.viewModel.featureFormViewModel.submit())}async refresh(t){this._editor&&this._setFloorLevel(t)}success;fail;drawComplete;editingAttachment;progressStatus;modeChanged;async componentWillLoad(){await this._getTranslations(),await this.initModules()}async componentDidLoad(){await this.init()}render(){const t="drawing"===this._currentPage?"":"display-none",e=this._editorLoading?"":"display-none",s=this._editorLoading?"display-none":"",a=this.isMobile?"show-map":"display-none";let n=this._translations.chooseCategoryMsg;return"drawing"===this._currentPage?n=this._translations.provideLocationMsg:"featureForm"===this._currentPage&&(n=this._translations.provideDetailsMsg),i(o,{key:"204a51ffceb754c202bcf93fda18560e6101ca65"},this.showGuidingMsg&&(this.showGuidingMsgWhileDrawing||"drawing"!==this._currentPage)&&i("calcite-notice",{key:"329daebd157ea330d746508dcf2198fa1d56f852",class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},i("div",{key:"995898cf5e0ea57d41571429758baf6c459097af",slot:"message"},n)),i("calcite-loader",{key:"59bc1bce0936df76a432d75a5a4613d89203571c",class:e,label:"",scale:"s"}),i("div",{key:"814e3e6c63dc1880f235d2ffc5aa8ca9e22eb51e",class:s,id:"feature-form"}),this.enableSearch&&i("div",{key:"22146ca4dd94f57dddf80a04b4aeaa92fc0d3b81",class:`search-widget ${t} ${s}`,id:"search-widget-ref"}),i("div",{key:"8863876b3393fdcd4d2cdf254289f80d9fd16ef1",class:`${a}`,ref:t=>{this._mapViewContainer=t}}))}async init(){this.mapView&&this.selectedLayerId&&(this._updatedMapView=this.mapView,await(this.isMobile?this.createMobileMapView():this._loadWidgets()))}async initModules(){const[t,e,i,s,a,o,n]=await F(["esri/widgets/Editor","esri/core/reactiveUtils","esri/widgets/Search","esri/form/ExpressionInfo","esri/form/elements/FieldElement","esri/form/FormTemplate","esri/views/MapView"]);this.Editor=t,this.reactiveUtils=e,this.Search=i,this.ExpressionInfo=s,this.FieldElement=a,this.FormTemplate=o,this.MapView=n}async createMobileMapView(){this._mapViewContainer.classList.add("hide-map"),await new this.MapView({map:this.mapView.map,container:this._mapViewContainer}).when((t=>{this._updatedMapView=t,this._loadWidgets()}),(t=>{console.log(t)}))}async _loadWidgets(){await this.createEditorWidget(),this.enableSearch&&await this.createSearchWidget()}async createEditorWidget(){this._editor&&this._editor.destroy();const t=[];this._container=document.createElement("div"),this._container?.classList.add("display-none");const e=await L(this._updatedMapView);this._selectedLayer=await S(this.mapView,this.selectedLayerId),this._selectedLayer?.isTable||e.forEach((async e=>{t.push({layer:e,enabled:"feature"===e?.type&&e?.id===this.selectedLayerId,addEnabled:!0,updateEnabled:!1,deleteEnabled:!1})})),this._editor=new this.Editor({view:this._updatedMapView,layerInfos:t,visibleElements:{snappingControls:!1,createFeaturesSection:!0,editFeaturesSection:!1},container:this._container}),this._mapViewContainer?this.el.insertBefore(this._container,this._mapViewContainer):this.el.appendChild(this._container);const i=this.reactiveUtils.watch((()=>this._editor.viewModel.state),(t=>{"adding-attachment"===t||"editing-attachment"===t?(this._addingAttachment=!0,this.editingAttachment.emit(!0)):this._addingAttachment&&(this.editingAttachment.emit(!1),this._addingAttachment=!1)}));this._editor.viewModel.addHandles(i);const s=this.reactiveUtils.watch((()=>this._editor.viewModel.featureTemplatesViewModel.state),(t=>{"ready"===t&&"create-features"!==this._editor.viewModel?.activeWorkflow?.type&&(this.progressStatus.emit(.5),this._editorLoading=!0)}));this._editor.viewModel.addHandles(s);const a=this.reactiveUtils.watch((()=>this._editor.viewModel.featureFormViewModel?.state),(t=>{"ready"===t&&(this._mapViewContainer?.classList?.replace("show-map","hide-map"),this._editor.viewModel.featureFormViewModel.on("submit",this.submitted.bind(this)),this._setFloorLevel(this.floorLevel),this._currentPage="featureForm",this.progressStatus.emit(1),this.drawComplete.emit())}));this._editor.viewModel.addHandles(a);const o=this.reactiveUtils.watch((()=>this._editor.viewModel.state),(t=>{"creating-features"===t&&"disabled"===this._editor.viewModel.featureFormViewModel.state&&(this._mapViewContainer?.classList?.replace("hide-map","show-map"),this._selectedLayer&&!this._selectedLayer.isTable&&(this._currentPage="drawing"))}));this._editor.viewModel.addHandles(o)}async startCreate(){return await this.hideEditorsElements(),new Promise(((t,e)=>{if(this._editor.viewModel.featureTemplatesViewModel.items?.length){const i=this._editor.viewModel.featureTemplatesViewModel.items[0].get("items");this._editor.viewModel.featureTemplatesViewModel.on("select",(()=>{this.progressStatus.emit(.75),setTimeout((()=>{this.hideEditorsElements().then((()=>{t({})}),(t=>e(t)))}),700)})),1===i.length&&this._editor.viewModel.featureTemplatesViewModel.select(i[0]);const s=i.length>1;this.hideEditorsElements().then((()=>{s&&t({})}),(t=>s&&e(t)))}}))}async createSearchWidget(){let t={view:this._updatedMapView};this.searchConfiguration&&(t={...this._getSearchConfig(this.searchConfiguration,this._updatedMapView)}),this._search=new this.Search(t),this._search.container="search-widget-ref",this._search.popupEnabled=!1,this._search.resultGraphicEnabled=!1;let e=null;this._search.on("search-complete",(t=>{this._updatedMapView.goTo(t.results[0].results[0].extent),"point"===this._selectedLayer.geometryType&&(e=t.results[0].results[0]?.feature.geometry)}));const i=this.reactiveUtils.watch((()=>this._search.viewModel.state),(t=>{"ready"===t&&setTimeout((()=>{this._editor.viewModel.sketchViewModel.createGraphic&&e&&(this._editor.viewModel.sketchViewModel.createGraphic.set("geometry",e),this._editor.viewModel.sketchViewModel.complete(),this.hideEditorsElements())}),100)}));this._search.viewModel.addHandles(i)}_getSearchConfig(t,e){const i=t.sources;return i?.length>0?(t.includeDefaultSources=!1,i.forEach((t=>{if(t.hasOwnProperty("layer")){const i=t,s=i.layer?.id,a=s?e.map.findLayerById(s):null,o=i?.layer?.url;a?i.layer=a:o&&(i.layer=new this.FeatureLayer(o))}})),i?.forEach((t=>{if(t.hasOwnProperty("locator")){const e=t;"ArcGIS World Geocoding Service"===e?.name&&(e.outFields=e.outFields||["Addr_type","Match_addr","StAddr","City"],e.singleLineFieldName="SingleLine"),e.url=e.url,delete e.url}}))):t={...t,includeDefaultSources:!0},t}async _setFloorLevel(t){if(!t)return;const e=this._selectedLayer;if(e?.floorInfo?.floorField){const i=e.fields.find((t=>t.name===e.floorInfo.floorField));if(i&&!e?.formTemplate)this._editor.viewModel.featureFormViewModel.setValue(i.name,t),i.editable=!1;else if(e.formTemplate&&this.formElements){const i=new this.ExpressionInfo({expression:`"${t}"`,name:"floor-info-test",title:"Floor Info",returnType:"string"}),s=new this.FieldElement({label:e.floorInfo.floorField,editableExpression:"false",fieldName:e.floorInfo.floorField,input:{type:"text-box",maxLength:50,minLength:0},valueExpression:i.name});this._updatedMapView.map.editableLayers.forEach((t=>{const e=this.formElements.orgExpressionInfos,a=[...this.formElements.orgElements];a.push(s);const o=new this.FormTemplate({title:t.formTemplate.title,description:t.formTemplate.description,elements:a,expressionInfos:[i].concat(e)});t.formTemplate=o}))}}}async hideEditorsElements(){this.customizeSubmit&&(await this.timeout(700),this.el.querySelector(".esri-editor")?.querySelectorAll("calcite-flow-item")?.forEach((t=>{const e=t.shadowRoot?.querySelector("calcite-panel")?.shadowRoot?.querySelector("article");e?.querySelector("header")?.setAttribute("style","display: none"),e?.querySelector("footer")?.setAttribute("style","display: none")})))}async submitted(t){if(t.invalid.length)this._isSubmitBtnClicked=!1;else if(t.valid.length&&this._isSubmitBtnClicked){this._isSubmitBtnClicked=!1;try{await this._editor.activeWorkflow.commit(),this._editor.viewModel.failures?.length&&this._editor.viewModel.failures.some((t=>{if(t.error)throw t.error}))}catch(t){return void this.fail.emit(t)}this.success.emit()}}timeout(t){return new Promise((e=>setTimeout(e,t)))}async _getTranslations(){const t=await j(this.el);this._translations=t[0]}static get watchers(){return{mapView:["mapViewWatchHandler"],isMobile:["isMobileHandler"],_editorLoading:["_editorLoadingWatchHandler"]}}};q.style=":host{display:block}.esri-editor__panel-toolbar{display:none !important}.esri-editor__panel-content{padding-block:0px !important}.esri-editor .esri-item-list__group__header{display:none !important}.esri-editor__panel-content__section .esri-widget__heading{display:none !important}.esri-editor .esri-item-list__filter-container--sticky{padding-block:0px !important;padding-inline:10px !important}.search-widget{width:92% !important;margin:5px 14px 20px 14px}.display-none{display:none !important}.hide-map{height:1%;visibility:hidden}.show-map{padding:10px !important;position:absolute;bottom:0;width:calc(100% - 22px);height:50%}.notice-msg{padding:10px;width:calc(100% - 20px)}.esri-editor__panel-content{padding-block:10px !important}";const R=class{constructor(i){t(this,i),this.closeEdit=e(this,"closeEdit",7),this.editsComplete=e(this,"editsComplete",7),this.refreshGraphics=e(this,"refreshGraphics",7),this.enableEditGeometry=!1,this.graphics=void 0,this.mapView=void 0,this.open=!1,this.graphicIndex=0,this._editorLoading=!1,this._translations=void 0}get el(){return a(this)}_activeWorkflowHandle;_addRelatedRecordHandle;_attachmentHandle;_editHandle;_layerEditHandle;Editor;_editor;_layer;_editContainer;_editControlElements;_editingDisabled;_shouldClose=!1;reactiveUtils;async graphicsWatchHandler(){0===this.graphics.length&&this.open&&await this._closeEdit(!0)}async openWatchHandler(t){t&&this.graphics?.length>0&&this.graphicIndex>-1&&(this._editorLoading=!0,await this._initEditorWidget(),this.graphicIndex>-1&&this.graphics.length>0&&this.open&&!this._shouldClose&&await this._startUpdate(),this._editorLoading=!1),t||await this._closeEdit(!0)}closeEdit;editsComplete;refreshGraphics;async featureSelectionChange(){this.open&&await this._closeEdit(!1)}async componentWillLoad(){await this._initModules(),await this._getTranslations()}async componentWillRender(){this.graphics?.length>0&&this.graphics[0]?.layer&&(this._layer=this.graphics[0].layer,this._layerEditHandle&&this._layerEditHandle.remove(),this._layerEditHandle=("subtype-sublayer"===this._layer.type?this._layer.parent:this._layer).on("edits",(()=>{this.editsComplete.emit()})))}render(){const t=this._editorLoading?"display-none":"position-absolute",e=this._editorLoading?"":"display-none";return i(s,{key:"9f4aaad65aed5e7b8d05e6171fdbfdb4f6534c12"},i("div",{key:"ded5d125959b11da1a48faf2f28baa9779e36e57",class:"position-absolute"},this.graphics?.length>0&&this.graphics[0]&&this.graphics[0].layer.editingEnabled?void 0:i("calcite-notice",{kind:"warning",open:!0,slot:"content-top",width:"full"},i("div",{slot:"message"},this._translations.enableEditing)),i("div",{key:"6eb7dd1c025f3385f68a08176558e07a0c4bf3cd",class:"position-absolute"},i("div",{key:"a56ac68bc0bda73a2153d89fc29d5bef3313ae7f",class:t,id:"feature-form",ref:t=>this._editContainer=t}),i("calcite-loader",{key:"a1323d9db0e6de6df48573de7fbc954280b27b8f",class:e,label:"",scale:"s"}))))}async _initModules(){const[t,e]=await F(["esri/widgets/Editor","esri/core/reactiveUtils"]);this.Editor=t,this.reactiveUtils=e}async _initEditorWidget(){if(this.mapView&&this.graphics&&this.graphics.length>0&&this.graphics[0]){this._editor&&this._editor.destroy();const t=document.createElement("div"),e=(await L(this.mapView)).map((t=>({layer:t,geometryUpdatesEnabled:this.enableEditGeometry})));this._editor=new this.Editor({allowedWorkflows:"update",view:this.mapView,layerInfos:e,visibleElements:{snappingControls:!1},container:t}),this._attachmentHandle&&this._activeWorkflowHandle&&(this._attachmentHandle.remove(),this._activeWorkflowHandle.remove()),this._attachmentHandle=this.reactiveUtils.when((()=>"adding-attachment"===this._editor.viewModel.state||"editing-attachment"===this._editor.viewModel.state||"creating-features"===this._editor.viewModel.state),(()=>{this._shouldClose=!1})),this._activeWorkflowHandle=this.reactiveUtils.watch((()=>this._editor.viewModel.activeWorkflow?.activeWorkflow),(t=>{"update-table-record"!==t?.type&&"create-features"!==t?.type||(this._shouldClose=!1),(t?.type||t?.hasPendingEdits||this._editor.activeWorkflow)&&this._editor?.activeWorkflow?.started||(this.open=!1)})),this._editContainer.appendChild(t)}}async _closeEdit(t){this._shouldClose=!0,t&&this._editor?.activeWorkflow?(this._editor.activeWorkflow?.activeWorkflow?.hasPendingEdits&&(await this._editor.activeWorkflow.reset(),await this._editor.cancelWorkflow()),this._editor.destroy()):this.graphicIndex>-1&&this.graphics?.length>0&&this.refreshGraphics.emit(this.graphics),this._shouldClose=!1,this.closeEdit.emit()}async _startUpdate(){await this._editor.startUpdateWorkflowAtFeatureEdit(this.graphics[this.graphicIndex]),this._shouldClose=!0}async _getTranslations(){const t=await j(this.el);this._translations=t[0]}static get watchers(){return{graphics:["graphicsWatchHandler"],open:["openWatchHandler"]}}};R.style=":host{display:block}.padding-bottom-1{padding-bottom:1rem}.font-bold{font-weight:var(--calcite-font-weight-bold)}.font-500{font-weight:var(--calcite-font-weight-medium)}.font-italic{font-style:italic}#feature-form{padding-top:0px}.padding-sides-bottom-1{padding:0 1rem 1rem 1rem}.position-relative{position:relative}.esri-editor__prompt--danger{position:relative !important;width:100% !important;background-color:var(--calcite-color-foreground-1) !important}.esri-feature__content-node{background-color:var(--calcite-color-foreground-1) !important}.esri-editor__panel-toolbar{display:none !important}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.esri-editor__panel-content{padding-block:10px !important}";const U=class{constructor(i){t(this,i),this.popupClosed=e(this,"popupClosed",7),this.selectionChanged=e(this,"selectionChanged",7),this.enableEditGeometry=!1,this.graphics=void 0,this.isLoading=!1,this.isMobile=void 0,this.mapView=void 0,this.allowEditing=!0,this.highlightEnabled=!0,this.paginationEnabled=!0,this.position="absolute",this._alertOpen=!1,this._count="",this._editRecordOpen=!1,this._mobileTitle="",this._showListView=!1,this._translations=void 0}get el(){return a(this)}Features;_editEnabled;_features;_layer;_popupUtils;_featuresNodeId="features-node"+(new Date).getMilliseconds().toString();reactiveUtils;async graphicsWatchHandler(){await this.setGraphics()}async isMobileWatchHandler(){await this._initFeaturesWidget()}async mapViewWatchHandler(){return await this._initFeaturesWidget()}async getSelectedFeature(){return this._features.selectedFeature}async refresh(){await this.setGraphics()}async back(){this._features.previous(),this._count=this._getCount()}async next(){this._features.next(),this._count=this._getCount()}async toggleListView(){this._showListView=!this._showListView;const t=this._features.selectedFeatureIndex;this._features.open({features:this.graphics,featureMenuOpen:this._showListView}),this._features.selectedFeatureIndex=t}async updateCurrentGraphic(t){this._features.selectedFeatureWidget.graphic=t}popupClosed;selectionChanged;async closeEdit(){this._editRecordOpen=!1}async layerSelectionChange(){this._showListView=!1,this._features?.viewModel&&(this._features.viewModel.featureMenuOpen=!1,this._features.close())}async refreshGraphics(t){this.graphics=[...t.detail]}async componentWillLoad(){await this._initModules(),await this._getTranslations(),this._popupUtils=new W}async componentDidLoad(){this.graphics?.length>0&&await this.setGraphics()}render(){const t=this.isLoading?"":"display-none",e=this.isLoading||this._editRecordOpen?"visibility-hidden":"position-absolute",a=!this.isLoading&&this._editRecordOpen?"position-absolute":"display-none",o=!this.isLoading&&this._editRecordOpen||this._showListView?"display-none":"",n=this._features?.features?.length<2,c=this.isMobile?"display-none":"",l=this._features?.selectedFeature?.getObjectId(),r=parseInt(l?.toString(),10)>-1?[l]:[],h=this._layer?.editingEnabled&&this._layer?.capabilities?.operations?.supportsDelete;return i(s,{key:"a46a4081790c4e67a7e62d7602cf7d3203688d43"},i("calcite-shell",{key:"688be9c8641692e2843536024752172416e88213",style:{position:this.position}},this._getHeader(),i("calcite-loader",{key:"0d99da4c0046325af848deaa5b6cb67ed524de96",class:t,label:this._translations.fetchingData}),i("div",{key:"e075742e911624b76b56404ccde68bff8f0363aa",class:"esri-widget feature-node "+e,id:this._featuresNodeId}),i("div",{key:"17423712d3a1a2d38ee890ca4dba3ab55ff9ff5f",class:`${o} width-100`,slot:"footer"},this.allowEditing&&i("div",{key:"f9738f91381d1f1e011951c74b53c733a563f37d",class:"display-flex top-border padding-1-2"},i("calcite-button",{key:"bdb409117bc78ce70cb015521506086c6a8fc9c1",appearance:"solid",id:"solutions-edit",onClick:()=>this._openEditRecord(),width:"full"},this._translations.edit),this.isMobile&&h?i("delete-button",{class:"padding-inline-start-1 width-100",id:"solutions-delete",ids:r,layer:this._layer,onEditsComplete:()=>this._closePopup()}):void 0,i("calcite-tooltip",{key:"b1927881890a62576bfb794ac8d7ceec3178ae50",placement:"bottom","reference-element":"solutions-edit"},i("span",{key:"5b8024aca83b9a12e55e83025353b718fbabc56a"},this._translations.edit)),this.isMobile?i("calcite-tooltip",{placement:"bottom","reference-element":"solutions-delete"},i("span",null,this._translations.delete)):void 0),this.paginationEnabled&&!n&&i("div",{key:"5b2410d9f2a2038f8903fb312ec00174d7b227f7",class:`display-flex padding-1-2 button-container top-border ${c}`},i("div",{key:"3e1ba697bd0c22e59b5555375aa192e05900d4a3"},i("calcite-button",{key:"d0308cab8f7b570eb64ba6639b753e34e471f0e4",appearance:"transparent",disabled:n,iconFlipRtl:"both",iconStart:"chevron-left",id:"solutions-back",onClick:()=>this._back(),width:"full"}),i("calcite-tooltip",{key:"ff51bfc1fe19c2cff4e9ef37c619e0c69dd7c707",placement:"top","reference-element":"solutions-back"},i("span",{key:"dc1e698ca37f5988c2b822d6d7e00eacfc4fe4ba"},this._translations.back))),i("calcite-action",{key:"e442df4bcc0012851b8102a2590a58697cb1dc49",class:"pagination-action",iconFlipRtl:!0,onClick:()=>this._toggleListView(),scale:"s",text:"",textEnabled:!0},i("span",{key:"cb4729f055978f1d4c1c63d3e875fec3e4161602",class:"pagination-count"},this._count)),i("div",{key:"e6eac05de054f614dc8b6bf3de2ae289dd6d527f"},i("calcite-button",{key:"e253248af7d5e21880ccb3e82bbbe95082ff916a",appearance:"transparent",disabled:n,iconFlipRtl:"both",iconStart:"chevron-right",id:"solutions-next",onClick:()=>this._next(),width:"full"}),i("calcite-tooltip",{key:"7a2340dc1403c1a95c0a926c9fda19876a513708",placement:"top","reference-element":"solutions-next"},i("span",{key:"3b69deac115afe2dc8cf9fb9d9eaed8d93abb22c"},this._translations.next))))),i("edit-card",{key:"e43be40ba13bec51123fbcd3f30062f4bc3e8550",class:a,enableEditGeometry:this.enableEditGeometry,graphicIndex:this._features?.selectedFeatureIndex,graphics:this.graphics,mapView:this.mapView,open:this._editRecordOpen}),i("calcite-alert",{key:"ccbd2ecf9f1f719912ec3020d29559a6d8727e3f",icon:"layer-broken",kind:"warning",label:"",onCalciteAlertClose:()=>this._alertClosed(),open:this._alertOpen,placement:"top"},i("div",{key:"4f17aeceb63548d1eef560d3ef178f630f8dfe47",slot:"title"},this._translations.editDisabled),i("div",{key:"9c720479ed61012787d7f6be966e31e3fa136d54",slot:"message"},this._translations.enableEditing))))}async _initModules(){const[t,e]=await F(["esri/widgets/Features","esri/core/reactiveUtils"]);this.Features=t,this.reactiveUtils=e}async setGraphics(){this._features||await this._initFeaturesWidget(),this.graphics.length>0?(this._layer=this.graphics[0]?.layer,this._editEnabled=this._layer.editingEnabled&&this._layer.capabilities.operations.supportsUpdate,this._mobileTitle=await this._popupUtils.getPopupTitle(this.graphics[0],this.mapView.map),this._features.open({features:this.graphics})):(this._features.clear(),this._features.close()),this._count=this._getCount()}async _initFeaturesWidget(){return void 0!==this.isMobile?await(this.mapView?.when((()=>{this._features?(this._features.view=this.mapView,this._features.visibleElements.actionBar=!1,this._features.visibleElements.closeButton=!1,this._features.visibleElements.heading=!this.isMobile):(this._features=new this.Features({view:this.mapView,container:this._featuresNodeId,visibleElements:{actionBar:!1,closeButton:!1,heading:!this.isMobile}}),this._features.viewModel.highlightEnabled=this.highlightEnabled,this.reactiveUtils.watch((()=>this._features.viewModel.featureMenuOpen),(t=>{this._count=this._getCount(),t||(this._showListView=t)})),this.reactiveUtils.watch((()=>this._features.selectedFeatureIndex),(t=>{t>-1&&this.selectionChanged.emit({selectedFeature:[this._features.selectedFeature],selectedFeatureIndex:this._features.selectedFeatureIndex})})))}))):Promise.resolve()}_getHeader(){return this.isMobile&&!this._editRecordOpen?i("calcite-panel",{class:"border-width-0",slot:"header"},i("calcite-action",{class:"end-border",icon:"chevron-left",iconFlipRtl:!0,onClick:()=>this._closePopup(),scale:"s",slot:"header-actions-start",text:""}),i("span",{class:"font-bold",slot:"header-content"},this._mobileTitle)):void 0}_closePopup(){this.popupClosed.emit()}_alertClosed(){this._alertOpen=!1}_openEditRecord(){this._editEnabled?this._editRecordOpen=!0:this._alertOpen=!0}_back(){this._features.previous(),this._count=this._getCount()}_next(){this._features.next(),this._count=this._getCount()}_getCount(){const t=(this._features?.viewModel.selectedFeatureIndex+1).toString(),e=this._features?.features?.length.toString();return this._translations.indexOfTotal.replace("{{index}}",t).replace("{{total}}",e)}_toggleListView(){this._showListView=!this._showListView;const t=this._features.selectedFeatureIndex;this._features.open({features:this.graphics,featureMenuOpen:this._showListView}),this._features.selectedFeatureIndex=t}async _getTranslations(){const t=await j(this.el);this._translations=t[0]}static get watchers(){return{graphics:["graphicsWatchHandler"],isMobile:["isMobileWatchHandler"],mapView:["mapViewWatchHandler"]}}};U.style=":host{display:block;--calcite-label-margin-bottom:0}.padding-1-2{padding:0.5rem}.display-none{display:none !important}.display-flex{display:flex}.position-absolute{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto}.feature-node{position:relative !important}.feature-node .esri-features__footer{display:none !important}.button-container{justify-content:center;align-items:center}.top-border{border-top:1px solid var(--calcite-color-border-1)}.width-100{width:100%}.esri-features__container{padding:0.5rem !important;background-color:var(--calcite-color-foreground-1) !important;height:100% !important}.overflow-hidden{overflow:hidden}.height-40{height:40px}.end-border{border-inline-end:1px solid var(--calcite-color-border-1)}.font-bold{font-weight:bold}.visibility-hidden{visibility:hidden;height:0px}.padding-inline-start-1{padding-inline-start:1rem}.border-width-0{border-width:0px}.pagination-action{position:relative;left:3px}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}";export{T as calcite_alert,O as calcite_flow_item,q as create_feature,R as edit_card,U as info_card}
@@ -1,11 +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,h as i,g as s,c as e,F as a}from"./p-4e6eb06e.js";import{c as h}from"./p-ff336351.js";import{c as n,s as c,a as o}from"./p-ad9d1221.js";import{l as r,g as l,f as d}from"./p-f4aadb3b.js";import{b as f,d as p,a as m,c as b}from"./p-d572627c.js";import"./p-4f82eb55.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";
7
- /*!
8
- * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
9
- * See https://github.com/Esri/calcite-design-system/blob/dev/LICENSE.md for details.
10
- * v2.13.0
11
- */const y="frame",u="frame--advancing",g="frame--retreating",w=class{constructor(i){t(this,i),this.itemMutationObserver=h("mutation",(()=>this.updateFlowProps())),this.getFlowDirection=(t,i)=>t&&i>1||t>1?i<t?"retreating":"advancing":null,this.updateFlowProps=()=>{const{customItemSelectors:t,el:i,items:s}=this,e=Array.from(i.querySelectorAll("calcite-flow-item"+(t?`,${t}`:""))).filter((t=>t.closest("calcite-flow")===i)),a=s.length,h=e.length,n=e[h-1],c=e[h-2];if(h&&n&&e.forEach((t=>{t.showBackButton=t===n&&h>1,t.hidden=t!==n})),c&&(c.menuOpen=!1),this.items=e,a!==h){const t=this.getFlowDirection(a,h);this.itemCount=h,this.flowDirection=t}},this.customItemSelectors=void 0,this.flowDirection=null,this.itemCount=0,this.items=[]}async back(){const{items:t}=this,i=t[t.length-1];if(!i)return;const s=i.beforeBack?i.beforeBack:()=>Promise.resolve();try{await s.call(i)}catch(t){return}return i.remove(),i}async setFocus(){await n(this);const{items:t}=this,i=t[t.length-1];return i?.setFocus()}connectedCallback(){this.itemMutationObserver?.observe(this.el,{childList:!0,subtree:!0}),this.updateFlowProps()}async componentWillLoad(){c(this)}componentDidLoad(){o(this)}disconnectedCallback(){this.itemMutationObserver?.disconnect()}async handleItemBackClick(t){if(!t.defaultPrevented)return await this.back(),this.setFocus()}render(){const{flowDirection:t}=this;return i("div",{key:"01fbee965d48cb54fa5bd1b53a3435538df84332",class:{[y]:!0,[u]:"advancing"===t,[g]:"retreating"===t}},i("slot",{key:"495880eceeb04387dd1352aa00337f037ab0636c"}))}get el(){return s(this)}};w.style=":host{box-sizing:border-box;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-2);font-size:var(--calcite-font-size--1)}:host *{box-sizing:border-box}:host{position:relative;display:flex;inline-size:100%;flex:1 1 auto;align-items:stretch;overflow:hidden;background-color:transparent}:host .frame{position:relative;margin:0px;display:flex;inline-size:100%;flex:1 1 auto;flex-direction:column;align-items:stretch;padding:0px}:host ::slotted(calcite-flow-item),:host ::slotted(calcite-panel){block-size:100%}:host ::slotted(.calcite-match-height:last-child){display:flex;flex:1 1 auto;overflow:hidden}:host .frame--advancing{animation:calcite-frame-advance var(--calcite-animation-timing)}:host .frame--retreating{animation:calcite-frame-retreat var(--calcite-animation-timing)}@keyframes calcite-frame-advance{0%{--tw-bg-opacity:0.5;transform:translate3d(50px, 0, 0)}100%{--tw-bg-opacity:1;transform:translate3d(0, 0, 0)}}@keyframes calcite-frame-retreat{0%{--tw-bg-opacity:0.5;transform:translate3d(-50px, 0, 0)}100%{--tw-bg-opacity:1;transform:translate3d(0, 0, 0)}}:host([hidden]){display:none}[hidden]{display:none}";const k=class{constructor(i){t(this,i),this.success=e(this,"success",7),this.fail=e(this,"fail",7),this.isActionPending=e(this,"isActionPending",7),this.formReady=e(this,"formReady",7),this.mapView=void 0,this.table=void 0,this.selectedFeature=void 0,this.customizeSubmit=!1,this.showGuidingMsg=!0,this._editorLoading=!1,this._translations=void 0}get el(){return s(this)}Editor;_editor;reactiveUtils;_container;_addingAttachment;_isSubmitBtnClicked=!1;async mapViewWatchHandler(){await this.mapView.when((async()=>{await this.init()}))}async _editorLoadingWatchHandler(t){t&&(this._container?.classList.add("display-none"),await this.startCreate(),this._container?.classList.remove("display-none"),this._editorLoading=!1)}async close(){this._editor&&this._editor.destroy()}async submit(){this._editor&&(this._isSubmitBtnClicked=!0,this._editor.viewModel.featureFormViewModel.submit())}success;fail;isActionPending;formReady;async componentWillLoad(){await this._getTranslations(),await this.initModules()}async init(){this.mapView&&await this.createEditorWidget()}async initModules(){const[t,i]=await r(["esri/widgets/Editor","esri/core/reactiveUtils"]);this.Editor=t,this.reactiveUtils=i}render(){const t=this._editorLoading?"":"display-none";return i(a,{key:"707536f66fc4de711e3f519a8869507bf2d6f566"},this.showGuidingMsg&&i("calcite-notice",{key:"c3fb5a706d250b6db7dac9ab20b949a81eeb0c5f",class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},i("div",{key:"a9aa0a8137a256240c5e8d0c77dc364b31b5b2a1",slot:"message"},this._translations.provideDetailsMsg)),i("calcite-loader",{key:"4e1295a1a867da2c9f1fe4428bdc115bd8643f75",class:t,label:"",scale:"s"}))}async componentDidLoad(){await this.init()}async createEditorWidget(){this._editor&&this._editor.destroy(),this._container=document.createElement("div"),this._container?.classList.add("display-none"),this._editor=new this.Editor({view:this.mapView,visibleElements:{snappingControls:!1},container:this._container}),this.el.appendChild(this._container);const t=this.reactiveUtils.watch((()=>this._editor.viewModel.featureTemplatesViewModel.state),(t=>{"ready"===t&&(this._editorLoading=!0)}));this._editor.viewModel.addHandles(t);const i=this.reactiveUtils.watch((()=>this._editor.viewModel.state),(t=>{"adding-attachment"===t||"editing-attachment"===t?(this._addingAttachment=!0,this.isActionPending.emit(!0)):this._addingAttachment&&(this.isActionPending.emit(!1),this._addingAttachment=!1)}));this._editor.viewModel.addHandles(i);const s=this.reactiveUtils.watch((()=>this._editor.viewModel.featureFormViewModel?.state),(t=>{"ready"===t&&this.formReady.emit()}));this._editor.viewModel.addHandles(s)}async startCreate(){const t=this.selectedFeature.layer,i=this.table,s=t.relationships[0],e=i.relationships.find((i=>t.layerId===i.relatedTableId)),a=await t.queryFeatures({objectIds:[this.selectedFeature.getObjectId()],outFields:[t.objectIdField,s.keyField]}),h=i.templates[0],n={attributeOverrides:this.makeAttributesForRelatedFeature(a.features[0],s,e),layer:i,template:h};await this._editor.startCreateFeaturesWorkflowAtFeatureCreation(n),await this.hideEditorsElements(),this._editor.viewModel.featureFormViewModel.on("submit",this.submitted.bind(this))}async hideEditorsElements(){this.customizeSubmit&&(await this.timeout(700),this.el.querySelector(".esri-editor")?.querySelectorAll("calcite-flow-item")?.forEach((t=>{const i=t.shadowRoot?.querySelector("calcite-panel")?.shadowRoot?.querySelector("article");i?.querySelector("header")?.setAttribute("style","display: none"),i?.querySelector("footer")?.setAttribute("style","display: none")})))}makeAttributesForRelatedFeature(t,i,s){const e=i.keyField;let a;t.attributes.hasOwnProperty(e)?a=t.getAttribute(e):t.attributes.hasOwnProperty(e.toLowerCase())?a=t.getAttribute(e.toLowerCase()):t.attributes.hasOwnProperty(e.toUpperCase())&&(a=t.getAttribute(e.toUpperCase()));let h=s.keyField;const n=this.table.fields.find((t=>t.name.toLocaleLowerCase()===h.toLocaleLowerCase()));return h=n.name,{[h]:a}}async submitted(t){if(t.invalid.length)this._isSubmitBtnClicked=!1;else if(t.valid.length&&this._isSubmitBtnClicked){this._isSubmitBtnClicked=!1;try{await this._editor.activeWorkflow.commit(),this._editor.viewModel.failures?.length&&this._editor.viewModel.failures.some((t=>{if(t.error)throw t.error}))}catch(t){return void this.fail.emit(t)}this.success.emit()}}timeout(t){return new Promise((i=>setTimeout(i,t)))}async _getTranslations(){const t=await l(this.el);this._translations=t[0]}static get watchers(){return{mapView:["mapViewWatchHandler"],_editorLoading:["_editorLoadingWatchHandler"]}}};k.style=":host{display:block}.esri-editor__panel-toolbar{display:none !important}.display-none{display:none !important}.esri-editor__panel-content{padding-block:10px !important}.notice-msg{padding:10px;width:calc(100% - 20px)}";const v=class{constructor(i){t(this,i),this.loadingStatus=e(this,"loadingStatus",7),this.commentSelect=e(this,"commentSelect",7),this.addComment=e(this,"addComment",7),this.likeOrDislikeClicked=e(this,"likeOrDislikeClicked",7),this.featureSelectionChange=e(this,"featureSelectionChange",7),this.mapView=void 0,this.graphics=void 0,this.reportingOptions=void 0,this.layerItemsHash=void 0,this.showUserImageInCommentsList=!1,this._likeFieldAvailable=!1,this._likeCount=0,this._disLikeCount=0,this._dislikeFieldAvailable=!1,this._commentsAvailable=!1,this._isLikeBtnClicked=!1,this._isDislikeBtnClicked=!1,this._relatedFeaturesOIDs=void 0,this._updating=!1}get el(){return s(this)}_infoCard;_commentsList;_selectedGraphic;_likeField;_dislikeField;Graphic;RelationshipQuery;_validFieldTypes=["small-integer","integer","big-integer","single","long"];relatedTableId;async graphicsWatchHandler(){await this.getCompleteGraphic(this.graphics[0]),this.checkLikeDislikeFields(),await this.processComments()}async refresh(t){await this.getCompleteGraphic(t),await this.processComments(),this.isLikeDislikeConfigured(t.layer)?t&&this.graphics.length>1&&this.checkLikeDislikeFields():(this._likeFieldAvailable=!1,this._dislikeFieldAvailable=!1)}async back(){this._infoCard.back()}async next(){this._infoCard.next()}async toggleListView(){this._infoCard.toggleListView()}loadingStatus;commentSelect;addComment;likeOrDislikeClicked;featureSelectionChange;async componentWillLoad(){await this._initModules(),await this.getCompleteGraphic(this.graphics[0]),this.checkLikeDislikeFields(),await this.processComments()}render(){const t=this._relatedFeaturesOIDs?.length>0?`objectId in(${this._relatedFeaturesOIDs})`:"1=0";return i("calcite-panel",{key:"05a12e56500ab833e856b8f5ac0f8371de522170","full-height":!0},i("info-card",{key:"53c2102681c8005322c1711b038087b1a70d9a53",allowEditing:!1,graphics:this.graphics,highlightEnabled:!1,isLoading:!1,isMobile:!1,mapView:this.mapView,onSelectionChanged:t=>{this.featureSelectionChange.emit(t.detail)},paginationEnabled:!1,position:"relative",ref:t=>this._infoCard=t}),(this._likeFieldAvailable||this._dislikeFieldAvailable||this._commentsAvailable)&&i("div",{key:"1cf9a8eb026a2ed6c15ccafc3910fed388e63e5d",class:"buttons-container"},this._commentsAvailable&&i("calcite-button",{key:"c95920ae526cfeaa9a8824b985f593c95807c3ae",appearance:"transparent",iconEnd:"speech-bubble",kind:"neutral",onClick:()=>{this.addComment.emit()},scale:"m"},this._relatedFeaturesOIDs.length),this._likeFieldAvailable&&i("calcite-button",{key:"cf6cab791332884e63615058d6d0a1861534177b",appearance:"transparent",iconEnd:"thumbs-up",kind:this._isLikeBtnClicked?"brand":"neutral",loading:this._updating,onClick:this.onLikeButtonClick.bind(this),scale:"m"},this._likeCount??this._selectedGraphic.attributes[this._likeField]??0),this._dislikeFieldAvailable&&i("calcite-button",{key:"1fe322958b367df620c73834353251d05566d8c7",appearance:"transparent",iconEnd:"thumbs-down",kind:this._isDislikeBtnClicked?"brand":"neutral",loading:this._updating,onClick:this.onDislikeButtonClick.bind(this),scale:"m"},this._disLikeCount??this._selectedGraphic.attributes[this._dislikeField]??0)),this.relatedTableId&&this._commentsAvailable&&i("feature-list",{key:"8eefe98bc8af36db6793879c38dbed85f45b4a36",class:"height-full",mapView:this.mapView,onFeatureSelect:t=>{this.commentSelect.emit(t.detail)},pageSize:5,ref:t=>this._commentsList=t,selectedLayerId:this.relatedTableId,showErrorWhenNoFeatures:!1,showInitialLoading:!1,showUserImageInList:this.showUserImageInCommentsList,textSize:"small",whereClause:t}))}async _initModules(){const[t,i]=await r(["esri/rest/support/RelationshipQuery","esri/Graphic"]);this.RelationshipQuery=t,this.Graphic=i}async getCompleteGraphic(t){const i=t.layer,s=i.createQuery();s.objectIds=[t.getObjectId()];const e=await i.queryFeatures(s);this._selectedGraphic=e.features[0]}async processComments(){const t=this._selectedGraphic.layer;if(this.reportingOptions&&this.reportingOptions[t.id]&&this.reportingOptions[t.id].comment&&t.relationships?.length>0){const i=await f(this.mapView);let s=null,e=null;if(i.some((i=>{if(t.url===i.url){const a=t.relationships.filter((t=>i.layerId===t.relatedTableId));if(a?.length)return s=i,e=a[0].id,!0}})),this.relatedTableId=s?.id??"",this.relatedTableId){const i=this._selectedGraphic.attributes[t.objectIdField],a=new this.RelationshipQuery({objectIds:[i],outFields:["*"],relationshipId:e}),h=await t.queryRelatedFeatures(a).catch((t=>{console.error(t)})),n=[];h[i]&&h[i].features.forEach((t=>{n.push(t.attributes[s.objectIdField])})),this._relatedFeaturesOIDs=n,this._commentsAvailable=!0}else this._relatedFeaturesOIDs=[],this._commentsAvailable=!1}else this._relatedFeaturesOIDs=[],this._commentsAvailable=!1,this.relatedTableId=""}isLikeDislikeConfigured(t){let i=!1,s=!1;if(this.reportingOptions&&this.reportingOptions[t.id]){if(!this.reportingOptions[t.id].like&&!this.reportingOptions[t.id].dislike)return!1;const e=this.reportingOptions[t.id].likeField,a=this.reportingOptions[t.id].dislikeField;if(!e&&!a)return!1;t.fields.forEach((h=>{this._validFieldTypes.indexOf(h.type)>-1&&this.layerItemsHash[t.id].supportsUpdate&&(h.name===e&&this.reportingOptions[t.id].like?i=!0:h.name===a&&this.reportingOptions[t.id].dislike&&(s=!0))}))}return i||s}checkLikeDislikeFields(){this._likeFieldAvailable=!1,this._dislikeFieldAvailable=!1,this._isLikeBtnClicked=!1,this._isDislikeBtnClicked=!1,this._likeCount=0,this._disLikeCount=0;const t=this._selectedGraphic.layer;if(this.reportingOptions&&this.reportingOptions[t.id]){if(this._likeField=this.reportingOptions[t.id].likeField,this._dislikeField=this.reportingOptions[t.id].dislikeField,!this._likeField&&!this._dislikeField)return;t.fields.forEach((i=>{this._validFieldTypes.indexOf(i.type)>-1&&this.layerItemsHash[t.id].supportsUpdate&&(i.name===this._likeField&&this.reportingOptions[t.id].like?(this._likeFieldAvailable=!0,this._likeCount=this._selectedGraphic.attributes[i.name]):i.name===this._dislikeField&&this.reportingOptions[t.id].dislike&&(this._dislikeFieldAvailable=!0,this._disLikeCount=this._selectedGraphic.attributes[i.name]))})),this.getFromLocalStorage()}}onLikeButtonClick(){this._isDislikeBtnClicked&&this.reportingOptions[this._selectedGraphic.layer.id].dislike&&this.onDislikeButtonClick(),this._isLikeBtnClicked=!this._isLikeBtnClicked,this._isLikeBtnClicked?this._likeCount++:this._likeCount--,this.updateFeaturesLikeDislikeField(this._likeField,this._isLikeBtnClicked)}onDislikeButtonClick(){this._isLikeBtnClicked&&this.reportingOptions[this._selectedGraphic.layer.id].like&&this.onLikeButtonClick(),this._isDislikeBtnClicked=!this._isDislikeBtnClicked,this._isDislikeBtnClicked?this._disLikeCount++:this._disLikeCount--,this.updateFeaturesLikeDislikeField(this._dislikeField,this._isDislikeBtnClicked)}async updateFeaturesLikeDislikeField(t,i){const s={},e=this._selectedGraphic.layer;this._updating=!0;const a=this._selectedGraphic;a.attributes[t]=Number(a.attributes[t])+(i?1:-1),s[e.objectIdField]=a.attributes[e.objectIdField],s[t]=a.attributes[t];const h=new this.Graphic;h.attributes=s;const n={updateFeatures:[h]};await e.applyEdits(n).then((()=>{this._selectedGraphic=a,this.setInLocalStorage(),this._updating=!1,this.likeOrDislikeClicked.emit()}),(t=>{this._updating=!1,console.log(t)}))}getFromLocalStorage(){const t=localStorage[this._selectedGraphic.layer.id];if(t){const i=JSON.parse(t).filter((t=>t.id===this._selectedGraphic.getObjectId()));i.length>0&&(this._isLikeBtnClicked=i[0].like,this._isDislikeBtnClicked=i[0].dislike)}}setInLocalStorage(){const t=this._selectedGraphic.layer.id,i=localStorage[t];let s=[];if(i){s=JSON.parse(i);const t=s.findIndex((t=>t.id===this._selectedGraphic.getObjectId()));t>=0&&s.splice(t,1)}s.push({id:this._selectedGraphic.getObjectId(),like:this._isLikeBtnClicked&&0!==this._likeCount,dislike:this._isDislikeBtnClicked&&0!==this._disLikeCount}),localStorage.setItem(t,JSON.stringify(s))}static get watchers(){return{graphics:["graphicsWatchHandler"]}}};v.style=":host{display:block}.buttons-container{align-items:center;display:flex;padding:4px;color:var(--calcite-color-text-1) !important;background-color:var(--calcite-color-foreground-1) !important;border-block-start:1px solid var(--calcite-color-border-3);border-block-end:1px solid var(--calcite-color-border-3)}";const L=class{constructor(i){t(this,i),this.layerSelect=e(this,"layerSelect",7),this.layersListLoaded=e(this,"layersListLoaded",7),this.mapView=void 0,this.layers=void 0,this.showFeatureCount=!0,this.showNextIcon=!1,this.applyLayerViewFilter=!1,this._noLayersToDisplay=!1,this._mapLayerIds=[],this._isLoading=!1,this._translations=void 0}get el(){return s(this)}_layerItemsHash;async refresh(){await this.setLayers()}layerSelect;layersListLoaded;async componentWillLoad(){await this._getTranslations(),this._isLoading=!0}async componentDidLoad(){await this.setLayers(),this._isLoading=!1}render(){return i(a,{key:"96f61a2b92d352cdc341961c54b9fdfb06bab6fc"},this._isLoading&&i("calcite-loader",{key:"948c5a101fe19294dbc99a5d015c4f08c3db7f24",label:"",scale:"m"}),!this._isLoading&&this.mapView&&this._noLayersToDisplay&&i("calcite-notice",{key:"23a73833e78b0c0009453ecfbf9bc000f2f7ff33",class:"error-msg",icon:"layers-reference",kind:"danger",open:!0},i("div",{key:"da338486c22d7d70499713e22d45bd343c752e38",slot:"title"},this._translations.error),i("div",{key:"751c99a20af04f7253a518181d02a353e7f1b6b8",slot:"message"},this._translations.noLayerToDisplayErrorMsg)),!this._isLoading&&this.mapView&&i("calcite-list",{key:"09c24ccb0ce715bc0606302af41571b5594e64b5","selection-appearance":"border","selection-mode":"none"},this.renderLayerList()))}async setLayers(){this.mapView&&await this.initLayerHash()}async initLayerHash(){const t=[];this._layerItemsHash=await p(this.mapView,!0);const i=await m(this.mapView);for(const s of i)if("feature"===s?.type&&this.showFeatureCount){const i=s.createQuery();if(s?.definitionExpression&&(i.where=i.where+" AND "+s.definitionExpression),this.applyLayerViewFilter){const t=await b(this.mapView,s.id);t?.filter?.where&&(i.where=i.where?i.where+" AND "+t.filter.where:t.filter.where)}const e=s.queryFeatureCount(i);t.push(e),e.then((async t=>{const i=isNaN(t)?"":await d(t,{places:0,api:4,type:"decimal"});this._layerItemsHash[s.id].formattedFeatureCount=i}))}await Promise.all(t).then((()=>{const t=this.getLayersToBeShownInList(this._layerItemsHash);this._mapLayerIds=t.reverse(),this.handleNoLayersToDisplay()}),(()=>{this._mapLayerIds=[],this.handleNoLayersToDisplay()}))}handleNoLayersToDisplay(){this._noLayersToDisplay=!(this._mapLayerIds.length>0),this.layersListLoaded.emit(this._mapLayerIds)}getLayersToBeShownInList(t){const i=this.layers?.length>0?this.layers:[];return Object.keys(t).reduce(((t,s)=>(i.indexOf(s)>-1&&t.push(s),t)),[])}renderLayerList(){return this._mapLayerIds.length>0&&this._mapLayerIds.reduce(((t,i)=>(this._layerItemsHash[i]&&t.push(this.getLayerListItem(i)),t)),[])}getLayerListItem(t){const s=this._layerItemsHash[t].formattedFeatureCount;return i("calcite-list-item",{onCalciteListItemSelect:()=>{this.onLayerItemSelected(t)}},i("div",{class:"layer-name",slot:"content-start"},this._layerItemsHash[t].name),this.showFeatureCount&&void 0!==s&&""!==s&&i("div",{class:this.showNextIcon?"":"feature-count",slot:"content-end"},"("+s+")"),this.showNextIcon&&i("calcite-icon",{flipRtl:!0,icon:"chevron-right",scale:"s",slot:"content-end"}))}onLayerItemSelected(t){this.layerSelect.emit({layerId:t,layerName:this._layerItemsHash[t].name})}async _getTranslations(){const t=await l(this.el);this._translations=t[0]}};L.style=":host{display:block}.error-msg{padding:10px}.layer-name{font-weight:500;padding:10px 12px}.feature-count{padding-right:12px}";export{w as calcite_flow,k as create_related_feature,v as feature_details,L as layer_list}
@@ -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,g as s,h as e,H as a,F as h}from"./p-4e6eb06e.js";import{l as o,g as l}from"./p-f4aadb3b.js";import{g as c,a as n,b as r,c as d,h as u,d as p,q as f}from"./p-d572627c.js";import"./p-0a24ad5f.js";import"./p-d4056c1c.js";import"./p-80cb7c73.js";const m=class{constructor(s){t(this,s),this.togglePanel=i(this,"togglePanel",7),this.center=void 0,this.commentButtonText=void 0,this.commentSubmittedMessage=void 0,this.defaultWebmap="",this.description=void 0,this.enableAnonymousAccess=void 0,this.enableAnonymousComments=void 0,this.enableComments=void 0,this.enableHome=!0,this.enableLogin=void 0,this.enableNewReports=void 0,this.enableSearch=!0,this.enableZoom=!0,this.isMobile=void 0,this.layerExpressions=[],this.layerId=void 0,this.level=void 0,this.loginTitle=void 0,this.mapInfos=[],this.mapView=void 0,this.objectId=void 0,this.reportButtonText=void 0,this.reportingOptions=void 0,this.reportsHeader=void 0,this.reportSubmittedMessage=void 0,this.searchConfiguration=void 0,this.showComments=void 0,this.showUserImageInCommentsList=!1,this.showFeatureSymbol=!1,this.showMyReportsOnly=!1,this.theme="light",this.zoomToScale=void 0,this.floorLevel=void 0,this._featureCreationFailedErrorMsg=void 0,this._filterActive=!1,this._flowItems=[],this._hasValidLayers=!1,this._loadingFeatureDetails=void 0,this._mapInfo=void 0,this._reportSubmitted=!1,this._selectedLayerName=void 0,this._showSubmitCancelButton=!1,this._showLoadingIndicator=!1,this._sidePanelCollapsed=!1,this._translations=void 0,this._updatedProgressBarStatus=.25,this._updatedSorting=void 0,this._updatedSortOption="sortNewest",this._commentSubmitted=!1,this._addingCommentFailed=!1}get el(){return s(this)}_createFeature;_currentFeatureId;_defaultCenter;_defaultLevel;_editableLayerIds;_featureDetails;_featureList;_currentFeature;_selectedRelatedFeature;_relatedTable;_filterList;_highlightHandle;_layerList;_createRelatedFeature;_layers;_mapChange;_mapClickHandle;reactiveUtils;FeatureFilter;_selectedFeature;_selectedFeatureIndex;_selectedLayerId;_shareNode;_urlParamsLoaded;_validLayers;_nonVisibleValidLayers;_selectedLayer;_layerItemsHash;_showFullPanel;_floorExpression;_formElements=[];_filterUrlParams;_filterInitState;async isMobileWatchHandler(){this.updatePanelState(!1,this._showFullPanel)}async mapViewWatchHandler(){await this.mapView.when((async()=>{await this.setMapView()}))}async floorLevelWatchHandler(){if(this._editableLayerIds)for(const t of this._editableLayerIds){const i=await c(this.mapView,t);i.floorInfo?.floorField&&this._updateFloorDefinitionExpression(i)}this._layerList&&await this._layerList.refresh(),this._featureList&&this._featureList.refresh(),this._createFeature&&this._createFeature.refresh(this.floorLevel)}async showMyReportsOnlyWatchHandler(){this._editableLayerIds&&(await this._updateFeatures(),setTimeout((()=>{this._layerList&&this._layerList.refresh(),this._featureList&&this._featureList.refresh()}),50))}togglePanel;async componentWillLoad(){this._urlParamsLoaded=!1,await this._initModules(),await this._getTranslations(),await(this.mapView?.when((async()=>{this._layers=this.reportingOptions?Object.keys(this.reportingOptions).filter((t=>this.reportingOptions[t].visible)):[],await this.setMapView()})))}render(){const t="dark"===this.theme?"calcite-mode-dark":"calcite-mode-light";return e(a,{key:"198fe34894f73b66ac15c4f75b05e3159586a392"},this._reportSubmitted&&e("calcite-alert",{key:"2c07a26c0fce4f5b66a2245850f7fca6e7cc2333","auto-close":!0,class:t+" report-submitted-msg",icon:"check-circle",kind:"success",label:"",onCalciteAlertClose:()=>{this._reportSubmitted=!1},open:!0,placement:"top"},e("div",{key:"f3269fd5bc315913f25795fc4dda47d83de7166f",slot:"message"},this.reportSubmittedMessage?this.reportSubmittedMessage:this._translations.submitMsg)),this._featureCreationFailedErrorMsg&&e("calcite-alert",{key:"974254aa4eec7166ce23c9513633174b26d45a4d","auto-close":!0,class:t,icon:"x-octagon",kind:"danger",label:"",onCalciteAlertClose:()=>{this._featureCreationFailedErrorMsg=""},open:!0,placement:"top"},e("div",{key:"f0e27267cb6bdc626340185ff3af5c8527c5755c",slot:"title"},this._translations.error),e("div",{key:"ce443229655784ecc106ef4f90375a0d2ba14679",slot:"message"},this._featureCreationFailedErrorMsg)),this._commentSubmitted&&e("calcite-alert",{key:"8094e9db5856630b6dbbd4f37de35afc8fc0cab9","auto-close":!0,class:"report-submitted "+t,icon:"check-circle",kind:"success",label:"",onCalciteAlertClose:()=>{this._commentSubmitted=!1},open:!0,placement:"top"},e("div",{key:"9fea022654934c6b58064f71e6c7cb59e4429732",slot:"message"},this.commentSubmittedMessage||this._translations.commentSubmittedMsg)),this._addingCommentFailed&&e("calcite-alert",{key:"21cd17c9a43553c40427759070ec5f7d86bcb471","auto-close":!0,class:t,icon:"x-octagon",kind:"danger",label:"",onCalciteAlertClose:()=>{this._addingCommentFailed=!1},open:!0,placement:"top"},e("div",{key:"82ca845385e34740ab2af082a5338a851ad0c006",slot:"title"},this._translations.error),e("div",{key:"9dd641fe9e78e83387a266df51b8f709409bd332",slot:"message"},this._translations.addingCommentFailedMsg)),e("div",{key:"1977a4e41c0f222385585f0a0a6c19a99432846b"},e("calcite-shell",{key:"67d0771f744f5ba427cef2b453dee3470d2fe5bc","content-behind":!0},this._getReporter())))}async _initModules(){const[t,i]=await o(["esri/core/reactiveUtils","esri/layers/support/FeatureFilter"]);this.reactiveUtils=t,this.FeatureFilter=i}async setSelectedLayer(t,i){this._selectedLayerId=t,this._selectedLayer=await c(this.mapView,t),this._selectedLayerName=i,this._validLayers.forEach((i=>{this._nonVisibleValidLayers.find((t=>t.id===i.id))||i.set("visible",!t||i.id===t)}))}_getLayersConfig(t){return this.reportingOptions&&this.reportingOptions[t]?this.reportingOptions[t]:null}_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"filter-panel":t.push(this.getFilterPanel()),this._restoreFilters();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());break;case"comment-details":t.push(this.getCommentDetailsFlowItem());break;case"add-comment":t.push(this.getAddCommentFlowItem())}})),e("calcite-panel",{class:"width-full "+("dark"===this.theme?"calcite-mode-dark":"calcite-mode-light")},this.mapView?e("calcite-flow",null,t?.length>0&&t):e("calcite-loader",{label:"",scale:"m"}))}async sortOptionClick(t,i,s){this._updatedSorting={field:t,order:i},this._updatedSortOption=s}_toggleSort(){const t=this.reportingOptions&&this.reportingOptions[this._selectedLayerId]&&this.reportingOptions[this._selectedLayerId].like&&this.reportingOptions[this._selectedLayerId].likeField;return e("calcite-popover",{autoClose:!0,label:"",offsetDistance:0,placement:this.isMobile?"leading-start":"bottom-start",pointerDisabled:!0,referenceElement:"sort-popover"},e("calcite-list",{"selection-mode":"single"},e("calcite-list-item",{label:this._translations.sortNewest,onCalciteListItemSelect:()=>{this.sortOptionClick(this._selectedLayer.objectIdField,"desc","sortNewest")},selected:"sortNewest"===this._updatedSortOption,value:"sortNewest"}),e("calcite-list-item",{label:this._translations.sortOldest,onCalciteListItemSelect:()=>{this.sortOptionClick(this._selectedLayer.objectIdField,"asc","sortOldest")},selected:"sortOldest"===this._updatedSortOption,value:"sortOldest"}),t&&e(h,null,e("calcite-list-item",{label:this._translations.sortHighestVoted,onCalciteListItemSelect:()=>{this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField,"desc","sortHighestVoted")},selected:"sortHighestVoted"===this._updatedSortOption,value:"sortHighestVoted"}),e("calcite-list-item",{label:this._translations.sortLowestVoted,onCalciteListItemSelect:()=>{this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField,"asc","sortLowestVoted")},selected:"sortLowestVoted"===this._updatedSortOption,value:"sortLowestVoted"}))))}_restoreFilters(){setTimeout((()=>{this._filterList&&this._filterUrlParams&&this._filterInitState&&this._filterList.restoreFilters(this._filterUrlParams[0],this._filterInitState)}),200)}async _handleFilterListReset(){this._filterActive=!1,this._filterUrlParams=null,this._filterInitState=null,this._featureList.refresh()}_handleFilterUpdate(){this._filterActive=this._filterList.urlParams.getAll("filter").length>0,this._filterUrlParams=this._filterList.urlParams.getAll("filter"),this._featureList.refresh()}getLayerListFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportsHeader},this.isMobile&&this.getActionToExpandCollapsePanel(),this._hasValidLayers&&this.enableNewReports&&e("calcite-button",{appearance:"solid",onClick:this.navigateToChooseCategory.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),e("calcite-panel",{"full-height":!0,"full-width":!0},e("layer-list",{applyLayerViewFilter:this.showMyReportsOnly,class:"height-full",layers:this._editableLayerIds?.length>0?this._editableLayerIds:this._layers,mapView:this.mapView,onLayerSelect:this.displayFeaturesList.bind(this),onLayersListLoaded:this.layerListLoaded.bind(this),ref:t=>this._layerList=t,showFeatureCount:!0,showNextIcon:!0})))}getChooseCategoryFlowItem(){const t=this.reportingOptions?Object.keys(this.reportingOptions).filter((t=>this.reportingOptions[t].visible&&this.reportingOptions[t].reporting&&this._layerItemsHash[t]&&this._layerItemsHash[t].supportsAdd)):[];return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},e("calcite-panel",{"full-height":!0,"full-width":!0},e("div",{class:"progress-bar"},e("calcite-progress",{type:"determinate",value:this._updatedProgressBarStatus})),e("calcite-notice",{class:"notice-msg",icon:"lightbulb",kind:"success",open:!0},e("div",{slot:"message"},this._translations.chooseCategoryMsg)),e("layer-list",{class:"height-full",layers:t,mapView:this.mapView,onLayerSelect:this.navigateToCreateFeature.bind(this),showFeatureCount:!1,showNextIcon:!1})))}getFeatureCreateFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,onCalciteFlowItemBack:this.backFromCreateFeaturePanel.bind(this)},this._showSubmitCancelButton&&e("div",{class:"width-full",slot:"footer"},e("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:this.onCreateFeatureSubmitButtonClick.bind(this),width:"full"},this._translations.submit),e("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromCreateFeaturePanel.bind(this),width:"full"},this._translations.cancel)),e("calcite-panel",{"full-height":!0,"full-width":!0},e("div",{class:"progress-bar"},e("calcite-progress",{type:"determinate",value:this._updatedProgressBarStatus})),e("create-feature",{customizeSubmit:!0,enableSearch:!0,floorLevel:this.floorLevel,formElements:this._formElements.find((t=>t.id===this._selectedLayerId)),isMobile:this.isMobile,mapView:this.mapView,onDrawComplete:this.onFormReady.bind(this),onEditingAttachment:this.showSubmitCancelButton.bind(this),onFail:this.createFeatureFailed.bind(this),onModeChanged:this.backFromCreateFeaturePanel.bind(this),onProgressStatus:this.updatedProgressStatus.bind(this),onSuccess:this.onReportSubmitted.bind(this),ref:t=>this._createFeature=t,searchConfiguration:this.searchConfiguration,selectedLayerId:this._selectedLayerId})))}updatedProgressStatus(t){this._updatedProgressBarStatus=t.detail}onFormReady(){this._showSubmitCancelButton=!0}showSubmitCancelButton(t){this._showSubmitCancelButton=!t.detail}onCreateFeatureSubmitButtonClick(){this._createFeature&&this._createFeature.submit()}backFromCreateFeaturePanel(){this._createFeature&&(this._createFeature.close(),this.updateNonVisibleLayersOnMap(!1)),this.backFromSelectedPanel()}onCreateRelatedFeatureSubmitButtonClick(){this._createRelatedFeature&&this._createRelatedFeature.submit()}backFromCreateRelatedFeaturePanel(){this._createRelatedFeature&&(this._createRelatedFeature.close(),this._showSubmitCancelButton=!1),this.backFromSelectedPanel()}createFeatureFailed(t){console.error(t.detail),this._featureCreationFailedErrorMsg=t.detail.message}onReportSubmitted(){this._showFullPanel&&this.updatePanelState(this._sidePanelCollapsed,!1),this.updateNonVisibleLayersOnMap(!1),this._reportSubmitted=!0,this._updatedProgressBarStatus=.25,this.navigateToHomePage()}addCommentFailed(t){console.error(t.detail),this._addingCommentFailed=!0}async onCommentSubmitted(){this._commentSubmitted=!0,this.backFromSelectedPanel(),this._showLoadingIndicator=!0,await this._featureDetails.refresh(this._currentFeature),setTimeout((()=>{this._showLoadingIndicator=!1}),300)}async navigateToHomePage(){this._createFeature&&this._createFeature.close(),this._layerList&&this._layerList.refresh(),await 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&&await this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this.updateNonVisibleLayersOnMap(!0),this._getFormElements(),this._showSubmitCancelButton=!1,this.updatePanelState(!1,!0),this._flowItems=[...this._flowItems,"feature-create"]}navigateToChooseCategory(){this.updatePanelState(!1,!0),this._flowItems=[...this._flowItems,"reporting-layer-list"]}updateNonVisibleLayersOnMap(t){this._nonVisibleValidLayers.find((t=>t.id===this._selectedLayerId))&&this._selectedLayer.set("visible",t)}async layerListLoaded(t){const i=t.detail,s=await n(this.mapView),e=[];this._validLayers=[],this._nonVisibleValidLayers=[],s.forEach((t=>{i.includes(t.id)&&(this._validLayers.push(t),t.visible||this._nonVisibleValidLayers.push(t),this._getLayersConfig(t.id)?.reporting&&this._layerItemsHash[t.id]&&this._layerItemsHash[t.id].supportsAdd&&e.push(t.id))})),this.handleMapClick(),this._hasValidLayers=e.length>0,this._urlParamsLoaded||(this._urlParamsLoaded=!0,await this.loadFeatureFromURLParams())}displayFeaturesList(t){this._updatedSorting={field:"",order:"desc"},this._filterActive=!1,this._updatedSortOption="sortNewest",this.setSelectedLayer(t.detail.layerId,t.detail.layerName),this._flowItems=[...this._flowItems,"feature-list"]}async backFromFilterPanel(){this._filterInitState=await this._filterList.getFilterInitState(),this.backFromSelectedPanel()}backFromSelectedPanel(){this._updatedProgressBarStatus=.25;const t=[...this._flowItems];"comment-details"!==t[t.length-1]&&"add-comment"!==t[t.length-1]&&this.clearHighlights(),"reporting-layer-list"!==t[t.length-1]&&("feature-create"!==t[t.length-1]||"feature-list"!==t[0]&&"feature-list"!==t[t.length-2])||this.updatePanelState(this._sidePanelCollapsed,!1),t.pop(),1!==t.length||"layer-list"!==t[0]?this._flowItems=[...t]:this.navigateToHomePage()}toggleSidePanel(){this._sidePanelCollapsed=!this._sidePanelCollapsed,this.togglePanel.emit({panelState:this._sidePanelCollapsed,isFormOpen:this._showFullPanel})}updatePanelState(t,i){this._sidePanelCollapsed=t,this._showFullPanel=i,this.togglePanel.emit({panelState:this._sidePanelCollapsed,isFormOpen:this._showFullPanel})}async onFeatureSelectFromList(t){this._showLoadingIndicator=!0,await this.setSelectedFeatures([t.detail]),this._flowItems=[...this._flowItems,"feature-details"]}async getRelatedTable(){const t=this._currentFeature.layer,i=t.relationships.map((t=>t.relatedTableId)),s=(await r(this.mapView)).filter((s=>t.url===s.url&&i.includes(s.layerId)));this._relatedTable=s[0]}async updatingFeatureDetails(t){this._showLoadingIndicator=t}async selectionChanged(t){this.updatingFeatureDetails(!0),await this.setCurrentFeature(t.detail.selectedFeature[0]),this.highlightOnMap(t.detail.selectedFeature[0]),this._selectedFeatureIndex=t.detail.selectedFeatureIndex,await this._featureDetails.refresh(t.detail.selectedFeature[0])}showAddCommentsPanel(){this._flowItems=[...this._flowItems,"add-comment"]}async onCommentSelectFromList(t){this._selectedRelatedFeature=[t.detail],this._flowItems=[...this._flowItems,"comment-details"]}getFeatureListFlowItem(t,i){const s=this.layerExpressions?.filter((t=>t.id===this._selectedLayerId)),a=this._getLayersConfig(this._selectedLayerId)?.reporting&&this._layerItemsHash[this._selectedLayerId].supportsAdd,h=s?.length>0;return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:i,loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this._toggleSort(),e("calcite-action",{icon:"sort-ascending-arrow",id:"sort-popover",slot:"header-actions-end",text:this._translations.sort,title:this._translations.sort}),h&&e("calcite-action",{icon:"filter",indicator:this._filterActive,onClick:()=>{this._flowItems=[...this._flowItems,"filter-panel"]},slot:"header-actions-end",text:this._translations.filter,title:this._translations.filter}),this.isMobile&&this.getActionToExpandCollapsePanel(),this.enableNewReports&&a&&e("calcite-button",{appearance:"solid",onClick:this.navigateToCreateFeature.bind(this),slot:"footer",width:"full"},this.reportButtonText?this.reportButtonText:this._translations.createReportButtonText),e("calcite-panel",{"full-height":!0},e("feature-list",{applyLayerViewFilter:this.showMyReportsOnly,class:"height-full",highlightOnHover:!0,mapView:this.mapView,noFeaturesFoundMsg:this._translations.featureErrorMsg,onFeatureSelect:this.onFeatureSelectFromList.bind(this),pageSize:30,ref:t=>this._featureList=t,reportingOptions:this.reportingOptions,selectedLayerId:t,showFeatureSymbol:this.showFeatureSymbol,sortingInfo:this._updatedSorting})))}getFilterPanel(){const t=this.layerExpressions?this.layerExpressions.filter((t=>t.id===this._selectedLayerId)):[];return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._translations?.filterLayerTitle?.replace("{{title}}",this._selectedLayerName),loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromFilterPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("div",{class:"width-full",slot:"footer"},e("div",{class:"width-full",slot:"footer"},e("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:()=>{this._filterList?.forceReset()},width:"full"},this._translations.resetFilter),e("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromFilterPanel.bind(this),width:"full"},this._translations.close))),e("calcite-panel",{"full-height":!0},e("instant-apps-filter-list",{autoUpdateUrl:!1,closeBtnOnClick:()=>{},comboboxOverlayPositioning:"fixed",layerExpressions:t,onFilterListReset:()=>this._handleFilterListReset(),onFilterUpdate:()=>this._handleFilterUpdate(),ref:t=>this._filterList=t,resetBtn:!1,resetFiltersOnDisconnect:!1,view:this.mapView,zoomBtn:!1})))}getFeatureDetailsFlowItem(){const t=this._getLayersConfig(this._selectedLayerId)?.comment&&this._selectedLayer.relationships.length>0&&this._relatedTable;return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._selectedLayerName,loading:this._showLoadingIndicator,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("instant-apps-social-share",{autoUpdateShareUrl:!1,class:"share-node",embed:!1,popoverButtonIconScale:"s",ref:t=>this._shareNode=t,removePopoverOffset:!0,scale:"m",shareButtonColor:"neutral",shareButtonType:"action",slot:"header-actions-end",socialMedia:!0,view:this.mapView}),this._selectedFeature.length>1&&this.getFeaturesPagination(),e("calcite-panel",null,e("feature-details",{class:"full-height",graphics:this._selectedFeature,layerItemsHash:this._layerItemsHash,mapView:this.mapView,onAddComment:this.showAddCommentsPanel.bind(this),onCommentSelect:this.onCommentSelectFromList.bind(this),onFeatureSelectionChange:this.selectionChanged.bind(this),onLikeOrDislikeClicked:()=>{this._featureList.refresh(!0)},onLoadingStatus:t=>{this.updatingFeatureDetails(t.detail)},ref:t=>this._featureDetails=t,reportingOptions:this.reportingOptions,showUserImageInCommentsList:this.showUserImageInCommentsList}),t&&e("calcite-button",{appearance:"solid",onClick:this.showAddCommentsPanel.bind(this),slot:"footer",width:"full"},this.commentButtonText||this._translations.comment)))}getFeaturesPagination(){return e("div",{class:"feature-pagination"},e("div",null,e("calcite-button",{appearance:"transparent",disabled:!1,iconStart:"chevron-left",id:"solutions-back",onClick:()=>{this._featureDetails.back()},scale:"s",width:"full"}),e("calcite-tooltip",{label:"",placement:"top","reference-element":"solutions-back"},e("span",null,this._translations.back))),e("calcite-button",{appearance:"transparent",onClick:()=>{this._featureDetails.toggleListView()},scale:"s"},e("span",{class:"pagination-count"},this._getCount())),e("div",null,e("calcite-button",{appearance:"transparent",disabled:!1,iconStart:"chevron-right",id:"solutions-next",onClick:()=>{this._featureDetails.next()},scale:"s",width:"full"}),e("calcite-tooltip",{placement:"top","reference-element":"solutions-next"},e("span",null,this._translations.next))))}getCommentDetailsFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._relatedTable.title,onCalciteFlowItemBack:this.backFromSelectedPanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("calcite-panel",{"full-height":!0},e("info-card",{allowEditing:!1,graphics:this._selectedRelatedFeature,highlightEnabled:!1,isLoading:!1,isMobile:!1,mapView:this.mapView,paginationEnabled:!1})))}getAddCommentFlowItem(){return e("calcite-flow-item",{collapsed:this.isMobile&&this._sidePanelCollapsed,heading:this._relatedTable.title,onCalciteFlowItemBack:this.backFromCreateRelatedFeaturePanel.bind(this)},this.isMobile&&this.getActionToExpandCollapsePanel(),e("div",{class:"width-full",slot:"footer"},this._showSubmitCancelButton&&e("div",{class:"width-full",slot:"footer"},e("calcite-button",{appearance:"solid",class:"footer-top-button footer-button",onClick:this.onCreateRelatedFeatureSubmitButtonClick.bind(this),width:"full"},this._translations.submit),e("calcite-button",{appearance:"outline",class:"footer-button",onClick:this.backFromCreateRelatedFeaturePanel.bind(this),width:"full"},this._translations.cancel))),e("calcite-panel",null,e("create-related-feature",{customizeSubmit:!0,mapView:this.mapView,onFail:this.addCommentFailed.bind(this),onFormReady:this.onFormReady.bind(this),onIsActionPending:this.showSubmitCancelButton.bind(this),onSuccess:this.onCommentSubmitted.bind(this),ref:t=>this._createRelatedFeature=t,selectedFeature:this._currentFeature,table:this._relatedTable})))}async setSelectedFeatures(t){this._selectedFeature=t,await this.setCurrentFeature(this._selectedFeature.length?this._selectedFeature[0]:null)}async setCurrentFeature(t){if(this._currentFeature=t,t&&t.layer){const i=t.layer;this.setSelectedLayer(i.id,i.title),this._currentFeatureId=t.attributes[i.objectIdField],this._getLayersConfig(i.id)?.comment&&i.relationships.length>0&&await this.getRelatedTable()}else this._editableLayerIds.length>1&&this.setSelectedLayer("",""),this._currentFeatureId="";this._updateShareURL()}async highlightOnMap(t){if(this.clearHighlights(),t&&t.geometry&&t.layer){const i=await d(this.mapView,t.layer.id);i.highlightOptions=null,this._highlightHandle=await u([t.getObjectId()],i,this.mapView,!0,this.zoomToScale)}this.updatingFeatureDetails(!1)}clearHighlights(){this._highlightHandle&&this._highlightHandle.remove()}getActionToExpandCollapsePanel(){return e("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(){await this.getLayersToShowInList(),await this._updateFeatures(),1===this._editableLayerIds?.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=>!this._validLayers.includes(t.layer)&&t?.layer?.popupEnabled&&t?.layer?.id));if(s.length>0&&(await this.setSelectedFeatures(s),this._flowItems.length&&this._flowItems.includes("feature-details")?(this._flowItems=[...this._flowItems.slice(0,this._flowItems.indexOf("feature-details")+1)],await this.highlightOnMap(t[0])):this._flowItems=[...this._flowItems,"feature-details"]),e.length>0){this.mapView.popupEnabled=!0;const t={features:e,updateLocationEnabled:!0};await this.mapView.openPopup(t)}}}_getCount(){const t=(this._selectedFeatureIndex+1).toString(),i=this._selectedFeature.length.toString();return this._translations.indexOfTotal.replace("{{index}}",t).replace("{{total}}",i)}async _getTranslations(){const t=await l(this.el);this._translations=t[0]}_updateFloorDefinitionExpression(t){const i=`${t.floorInfo.floorField} = '${this.floorLevel}'`,s=t.definitionExpression;t.definitionExpression=s?.indexOf(this._floorExpression)>-1?s.replace(this._floorExpression,i):i,this._floorExpression=i}_getFormElements(){const t=this._selectedLayer,i=t?.floorInfo?.floorField;if(i&&this.floorLevel&&t?.formTemplate){const i=this._formElements.find((i=>i.id===t.id));0!==this._formElements.length&&i||this._formElements.push({id:t.id,orgElements:t.formTemplate.elements,orgExpressionInfos:t.formTemplate.expressionInfos})}}reduceToConfiguredLayers(t,i){return Object.keys(t).reduce(((s,e)=>{const a=this.reportingOptions?this._getLayersConfig(e)?.visible:t[e].supportsAdd;return!i.includes(e)&&a&&s.push(e),s}),[])}async _updateFeatures(){for(const t of this._editableLayerIds){const i=await d(this.mapView,t);await this._showMyFeaturesOnly(i);const s=i.layer?.floorInfo?.floorField;s&&this.floorLevel&&this._updateFloorDefinitionExpression(i.layer)}}async _showMyFeaturesOnly(t){const i=this.mapView.map.portalItem.portal?.credential?.userId;if(i){const s=t.layer.editFieldsInfo?.creatorField.toLowerCase();t.filter=this.showMyReportsOnly&&s?new this.FeatureFilter({where:s+"='"+i+"'"}):null}}async getLayersToShowInList(){const t=await p(this.mapView,!0),i=await n(this.mapView),s=[];i.forEach((i=>{"feature"===i?.type&&i?.editingEnabled&&i?.capabilities?.operations?.supportsAdd&&(t[i.id].supportsAdd=!0),i?.editingEnabled||s.push(i.id)})),this._editableLayerIds=this.reduceToConfiguredLayers(t,s),this._layerItemsHash=t}async renderFeaturesList(){this._flowItems=["feature-list"];const t={detail:this._editableLayerIds};await this.layerListLoaded(t),this.setSelectedLayer(this._validLayers[0].id,this._validLayers[0].title)}_updateShareURL(){const t=this._shareNode?.shareUrl;if(!t)return;const i=new URL(t);this._selectedLayerId?i.searchParams.set("layerid",this._selectedLayerId):i.searchParams.delete("layerid"),this._selectedFeature?.length?i.searchParams.set("oid",this._currentFeatureId):i.searchParams.delete("oid"),this._shareNode.shareUrl=i.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 c(this.mapView,this.layerId);if(t){const i=await f([Number(this.objectId)],t,[],!0,this.mapView.spatialReference);i.length&&(await this.setSelectedFeatures(i),this._flowItems=this._flowItems.length&&"feature-details"!==this._flowItems[this._flowItems.length-1]?[...this._flowItems,"feature-details"]:[...this._flowItems])}}}static get watchers(){return{isMobile:["isMobileWatchHandler"],mapView:["mapViewWatchHandler"],floorLevel:["floorLevelWatchHandler"],showMyReportsOnly:["showMyReportsOnlyWatchHandler"]}}};m.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)}.progress-bar{padding:12px}.footer-top-button{padding-bottom:7px}.footer-button{height:35px}.feature-pagination{background-color:var(--calcite-color-foreground-1) !important;border-block-end:1px solid var(--calcite-color-border-3);display:flex;justify-content:center;padding:5px 0}.pagination-count{color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}.report-submitted-msg{position:absolute;z-index:1000}.share-node{display:flex}";export{m as crowdsource_reporter}