@esri/solutions-components 0.8.24 → 0.8.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/cjs/basemap-gallery_7.cjs.entry.js +6 -6
  2. package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
  3. package/dist/cjs/calcite-alert_4.cjs.entry.js +6 -6
  4. package/dist/cjs/calcite-dropdown-group_2.cjs.entry.js +1 -1
  5. package/dist/cjs/calcite-flow_6.cjs.entry.js +108 -65
  6. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +7 -7
  7. package/dist/cjs/card-manager_3.cjs.entry.js +2 -2
  8. package/dist/cjs/crowdsource-manager.cjs.entry.js +1 -1
  9. package/dist/cjs/crowdsource-reporter.cjs.entry.js +4 -4
  10. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  11. package/dist/cjs/feature-comments.cjs.entry.js +1 -1
  12. package/dist/cjs/feature-form-flow-item.cjs.entry.js +1 -1
  13. package/dist/cjs/feature-list.cjs.entry.js +4 -4
  14. package/dist/cjs/features-flow-item.cjs.entry.js +1 -1
  15. package/dist/cjs/layout-manager.cjs.entry.js +1 -1
  16. package/dist/cjs/list-flow-item.cjs.entry.js +1 -1
  17. package/dist/cjs/loader.cjs.js +1 -1
  18. package/dist/cjs/location-flow-item.cjs.entry.js +1 -1
  19. package/dist/cjs/map-select-tools_3.cjs.entry.js +3 -3
  20. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  21. package/dist/cjs/public-notification.cjs.entry.js +1 -1
  22. package/dist/cjs/refine-results-flow-item.cjs.entry.js +1 -1
  23. package/dist/cjs/share-item.cjs.entry.js +1 -1
  24. package/dist/cjs/solution-configuration.cjs.entry.js +3 -3
  25. package/dist/cjs/solution-contents_3.cjs.entry.js +3 -3
  26. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/solutions-components.cjs.js +1 -1
  28. package/dist/cjs/spatial-ref.cjs.entry.js +1 -1
  29. package/dist/collection/components/create-feature/create-feature.js +90 -51
  30. package/dist/collection/components/create-related-feature/create-related-feature.js +9 -2
  31. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
  32. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +4 -4
  33. package/dist/collection/components/deduct-calculator/deduct-calculator.js +1 -1
  34. package/dist/collection/components/delete-button/delete-button.css +4 -0
  35. package/dist/collection/components/delete-button/delete-button.js +2 -2
  36. package/dist/collection/components/edit-card/edit-card.js +1 -1
  37. package/dist/collection/components/feature-comments/feature-comments.js +1 -1
  38. package/dist/collection/components/feature-details/feature-details.css +4 -4
  39. package/dist/collection/components/feature-details/feature-details.js +12 -11
  40. package/dist/collection/components/feature-form-flow-item/feature-form-flow-item.js +1 -1
  41. package/dist/collection/components/feature-list/feature-list.css +2 -0
  42. package/dist/collection/components/feature-list/feature-list.js +3 -3
  43. package/dist/collection/components/features-flow-item/features-flow-item.js +1 -1
  44. package/dist/collection/components/floor-filter/floor-filter.js +1 -1
  45. package/dist/collection/components/info-card/info-card.js +2 -2
  46. package/dist/collection/components/json-editor/json-editor.js +1 -1
  47. package/dist/collection/components/layer-table/layer-table.js +1 -1
  48. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  49. package/dist/collection/components/list-flow-item/list-flow-item.js +1 -1
  50. package/dist/collection/components/location-flow-item/location-flow-item.js +1 -1
  51. package/dist/collection/components/map-card/map-card.js +1 -1
  52. package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
  53. package/dist/collection/components/map-fullscreen/map-fullscreen.js +1 -1
  54. package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -1
  55. package/dist/collection/components/map-legend/map-legend.js +1 -1
  56. package/dist/collection/components/map-picker/map-picker.js +1 -1
  57. package/dist/collection/components/map-search/map-search.js +1 -1
  58. package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
  59. package/dist/collection/components/map-tools/map-tools.js +1 -1
  60. package/dist/collection/components/pci-calculator/pci-calculator.js +1 -1
  61. package/dist/collection/components/pdf-download/pdf-download.js +1 -1
  62. package/dist/collection/components/public-notification/public-notification.js +1 -1
  63. package/dist/collection/components/refine-results-flow-item/refine-results-flow-item.js +1 -1
  64. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  65. package/dist/collection/components/share-item/share-item.js +1 -1
  66. package/dist/collection/components/solution-configuration/solution-configuration.js +3 -3
  67. package/dist/collection/components/solution-contents/solution-contents.js +1 -1
  68. package/dist/collection/components/solution-item/solution-item.js +1 -1
  69. package/dist/collection/components/solution-item-details/solution-item-details.js +1 -1
  70. package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -1
  71. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
  72. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -1
  73. package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -1
  74. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -1
  75. package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
  76. package/dist/collection/components/solution-variables/solution-variables.js +1 -1
  77. package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
  78. package/dist/components/create-feature2.js +98 -54
  79. package/dist/components/create-related-feature2.js +9 -2
  80. package/dist/components/crowdsource-manager.js +1 -1
  81. package/dist/components/crowdsource-reporter.js +4 -4
  82. package/dist/components/deduct-calculator2.js +1 -1
  83. package/dist/components/delete-button2.js +3 -3
  84. package/dist/components/edit-card2.js +1 -1
  85. package/dist/components/feature-comments.js +1 -1
  86. package/dist/components/feature-details2.js +12 -11
  87. package/dist/components/feature-form-flow-item.js +1 -1
  88. package/dist/components/feature-list2.js +4 -4
  89. package/dist/components/features-flow-item.js +1 -1
  90. package/dist/components/floor-filter2.js +1 -1
  91. package/dist/components/info-card2.js +2 -2
  92. package/dist/components/json-editor2.js +1 -1
  93. package/dist/components/layer-table2.js +1 -1
  94. package/dist/components/layout-manager.js +1 -1
  95. package/dist/components/list-flow-item.js +1 -1
  96. package/dist/components/location-flow-item.js +1 -1
  97. package/dist/components/map-card2.js +1 -1
  98. package/dist/components/map-draw-tools2.js +1 -1
  99. package/dist/components/map-fullscreen2.js +1 -1
  100. package/dist/components/map-layer-picker2.js +1 -1
  101. package/dist/components/map-legend2.js +1 -1
  102. package/dist/components/map-picker2.js +1 -1
  103. package/dist/components/map-search2.js +1 -1
  104. package/dist/components/map-select-tools2.js +1 -1
  105. package/dist/components/map-tools2.js +1 -1
  106. package/dist/components/pci-calculator.js +1 -1
  107. package/dist/components/pdf-download2.js +1 -1
  108. package/dist/components/public-notification.js +1 -1
  109. package/dist/components/refine-results-flow-item.js +1 -1
  110. package/dist/components/refine-selection2.js +1 -1
  111. package/dist/components/share-item.js +1 -1
  112. package/dist/components/solution-configuration.js +3 -3
  113. package/dist/components/solution-contents2.js +1 -1
  114. package/dist/components/solution-item-details2.js +1 -1
  115. package/dist/components/solution-item-icon2.js +1 -1
  116. package/dist/components/solution-item-sharing2.js +1 -1
  117. package/dist/components/solution-item2.js +1 -1
  118. package/dist/components/solution-organization-variables2.js +1 -1
  119. package/dist/components/solution-resource-item2.js +1 -1
  120. package/dist/components/solution-spatial-ref2.js +1 -1
  121. package/dist/components/solution-template-data2.js +1 -1
  122. package/dist/components/solution-variables2.js +1 -1
  123. package/dist/components/spatial-ref2.js +1 -1
  124. package/dist/esm/basemap-gallery_7.entry.js +6 -6
  125. package/dist/esm/buffer-tools_3.entry.js +1 -1
  126. package/dist/esm/calcite-alert_4.entry.js +6 -6
  127. package/dist/esm/calcite-dropdown-group_2.entry.js +1 -1
  128. package/dist/esm/calcite-flow_6.entry.js +108 -65
  129. package/dist/esm/calcite-shell-panel_14.entry.js +7 -7
  130. package/dist/esm/card-manager_3.entry.js +2 -2
  131. package/dist/esm/crowdsource-manager.entry.js +1 -1
  132. package/dist/esm/crowdsource-reporter.entry.js +4 -4
  133. package/dist/esm/deduct-calculator.entry.js +1 -1
  134. package/dist/esm/feature-comments.entry.js +1 -1
  135. package/dist/esm/feature-form-flow-item.entry.js +1 -1
  136. package/dist/esm/feature-list.entry.js +4 -4
  137. package/dist/esm/features-flow-item.entry.js +1 -1
  138. package/dist/esm/layout-manager.entry.js +1 -1
  139. package/dist/esm/list-flow-item.entry.js +1 -1
  140. package/dist/esm/loader.js +1 -1
  141. package/dist/esm/location-flow-item.entry.js +1 -1
  142. package/dist/esm/map-select-tools_3.entry.js +3 -3
  143. package/dist/esm/pci-calculator.entry.js +1 -1
  144. package/dist/esm/public-notification.entry.js +1 -1
  145. package/dist/esm/refine-results-flow-item.entry.js +1 -1
  146. package/dist/esm/share-item.entry.js +1 -1
  147. package/dist/esm/solution-configuration.entry.js +3 -3
  148. package/dist/esm/solution-contents_3.entry.js +3 -3
  149. package/dist/esm/solution-item-icon.entry.js +1 -1
  150. package/dist/esm/solutions-components.js +1 -1
  151. package/dist/esm/spatial-ref.entry.js +1 -1
  152. package/dist/solutions-components/{p-2c044250.entry.js → p-053be79f.entry.js} +2 -2
  153. package/dist/solutions-components/{p-1ff9eb95.entry.js → p-05b3a5d9.entry.js} +1 -1
  154. package/dist/solutions-components/p-0d17246a.entry.js +6 -0
  155. package/dist/solutions-components/{p-b3160299.entry.js → p-1e915546.entry.js} +1 -1
  156. package/dist/solutions-components/{p-97e343df.entry.js → p-1f4b174f.entry.js} +1 -1
  157. package/dist/solutions-components/p-27e9ea86.entry.js +6 -0
  158. package/dist/solutions-components/{p-72317f8e.entry.js → p-296375d3.entry.js} +2 -2
  159. package/dist/solutions-components/{p-af4be4ce.entry.js → p-2a6db6e8.entry.js} +1 -1
  160. package/dist/solutions-components/p-4870be89.entry.js +6 -0
  161. package/dist/solutions-components/p-51b5ac05.entry.js +6 -0
  162. package/dist/solutions-components/{p-1251dcc6.entry.js → p-66722851.entry.js} +1 -1
  163. package/dist/solutions-components/{p-f35cc7ae.entry.js → p-81747268.entry.js} +1 -1
  164. package/dist/solutions-components/{p-84a5d221.entry.js → p-92eadd14.entry.js} +1 -1
  165. package/dist/solutions-components/{p-fc665a1a.entry.js → p-96c901b4.entry.js} +1 -1
  166. package/dist/solutions-components/p-9cfc59dd.entry.js +6 -0
  167. package/dist/solutions-components/{p-16730f05.entry.js → p-b656b73e.entry.js} +1 -1
  168. package/dist/solutions-components/{p-8c500fd7.entry.js → p-bfdabb9d.entry.js} +1 -1
  169. package/dist/solutions-components/p-c5becad1.entry.js +6 -0
  170. package/dist/solutions-components/{p-102b1f94.entry.js → p-cb20ba34.entry.js} +1 -1
  171. package/dist/solutions-components/p-cd694107.entry.js +17 -0
  172. package/dist/solutions-components/p-e1662e32.entry.js +6 -0
  173. package/dist/solutions-components/p-eda6994e.entry.js +6 -0
  174. package/dist/solutions-components/{p-bf57dbfd.entry.js → p-edcc1f23.entry.js} +1 -1
  175. package/dist/solutions-components/p-f7b791a8.entry.js +6 -0
  176. package/dist/solutions-components/p-fac36b42.entry.js +6 -0
  177. package/dist/solutions-components/{p-33845a79.entry.js → p-fd28754c.entry.js} +1 -1
  178. package/dist/solutions-components/solutions-components.esm.js +1 -1
  179. package/dist/types/components/create-feature/create-feature.d.ts +25 -3
  180. package/dist/types/components/create-related-feature/create-related-feature.d.ts +4 -0
  181. package/dist/types/components/feature-details/feature-details.d.ts +4 -0
  182. package/package.json +1 -1
  183. package/dist/solutions-components/p-28c6906c.entry.js +0 -6
  184. package/dist/solutions-components/p-3470c0f7.entry.js +0 -6
  185. package/dist/solutions-components/p-3fae9775.entry.js +0 -6
  186. package/dist/solutions-components/p-71de367b.entry.js +0 -6
  187. package/dist/solutions-components/p-8a81f3c7.entry.js +0 -6
  188. package/dist/solutions-components/p-aa06f4d1.entry.js +0 -6
  189. package/dist/solutions-components/p-b76b5310.entry.js +0 -6
  190. package/dist/solutions-components/p-c047a6fc.entry.js +0 -6
  191. package/dist/solutions-components/p-cbf0dada.entry.js +0 -17
  192. package/dist/solutions-components/p-e78be59a.entry.js +0 -6
  193. package/dist/solutions-components/p-e9176a44.entry.js +0 -6
@@ -6,6 +6,7 @@
6
6
  import { proxyCustomElement, HTMLElement, createEvent, h, Fragment } from '@stencil/core/internal/client';
7
7
  import { l as loadModules } from './loadModules.js';
8
8
  import { a as getAllLayers, g as getLayerOrTable } from './mapViewUtils.js';
9
+ import { d as defineCustomElement$1 } from './loader.js';
9
10
 
10
11
  const createFeatureCss = ":host{display:block}.esri-editor__panel-toolbar{display:none !important}.esri-editor__update-actions{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 0 20px 14px}.display-none{display:none !important}";
11
12
  const CreateFeatureStyle0 = createFeatureCss;
@@ -19,10 +20,15 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
19
20
  this.drawComplete = createEvent(this, "drawComplete", 7);
20
21
  this.editingAttachment = createEvent(this, "editingAttachment", 7);
21
22
  this.progressStatus = createEvent(this, "progressStatus", 7);
23
+ /**
24
+ * boolean: Flag to maintain form submission using submit button
25
+ */
26
+ this._isSubmitBtnClicked = false;
22
27
  this.mapView = undefined;
23
28
  this.selectedLayerId = undefined;
24
29
  this.customizeSubmit = false;
25
30
  this.searchConfiguration = undefined;
31
+ this._editorLoading = false;
26
32
  this.showSearchWidget = undefined;
27
33
  }
28
34
  //--------------------------------------------------------------------------
@@ -31,13 +37,25 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
31
37
  //
32
38
  //--------------------------------------------------------------------------
33
39
  /**
34
- * Called each time the mapView prop is changed.
35
- */
40
+ * Called each time the mapView prop is changed.
41
+ */
36
42
  async mapViewWatchHandler() {
37
43
  await this.mapView.when(async () => {
38
44
  await this.init();
39
45
  });
40
46
  }
47
+ /**
48
+ * When _editorLoading is true the container node will be hidden while starting the create workflow
49
+ */
50
+ async _editorLoadingWatchHandler(v) {
51
+ var _a, _b;
52
+ if (v) {
53
+ (_a = this._container) === null || _a === void 0 ? void 0 : _a.classList.add("display-none");
54
+ await this.startCreate();
55
+ (_b = this._container) === null || _b === void 0 ? void 0 : _b.classList.remove("display-none");
56
+ this._editorLoading = false;
57
+ }
58
+ }
41
59
  //--------------------------------------------------------------------------
42
60
  //
43
61
  // Methods (public)
@@ -58,6 +76,7 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
58
76
  */
59
77
  async submit() {
60
78
  if (this._editor) {
79
+ this._isSubmitBtnClicked = true;
61
80
  this._editor.viewModel.featureFormViewModel.submit();
62
81
  }
63
82
  }
@@ -84,7 +103,9 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
84
103
  */
85
104
  render() {
86
105
  const showSearchWidget = this.showSearchWidget ? '' : 'display-none';
87
- return (h(Fragment, { key: 'e1427c13c0385279fcb0f122b50b891eac419ec4' }, h("div", { key: '039e8d8ff5792765c73cb23df37f37bacc0c9dda', id: "feature-form" }), h("div", { key: '94601056ec69000009f4b71b34a38cea28635d99', class: `search-widget ${showSearchWidget}`, id: "search-widget-ref" })));
106
+ const loaderClass = this._editorLoading ? "" : "display-none";
107
+ const featureFormClass = this._editorLoading ? "display-none" : "";
108
+ return (h(Fragment, { key: '2e790defdd5592fed729853888ee06143c95c84d' }, h("calcite-loader", { key: 'a0f1de0064ea80305d4aaf83f78939c0236c955a', class: loaderClass, label: "", scale: "s" }), h("div", { key: '1af391d6d7fd0dffa2e8e4b43905f8081a5f9820', class: featureFormClass, id: "feature-form" }), h("div", { key: '88d12115c3c2e0d34a5d6fd8895fb60cec6e9b5d', class: `search-widget ${showSearchWidget} ${featureFormClass}`, id: "search-widget-ref" })));
88
109
  }
89
110
  //--------------------------------------------------------------------------
90
111
  //
@@ -120,11 +141,13 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
120
141
  * @protected
121
142
  */
122
143
  async createEditorWidget() {
144
+ var _a;
123
145
  if (this._editor) {
124
146
  this._editor.destroy();
125
147
  }
126
148
  const layerInfos = [];
127
- const container = document.createElement("div");
149
+ this._container = document.createElement("div");
150
+ (_a = this._container) === null || _a === void 0 ? void 0 : _a.classList.add("display-none");
128
151
  const allMapLayers = await getAllLayers(this.mapView);
129
152
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
130
153
  allMapLayers.forEach(async (eachLayer) => {
@@ -143,9 +166,9 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
143
166
  visibleElements: {
144
167
  snappingControls: false
145
168
  },
146
- container
169
+ container: this._container
147
170
  });
148
- this.el.appendChild(container);
171
+ this.el.appendChild(this._container);
149
172
  //Add handle to watch if attachments are added/edited
150
173
  const attachmentHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
151
174
  if (state === 'adding-attachment' || state === 'editing-attachment') {
@@ -164,13 +187,14 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
164
187
  const handle = this.reactiveUtils.watch(() => this._editor.viewModel.featureTemplatesViewModel.state, (state) => {
165
188
  if (state === 'ready') {
166
189
  this.progressStatus.emit(0.5);
167
- void this.startCreate();
190
+ this._editorLoading = true;
168
191
  }
169
192
  });
170
193
  this._editor.viewModel.addHandles(handle);
171
194
  //Add handle to watch editor viewmodel state and then show the search widget
172
195
  const formHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
173
196
  if (state === 'creating-features') {
197
+ this._editorLoading = true;
174
198
  this.showSearchWidget = true;
175
199
  }
176
200
  });
@@ -181,36 +205,39 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
181
205
  * @protected
182
206
  */
183
207
  async startCreate() {
184
- var _a;
185
- if ((_a = this._editor.viewModel.featureTemplatesViewModel.items) === null || _a === void 0 ? void 0 : _a.length) {
186
- const items = this._editor.viewModel.featureTemplatesViewModel.items[0].get("items");
187
- //once the feature template is selected handle the event for formSubmit and sketch complete
188
- //also, hide the headers and footer in the editor as we will be showing our own submit and cancel button
189
- this._editor.viewModel.featureTemplatesViewModel.on('select', () => {
190
- this.progressStatus.emit(0.75);
191
- setTimeout(() => {
192
- //on form submit
193
- this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
194
- //on sketch complete emit the event
195
- this._editor.viewModel.sketchViewModel.on("create", (evt) => {
196
- if (evt.state === "complete") {
197
- this.showSearchWidget = false;
198
- this.progressStatus.emit(1);
199
- this.drawComplete.emit();
200
- }
201
- });
202
- this.hideEditorsElements();
203
- }, 700);
204
- this.hideEditorsElements();
205
- });
206
- //if only one feature template then directly start geometry creation for that
207
- //else allow feature template selection to user
208
- if (items.length === 1) {
209
- this._editor.viewModel.featureTemplatesViewModel.select(items[0]);
208
+ return new Promise((resolve, reject) => {
209
+ var _a;
210
+ if ((_a = this._editor.viewModel.featureTemplatesViewModel.items) === null || _a === void 0 ? void 0 : _a.length) {
211
+ const items = this._editor.viewModel.featureTemplatesViewModel.items[0].get("items");
212
+ //once the feature template is selected handle the event for formSubmit and sketch complete
213
+ //also, hide the headers and footer in the editor as we will be showing our own submit and cancel button
214
+ this._editor.viewModel.featureTemplatesViewModel.on('select', () => {
215
+ this.progressStatus.emit(0.75);
216
+ setTimeout(() => {
217
+ //on form submit
218
+ this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
219
+ //on sketch complete emit the event
220
+ this._editor.viewModel.sketchViewModel.on("create", (evt) => {
221
+ if (evt.state === "complete") {
222
+ this.showSearchWidget = false;
223
+ this.progressStatus.emit(1);
224
+ this.drawComplete.emit();
225
+ }
226
+ });
227
+ this.hideEditorsElements().then(() => {
228
+ resolve({});
229
+ }, e => reject(e));
230
+ }, 700);
231
+ });
232
+ //if only one feature template then directly start geometry creation for that
233
+ //else allow feature template selection to user
234
+ if (items.length === 1) {
235
+ this._editor.viewModel.featureTemplatesViewModel.select(items[0]);
236
+ }
237
+ //hides the header and footer elements in editor widget
238
+ void this.hideEditorsElements();
210
239
  }
211
- //hides the header and footer elements in editor widget
212
- this.hideEditorsElements();
213
- }
240
+ });
214
241
  }
215
242
  /**
216
243
  * Display search widget to search location
@@ -245,7 +272,7 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
245
272
  if (this._editor.viewModel.sketchViewModel.createGraphic && pointGeometry) {
246
273
  this._editor.viewModel.sketchViewModel.createGraphic.set('geometry', pointGeometry);
247
274
  this._editor.viewModel.sketchViewModel.complete();
248
- this.hideEditorsElements();
275
+ void this.hideEditorsElements();
249
276
  }
250
277
  }, 100);
251
278
  }
@@ -304,22 +331,21 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
304
331
  * Hides the elements of editor widget
305
332
  * @protected
306
333
  */
307
- hideEditorsElements() {
334
+ async hideEditorsElements() {
335
+ var _a;
308
336
  if (!this.customizeSubmit) {
309
337
  return;
310
338
  }
311
- setTimeout(() => {
312
- var _a;
313
- //hides the header and footer on the featureForm
314
- (_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null || _a === void 0 ? void 0 : _a.forEach((flowItem) => {
315
- var _a, _b, _c, _d, _e;
316
- const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
317
- //hide the header
318
- (_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
319
- //hide the footer
320
- (_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
321
- });
322
- }, 700);
339
+ await this.timeout(700);
340
+ //hides the header and footer on the featureForm
341
+ (_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null || _a === void 0 ? void 0 : _a.forEach((flowItem) => {
342
+ var _a, _b, _c, _d, _e;
343
+ const article = (_c = (_b = (_a = flowItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('calcite-panel')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('article');
344
+ //hide the header
345
+ (_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
346
+ //hide the footer
347
+ (_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
348
+ });
323
349
  }
324
350
  /**
325
351
  * On creation of feature emit the event that the feature is created
@@ -330,11 +356,13 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
330
356
  var _a;
331
357
  //return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
332
358
  if (evt.invalid.length) {
359
+ this._isSubmitBtnClicked = false;
333
360
  return;
334
361
  }
335
362
  //Submit only when valid attributes
336
363
  //emit success or fail based on the result
337
- if (evt.valid.length) {
364
+ if (evt.valid.length && this._isSubmitBtnClicked) {
365
+ this._isSubmitBtnClicked = false;
338
366
  try {
339
367
  await this._editor.activeWorkflow.commit();
340
368
  //throw errors if any failures
@@ -353,9 +381,18 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
353
381
  this.success.emit();
354
382
  }
355
383
  }
384
+ /**
385
+ * call setTimeout in Promise wrapper
386
+ * @param delay The time, in milliseconds that the timer should wait before the promise is resolved
387
+ * @protected
388
+ */
389
+ timeout(delay) {
390
+ return new Promise(resolve => setTimeout(resolve, delay));
391
+ }
356
392
  get el() { return this; }
357
393
  static get watchers() { return {
358
- "mapView": ["mapViewWatchHandler"]
394
+ "mapView": ["mapViewWatchHandler"],
395
+ "_editorLoading": ["_editorLoadingWatchHandler"]
359
396
  }; }
360
397
  static get style() { return CreateFeatureStyle0; }
361
398
  }, [0, "create-feature", {
@@ -363,23 +400,30 @@ const CreateFeature = /*@__PURE__*/ proxyCustomElement(class CreateFeature exten
363
400
  "selectedLayerId": [1, "selected-layer-id"],
364
401
  "customizeSubmit": [4, "customize-submit"],
365
402
  "searchConfiguration": [16],
403
+ "_editorLoading": [32],
366
404
  "showSearchWidget": [32],
367
405
  "close": [64],
368
406
  "submit": [64]
369
407
  }, undefined, {
370
- "mapView": ["mapViewWatchHandler"]
408
+ "mapView": ["mapViewWatchHandler"],
409
+ "_editorLoading": ["_editorLoadingWatchHandler"]
371
410
  }]);
372
411
  function defineCustomElement() {
373
412
  if (typeof customElements === "undefined") {
374
413
  return;
375
414
  }
376
- const components = ["create-feature"];
415
+ const components = ["create-feature", "calcite-loader"];
377
416
  components.forEach(tagName => { switch (tagName) {
378
417
  case "create-feature":
379
418
  if (!customElements.get(tagName)) {
380
419
  customElements.define(tagName, CreateFeature);
381
420
  }
382
421
  break;
422
+ case "calcite-loader":
423
+ if (!customElements.get(tagName)) {
424
+ defineCustomElement$1();
425
+ }
426
+ break;
383
427
  } });
384
428
  }
385
429
  defineCustomElement();
@@ -16,6 +16,10 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
16
16
  this.success = createEvent(this, "success", 7);
17
17
  this.fail = createEvent(this, "fail", 7);
18
18
  this.isActionPending = createEvent(this, "isActionPending", 7);
19
+ /**
20
+ * boolean: Flag to maintain form submission using submit button
21
+ */
22
+ this._isSubmitBtnClicked = false;
19
23
  this.mapView = undefined;
20
24
  this.table = undefined;
21
25
  this.selectedFeature = undefined;
@@ -52,6 +56,7 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
52
56
  */
53
57
  async submit() {
54
58
  if (this._editor) {
59
+ this._isSubmitBtnClicked = true;
55
60
  this._editor.viewModel.featureFormViewModel.submit();
56
61
  }
57
62
  }
@@ -89,7 +94,7 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
89
94
  this.reactiveUtils = reactiveUtils;
90
95
  }
91
96
  render() {
92
- return (h(Host, { key: '579af77dcac88043b178e711e0b47d7982c1c87f' }));
97
+ return (h(Host, { key: 'c8516898db79b35b7fba909810afdc56b0602ebd' }));
93
98
  }
94
99
  /**
95
100
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -219,11 +224,13 @@ const CreateRelatedFeature = /*@__PURE__*/ proxyCustomElement(class CreateRelate
219
224
  var _a;
220
225
  //return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
221
226
  if (evt.invalid.length) {
227
+ this._isSubmitBtnClicked = false;
222
228
  return;
223
229
  }
224
230
  //Submit only when valid attributes
225
231
  //emit success or fail based on the result
226
- if (evt.valid.length) {
232
+ if (evt.valid.length && this._isSubmitBtnClicked) {
233
+ this._isSubmitBtnClicked = false;
227
234
  try {
228
235
  await this._editor.activeWorkflow.commit();
229
236
  //throw errors if any failures
@@ -252,7 +252,7 @@ const CrowdsourceManager$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceM
252
252
  render() {
253
253
  // only avoid border when we have a header color that is not white
254
254
  const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
255
- return (h(Host, { key: '0f06df71cc424887b8dc4b4929670d94b6548085' }, h("calcite-shell", { key: 'c81a570fb771650de6193e45ffbebd03544eaf2e', class: "position-relative" }, h("calcite-panel", { key: '5e67c2bf9ed0df0080629989f93e89a145349abc', class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
255
+ return (h(Host, { key: '9624c9a65dfde0984d1abdc8ed78f709d58874f3' }, h("calcite-shell", { key: '0b54737e19b7ab1b17a1841b7b83267515a5de51', class: "position-relative" }, h("calcite-panel", { key: 'aea71b81bd854548f921920cb6dc259d8441a2b2', class: `width-full height-full ${borderClass}` }, this._getBody(this._layoutMode, this._panelOpen, this._hideTable)), this._getFooter())));
256
256
  }
257
257
  /**
258
258
  * Called after each render
@@ -156,7 +156,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
156
156
  */
157
157
  render() {
158
158
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
159
- return (h(Host, { key: '25711a088216a3fcf2aa5d39b81ebd124f004306' }, this._reportSubmitted && h("calcite-alert", { key: 'b8cf62929599eb873a52c7e7a9b056e25fd86c2a', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '6411e0e7b57fd58f8ba7987331271f0494ba113b', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '67b28ad1e3493427227d2d59548a5eac80041dea', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '3ad206c32a217e6a9a5bb1e638ef3160fbff5db2', slot: "title" }, this._translations.error), h("div", { key: '7580dd6b3f81a9b0c4263fb9e71e2031e199b41d', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '7be4c3b5d07e9f30551d19990462bb3d1152b2a3', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '41c01a889ed6732cf7dabf0945fbfb261a0f3a3b', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '29bca2310f6877ec976fbe49ac39413593202a4d', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '8a7860934cebec53462c46e0d979268c75fb9705', slot: "title" }, this._translations.error), h("div", { key: 'd675ee393e81f5104d87391075a9ae89b4077a45', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: '1fce11b73759bc751de763e040d15d85a3fb347d' }, h("calcite-shell", { key: '71634d0d1b0fcbe92813ff9b514ec4e752bd3fd1', "content-behind": true }, this._getReporter())), this.filterModal()));
159
+ return (h(Host, { key: '119bb8b1c9115dca4e15c45ddd8e7fbed500b4d7' }, this._reportSubmitted && h("calcite-alert", { key: 'ef85c61fb5c9eaac9391c1e37494ef5e4244dadb', "auto-close": true, class: themeClass + " report-submitted-msg", icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '616a75103a227cf1b50d9e43fea129afc3fee4f9', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '2faf9a9729bf90b87e044bfe8958571735f2cbf5', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '66cdf81166042ff4efddd4cc5801d790463d75fc', slot: "title" }, this._translations.error), h("div", { key: 'ad289b06742d2159d6fcfbdc42ecc9fb6d81f362', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '27aee542bfd2cae8972035d17167407b35b5eb76', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '70a8a21de05b00d409adb226d6393817f7514930', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: '107ab01eca03500faeb4db5a2ac0e9dc7261e6fc', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '31e6fba8c28489f87897a13ebb4e7b8956452191', slot: "title" }, this._translations.error), h("div", { key: '6f0868946ef6e04490ba1e0806a03e26c756760b', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: 'e169b7b466023010d45151ca9b7dfb900d8d7f9f' }, h("calcite-shell", { key: '72899b8eff6622233224df91223ee5d59539905b', "content-behind": true }, this._getReporter())), this.filterModal()));
160
160
  }
161
161
  //--------------------------------------------------------------------------
162
162
  //
@@ -826,8 +826,9 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
826
826
  */
827
827
  reduceToConfiguredLayers(hash) {
828
828
  return Object.keys(hash).reduce((prev, cur) => {
829
+ var _a;
829
830
  // check if reporting options exists consider the visible prop if else just check the supports Add
830
- const showLayer = this.reportingOptions ? this._getLayersConfig(cur).visible
831
+ const showLayer = this.reportingOptions ? (_a = this._getLayersConfig(cur)) === null || _a === void 0 ? void 0 : _a.visible
831
832
  : hash[cur].supportsAdd;
832
833
  if (showLayer) {
833
834
  prev.push(cur);
@@ -909,7 +910,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
909
910
  const featureSet = await queryFeaturesByID([Number(this.objectId)], layer, [], true, this.mapView.spatialReference);
910
911
  if (featureSet.length) {
911
912
  //update the selectedFeature
912
- this._selectedFeature = featureSet;
913
+ await this.setSelectedFeatures(featureSet);
913
914
  //if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
914
915
  // eslint-disable-next-line unicorn/prefer-ternary
915
916
  if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
@@ -918,7 +919,6 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
918
919
  else {
919
920
  this._flowItems = [...this._flowItems];
920
921
  }
921
- await this.highlightOnMap(featureSet[0]);
922
922
  }
923
923
  }
924
924
  }
@@ -874,7 +874,7 @@ const DeductCalculator = /*@__PURE__*/ proxyCustomElement(class DeductCalculator
874
874
  * Renders the component.
875
875
  */
876
876
  render() {
877
- return (h(Host, { key: '68401afdbb18147910d55f13cae4c019bda9f020' }, h("div", { key: '88b89c1a9b260024f28315574539f47bd0bd0a3a', class: "label-display" }, h("calcite-label", { key: '8e81c5e65fe272c547addd3915ccc6a7da48a5b8', class: "label-display" }, "Density %", this._getDensityInput()), h("calcite-label", { key: 'f549369baa3b681922c07b2c91a626664e98309f', class: "label-display" }, "Type", this._getTypeInput()), h("calcite-label", { key: 'e850fbf5d9728f969c289946c3518a30316e88b9', class: "label-display" }, "Severity", this._getSeverityInput())), h("div", { key: '2485c0b0f0c2681b1af7cf55478ec34efb734a46' }, this._getCalculateInput())));
877
+ return (h(Host, { key: '7c12073b99b009ce413082df1ea7f7ba57a24d89' }, h("div", { key: '35ad62ab6a2fe9efb8e32c262d562c213ce067aa', class: "label-display" }, h("calcite-label", { key: '5f4b84e4639538ebc8c6172def2a9c4b2703621f', class: "label-display" }, "Density %", this._getDensityInput()), h("calcite-label", { key: 'b3c9bf873945871c456e97a7c6ce71ce820f37c5', class: "label-display" }, "Type", this._getTypeInput()), h("calcite-label", { key: '57d3b49c4b2a1f103fb197e29913e244731c507f', class: "label-display" }, "Severity", this._getSeverityInput())), h("div", { key: '1194dccf269b5c42248f4e4eed188bcc89aa4cb5' }, this._getCalculateInput())));
878
878
  }
879
879
  //--------------------------------------------------------------------------
880
880
  //
@@ -12,7 +12,7 @@ import { d as defineCustomElement$3 } from './loader.js';
12
12
  import { d as defineCustomElement$2 } from './modal.js';
13
13
  import { d as defineCustomElement$1 } from './scrim.js';
14
14
 
15
- const deleteButtonCss = ":host{display:block}";
15
+ const deleteButtonCss = ":host{display:block}.delete-modal{position:fixed}";
16
16
  const DeleteButtonStyle0 = deleteButtonCss;
17
17
 
18
18
  const DeleteButton = /*@__PURE__*/ proxyCustomElement(class DeleteButton extends HTMLElement {
@@ -71,7 +71,7 @@ const DeleteButton = /*@__PURE__*/ proxyCustomElement(class DeleteButton extends
71
71
  * Renders the component.
72
72
  */
73
73
  render() {
74
- return (h(Host, { key: '09821225eb29ad6eef021f81977cabc3b7852167' }, this.buttonType === "button" ? (h("calcite-button", { appearance: "outline", disabled: !this._deleteEndabled, id: "solutions-delete", kind: "danger", onClick: () => this._delete(), width: "full" }, this._translations.deleteCount.replace("{{n}}", this.ids.length.toString()))) : (h("calcite-action", { appearance: "solid", compact: true, disabled: !this._deleteEndabled, id: this.icon, onClick: () => this._delete(), scale: "s", text: this._translations.delete }, h("calcite-button", { appearance: "transparent", iconStart: this.icon, kind: "danger" }, this._translations.delete))), this._deleteMessage()));
74
+ return (h(Host, { key: '87e080ea4203ab7fcb1313d8fa57a3d5c5d37885' }, this.buttonType === "button" ? (h("calcite-button", { appearance: "outline", disabled: !this._deleteEndabled, id: "solutions-delete", kind: "danger", onClick: () => this._delete(), width: "full" }, this._translations.deleteCount.replace("{{n}}", this.ids.length.toString()))) : (h("calcite-action", { appearance: "solid", compact: true, disabled: !this._deleteEndabled, id: this.icon, onClick: () => this._delete(), scale: "s", text: this._translations.delete }, h("calcite-button", { appearance: "transparent", iconStart: this.icon, kind: "danger" }, this._translations.delete))), this._deleteMessage()));
75
75
  }
76
76
  /**
77
77
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -108,7 +108,7 @@ const DeleteButton = /*@__PURE__*/ proxyCustomElement(class DeleteButton extends
108
108
  _deleteMessage() {
109
109
  const confirmMessage = this.ids.length === 1 ? this._translations.confirmSingle :
110
110
  this._translations.confirmMultiple;
111
- return (h("calcite-modal", { "aria-labelledby": "modal-title", kind: "danger", onCalciteModalClose: () => this._deleteClosed(), open: this._confirmDelete }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, this._translations.deleteFeature), h("div", { slot: "content" }, confirmMessage), h("calcite-button", { appearance: "outline", kind: "danger", onClick: () => this._deleteClosed(), slot: "secondary", width: "full" }, this._translations.cancel), h("calcite-button", { kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "primary", width: "full" }, this._translations.delete)));
111
+ return (h("calcite-modal", { "aria-labelledby": "modal-title", class: "delete-modal", kind: "danger", onCalciteModalClose: () => this._deleteClosed(), open: this._confirmDelete }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, this._translations.deleteFeature), h("div", { slot: "content" }, confirmMessage), h("calcite-button", { appearance: "outline", kind: "danger", onClick: () => this._deleteClosed(), slot: "secondary", width: "full" }, this._translations.cancel), h("calcite-button", { kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "primary", width: "full" }, this._translations.delete)));
112
112
  }
113
113
  /**
114
114
  * Delete the currently selected features
@@ -108,7 +108,7 @@ const EditCard = /*@__PURE__*/ proxyCustomElement(class EditCard extends HTMLEle
108
108
  !this.graphics[0].layer.editingEnabled : true;
109
109
  const tableNodeClass = this._editorLoading ? "display-none" : "position-absolute";
110
110
  const loadingClass = this._editorLoading ? "" : "display-none";
111
- return (h(Host, { key: 'fbb55e4f99e4fde338fb1ca9debc6cd4eeb46787' }, h("div", { key: '10f7468920f81c1b97a2b23c8069e5b821683788', class: "position-absolute" }, editDisabled ? (h("calcite-notice", { kind: "warning", open: true, slot: "content-top", width: "full" }, h("div", { slot: "message" }, this._translations.enableEditing))) : undefined, h("div", { key: '4badfa94e30d2a8108812c780ea6e636ca4e6e00', class: "position-absolute" }, h("div", { key: '7ce280938b7ae435fbffd358969a23577a0a8ce8', class: tableNodeClass, id: "feature-form", ref: (el) => this._editContainer = el }), h("calcite-loader", { key: '13e23afb8e6d012f6abebad43b24485ac0e72805', class: loadingClass, label: "", scale: "s" })))));
111
+ return (h(Host, { key: '80acdd7d9b9441be28664ab60b7ad5d19c633bdd' }, h("div", { key: 'c8e41f2f7f3d5fcc4f49dd42b1f530c9e422cc8a', class: "position-absolute" }, editDisabled ? (h("calcite-notice", { kind: "warning", open: true, slot: "content-top", width: "full" }, h("div", { slot: "message" }, this._translations.enableEditing))) : undefined, h("div", { key: '4b93fef902254d2a55e997bccdb4e16ee67c3c75', class: "position-absolute" }, h("div", { key: '1794c5c246ab90b2915a15a15077ae7d82ec567c', class: tableNodeClass, id: "feature-form", ref: (el) => this._editContainer = el }), h("calcite-loader", { key: '001162f8ae947cae915de33c16a116efd7795f75', class: loadingClass, label: "", scale: "s" })))));
112
112
  }
113
113
  //--------------------------------------------------------------------------
114
114
  //
@@ -50,7 +50,7 @@ const FeatureComments$1 = /*@__PURE__*/ proxyCustomElement(class FeatureComments
50
50
  //
51
51
  //--------------------------------------------------------------------------
52
52
  render() {
53
- return (h(Host, { key: '388f7097c0cfc5b9c6cc6649ff00e9fd0be1c6aa' }, h("slot", { key: '31a2a3694358fe14a2195da82063f3be0500b3d8' })));
53
+ return (h(Host, { key: '70ab7bb863463c41fa2291412f8da6d602e9a94d' }, h("slot", { key: '7266d385e0fc9341baf651a5dcab13b7ba361163' })));
54
54
  }
55
55
  get el() { return this; }
56
56
  static get style() { return FeatureCommentsStyle0; }
@@ -33,7 +33,7 @@ import { d as defineCustomElement$3 } from './edit-card2.js';
33
33
  import { d as defineCustomElement$2 } from './feature-list2.js';
34
34
  import { d as defineCustomElement$1 } from './info-card2.js';
35
35
 
36
- const featureDetailsCss = ":host{display:block}.buttons-container{align-items:center;display:flex;padding:10px;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)}.comment-btn{display:flex;gap:5px;font-size:var(--calcite-font-size--2);align-items:center;padding:0 0.5rem}";
36
+ const featureDetailsCss = ":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)}.comment-btn{display:flex;gap:10px;font-size:var(--calcite-font-size--1);align-items:center;padding:7px 0.75rem}";
37
37
  const FeatureDetailsStyle0 = featureDetailsCss;
38
38
 
39
39
  const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails extends HTMLElement {
@@ -59,6 +59,7 @@ const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails ext
59
59
  this._isLikeBtnClicked = false;
60
60
  this._isDislikeBtnClicked = false;
61
61
  this._relatedFeaturesOIDs = undefined;
62
+ this._updating = false;
62
63
  }
63
64
  //--------------------------------------------------------------------------
64
65
  //
@@ -130,12 +131,12 @@ const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails ext
130
131
  var _a, _b, _c, _d, _e;
131
132
  //When related features found show comments list of only those features else comments list will be empty
132
133
  const commentsListWhereClause = ((_a = this._relatedFeaturesOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0 ? `objectId in(${this._relatedFeaturesOIDs})` : '1=0';
133
- return (h("calcite-panel", { key: 'f8d1d282a6ebdb4d5a64efd96d88329d375b7fe1', "full-height": true }, h("info-card", { key: '3cfca85af149ab445973510ff1a9f94e22c5c833', allowEditing: false, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, mapView: this.mapView, onSelectionChanged: (e) => { this.featureSelectionChange.emit(e.detail); }, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
134
- h("div", { key: 'a3242d417cef788f0f677bf21c65fb9aaa44f8b2', class: "buttons-container" }, this._commentsAvailable &&
135
- h("div", { key: '9dcfccc0a48b719d14cb08737d654000a27e21cc', class: "comment-btn" }, h("span", { key: 'b68cafd0cebfa91c12f32f648ec2f71a51e3b9da' }, this._relatedFeaturesOIDs.length), h("calcite-icon", { key: 'f2b9c34ac64a5cb7692f80cd73658f077525eee4', icon: "speech-bubble", scale: 's' })), this._likeFieldAvailable &&
136
- h("calcite-button", { key: '7a4ec79205b3eccceb7d43de2c227d8407c24a26', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", onClick: this.onLikeButtonClick.bind(this), scale: 's' }, (_c = (_b = this._likeCount) !== null && _b !== void 0 ? _b : this._selectedGraphic.attributes[this._likeField]) !== null && _c !== void 0 ? _c : 0), this._dislikeFieldAvailable &&
137
- h("calcite-button", { key: '4634f8aeb114f97c9ceaae8eac5da86afa89f217', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", onClick: this.onDislikeButtonClick.bind(this), scale: 's' }, (_e = (_d = this._disLikeCount) !== null && _d !== void 0 ? _d : this._selectedGraphic.attributes[this._dislikeField]) !== null && _e !== void 0 ? _e : 0)), this.relatedTableId && this._commentsAvailable &&
138
- h("feature-list", { key: '30559c6f28a741264972677cef1f182f1012f73f', class: "height-full", mapView: this.mapView, onFeatureSelect: (e) => { this.commentSelect.emit(e.detail); }, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showErrorWhenNoFeatures: false, showInitialLoading: false, textSize: "small", whereClause: commentsListWhereClause })));
134
+ return (h("calcite-panel", { key: 'e42bbf7e4070b03c43aec1bf47c442b65cd35731', "full-height": true }, h("info-card", { key: 'f44099e2f8f87edbc656700e65daeb1bf934d41c', allowEditing: false, graphics: this.graphics, highlightEnabled: false, isLoading: false, isMobile: false, mapView: this.mapView, onSelectionChanged: (e) => { this.featureSelectionChange.emit(e.detail); }, paginationEnabled: false, position: "relative", ref: el => this._infoCard = el }), (this._likeFieldAvailable || this._dislikeFieldAvailable || this._commentsAvailable) &&
135
+ h("div", { key: 'aa65adf8d8b6a059d5e9d0e74a1896eb20c84eaf', class: "buttons-container" }, this._commentsAvailable &&
136
+ h("div", { key: '09dd5da4932a9a0526b413592d25469087eaf4c9', class: "comment-btn" }, h("span", { key: '48f7080ace69de3589aa4f3b199eb25e53f61110' }, this._relatedFeaturesOIDs.length), h("calcite-icon", { key: 'f524b4d66a0a6427dda6a7a93e9dc362fe7337fc', icon: "speech-bubble", scale: 's' })), this._likeFieldAvailable &&
137
+ h("calcite-button", { key: '278a685b13f7ae2a37cb649a0933006104fa7b9f', appearance: "transparent", iconEnd: "thumbs-up", kind: this._isLikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onLikeButtonClick.bind(this), scale: 'm' }, (_c = (_b = this._likeCount) !== null && _b !== void 0 ? _b : this._selectedGraphic.attributes[this._likeField]) !== null && _c !== void 0 ? _c : 0), this._dislikeFieldAvailable &&
138
+ h("calcite-button", { key: '7010b6ef352be7c587d7ca49fe3b8411aeb163c6', appearance: "transparent", iconEnd: "thumbs-down", kind: this._isDislikeBtnClicked ? "brand" : "neutral", loading: this._updating, onClick: this.onDislikeButtonClick.bind(this), scale: 'm' }, (_e = (_d = this._disLikeCount) !== null && _d !== void 0 ? _d : this._selectedGraphic.attributes[this._dislikeField]) !== null && _e !== void 0 ? _e : 0)), this.relatedTableId && this._commentsAvailable &&
139
+ h("feature-list", { key: '526614c384fa627057a18528c1bd4aaf2b9c70d8', class: "height-full", mapView: this.mapView, onFeatureSelect: (e) => { this.commentSelect.emit(e.detail); }, pageSize: 5, ref: el => this._commentsList = el, selectedLayerId: this.relatedTableId, showErrorWhenNoFeatures: false, showInitialLoading: false, textSize: "small", whereClause: commentsListWhereClause })));
139
140
  }
140
141
  /**
141
142
  * Load esri javascript api modules
@@ -292,7 +293,6 @@ const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails ext
292
293
  * @protected
293
294
  */
294
295
  onLikeButtonClick() {
295
- this.loadingStatus.emit(true);
296
296
  if (this._isDislikeBtnClicked && this.reportingOptions[this._selectedGraphic.layer.id].dislike) {
297
297
  this.onDislikeButtonClick();
298
298
  }
@@ -310,7 +310,6 @@ const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails ext
310
310
  * @protected
311
311
  */
312
312
  onDislikeButtonClick() {
313
- this.loadingStatus.emit(true);
314
313
  if (this._isLikeBtnClicked && this.reportingOptions[this._selectedGraphic.layer.id].like) {
315
314
  this.onLikeButtonClick();
316
315
  }
@@ -332,6 +331,7 @@ const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails ext
332
331
  async updateFeaturesLikeDislikeField(fieldName, buttonClicked) {
333
332
  const attributesToUpdate = {};
334
333
  const selectedLayer = this._selectedGraphic.layer;
334
+ this._updating = true;
335
335
  //Increment the value if button is clicked or else decrement it
336
336
  const selectFeatureAttr = this._selectedGraphic;
337
337
  if (buttonClicked) {
@@ -355,9 +355,9 @@ const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails ext
355
355
  }
356
356
  //store the like dislike value for the current selected graphic in local storage
357
357
  this.setInLocalStorage();
358
- this.loadingStatus.emit(false);
358
+ this._updating = false;
359
359
  }, (err) => {
360
- this.loadingStatus.emit(false);
360
+ this._updating = false;
361
361
  console.log(err);
362
362
  });
363
363
  }
@@ -422,6 +422,7 @@ const FeatureDetails = /*@__PURE__*/ proxyCustomElement(class FeatureDetails ext
422
422
  "_isLikeBtnClicked": [32],
423
423
  "_isDislikeBtnClicked": [32],
424
424
  "_relatedFeaturesOIDs": [32],
425
+ "_updating": [32],
425
426
  "refresh": [64],
426
427
  "back": [64],
427
428
  "next": [64],
@@ -50,7 +50,7 @@ const FeatureFormFlowItem$1 = /*@__PURE__*/ proxyCustomElement(class FeatureForm
50
50
  //
51
51
  //--------------------------------------------------------------------------
52
52
  render() {
53
- return (h(Host, { key: '2607999cdad5fbe75eac4366256b589eeb33fe36' }, h("slot", { key: 'a9443a71e40b37449d01f4c40ca5f21b83bf005a' })));
53
+ return (h(Host, { key: '32113dda304b2f7179d0275f04987e69ce386959' }, h("slot", { key: '358d5ea7a03cc7da16e98a92391cf74dfe9fa89b' })));
54
54
  }
55
55
  get el() { return this; }
56
56
  static get style() { return FeatureFormFlowItemStyle0; }
@@ -25,7 +25,7 @@ import { d as defineCustomElement$3 } from './progress.js';
25
25
  import { d as defineCustomElement$2 } from './scrim.js';
26
26
  import { d as defineCustomElement$1 } from './stack.js';
27
27
 
28
- const featureListCss = ":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;padding:10px 12px}.feature-list-popup-title-small{font-size:small;padding:10px 12px}";
28
+ const featureListCss = ":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;padding:10px 12px;white-space:pre-line}.feature-list-popup-title-small{font-size:small;padding:10px 12px;white-space:pre-line}";
29
29
  const FeatureListStyle0 = featureListCss;
30
30
 
31
31
  const FeatureList = /*@__PURE__*/ proxyCustomElement(class FeatureList extends HTMLElement {
@@ -111,9 +111,9 @@ const FeatureList = /*@__PURE__*/ proxyCustomElement(class FeatureList extends H
111
111
  * Renders the component.
112
112
  */
113
113
  render() {
114
- return (h("calcite-panel", { key: '6184d07592669fd8884996475b7eeb26e0604790', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: '282127215213a28b9cfdf484aaf5730145b6bb55', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
115
- h("calcite-notice", { key: '25fcfeb1d19a089b092050515c3d69401bc17dc8', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: '2ac81a338df9d0e0f43c659a24be0c9b7b95d027', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '70453e8ded4f859076a5f00d8f04152cd78278d8', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
116
- h("div", { key: 'db1003ace54cd599acefad04e94fe54248327126', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: '67764a051381b0e7ef26dbd16dc9226d7e152c20', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
114
+ return (h("calcite-panel", { key: '3d7b707a73bb6c4d566515e50cf2baa155e60816', "full-height": true, "full-width": true }, this._isLoading && h("calcite-loader", { key: '50294111fb6c1e52e727b03e54ca83fc498ca3b9', label: "", scale: "m" }), this.showErrorWhenNoFeatures && this._featureItems.length === 0 && !this._isLoading &&
115
+ h("calcite-notice", { key: '8dd48fc33e2a9825a95b0d0d50424baf431fed55', class: "error-msg", icon: "feature-details", kind: "info", open: true }, h("div", { key: '6ff0dc700cdf40fe6929a9777bca8ebc6325f1ed', slot: "message" }, this.noFeaturesFoundMsg ? this.noFeaturesFoundMsg : this._translations.featureErrorMsg)), h("calcite-list", { key: '2412a7b41ab87bfee803460bdea0395ca609d55a', "selection-appearance": "border", "selection-mode": "none" }, !this._isLoading && this._featureItems.length > 0 && this._featureItems), this._featuresCount > this.pageSize &&
116
+ h("div", { key: '4216b02c264cf88472082f1c6f3cd466bd77d166', class: "width-full", slot: "footer" }, h("calcite-pagination", { key: '2bb39768d0fbd0d863b075b0e2e6b750c5f7c2a1', class: "pagination", "full-width": true, onCalcitePaginationChange: this.pageChanged.bind(this), "page-size": this.pageSize, ref: el => this._pagination = el, "start-item": "1", "total-items": this._featuresCount }))));
117
117
  }
118
118
  //--------------------------------------------------------------------------
119
119
  //
@@ -50,7 +50,7 @@ const FeaturesFlowItem$1 = /*@__PURE__*/ proxyCustomElement(class FeaturesFlowIt
50
50
  //
51
51
  //--------------------------------------------------------------------------
52
52
  render() {
53
- return (h(Host, { key: 'e0d4102af27d4ca25cb6257292797c2900337ec7' }, h("slot", { key: 'ea50a07d3d33ee0b67bc5a27a71bc7ea597fb008' })));
53
+ return (h(Host, { key: 'eb455611b9248308ef11de0f2b03cb35bbc77e5b' }, h("slot", { key: 'f9829297423e86f028c1415e6c7d27c0967b9e8e' })));
54
54
  }
55
55
  get el() { return this; }
56
56
  static get style() { return FeaturesFlowItemStyle0; }
@@ -52,7 +52,7 @@ const FloorFilter = /*@__PURE__*/ proxyCustomElement(class FloorFilter extends H
52
52
  return this._initModules();
53
53
  }
54
54
  render() {
55
- return (h(Host, { key: '4b532bae1022d879f46022203a9ffa00c8e615a7' }, h("div", { key: 'd75ad603472d2f57ccd52725f1c3ed428bdd8173', ref: (el) => { this._floorFilterElement = el; } })));
55
+ return (h(Host, { key: '98769446b20d8a9432b571b5653abbc6613bdfe5' }, h("div", { key: '6606a2593fec1885fc02b07a168bdea43e7f864a', ref: (el) => { this._floorFilterElement = el; } })));
56
56
  }
57
57
  //--------------------------------------------------------------------------
58
58
  //