@esri/solutions-components 0.8.24 → 0.8.26

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -21103,7 +21103,7 @@ const SpatialRef = class {
21103
21103
  * Renders the component.
21104
21104
  */
21105
21105
  render() {
21106
- return (index.h(index.Host, { key: '27a61b1cda7cc8137d1ec3a9d827292b62efc5eb' }, index.h("div", { key: '94ff017bc871c67753598ce1c76f0a4bcf804faf' }, index.h("calcite-input", { key: 'b45dce7defc94d27e100103effc1dcc5c7020b1f', disabled: this.disabled, id: "calcite-sr-search", onKeyUp: (evt) => this._searchInputKeyDown(evt), placeholder: this._translations.spatialReferencePlaceholder }), index.h("calcite-tree", { key: 'c23e9b041f81e5b49784e20a6d25e19ff8c4a135', id: "calcite-sr-tree", slot: "children" }, this._getTreeContent()))));
21106
+ return (index.h(index.Host, { key: '0ca21876510da4276c6fd31885eed7dc15db70ad' }, index.h("div", { key: '90ff94d67604a66f20d30276a1b573affccf5eb2' }, index.h("calcite-input", { key: '35e207303270345e457406e26689f58bf5387d43', disabled: this.disabled, id: "calcite-sr-search", onKeyUp: (evt) => this._searchInputKeyDown(evt), placeholder: this._translations.spatialReferencePlaceholder }), index.h("calcite-tree", { key: '0b73019247c134d0cfcdf8e84544622907a40a80', id: "calcite-sr-tree", slot: "children" }, this._getTreeContent()))));
21107
21107
  }
21108
21108
  //--------------------------------------------------------------------------
21109
21109
  //
@@ -23,10 +23,15 @@ import { loadModules } from "../../utils/loadModules";
23
23
  import { getAllLayers, getLayerOrTable } from "../../utils/mapViewUtils";
24
24
  export class CreateFeature {
25
25
  constructor() {
26
+ /**
27
+ * boolean: Flag to maintain form submission using submit button
28
+ */
29
+ this._isSubmitBtnClicked = false;
26
30
  this.mapView = undefined;
27
31
  this.selectedLayerId = undefined;
28
32
  this.customizeSubmit = false;
29
33
  this.searchConfiguration = undefined;
34
+ this._editorLoading = false;
30
35
  this.showSearchWidget = undefined;
31
36
  }
32
37
  //--------------------------------------------------------------------------
@@ -35,13 +40,25 @@ export class CreateFeature {
35
40
  //
36
41
  //--------------------------------------------------------------------------
37
42
  /**
38
- * Called each time the mapView prop is changed.
39
- */
43
+ * Called each time the mapView prop is changed.
44
+ */
40
45
  async mapViewWatchHandler() {
41
46
  await this.mapView.when(async () => {
42
47
  await this.init();
43
48
  });
44
49
  }
50
+ /**
51
+ * When _editorLoading is true the container node will be hidden while starting the create workflow
52
+ */
53
+ async _editorLoadingWatchHandler(v) {
54
+ var _a, _b;
55
+ if (v) {
56
+ (_a = this._container) === null || _a === void 0 ? void 0 : _a.classList.add("display-none");
57
+ await this.startCreate();
58
+ (_b = this._container) === null || _b === void 0 ? void 0 : _b.classList.remove("display-none");
59
+ this._editorLoading = false;
60
+ }
61
+ }
45
62
  //--------------------------------------------------------------------------
46
63
  //
47
64
  // Methods (public)
@@ -62,6 +79,7 @@ export class CreateFeature {
62
79
  */
63
80
  async submit() {
64
81
  if (this._editor) {
82
+ this._isSubmitBtnClicked = true;
65
83
  this._editor.viewModel.featureFormViewModel.submit();
66
84
  }
67
85
  }
@@ -88,7 +106,9 @@ export class CreateFeature {
88
106
  */
89
107
  render() {
90
108
  const showSearchWidget = this.showSearchWidget ? '' : 'display-none';
91
- return (h(Fragment, { key: 'e1427c13c0385279fcb0f122b50b891eac419ec4' }, h("div", { key: '039e8d8ff5792765c73cb23df37f37bacc0c9dda', id: "feature-form" }), h("div", { key: '94601056ec69000009f4b71b34a38cea28635d99', class: `search-widget ${showSearchWidget}`, id: "search-widget-ref" })));
109
+ const loaderClass = this._editorLoading ? "" : "display-none";
110
+ const featureFormClass = this._editorLoading ? "display-none" : "";
111
+ 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" })));
92
112
  }
93
113
  //--------------------------------------------------------------------------
94
114
  //
@@ -124,11 +144,13 @@ export class CreateFeature {
124
144
  * @protected
125
145
  */
126
146
  async createEditorWidget() {
147
+ var _a;
127
148
  if (this._editor) {
128
149
  this._editor.destroy();
129
150
  }
130
151
  const layerInfos = [];
131
- const container = document.createElement("div");
152
+ this._container = document.createElement("div");
153
+ (_a = this._container) === null || _a === void 0 ? void 0 : _a.classList.add("display-none");
132
154
  const allMapLayers = await getAllLayers(this.mapView);
133
155
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
134
156
  allMapLayers.forEach(async (eachLayer) => {
@@ -147,9 +169,9 @@ export class CreateFeature {
147
169
  visibleElements: {
148
170
  snappingControls: false
149
171
  },
150
- container
172
+ container: this._container
151
173
  });
152
- this.el.appendChild(container);
174
+ this.el.appendChild(this._container);
153
175
  //Add handle to watch if attachments are added/edited
154
176
  const attachmentHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
155
177
  if (state === 'adding-attachment' || state === 'editing-attachment') {
@@ -168,13 +190,14 @@ export class CreateFeature {
168
190
  const handle = this.reactiveUtils.watch(() => this._editor.viewModel.featureTemplatesViewModel.state, (state) => {
169
191
  if (state === 'ready') {
170
192
  this.progressStatus.emit(0.5);
171
- void this.startCreate();
193
+ this._editorLoading = true;
172
194
  }
173
195
  });
174
196
  this._editor.viewModel.addHandles(handle);
175
197
  //Add handle to watch editor viewmodel state and then show the search widget
176
198
  const formHandle = this.reactiveUtils.watch(() => this._editor.viewModel.state, (state) => {
177
199
  if (state === 'creating-features') {
200
+ this._editorLoading = true;
178
201
  this.showSearchWidget = true;
179
202
  }
180
203
  });
@@ -185,36 +208,39 @@ export class CreateFeature {
185
208
  * @protected
186
209
  */
187
210
  async startCreate() {
188
- var _a;
189
- if ((_a = this._editor.viewModel.featureTemplatesViewModel.items) === null || _a === void 0 ? void 0 : _a.length) {
190
- const items = this._editor.viewModel.featureTemplatesViewModel.items[0].get("items");
191
- //once the feature template is selected handle the event for formSubmit and sketch complete
192
- //also, hide the headers and footer in the editor as we will be showing our own submit and cancel button
193
- this._editor.viewModel.featureTemplatesViewModel.on('select', () => {
194
- this.progressStatus.emit(0.75);
195
- setTimeout(() => {
196
- //on form submit
197
- this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
198
- //on sketch complete emit the event
199
- this._editor.viewModel.sketchViewModel.on("create", (evt) => {
200
- if (evt.state === "complete") {
201
- this.showSearchWidget = false;
202
- this.progressStatus.emit(1);
203
- this.drawComplete.emit();
204
- }
205
- });
206
- this.hideEditorsElements();
207
- }, 700);
208
- this.hideEditorsElements();
209
- });
210
- //if only one feature template then directly start geometry creation for that
211
- //else allow feature template selection to user
212
- if (items.length === 1) {
213
- this._editor.viewModel.featureTemplatesViewModel.select(items[0]);
211
+ return new Promise((resolve, reject) => {
212
+ var _a;
213
+ if ((_a = this._editor.viewModel.featureTemplatesViewModel.items) === null || _a === void 0 ? void 0 : _a.length) {
214
+ const items = this._editor.viewModel.featureTemplatesViewModel.items[0].get("items");
215
+ //once the feature template is selected handle the event for formSubmit and sketch complete
216
+ //also, hide the headers and footer in the editor as we will be showing our own submit and cancel button
217
+ this._editor.viewModel.featureTemplatesViewModel.on('select', () => {
218
+ this.progressStatus.emit(0.75);
219
+ setTimeout(() => {
220
+ //on form submit
221
+ this._editor.viewModel.featureFormViewModel.on('submit', this.submitted.bind(this));
222
+ //on sketch complete emit the event
223
+ this._editor.viewModel.sketchViewModel.on("create", (evt) => {
224
+ if (evt.state === "complete") {
225
+ this.showSearchWidget = false;
226
+ this.progressStatus.emit(1);
227
+ this.drawComplete.emit();
228
+ }
229
+ });
230
+ this.hideEditorsElements().then(() => {
231
+ resolve({});
232
+ }, e => reject(e));
233
+ }, 700);
234
+ });
235
+ //if only one feature template then directly start geometry creation for that
236
+ //else allow feature template selection to user
237
+ if (items.length === 1) {
238
+ this._editor.viewModel.featureTemplatesViewModel.select(items[0]);
239
+ }
240
+ //hides the header and footer elements in editor widget
241
+ void this.hideEditorsElements();
214
242
  }
215
- //hides the header and footer elements in editor widget
216
- this.hideEditorsElements();
217
- }
243
+ });
218
244
  }
219
245
  /**
220
246
  * Display search widget to search location
@@ -249,7 +275,7 @@ export class CreateFeature {
249
275
  if (this._editor.viewModel.sketchViewModel.createGraphic && pointGeometry) {
250
276
  this._editor.viewModel.sketchViewModel.createGraphic.set('geometry', pointGeometry);
251
277
  this._editor.viewModel.sketchViewModel.complete();
252
- this.hideEditorsElements();
278
+ void this.hideEditorsElements();
253
279
  }
254
280
  }, 100);
255
281
  }
@@ -308,22 +334,21 @@ export class CreateFeature {
308
334
  * Hides the elements of editor widget
309
335
  * @protected
310
336
  */
311
- hideEditorsElements() {
337
+ async hideEditorsElements() {
338
+ var _a;
312
339
  if (!this.customizeSubmit) {
313
340
  return;
314
341
  }
315
- setTimeout(() => {
316
- var _a;
317
- //hides the header and footer on the featureForm
318
- (_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null || _a === void 0 ? void 0 : _a.forEach((flowItem) => {
319
- var _a, _b, _c, _d, _e;
320
- 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');
321
- //hide the header
322
- (_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
323
- //hide the footer
324
- (_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
325
- });
326
- }, 700);
342
+ await this.timeout(700);
343
+ //hides the header and footer on the featureForm
344
+ (_a = this.el.querySelector('.esri-editor').querySelectorAll('calcite-flow-item')) === null || _a === void 0 ? void 0 : _a.forEach((flowItem) => {
345
+ var _a, _b, _c, _d, _e;
346
+ 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');
347
+ //hide the header
348
+ (_d = article === null || article === void 0 ? void 0 : article.querySelector('header')) === null || _d === void 0 ? void 0 : _d.setAttribute('style', 'display: none');
349
+ //hide the footer
350
+ (_e = article === null || article === void 0 ? void 0 : article.querySelector('footer')) === null || _e === void 0 ? void 0 : _e.setAttribute('style', 'display: none');
351
+ });
327
352
  }
328
353
  /**
329
354
  * On creation of feature emit the event that the feature is created
@@ -334,11 +359,13 @@ export class CreateFeature {
334
359
  var _a;
335
360
  //return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
336
361
  if (evt.invalid.length) {
362
+ this._isSubmitBtnClicked = false;
337
363
  return;
338
364
  }
339
365
  //Submit only when valid attributes
340
366
  //emit success or fail based on the result
341
- if (evt.valid.length) {
367
+ if (evt.valid.length && this._isSubmitBtnClicked) {
368
+ this._isSubmitBtnClicked = false;
342
369
  try {
343
370
  await this._editor.activeWorkflow.commit();
344
371
  //throw errors if any failures
@@ -357,6 +384,14 @@ export class CreateFeature {
357
384
  this.success.emit();
358
385
  }
359
386
  }
387
+ /**
388
+ * call setTimeout in Promise wrapper
389
+ * @param delay The time, in milliseconds that the timer should wait before the promise is resolved
390
+ * @protected
391
+ */
392
+ timeout(delay) {
393
+ return new Promise(resolve => setTimeout(resolve, delay));
394
+ }
360
395
  static get is() { return "create-feature"; }
361
396
  static get originalStyleUrls() {
362
397
  return {
@@ -450,6 +485,7 @@ export class CreateFeature {
450
485
  }
451
486
  static get states() {
452
487
  return {
488
+ "_editorLoading": {},
453
489
  "showSearchWidget": {}
454
490
  };
455
491
  }
@@ -585,6 +621,9 @@ export class CreateFeature {
585
621
  return [{
586
622
  "propName": "mapView",
587
623
  "methodName": "mapViewWatchHandler"
624
+ }, {
625
+ "propName": "_editorLoading",
626
+ "methodName": "_editorLoadingWatchHandler"
588
627
  }];
589
628
  }
590
629
  }
@@ -22,6 +22,10 @@ import { Host, h } from "@stencil/core";
22
22
  import { loadModules } from "../../utils/loadModules";
23
23
  export class CreateRelatedFeature {
24
24
  constructor() {
25
+ /**
26
+ * boolean: Flag to maintain form submission using submit button
27
+ */
28
+ this._isSubmitBtnClicked = false;
25
29
  this.mapView = undefined;
26
30
  this.table = undefined;
27
31
  this.selectedFeature = undefined;
@@ -58,6 +62,7 @@ export class CreateRelatedFeature {
58
62
  */
59
63
  async submit() {
60
64
  if (this._editor) {
65
+ this._isSubmitBtnClicked = true;
61
66
  this._editor.viewModel.featureFormViewModel.submit();
62
67
  }
63
68
  }
@@ -95,7 +100,7 @@ export class CreateRelatedFeature {
95
100
  this.reactiveUtils = reactiveUtils;
96
101
  }
97
102
  render() {
98
- return (h(Host, { key: '579af77dcac88043b178e711e0b47d7982c1c87f' }));
103
+ return (h(Host, { key: 'c8516898db79b35b7fba909810afdc56b0602ebd' }));
99
104
  }
100
105
  /**
101
106
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -225,11 +230,13 @@ export class CreateRelatedFeature {
225
230
  var _a;
226
231
  //return if any attribute is invalid , focus will be shifted to the invalid attribute in feature form
227
232
  if (evt.invalid.length) {
233
+ this._isSubmitBtnClicked = false;
228
234
  return;
229
235
  }
230
236
  //Submit only when valid attributes
231
237
  //emit success or fail based on the result
232
- if (evt.valid.length) {
238
+ if (evt.valid.length && this._isSubmitBtnClicked) {
239
+ this._isSubmitBtnClicked = false;
233
240
  try {
234
241
  await this._editor.activeWorkflow.commit();
235
242
  //throw errors if any failures
@@ -202,7 +202,7 @@ export class CrowdsourceManager {
202
202
  render() {
203
203
  // only avoid border when we have a header color that is not white
204
204
  const borderClass = this.popupHeaderColor && this.popupHeaderColor !== "#FFFFFF" ? "border-width-0" : "";
205
- 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())));
205
+ 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())));
206
206
  }
207
207
  /**
208
208
  * Called after each render
@@ -118,7 +118,7 @@ export class CrowdsourceReporter {
118
118
  */
119
119
  render() {
120
120
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
121
- 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()));
121
+ 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()));
122
122
  }
123
123
  //--------------------------------------------------------------------------
124
124
  //
@@ -788,8 +788,9 @@ export class CrowdsourceReporter {
788
788
  */
789
789
  reduceToConfiguredLayers(hash) {
790
790
  return Object.keys(hash).reduce((prev, cur) => {
791
+ var _a;
791
792
  // check if reporting options exists consider the visible prop if else just check the supports Add
792
- const showLayer = this.reportingOptions ? this._getLayersConfig(cur).visible
793
+ const showLayer = this.reportingOptions ? (_a = this._getLayersConfig(cur)) === null || _a === void 0 ? void 0 : _a.visible
793
794
  : hash[cur].supportsAdd;
794
795
  if (showLayer) {
795
796
  prev.push(cur);
@@ -871,7 +872,7 @@ export class CrowdsourceReporter {
871
872
  const featureSet = await queryFeaturesByID([Number(this.objectId)], layer, [], true, this.mapView.spatialReference);
872
873
  if (featureSet.length) {
873
874
  //update the selectedFeature
874
- this._selectedFeature = featureSet;
875
+ await this.setSelectedFeatures(featureSet);
875
876
  //if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
876
877
  // eslint-disable-next-line unicorn/prefer-ternary
877
878
  if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
@@ -880,7 +881,6 @@ export class CrowdsourceReporter {
880
881
  else {
881
882
  this._flowItems = [...this._flowItems];
882
883
  }
883
- await this.highlightOnMap(featureSet[0]);
884
884
  }
885
885
  }
886
886
  }
@@ -41,7 +41,7 @@ export class DeductCalculator {
41
41
  * Renders the component.
42
42
  */
43
43
  render() {
44
- 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())));
44
+ 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())));
45
45
  }
46
46
  //--------------------------------------------------------------------------
47
47
  //
@@ -17,3 +17,7 @@
17
17
  :host {
18
18
  display: block;
19
19
  }
20
+
21
+ .delete-modal {
22
+ position: fixed;
23
+ }
@@ -72,7 +72,7 @@ export class DeleteButton {
72
72
  * Renders the component.
73
73
  */
74
74
  render() {
75
- 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()));
75
+ 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()));
76
76
  }
77
77
  /**
78
78
  * StencilJS: Called once just after the component is fully loaded and the first render() occurs.
@@ -109,7 +109,7 @@ export class DeleteButton {
109
109
  _deleteMessage() {
110
110
  const confirmMessage = this.ids.length === 1 ? this._translations.confirmSingle :
111
111
  this._translations.confirmMultiple;
112
- 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)));
112
+ 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)));
113
113
  }
114
114
  /**
115
115
  * Delete the currently selected features
@@ -111,7 +111,7 @@ export class EditCard {
111
111
  !this.graphics[0].layer.editingEnabled : true;
112
112
  const tableNodeClass = this._editorLoading ? "display-none" : "position-absolute";
113
113
  const loadingClass = this._editorLoading ? "" : "display-none";
114
- 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" })))));
114
+ 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" })))));
115
115
  }
116
116
  //--------------------------------------------------------------------------
117
117
  //
@@ -56,7 +56,7 @@ export class FeatureComments {
56
56
  //
57
57
  //--------------------------------------------------------------------------
58
58
  render() {
59
- return (h(Host, { key: '388f7097c0cfc5b9c6cc6649ff00e9fd0be1c6aa' }, h("slot", { key: '31a2a3694358fe14a2195da82063f3be0500b3d8' })));
59
+ return (h(Host, { key: '70ab7bb863463c41fa2291412f8da6d602e9a94d' }, h("slot", { key: '7266d385e0fc9341baf651a5dcab13b7ba361163' })));
60
60
  }
61
61
  static get is() { return "feature-comments"; }
62
62
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@
5
5
  .buttons-container{
6
6
  align-items: center;
7
7
  display: flex;
8
- padding: 10px;
8
+ padding: 4px;
9
9
  color: var(--calcite-color-text-1) !important;
10
10
  background-color: var(--calcite-color-foreground-1) !important;
11
11
  border-block-start: 1px solid var(--calcite-color-border-3);
@@ -14,8 +14,8 @@
14
14
 
15
15
  .comment-btn{
16
16
  display: flex;
17
- gap: 5px;
18
- font-size: var(--calcite-font-size--2);
17
+ gap: 10px;
18
+ font-size: var(--calcite-font-size--1);
19
19
  align-items: center;
20
- padding: 0 0.5rem;
20
+ padding: 7px 0.75rem;
21
21
  }
@@ -39,6 +39,7 @@ export class FeatureDetails {
39
39
  this._isLikeBtnClicked = false;
40
40
  this._isDislikeBtnClicked = false;
41
41
  this._relatedFeaturesOIDs = undefined;
42
+ this._updating = false;
42
43
  }
43
44
  //--------------------------------------------------------------------------
44
45
  //
@@ -110,12 +111,12 @@ export class FeatureDetails {
110
111
  var _a, _b, _c, _d, _e;
111
112
  //When related features found show comments list of only those features else comments list will be empty
112
113
  const commentsListWhereClause = ((_a = this._relatedFeaturesOIDs) === null || _a === void 0 ? void 0 : _a.length) > 0 ? `objectId in(${this._relatedFeaturesOIDs})` : '1=0';
113
- 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) &&
114
- h("div", { key: 'a3242d417cef788f0f677bf21c65fb9aaa44f8b2', class: "buttons-container" }, this._commentsAvailable &&
115
- 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 &&
116
- 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 &&
117
- 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 &&
118
- 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 })));
114
+ 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) &&
115
+ h("div", { key: 'aa65adf8d8b6a059d5e9d0e74a1896eb20c84eaf', class: "buttons-container" }, this._commentsAvailable &&
116
+ 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 &&
117
+ 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 &&
118
+ 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 &&
119
+ 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 })));
119
120
  }
120
121
  /**
121
122
  * Load esri javascript api modules
@@ -272,7 +273,6 @@ export class FeatureDetails {
272
273
  * @protected
273
274
  */
274
275
  onLikeButtonClick() {
275
- this.loadingStatus.emit(true);
276
276
  if (this._isDislikeBtnClicked && this.reportingOptions[this._selectedGraphic.layer.id].dislike) {
277
277
  this.onDislikeButtonClick();
278
278
  }
@@ -290,7 +290,6 @@ export class FeatureDetails {
290
290
  * @protected
291
291
  */
292
292
  onDislikeButtonClick() {
293
- this.loadingStatus.emit(true);
294
293
  if (this._isLikeBtnClicked && this.reportingOptions[this._selectedGraphic.layer.id].like) {
295
294
  this.onLikeButtonClick();
296
295
  }
@@ -312,6 +311,7 @@ export class FeatureDetails {
312
311
  async updateFeaturesLikeDislikeField(fieldName, buttonClicked) {
313
312
  const attributesToUpdate = {};
314
313
  const selectedLayer = this._selectedGraphic.layer;
314
+ this._updating = true;
315
315
  //Increment the value if button is clicked or else decrement it
316
316
  const selectFeatureAttr = this._selectedGraphic;
317
317
  if (buttonClicked) {
@@ -335,9 +335,9 @@ export class FeatureDetails {
335
335
  }
336
336
  //store the like dislike value for the current selected graphic in local storage
337
337
  this.setInLocalStorage();
338
- this.loadingStatus.emit(false);
338
+ this._updating = false;
339
339
  }, (err) => {
340
- this.loadingStatus.emit(false);
340
+ this._updating = false;
341
341
  console.log(err);
342
342
  });
343
343
  }
@@ -490,7 +490,8 @@ export class FeatureDetails {
490
490
  "_commentsAvailable": {},
491
491
  "_isLikeBtnClicked": {},
492
492
  "_isDislikeBtnClicked": {},
493
- "_relatedFeaturesOIDs": {}
493
+ "_relatedFeaturesOIDs": {},
494
+ "_updating": {}
494
495
  };
495
496
  }
496
497
  static get events() {
@@ -56,7 +56,7 @@ export class FeatureFormFlowItem {
56
56
  //
57
57
  //--------------------------------------------------------------------------
58
58
  render() {
59
- return (h(Host, { key: '2607999cdad5fbe75eac4366256b589eeb33fe36' }, h("slot", { key: 'a9443a71e40b37449d01f4c40ca5f21b83bf005a' })));
59
+ return (h(Host, { key: '32113dda304b2f7179d0275f04987e69ce386959' }, h("slot", { key: '358d5ea7a03cc7da16e98a92391cf74dfe9fa89b' })));
60
60
  }
61
61
  static get is() { return "feature-form-flow-item"; }
62
62
  static get encapsulation() { return "shadow"; }
@@ -35,9 +35,11 @@
35
35
  .feature-list-popup-title {
36
36
  font-weight: 500;
37
37
  padding: 10px 12px;
38
+ white-space: pre-line;
38
39
  }
39
40
 
40
41
  .feature-list-popup-title-small {
41
42
  font-size: small;
42
43
  padding: 10px 12px;
44
+ white-space: pre-line;
43
45
  }
@@ -103,9 +103,9 @@ export class FeatureList {
103
103
  * Renders the component.
104
104
  */
105
105
  render() {
106
- 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 &&
107
- 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 &&
108
- 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 }))));
106
+ 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 &&
107
+ 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 &&
108
+ 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 }))));
109
109
  }
110
110
  //--------------------------------------------------------------------------
111
111
  //
@@ -56,7 +56,7 @@ export class FeaturesFlowItem {
56
56
  //
57
57
  //--------------------------------------------------------------------------
58
58
  render() {
59
- return (h(Host, { key: 'e0d4102af27d4ca25cb6257292797c2900337ec7' }, h("slot", { key: 'ea50a07d3d33ee0b67bc5a27a71bc7ea597fb008' })));
59
+ return (h(Host, { key: 'eb455611b9248308ef11de0f2b03cb35bbc77e5b' }, h("slot", { key: 'f9829297423e86f028c1415e6c7d27c0967b9e8e' })));
60
60
  }
61
61
  static get is() { return "features-flow-item"; }
62
62
  static get encapsulation() { return "shadow"; }
@@ -57,7 +57,7 @@ export class FloorFilter {
57
57
  return this._initModules();
58
58
  }
59
59
  render() {
60
- return (h(Host, { key: '4b532bae1022d879f46022203a9ffa00c8e615a7' }, h("div", { key: 'd75ad603472d2f57ccd52725f1c3ed428bdd8173', ref: (el) => { this._floorFilterElement = el; } })));
60
+ return (h(Host, { key: '98769446b20d8a9432b571b5653abbc6613bdfe5' }, h("div", { key: '6606a2593fec1885fc02b07a168bdea43e7f864a', ref: (el) => { this._floorFilterElement = el; } })));
61
61
  }
62
62
  //--------------------------------------------------------------------------
63
63
  //