@esri/solutions-components 0.8.14 → 0.8.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (390) hide show
  1. package/dist/assets/arcgis-pdf-creator/PDFLabels.d.ts +218 -0
  2. package/dist/assets/t9n/crowdsource-reporter/resources.json +0 -1
  3. package/dist/assets/t9n/crowdsource-reporter/resources_ar.json +15 -7
  4. package/dist/assets/t9n/crowdsource-reporter/resources_bg.json +15 -7
  5. package/dist/assets/t9n/crowdsource-reporter/resources_bs.json +15 -7
  6. package/dist/assets/t9n/crowdsource-reporter/resources_ca.json +15 -7
  7. package/dist/assets/t9n/crowdsource-reporter/resources_cs.json +15 -7
  8. package/dist/assets/t9n/crowdsource-reporter/resources_da.json +15 -7
  9. package/dist/assets/t9n/crowdsource-reporter/resources_de.json +15 -7
  10. package/dist/assets/t9n/crowdsource-reporter/resources_el.json +15 -7
  11. package/dist/assets/t9n/crowdsource-reporter/resources_en.json +0 -1
  12. package/dist/assets/t9n/crowdsource-reporter/resources_es.json +15 -7
  13. package/dist/assets/t9n/crowdsource-reporter/resources_et.json +15 -7
  14. package/dist/assets/t9n/crowdsource-reporter/resources_fi.json +15 -7
  15. package/dist/assets/t9n/crowdsource-reporter/resources_fr.json +15 -7
  16. package/dist/assets/t9n/crowdsource-reporter/resources_he.json +15 -7
  17. package/dist/assets/t9n/crowdsource-reporter/resources_hr.json +15 -7
  18. package/dist/assets/t9n/crowdsource-reporter/resources_hu.json +15 -7
  19. package/dist/assets/t9n/crowdsource-reporter/resources_id.json +15 -7
  20. package/dist/assets/t9n/crowdsource-reporter/resources_it.json +15 -7
  21. package/dist/assets/t9n/crowdsource-reporter/resources_ja.json +15 -7
  22. package/dist/assets/t9n/crowdsource-reporter/resources_ko.json +15 -7
  23. package/dist/assets/t9n/crowdsource-reporter/resources_lt.json +15 -7
  24. package/dist/assets/t9n/crowdsource-reporter/resources_lv.json +15 -7
  25. package/dist/assets/t9n/crowdsource-reporter/resources_nb.json +15 -7
  26. package/dist/assets/t9n/crowdsource-reporter/resources_nl.json +15 -7
  27. package/dist/assets/t9n/crowdsource-reporter/resources_pl.json +15 -7
  28. package/dist/assets/t9n/crowdsource-reporter/resources_pt-BR.json +15 -7
  29. package/dist/assets/t9n/crowdsource-reporter/resources_pt-PT.json +15 -7
  30. package/dist/assets/t9n/crowdsource-reporter/resources_ro.json +15 -7
  31. package/dist/assets/t9n/crowdsource-reporter/resources_ru.json +15 -7
  32. package/dist/assets/t9n/crowdsource-reporter/resources_sk.json +15 -7
  33. package/dist/assets/t9n/crowdsource-reporter/resources_sl.json +15 -7
  34. package/dist/assets/t9n/crowdsource-reporter/resources_sr.json +15 -7
  35. package/dist/assets/t9n/crowdsource-reporter/resources_sv.json +15 -7
  36. package/dist/assets/t9n/crowdsource-reporter/resources_th.json +15 -7
  37. package/dist/assets/t9n/crowdsource-reporter/resources_tr.json +15 -7
  38. package/dist/assets/t9n/crowdsource-reporter/resources_uk.json +15 -7
  39. package/dist/assets/t9n/crowdsource-reporter/resources_vi.json +15 -7
  40. package/dist/assets/t9n/crowdsource-reporter/resources_zh-CN.json +15 -7
  41. package/dist/assets/t9n/crowdsource-reporter/resources_zh-HK.json +15 -7
  42. package/dist/assets/t9n/crowdsource-reporter/resources_zh-TW.json +15 -7
  43. package/dist/assets/t9n/feature-list/resources_ar.json +1 -1
  44. package/dist/assets/t9n/feature-list/resources_bg.json +1 -1
  45. package/dist/assets/t9n/feature-list/resources_bs.json +1 -1
  46. package/dist/assets/t9n/feature-list/resources_ca.json +1 -1
  47. package/dist/assets/t9n/feature-list/resources_cs.json +1 -1
  48. package/dist/assets/t9n/feature-list/resources_da.json +1 -1
  49. package/dist/assets/t9n/feature-list/resources_de.json +1 -1
  50. package/dist/assets/t9n/feature-list/resources_el.json +1 -1
  51. package/dist/assets/t9n/feature-list/resources_es.json +1 -1
  52. package/dist/assets/t9n/feature-list/resources_et.json +1 -1
  53. package/dist/assets/t9n/feature-list/resources_fi.json +1 -1
  54. package/dist/assets/t9n/feature-list/resources_fr.json +1 -1
  55. package/dist/assets/t9n/feature-list/resources_he.json +1 -1
  56. package/dist/assets/t9n/feature-list/resources_hr.json +1 -1
  57. package/dist/assets/t9n/feature-list/resources_hu.json +1 -1
  58. package/dist/assets/t9n/feature-list/resources_id.json +1 -1
  59. package/dist/assets/t9n/feature-list/resources_it.json +1 -1
  60. package/dist/assets/t9n/feature-list/resources_ja.json +1 -1
  61. package/dist/assets/t9n/feature-list/resources_ko.json +1 -1
  62. package/dist/assets/t9n/feature-list/resources_lt.json +1 -1
  63. package/dist/assets/t9n/feature-list/resources_lv.json +1 -1
  64. package/dist/assets/t9n/feature-list/resources_nb.json +1 -1
  65. package/dist/assets/t9n/feature-list/resources_nl.json +1 -1
  66. package/dist/assets/t9n/feature-list/resources_pl.json +1 -1
  67. package/dist/assets/t9n/feature-list/resources_pt-BR.json +1 -1
  68. package/dist/assets/t9n/feature-list/resources_pt-PT.json +1 -1
  69. package/dist/assets/t9n/feature-list/resources_ro.json +1 -1
  70. package/dist/assets/t9n/feature-list/resources_ru.json +1 -1
  71. package/dist/assets/t9n/feature-list/resources_sk.json +1 -1
  72. package/dist/assets/t9n/feature-list/resources_sl.json +1 -1
  73. package/dist/assets/t9n/feature-list/resources_sr.json +1 -1
  74. package/dist/assets/t9n/feature-list/resources_sv.json +1 -1
  75. package/dist/assets/t9n/feature-list/resources_th.json +1 -1
  76. package/dist/assets/t9n/feature-list/resources_tr.json +1 -1
  77. package/dist/assets/t9n/feature-list/resources_uk.json +1 -1
  78. package/dist/assets/t9n/feature-list/resources_vi.json +1 -1
  79. package/dist/assets/t9n/feature-list/resources_zh-CN.json +1 -1
  80. package/dist/assets/t9n/feature-list/resources_zh-HK.json +1 -1
  81. package/dist/assets/t9n/feature-list/resources_zh-TW.json +1 -1
  82. package/dist/assets/t9n/layer-list/resources.json +1 -1
  83. package/dist/assets/t9n/layer-list/resources_en.json +1 -1
  84. package/dist/assets/t9n/media-card/resources.json +1 -3
  85. package/dist/assets/t9n/media-card/resources_ar.json +3 -0
  86. package/dist/assets/t9n/media-card/resources_bg.json +3 -0
  87. package/dist/assets/t9n/media-card/resources_bs.json +3 -0
  88. package/dist/assets/t9n/media-card/resources_ca.json +3 -0
  89. package/dist/assets/t9n/media-card/resources_cs.json +3 -0
  90. package/dist/assets/t9n/media-card/resources_da.json +3 -0
  91. package/dist/assets/t9n/media-card/resources_de.json +3 -0
  92. package/dist/assets/t9n/media-card/resources_el.json +3 -0
  93. package/dist/assets/t9n/media-card/resources_en.json +1 -3
  94. package/dist/assets/t9n/media-card/resources_es.json +3 -0
  95. package/dist/assets/t9n/media-card/resources_et.json +3 -0
  96. package/dist/assets/t9n/media-card/resources_fi.json +3 -0
  97. package/dist/assets/t9n/media-card/resources_fr.json +3 -0
  98. package/dist/assets/t9n/media-card/resources_he.json +3 -0
  99. package/dist/assets/t9n/media-card/resources_hr.json +3 -0
  100. package/dist/assets/t9n/media-card/resources_hu.json +3 -0
  101. package/dist/assets/t9n/media-card/resources_id.json +3 -0
  102. package/dist/assets/t9n/media-card/resources_it.json +3 -0
  103. package/dist/assets/t9n/media-card/resources_ja.json +3 -0
  104. package/dist/assets/t9n/media-card/resources_ko.json +3 -0
  105. package/dist/assets/t9n/media-card/resources_lt.json +3 -0
  106. package/dist/assets/t9n/media-card/resources_lv.json +3 -0
  107. package/dist/assets/t9n/media-card/resources_nb.json +3 -0
  108. package/dist/assets/t9n/media-card/resources_nl.json +3 -0
  109. package/dist/assets/t9n/media-card/resources_pl.json +3 -0
  110. package/dist/assets/t9n/media-card/resources_pt-BR.json +3 -0
  111. package/dist/assets/t9n/media-card/resources_pt-PT.json +3 -0
  112. package/dist/assets/t9n/media-card/resources_ro.json +3 -0
  113. package/dist/assets/t9n/media-card/resources_ru.json +3 -0
  114. package/dist/assets/t9n/media-card/resources_sk.json +3 -0
  115. package/dist/assets/t9n/media-card/resources_sl.json +3 -0
  116. package/dist/assets/t9n/media-card/resources_sr.json +3 -0
  117. package/dist/assets/t9n/media-card/resources_sv.json +3 -0
  118. package/dist/assets/t9n/media-card/resources_th.json +3 -0
  119. package/dist/assets/t9n/media-card/resources_tr.json +3 -0
  120. package/dist/assets/t9n/media-card/resources_uk.json +3 -0
  121. package/dist/assets/t9n/media-card/resources_vi.json +3 -0
  122. package/dist/assets/t9n/media-card/resources_zh-CN.json +3 -0
  123. package/dist/assets/t9n/media-card/resources_zh-HK.json +3 -0
  124. package/dist/assets/t9n/media-card/resources_zh-TW.json +3 -0
  125. package/dist/assets/t9n/public-notification/resources_ar.json +3 -1
  126. package/dist/assets/t9n/public-notification/resources_bg.json +3 -1
  127. package/dist/assets/t9n/public-notification/resources_bs.json +3 -1
  128. package/dist/assets/t9n/public-notification/resources_ca.json +3 -1
  129. package/dist/assets/t9n/public-notification/resources_cs.json +3 -1
  130. package/dist/assets/t9n/public-notification/resources_da.json +3 -1
  131. package/dist/assets/t9n/public-notification/resources_de.json +3 -1
  132. package/dist/assets/t9n/public-notification/resources_el.json +3 -1
  133. package/dist/assets/t9n/public-notification/resources_es.json +3 -1
  134. package/dist/assets/t9n/public-notification/resources_et.json +3 -1
  135. package/dist/assets/t9n/public-notification/resources_fi.json +3 -1
  136. package/dist/assets/t9n/public-notification/resources_fr.json +3 -1
  137. package/dist/assets/t9n/public-notification/resources_he.json +3 -1
  138. package/dist/assets/t9n/public-notification/resources_hr.json +3 -1
  139. package/dist/assets/t9n/public-notification/resources_hu.json +3 -1
  140. package/dist/assets/t9n/public-notification/resources_id.json +3 -1
  141. package/dist/assets/t9n/public-notification/resources_it.json +3 -1
  142. package/dist/assets/t9n/public-notification/resources_ja.json +3 -1
  143. package/dist/assets/t9n/public-notification/resources_ko.json +3 -1
  144. package/dist/assets/t9n/public-notification/resources_lt.json +3 -1
  145. package/dist/assets/t9n/public-notification/resources_lv.json +3 -1
  146. package/dist/assets/t9n/public-notification/resources_nb.json +3 -1
  147. package/dist/assets/t9n/public-notification/resources_nl.json +3 -1
  148. package/dist/assets/t9n/public-notification/resources_pl.json +3 -1
  149. package/dist/assets/t9n/public-notification/resources_pt-BR.json +3 -1
  150. package/dist/assets/t9n/public-notification/resources_pt-PT.json +3 -1
  151. package/dist/assets/t9n/public-notification/resources_ro.json +3 -1
  152. package/dist/assets/t9n/public-notification/resources_ru.json +3 -1
  153. package/dist/assets/t9n/public-notification/resources_sk.json +3 -1
  154. package/dist/assets/t9n/public-notification/resources_sl.json +3 -1
  155. package/dist/assets/t9n/public-notification/resources_sr.json +3 -1
  156. package/dist/assets/t9n/public-notification/resources_sv.json +3 -1
  157. package/dist/assets/t9n/public-notification/resources_th.json +3 -1
  158. package/dist/assets/t9n/public-notification/resources_tr.json +3 -1
  159. package/dist/assets/t9n/public-notification/resources_uk.json +3 -1
  160. package/dist/assets/t9n/public-notification/resources_vi.json +3 -1
  161. package/dist/assets/t9n/public-notification/resources_zh-CN.json +3 -1
  162. package/dist/assets/t9n/public-notification/resources_zh-HK.json +3 -1
  163. package/dist/assets/t9n/public-notification/resources_zh-TW.json +3 -1
  164. package/dist/cjs/basemap-gallery_7.cjs.entry.js +6 -6
  165. package/dist/cjs/buffer-tools_3.cjs.entry.js +1 -1
  166. package/dist/cjs/calcite-alert_4.cjs.entry.js +12 -8
  167. package/dist/cjs/calcite-dropdown_4.cjs.entry.js +2 -2
  168. package/dist/cjs/calcite-flow_6.cjs.entry.js +320 -255
  169. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +7 -7
  170. package/dist/cjs/card-manager_3.cjs.entry.js +5 -5
  171. package/dist/cjs/crowdsource-manager.cjs.entry.js +2 -2
  172. package/dist/cjs/crowdsource-reporter.cjs.entry.js +181 -54
  173. package/dist/cjs/deduct-calculator.cjs.entry.js +1 -1
  174. package/dist/cjs/{downloadUtils-88c011ad.js → downloadUtils-2e36a300.js} +31 -35
  175. package/dist/cjs/feature-comments.cjs.entry.js +1 -1
  176. package/dist/cjs/feature-form-flow-item.cjs.entry.js +1 -1
  177. package/dist/cjs/feature-list.cjs.entry.js +297 -0
  178. package/dist/cjs/features-flow-item.cjs.entry.js +1 -1
  179. package/dist/cjs/{index.es-1d5ee842.js → index.es-56415e48.js} +2 -2
  180. package/dist/cjs/layout-manager.cjs.entry.js +1 -1
  181. package/dist/cjs/list-flow-item.cjs.entry.js +1 -1
  182. package/dist/cjs/loader.cjs.js +1 -1
  183. package/dist/cjs/location-flow-item.cjs.entry.js +1 -1
  184. package/dist/cjs/map-select-tools_3.cjs.entry.js +5 -5
  185. package/dist/cjs/{mapViewUtils-82018df6.js → mapViewUtils-6e46ba33.js} +16 -0
  186. package/dist/cjs/pci-calculator.cjs.entry.js +1 -1
  187. package/dist/cjs/public-notification.cjs.entry.js +3 -3
  188. package/dist/cjs/refine-results-flow-item.cjs.entry.js +1 -1
  189. package/dist/cjs/share-item.cjs.entry.js +1 -1
  190. package/dist/cjs/solution-configuration.cjs.entry.js +3 -3
  191. package/dist/cjs/solution-contents_3.cjs.entry.js +3 -3
  192. package/dist/cjs/solution-item-icon.cjs.entry.js +1 -1
  193. package/dist/cjs/solutions-components.cjs.js +1 -1
  194. package/dist/cjs/spatial-ref.cjs.entry.js +1 -1
  195. package/dist/collection/collection-manifest.json +1 -0
  196. package/dist/collection/components/create-related-feature/create-related-feature.css +8 -0
  197. package/dist/collection/components/create-related-feature/create-related-feature.js +426 -0
  198. package/dist/collection/components/create-related-feature/test/create-related-feature.e2e.js +14 -0
  199. package/dist/collection/components/create-related-feature/test/create-related-feature.spec.js +22 -0
  200. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +1 -1
  201. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +1 -0
  202. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +370 -221
  203. package/dist/collection/components/deduct-calculator/deduct-calculator.js +1 -1
  204. package/dist/collection/components/delete-button/delete-button.js +1 -1
  205. package/dist/collection/components/edit-card/edit-card.js +1 -1
  206. package/dist/collection/components/feature-comments/feature-comments.js +1 -1
  207. package/dist/collection/components/feature-details/feature-details.css +6 -3
  208. package/dist/collection/components/feature-details/feature-details.js +95 -9
  209. package/dist/collection/components/feature-form-flow-item/feature-form-flow-item.js +1 -1
  210. package/dist/collection/components/feature-list/feature-list.css +6 -1
  211. package/dist/collection/components/feature-list/feature-list.js +133 -13
  212. package/dist/collection/components/features-flow-item/features-flow-item.js +1 -1
  213. package/dist/collection/components/floor-filter/floor-filter.js +1 -1
  214. package/dist/collection/components/info-card/info-card.js +11 -7
  215. package/dist/collection/components/json-editor/json-editor.js +1 -1
  216. package/dist/collection/components/layer-list/layer-list.js +3 -23
  217. package/dist/collection/components/layer-table/layer-table.css +1 -1
  218. package/dist/collection/components/layer-table/layer-table.js +2 -2
  219. package/dist/collection/components/layout-manager/layout-manager.js +1 -1
  220. package/dist/collection/components/list-flow-item/list-flow-item.js +1 -1
  221. package/dist/collection/components/location-flow-item/location-flow-item.js +1 -1
  222. package/dist/collection/components/map-card/map-card.js +1 -1
  223. package/dist/collection/components/map-draw-tools/map-draw-tools.js +1 -1
  224. package/dist/collection/components/map-fullscreen/map-fullscreen.js +1 -1
  225. package/dist/collection/components/map-layer-picker/map-layer-picker.js +1 -1
  226. package/dist/collection/components/map-legend/map-legend.js +1 -1
  227. package/dist/collection/components/map-picker/map-picker.js +1 -1
  228. package/dist/collection/components/map-search/map-search.js +1 -1
  229. package/dist/collection/components/map-select-tools/map-select-tools.js +1 -1
  230. package/dist/collection/components/map-tools/map-tools.js +1 -1
  231. package/dist/collection/components/pci-calculator/pci-calculator.js +1 -1
  232. package/dist/collection/components/pdf-download/pdf-download.js +1 -1
  233. package/dist/collection/components/public-notification/public-notification.js +1 -1
  234. package/dist/collection/components/refine-results-flow-item/refine-results-flow-item.js +1 -1
  235. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  236. package/dist/collection/components/share-item/share-item.js +1 -1
  237. package/dist/collection/components/solution-configuration/solution-configuration.js +3 -3
  238. package/dist/collection/components/solution-contents/solution-contents.js +1 -1
  239. package/dist/collection/components/solution-item/solution-item.js +1 -1
  240. package/dist/collection/components/solution-item-details/solution-item-details.js +1 -1
  241. package/dist/collection/components/solution-item-icon/solution-item-icon.js +1 -1
  242. package/dist/collection/components/solution-item-sharing/solution-item-sharing.js +1 -1
  243. package/dist/collection/components/solution-organization-variables/solution-organization-variables.js +1 -1
  244. package/dist/collection/components/solution-resource-item/solution-resource-item.js +1 -1
  245. package/dist/collection/components/solution-spatial-ref/solution-spatial-ref.js +1 -1
  246. package/dist/collection/components/solution-template-data/solution-template-data.js +1 -1
  247. package/dist/collection/components/solution-variables/solution-variables.js +1 -1
  248. package/dist/collection/components/spatial-ref/spatial-ref.js +1 -1
  249. package/dist/collection/utils/downloadUtils.js +0 -1
  250. package/dist/collection/utils/interfaces.ts +5 -0
  251. package/dist/collection/utils/mapViewUtils.js +15 -0
  252. package/dist/collection/utils/mapViewUtils.ts +19 -1
  253. package/dist/collection/utils/pdfUtils.js +29 -34
  254. package/dist/collection/utils/pdfUtils.ts +40 -47
  255. package/dist/components/create-related-feature.d.ts +11 -0
  256. package/dist/components/create-related-feature.js +11 -0
  257. package/dist/components/create-related-feature2.js +274 -0
  258. package/dist/components/crowdsource-manager.js +1 -1
  259. package/dist/components/crowdsource-reporter.js +287 -148
  260. package/dist/components/deduct-calculator2.js +1 -1
  261. package/dist/components/delete-button2.js +1 -1
  262. package/dist/components/downloadUtils.js +29 -33
  263. package/dist/components/edit-card2.js +1 -1
  264. package/dist/components/feature-comments.js +1 -1
  265. package/dist/components/feature-details2.js +163 -40
  266. package/dist/components/feature-form-flow-item.js +1 -1
  267. package/dist/components/feature-list2.js +64 -16
  268. package/dist/components/features-flow-item.js +1 -1
  269. package/dist/components/floor-filter2.js +1 -1
  270. package/dist/components/info-card2.js +9 -5
  271. package/dist/components/json-editor2.js +1 -1
  272. package/dist/components/layer-list2.js +3 -7
  273. package/dist/components/layer-table2.js +2 -2
  274. package/dist/components/layout-manager.js +1 -1
  275. package/dist/components/list-flow-item.js +1 -1
  276. package/dist/components/location-flow-item.js +1 -1
  277. package/dist/components/map-card2.js +1 -1
  278. package/dist/components/map-draw-tools2.js +1 -1
  279. package/dist/components/map-fullscreen2.js +1 -1
  280. package/dist/components/map-layer-picker2.js +1 -1
  281. package/dist/components/map-legend2.js +1 -1
  282. package/dist/components/map-picker2.js +1 -1
  283. package/dist/components/map-search2.js +1 -1
  284. package/dist/components/map-select-tools2.js +1 -1
  285. package/dist/components/map-tools2.js +1 -1
  286. package/dist/components/mapViewUtils.js +16 -1
  287. package/dist/components/pci-calculator.js +1 -1
  288. package/dist/components/pdf-download2.js +1 -1
  289. package/dist/components/public-notification.js +1 -1
  290. package/dist/components/refine-results-flow-item.js +1 -1
  291. package/dist/components/refine-selection2.js +2 -2
  292. package/dist/components/share-item.js +1 -1
  293. package/dist/components/solution-configuration.js +3 -3
  294. package/dist/components/solution-contents2.js +1 -1
  295. package/dist/components/solution-item-details2.js +1 -1
  296. package/dist/components/solution-item-icon2.js +1 -1
  297. package/dist/components/solution-item-sharing2.js +1 -1
  298. package/dist/components/solution-item2.js +1 -1
  299. package/dist/components/solution-organization-variables2.js +1 -1
  300. package/dist/components/solution-resource-item2.js +1 -1
  301. package/dist/components/solution-spatial-ref2.js +1 -1
  302. package/dist/components/solution-template-data2.js +1 -1
  303. package/dist/components/solution-variables2.js +1 -1
  304. package/dist/components/spatial-ref2.js +1 -1
  305. package/dist/esm/basemap-gallery_7.entry.js +6 -6
  306. package/dist/esm/buffer-tools_3.entry.js +1 -1
  307. package/dist/esm/calcite-alert_4.entry.js +12 -8
  308. package/dist/esm/calcite-dropdown_4.entry.js +2 -2
  309. package/dist/esm/calcite-flow_6.entry.js +321 -256
  310. package/dist/esm/calcite-shell-panel_14.entry.js +7 -7
  311. package/dist/esm/card-manager_3.entry.js +5 -5
  312. package/dist/esm/crowdsource-manager.entry.js +2 -2
  313. package/dist/esm/crowdsource-reporter.entry.js +182 -55
  314. package/dist/esm/deduct-calculator.entry.js +1 -1
  315. package/dist/esm/{downloadUtils-fa6e5c37.js → downloadUtils-aab31bfe.js} +31 -35
  316. package/dist/esm/feature-comments.entry.js +1 -1
  317. package/dist/esm/feature-form-flow-item.entry.js +1 -1
  318. package/dist/esm/feature-list.entry.js +293 -0
  319. package/dist/esm/features-flow-item.entry.js +1 -1
  320. package/dist/esm/{index.es-114545fc.js → index.es-43ba3006.js} +2 -2
  321. package/dist/esm/layout-manager.entry.js +1 -1
  322. package/dist/esm/list-flow-item.entry.js +1 -1
  323. package/dist/esm/loader.js +1 -1
  324. package/dist/esm/location-flow-item.entry.js +1 -1
  325. package/dist/esm/map-select-tools_3.entry.js +5 -5
  326. package/dist/esm/{mapViewUtils-c83c03a4.js → mapViewUtils-4618ddb8.js} +16 -1
  327. package/dist/esm/pci-calculator.entry.js +1 -1
  328. package/dist/esm/public-notification.entry.js +3 -3
  329. package/dist/esm/refine-results-flow-item.entry.js +1 -1
  330. package/dist/esm/share-item.entry.js +1 -1
  331. package/dist/esm/solution-configuration.entry.js +3 -3
  332. package/dist/esm/solution-contents_3.entry.js +3 -3
  333. package/dist/esm/solution-item-icon.entry.js +1 -1
  334. package/dist/esm/solutions-components.js +1 -1
  335. package/dist/esm/spatial-ref.entry.js +1 -1
  336. package/dist/solutions-components/{p-afdc6bb2.entry.js → p-102b1f94.entry.js} +1 -1
  337. package/dist/solutions-components/p-22aece81.entry.js +6 -0
  338. package/dist/solutions-components/p-28c6906c.entry.js +6 -0
  339. package/dist/solutions-components/{p-71bdc77f.entry.js → p-33845a79.entry.js} +1 -1
  340. package/dist/solutions-components/{p-16ac309d.entry.js → p-3470c0f7.entry.js} +1 -1
  341. package/dist/solutions-components/p-3750c969.entry.js +6 -0
  342. package/dist/solutions-components/{p-ee457c15.js → p-37fc92db.js} +3 -3
  343. package/dist/solutions-components/{p-59c92ba2.entry.js → p-3a2e0188.entry.js} +1 -1
  344. package/dist/solutions-components/p-3fae9775.entry.js +6 -0
  345. package/dist/solutions-components/{p-0f139e3e.entry.js → p-54324eaa.entry.js} +1 -1
  346. package/dist/solutions-components/{p-d9c89479.js → p-583e5dd0.js} +1 -1
  347. package/dist/solutions-components/{p-69935f68.entry.js → p-667c022f.entry.js} +1 -1
  348. package/dist/solutions-components/{p-247edfb2.js → p-667caa6b.js} +1 -1
  349. package/dist/solutions-components/p-71de367b.entry.js +6 -0
  350. package/dist/solutions-components/{p-32fed174.entry.js → p-84a5d221.entry.js} +1 -1
  351. package/dist/solutions-components/{p-6e8782d1.entry.js → p-88f73319.entry.js} +1 -1
  352. package/dist/solutions-components/p-8a81f3c7.entry.js +6 -0
  353. package/dist/solutions-components/{p-288592d4.entry.js → p-92ed8d5d.entry.js} +1 -1
  354. package/dist/solutions-components/p-aa06f4d1.entry.js +6 -0
  355. package/dist/solutions-components/{p-67ee4afe.entry.js → p-b3160299.entry.js} +4 -4
  356. package/dist/solutions-components/p-b6d47bab.entry.js +17 -0
  357. package/dist/solutions-components/{p-bcf20616.entry.js → p-b76b5310.entry.js} +1 -1
  358. package/dist/solutions-components/{p-62994fb8.entry.js → p-bb0c7be3.entry.js} +3 -3
  359. package/dist/solutions-components/{p-7fdcce90.entry.js → p-bf57dbfd.entry.js} +2 -2
  360. package/dist/solutions-components/p-c047a6fc.entry.js +6 -0
  361. package/dist/solutions-components/{p-83997457.entry.js → p-d84fe0ee.entry.js} +2 -2
  362. package/dist/solutions-components/p-e9176a44.entry.js +6 -0
  363. package/dist/solutions-components/p-e947332f.entry.js +6 -0
  364. package/dist/solutions-components/{p-568c465e.entry.js → p-fc665a1a.entry.js} +1 -1
  365. package/dist/solutions-components/solutions-components.esm.js +1 -1
  366. package/dist/solutions-components/utils/interfaces.ts +5 -0
  367. package/dist/solutions-components/utils/mapViewUtils.ts +19 -1
  368. package/dist/solutions-components/utils/pdfUtils.ts +40 -47
  369. package/dist/types/assets/arcgis-pdf-creator/PDFLabels.d.ts +218 -0
  370. package/dist/types/components/create-related-feature/create-related-feature.d.ts +113 -0
  371. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +197 -99
  372. package/dist/types/components/feature-details/feature-details.d.ts +31 -0
  373. package/dist/types/components/feature-list/feature-list.d.ts +31 -2
  374. package/dist/types/components/info-card/info-card.d.ts +6 -2
  375. package/dist/types/components/layer-list/layer-list.d.ts +0 -5
  376. package/dist/types/components.d.ts +131 -12
  377. package/dist/types/preact.d.ts +8 -1
  378. package/dist/types/utils/interfaces.d.ts +4 -0
  379. package/dist/types/utils/mapViewUtils.d.ts +7 -0
  380. package/package.json +1 -1
  381. package/dist/solutions-components/p-28b4b325.entry.js +0 -6
  382. package/dist/solutions-components/p-36d3476c.entry.js +0 -17
  383. package/dist/solutions-components/p-452d2d38.entry.js +0 -6
  384. package/dist/solutions-components/p-48b2469f.entry.js +0 -6
  385. package/dist/solutions-components/p-4f0712e2.entry.js +0 -6
  386. package/dist/solutions-components/p-535c103e.entry.js +0 -6
  387. package/dist/solutions-components/p-7ca416ab.entry.js +0 -6
  388. package/dist/solutions-components/p-8e337f80.entry.js +0 -6
  389. package/dist/solutions-components/p-d13f6b3a.entry.js +0 -6
  390. package/dist/solutions-components/p-d62b99ff.entry.js +0 -6
@@ -3,48 +3,49 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
6
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host, Fragment } from '@stencil/core/internal/client';
7
7
  import { g as getLocaleComponentStrings } from './locale.js';
8
8
  import { l as loadModules } from './loadModules.js';
9
- import { a as getAllLayers, c as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash, g as getLayerOrTable } from './mapViewUtils.js';
9
+ import { g as getLayerOrTable, a as getAllLayers, f as getAllTables, c as getFeatureLayerView, h as highlightFeatures, d as getMapLayerHash } from './mapViewUtils.js';
10
10
  import { q as queryFeaturesByID } from './queryUtils.js';
11
- import { d as defineCustomElement$K } from './action.js';
12
- import { d as defineCustomElement$J } from './action-menu.js';
13
- import { d as defineCustomElement$I } from './alert.js';
14
- import { d as defineCustomElement$H } from './block.js';
15
- import { d as defineCustomElement$G } from './button.js';
16
- import { d as defineCustomElement$F } from './checkbox.js';
17
- import { d as defineCustomElement$E } from './chip.js';
18
- import { d as defineCustomElement$D } from './combobox.js';
19
- import { d as defineCustomElement$C } from './combobox-item.js';
20
- import { d as defineCustomElement$B } from './date-picker.js';
21
- import { d as defineCustomElement$A } from './date-picker-day.js';
22
- import { d as defineCustomElement$z } from './date-picker-month.js';
23
- import { d as defineCustomElement$y } from './date-picker-month-header.js';
24
- import { d as defineCustomElement$x } from './filter2.js';
25
- import { d as defineCustomElement$w } from './flow.js';
26
- import { d as defineCustomElement$v } from './flow-item.js';
27
- import { d as defineCustomElement$u } from './graph.js';
28
- import { d as defineCustomElement$t } from './handle.js';
29
- import { d as defineCustomElement$s } from './icon.js';
30
- import { d as defineCustomElement$r } from './input.js';
31
- import { d as defineCustomElement$q } from './input-date-picker.js';
32
- import { d as defineCustomElement$p } from './input-text.js';
33
- import { d as defineCustomElement$o } from './list.js';
34
- import { d as defineCustomElement$n } from './list-item.js';
35
- import { d as defineCustomElement$m } from './loader.js';
36
- import { d as defineCustomElement$l } from './modal.js';
37
- import { d as defineCustomElement$k } from './notice.js';
38
- import { d as defineCustomElement$j } from './pagination.js';
39
- import { d as defineCustomElement$i } from './panel.js';
40
- import { d as defineCustomElement$h } from './popover.js';
41
- import { d as defineCustomElement$g } from './progress.js';
42
- import { d as defineCustomElement$f } from './scrim.js';
43
- import { d as defineCustomElement$e } from './shell.js';
44
- import { d as defineCustomElement$d } from './slider.js';
45
- import { d as defineCustomElement$c } from './stack.js';
46
- import { d as defineCustomElement$b } from './tooltip.js';
47
- import { d as defineCustomElement$a } from './create-feature2.js';
11
+ import { d as defineCustomElement$L } from './action.js';
12
+ import { d as defineCustomElement$K } from './action-menu.js';
13
+ import { d as defineCustomElement$J } from './alert.js';
14
+ import { d as defineCustomElement$I } from './block.js';
15
+ import { d as defineCustomElement$H } from './button.js';
16
+ import { d as defineCustomElement$G } from './checkbox.js';
17
+ import { d as defineCustomElement$F } from './chip.js';
18
+ import { d as defineCustomElement$E } from './combobox.js';
19
+ import { d as defineCustomElement$D } from './combobox-item.js';
20
+ import { d as defineCustomElement$C } from './date-picker.js';
21
+ import { d as defineCustomElement$B } from './date-picker-day.js';
22
+ import { d as defineCustomElement$A } from './date-picker-month.js';
23
+ import { d as defineCustomElement$z } from './date-picker-month-header.js';
24
+ import { d as defineCustomElement$y } from './filter2.js';
25
+ import { d as defineCustomElement$x } from './flow.js';
26
+ import { d as defineCustomElement$w } from './flow-item.js';
27
+ import { d as defineCustomElement$v } from './graph.js';
28
+ import { d as defineCustomElement$u } from './handle.js';
29
+ import { d as defineCustomElement$t } from './icon.js';
30
+ import { d as defineCustomElement$s } from './input.js';
31
+ import { d as defineCustomElement$r } from './input-date-picker.js';
32
+ import { d as defineCustomElement$q } from './input-text.js';
33
+ import { d as defineCustomElement$p } from './list.js';
34
+ import { d as defineCustomElement$o } from './list-item.js';
35
+ import { d as defineCustomElement$n } from './loader.js';
36
+ import { d as defineCustomElement$m } from './modal.js';
37
+ import { d as defineCustomElement$l } from './notice.js';
38
+ import { d as defineCustomElement$k } from './pagination.js';
39
+ import { d as defineCustomElement$j } from './panel.js';
40
+ import { d as defineCustomElement$i } from './popover.js';
41
+ import { d as defineCustomElement$h } from './progress.js';
42
+ import { d as defineCustomElement$g } from './scrim.js';
43
+ import { d as defineCustomElement$f } from './shell.js';
44
+ import { d as defineCustomElement$e } from './slider.js';
45
+ import { d as defineCustomElement$d } from './stack.js';
46
+ import { d as defineCustomElement$c } from './tooltip.js';
47
+ import { d as defineCustomElement$b } from './create-feature2.js';
48
+ import { d as defineCustomElement$a } from './create-related-feature2.js';
48
49
  import { d as defineCustomElement$9 } from './delete-button2.js';
49
50
  import { d as defineCustomElement$8 } from './edit-card2.js';
50
51
  import { d as defineCustomElement$7 } from './feature-details2.js';
@@ -54,7 +55,7 @@ import { d as defineCustomElement$4 } from './instant-apps-filter-list2.js';
54
55
  import { d as defineCustomElement$3 } from './instant-apps-social-share2.js';
55
56
  import { d as defineCustomElement$2 } from './layer-list2.js';
56
57
 
57
- const crowdsourceReporterCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100% !important}.width-0{width:0}.height-full{height:100% !important}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.notice-msg{padding:10px;width:calc(100% - 20px)}.progress-bar{padding:12px}.footer-top-button{padding-bottom:7px}.footer-button{height:35px}.feature-pagination{align-items:center;margin:5% 124%;display:flex}.pagination-count{width:32px;color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand)}.report-submitted-msg{position:absolute;z-index:1000}";
58
+ const crowdsourceReporterCss = ":host{display:block;--calcite-label-margin-bottom:0px;--solutions-theme-foreground-color:var(--calcite-color-foreground-1)}.width-full{width:100% !important}.width-0{width:0}.height-full{height:100% !important}.height-0{height:0}.overflow-hidden{overflow:hidden}.border{border:1px solid var(--calcite-color-border-3)}.notice-msg{padding:10px;width:calc(100% - 20px)}.progress-bar{padding:12px}.footer-top-button{padding-bottom:7px}.footer-button{height:35px}.feature-pagination{align-items:center;margin:5% 124%;display:flex}.pagination-count{width:32px;color:var(--calcite-color-brand);border-bottom:1px solid var(--calcite-color-brand);font-weight:bold}.report-submitted-msg{position:absolute;z-index:1000}";
58
59
  const CrowdsourceReporterStyle0 = crowdsourceReporterCss;
59
60
 
60
61
  const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class CrowdsourceReporter extends HTMLElement {
@@ -62,48 +63,52 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
62
63
  super();
63
64
  this.__registerHost();
64
65
  this.togglePanel = createEvent(this, "togglePanel", 7);
65
- //HARDCODED IN EN
66
- this._noLayerToDisplayErrorMsg = "Web map does not contain any editable layers.";
66
+ this.center = undefined;
67
+ this.coverPageEnabled = undefined;
68
+ this.defaultWebmap = "";
67
69
  this.description = undefined;
68
- this.isMobile = undefined;
69
70
  this.enableAnonymousAccess = undefined;
70
71
  this.enableAnonymousComments = undefined;
71
72
  this.enableComments = undefined;
73
+ this.enableHome = true;
72
74
  this.enableLogin = undefined;
73
75
  this.enableNewReports = undefined;
76
+ this.enableSearch = true;
77
+ this.enableZoom = true;
78
+ this.isMobile = undefined;
79
+ this.layerExpressions = [];
80
+ this.layerId = undefined;
81
+ this.level = undefined;
74
82
  this.loginTitle = undefined;
83
+ this.mapInfos = [];
75
84
  this.mapView = undefined;
76
- this.layerId = undefined;
77
85
  this.objectId = undefined;
78
- this.center = undefined;
79
- this.level = undefined;
80
86
  this.reportButtonText = undefined;
81
- this.reportsHeader = undefined;
82
87
  this.reportingOptions = undefined;
88
+ this.reportsHeader = undefined;
83
89
  this.reportSubmittedMessage = undefined;
84
90
  this.searchConfiguration = undefined;
85
91
  this.showComments = undefined;
86
- this.defaultWebmap = "";
87
- this.enableSearch = true;
88
- this.enableHome = true;
89
- this.mapInfos = [];
90
92
  this.theme = "light";
91
- this.enableZoom = true;
92
93
  this.zoomToScale = undefined;
93
- this.layerExpressions = [];
94
- this._mapInfo = undefined;
94
+ this._featureCreationFailedErrorMsg = undefined;
95
+ this._filterActive = false;
96
+ this._filterOpen = false;
95
97
  this._flowItems = [];
96
- this._sidePanelCollapsed = false;
97
- this._translations = undefined;
98
98
  this._hasValidLayers = false;
99
- this._selectedLayerName = undefined;
99
+ this._loadingFeatureDetails = undefined;
100
+ this._mapInfo = undefined;
100
101
  this._reportSubmitted = false;
102
+ this._selectedLayerName = undefined;
101
103
  this._showSubmitCancelButton = false;
102
- this._loadingFeatureDetails = undefined;
103
- this._featureCreationFailedErrorMsg = undefined;
104
+ this._showLoadingIndicator = false;
105
+ this._sidePanelCollapsed = false;
106
+ this._translations = undefined;
104
107
  this._updatedProgressBarStatus = 0.25;
105
- this._filterOpen = false;
106
- this._filterActive = false;
108
+ this._updatedSorting = undefined;
109
+ this._updatedSortOption = "sortNewest";
110
+ this._commentSubmitted = false;
111
+ this._addingCommentFailed = false;
107
112
  }
108
113
  //--------------------------------------------------------------------------
109
114
  //
@@ -130,10 +135,10 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
130
135
  */
131
136
  async selectionChanged(evt) {
132
137
  void this.updatingFeatureDetails(true);
133
- this.setCurrentFeature(evt.detail.selectedFeature[0]);
138
+ await this.setCurrentFeature(evt.detail.selectedFeature[0]);
134
139
  void this.highlightOnMap(evt.detail.selectedFeature[0]);
135
- this.selectedFeatureIndex = evt.detail.selectedFeatureIndex;
136
- //update the feature details to reflect the like dislike values
140
+ this._selectedFeatureIndex = evt.detail.selectedFeatureIndex;
141
+ //update the feature details to reflect the like, dislike and comment values
137
142
  await this._featureDetails.refresh(evt.detail.selectedFeature[0]);
138
143
  }
139
144
  //--------------------------------------------------------------------------
@@ -153,7 +158,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
153
158
  await this._getTranslations();
154
159
  await ((_a = this.mapView) === null || _a === void 0 ? void 0 : _a.when(async () => {
155
160
  //set configured reporting layers array
156
- this.layers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
161
+ this._layers = this.reportingOptions ? Object.keys(this.reportingOptions).filter((layerId) => {
157
162
  return this.reportingOptions[layerId].reporting;
158
163
  }) : [];
159
164
  await this.setMapView();
@@ -164,7 +169,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
164
169
  */
165
170
  render() {
166
171
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
167
- return (h(Host, { key: '197ae2c1b96231124830a044c5a3642107987c85' }, this._reportSubmitted && h("calcite-alert", { key: '2cbdbc22994787e0ac1c204d5043c6c0409503e8', "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: '88ae73773b51678409fa69e68931714b5fdd951a', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '4b0fa9ae2e597d4a44fe2624debe20b2bbeed037', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '108c6a3b06c3f9c52ff15e158d20a39422bb2ad8', slot: "title" }, this._translations.error), h("div", { key: 'c0e54e5665480a5cbe9e4f4b8a05e3c56c20d825', slot: "message" }, this._featureCreationFailedErrorMsg)), h("div", { key: 'c3417032902e0fc8a6fc33909b2f2eb71ba72650' }, h("calcite-shell", { key: 'e5ac5faedf24bd22aa62f0d0f5a4925b2c5e06d4', "content-behind": true }, this._getReporter())), this.filterModal()));
172
+ return (h(Host, { key: 'b57e18eee85093b3829573a33806b81d8e5b9021' }, this._reportSubmitted && h("calcite-alert", { key: '6f45d4435c53c7fbed850098efebf77346f17c12', "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: '7eaecb6ba69aa0b6b45b90e7b751fb580e8557b2', slot: "message" }, this.reportSubmittedMessage ? this.reportSubmittedMessage : this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { key: '2997fdcdf9615ef1cea758111f50903740d863d8', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { key: '4e8f89c2e26b37507b6fd7047096e8f68355bbd2', slot: "title" }, this._translations.error), h("div", { key: 'e514439bb6f88f1405d4a1c5618d0579b08210b9', slot: "message" }, this._featureCreationFailedErrorMsg)), this._commentSubmitted && h("calcite-alert", { key: '97a51ea4a07a897f071c9c2c34abcf5332aff76b', "auto-close": true, class: 'report-submitted ' + themeClass, icon: "check-circle", kind: "success", label: "", onCalciteAlertClose: () => { this._commentSubmitted = false; }, open: true, placement: "top" }, h("div", { key: '05f552f67f2d7da099aa317c3e60841570a8dbfc', slot: "message" }, this._translations.commentSubmittedMsg)), this._addingCommentFailed && h("calcite-alert", { key: 'fc78f2f7fb3c501e999c9783e199e732fdb5626d', "auto-close": true, class: themeClass, icon: "x-octagon", kind: "danger", label: "", onCalciteAlertClose: () => { this._addingCommentFailed = false; }, open: true, placement: "top" }, h("div", { key: '617dbf2afc438481409e3a8ca268b95d77969499', slot: "title" }, this._translations.error), h("div", { key: '5da78c288010c03114c88841fbd9fc97c7366de0', slot: "message" }, this._translations.addingCommentFailedMsg)), h("div", { key: 'ded738076efa1f334dc26dc39b3fb57b1ac33de2' }, h("calcite-shell", { key: 'fa2a7c6c3dcd761a7517b9922c255459258fbec9', "content-behind": true }, this._getReporter())), this.filterModal()));
168
173
  }
169
174
  //--------------------------------------------------------------------------
170
175
  //
@@ -189,8 +194,9 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
189
194
  * @param layerId string layerId of the selected layer
190
195
  * @param layerName string layerName of the selected layer
191
196
  */
192
- setSelectedLayer(layerId, layerName) {
197
+ async setSelectedLayer(layerId, layerName) {
193
198
  this._selectedLayerId = layerId;
199
+ this._selectedLayer = await getLayerOrTable(this.mapView, layerId);
194
200
  this._selectedLayerName = layerName;
195
201
  //show only current layer on map and hide other valid editable layers
196
202
  //if layerId is empty then show all the layers on map
@@ -221,6 +227,12 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
221
227
  case "feature-create":
222
228
  renderLists.push(this.getFeatureCreateFlowItem());
223
229
  break;
230
+ case "comment-details":
231
+ renderLists.push(this.getCommentDetailsFlowItem());
232
+ break;
233
+ case "add-comment":
234
+ renderLists.push(this.getAddCommentFlowItem());
235
+ break;
224
236
  }
225
237
  });
226
238
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
@@ -237,7 +249,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
237
249
  //get layer expression for current selected layer
238
250
  const currentLayersExpressions = this.layerExpressions ? this.layerExpressions.filter((exp) => exp.id === this._selectedLayerId) : [];
239
251
  return (currentLayersExpressions.length > 0 &&
240
- h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: () => void this._closeFilter(), open: this._filterOpen, widthScale: "s" }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filterLayerTitle) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", this._selectedLayerName)), h("div", { slot: "content" }, h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: async () => this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: currentLayersExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView, zoomBtn: false }))));
252
+ h("calcite-modal", { "aria-labelledby": "modal-title", class: "modal", kind: "brand", onCalciteModalClose: () => void this._closeFilter(), open: this._filterOpen, widthScale: "s" }, h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, (_b = (_a = this._translations) === null || _a === void 0 ? void 0 : _a.filterLayerTitle) === null || _b === void 0 ? void 0 : _b.replace("{{title}}", this._selectedLayerName)), h("div", { slot: "content" }, h("instant-apps-filter-list", { autoUpdateUrl: false, closeBtn: true, closeBtnOnClick: () => void this._closeFilter(), comboboxOverlayPositioning: "fixed", layerExpressions: currentLayersExpressions, onFilterListReset: () => this._handleFilterListReset(), onFilterUpdate: () => this._handleFilterUpdate(), ref: (el) => this._filterList = el, view: this.mapView, zoomBtn: false }))));
241
253
  }
242
254
  /**
243
255
  * Close the filter modal
@@ -255,6 +267,28 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
255
267
  _toggleFilter() {
256
268
  this._filterOpen = !this._filterOpen;
257
269
  }
270
+ /**
271
+ * On sort option click update the sort field and sort order
272
+ * @param sortField sort field
273
+ * @param sortOrder sort order
274
+ */
275
+ async sortOptionClick(sortField, sortOrder, sortOption) {
276
+ this._updatedSorting = {
277
+ field: sortField,
278
+ order: sortOrder
279
+ };
280
+ this._updatedSortOption = sortOption;
281
+ }
282
+ /**
283
+ * On sort button click, display the sorting options
284
+ * @returns Sort options list
285
+ */
286
+ _toggleSort() {
287
+ const canSortByVotes = this.reportingOptions && this.reportingOptions[this._selectedLayerId] &&
288
+ this.reportingOptions[this._selectedLayerId].like && this.reportingOptions[this._selectedLayerId].likeField;
289
+ return (h("calcite-popover", { autoClose: true, label: "", offsetDistance: 0, placement: this.isMobile ? "leading-start" : "auto", pointerDisabled: true, referenceElement: "sort-popover" }, h("calcite-list", { "selection-mode": "single" }, h("calcite-list-item", { label: this._translations.sortNewest, onCalciteListItemSelect: () => { void this.sortOptionClick(this._selectedLayer.objectIdField, "desc", "sortNewest"); }, selected: this._updatedSortOption === "sortNewest", value: "sortNewest" }), h("calcite-list-item", { label: this._translations.sortOldest, onCalciteListItemSelect: () => { void this.sortOptionClick(this._selectedLayer.objectIdField, "asc", "sortOldest"); }, selected: this._updatedSortOption === "sortOldest", value: "sortOldest" }), canSortByVotes &&
290
+ h(Fragment, null, h("calcite-list-item", { label: this._translations.sortHighestVoted, onCalciteListItemSelect: () => { void this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField, "desc", "sortHighestVoted"); }, selected: this._updatedSortOption === "sortHighestVoted", value: "sortHighestVoted" }), h("calcite-list-item", { label: this._translations.sortLowestVoted, onCalciteListItemSelect: () => { void this.sortOptionClick(this.reportingOptions[this._selectedLayerId].likeField, "asc", "sortLowestVoted"); }, selected: this._updatedSortOption === "sortLowestVoted", value: "sortLowestVoted" })))));
291
+ }
258
292
  /**
259
293
  * Reset the filter active prop
260
294
  * @protected
@@ -266,7 +300,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
266
300
  void this._featureList.refresh();
267
301
  }
268
302
  /**
269
- * Check if the layers definitionExpression has been modified
303
+ * Check if the layers definitionExpression has been modified and update the feature list depending on the applied filters
270
304
  * @protected
271
305
  */
272
306
  _handleFilterUpdate() {
@@ -284,7 +318,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
284
318
  getLayerListFlowItem() {
285
319
  var _a;
286
320
  return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports &&
287
- h("calcite-button", { appearance: "solid", onClick: this.navigateToChooseCategory.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: ((_a = this._editableLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this._editableLayerIds : this.layers, mapView: this.mapView, noLayerErrorMsg: this._noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this), ref: el => this._layerList = el, showFeatureCount: true, showNextIcon: true }))));
321
+ h("calcite-button", { appearance: "solid", onClick: this.navigateToChooseCategory.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: ((_a = this._editableLayerIds) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this._editableLayerIds : this._layers, mapView: this.mapView, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this), ref: el => this._layerList = el, showFeatureCount: true, showNextIcon: true }))));
288
322
  }
289
323
  /**
290
324
  * Get the layer list for creating a report
@@ -292,7 +326,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
292
326
  * @protected
293
327
  */
294
328
  getChooseCategoryFlowItem() {
295
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { slot: "message" }, this._translations.chooseCategoryMsg)), h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._noLayerToDisplayErrorMsg, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
329
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { slot: "message" }, this._translations.chooseCategoryMsg)), h("layer-list", { class: "height-full", layers: this._layers, mapView: this.mapView, onLayerSelect: this.navigateToCreateFeature.bind(this), showFeatureCount: false, showNextIcon: false }))));
296
330
  }
297
331
  /**
298
332
  * Get Feature create form of the selected feature layer
@@ -300,7 +334,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
300
334
  * @protected
301
335
  */
302
336
  getFeatureCreateFlowItem() {
303
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { slot: "message" }, this._translations.featureEditFormInfoMsg)), h("create-feature", { customizeSubmit: true, mapView: this.mapView, onDrawComplete: this.onDrawComplete.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId }))));
337
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromCreateFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateFeaturePanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, h("div", { class: "progress-bar" }, h("calcite-progress", { type: "determinate", value: this._updatedProgressBarStatus })), h("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { slot: "message" }, this._translations.featureEditFormInfoMsg)), h("create-feature", { customizeSubmit: true, mapView: this.mapView, onDrawComplete: this.onDrawComplete.bind(this), onEditingAttachment: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onProgressStatus: this.updatedProgressStatus.bind(this), onSuccess: this.onReportSubmitted.bind(this), ref: el => this._createFeature = el, searchConfiguration: this.searchConfiguration, selectedLayerId: this._selectedLayerId }))));
304
338
  }
305
339
  /**
306
340
  * Update the progress bar status when editor panel changes
@@ -328,7 +362,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
328
362
  * On back from create feature, call submit editor to destroy the Editor widget instance
329
363
  * @protected
330
364
  */
331
- onSubmitButtonClick() {
365
+ onCreateFeatureSubmitButtonClick() {
332
366
  if (this._createFeature) {
333
367
  void this._createFeature.submit();
334
368
  }
@@ -343,6 +377,26 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
343
377
  }
344
378
  this.backFromSelectedPanel();
345
379
  }
380
+ /**
381
+ * On back from create realated feature, call submit editor to destroy the Editor widget instance
382
+ * @protected
383
+ */
384
+ onCreateRelatedFeatureSubmitButtonClick() {
385
+ if (this._createRelatedFeature) {
386
+ void this._createRelatedFeature.submit();
387
+ }
388
+ }
389
+ /**
390
+ * On back from create related feature, call close editor to destroy the Editor widget instance
391
+ * @protected
392
+ */
393
+ backFromCreateRelatedFeaturePanel() {
394
+ if (this._createRelatedFeature) {
395
+ void this._createRelatedFeature.close();
396
+ this._showSubmitCancelButton = false;
397
+ }
398
+ this.backFromSelectedPanel();
399
+ }
346
400
  /**
347
401
  * On creating the feature is failed, show the error message
348
402
  * @param evt Event which has feature failed message
@@ -360,6 +414,29 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
360
414
  this._reportSubmitted = true;
361
415
  void this.navigateToHomePage();
362
416
  }
417
+ /**
418
+ * On adding the is failed, show the error message
419
+ * @param evt Event which has comment failed message
420
+ * @protected
421
+ */
422
+ addCommentFailed(evt) {
423
+ console.error(evt.detail);
424
+ this._addingCommentFailed = true;
425
+ }
426
+ /**
427
+ * On submit comment navigate to the feature list and refresh the feature details
428
+ * @protected
429
+ */
430
+ async onCommentSubmitted() {
431
+ this._commentSubmitted = true;
432
+ this.backFromSelectedPanel();
433
+ this._showLoadingIndicator = true;
434
+ //update the feature details to reflect the like, dislike and comment values
435
+ await this._featureDetails.refresh(this._currentFeature);
436
+ setTimeout(() => {
437
+ this._showLoadingIndicator = false;
438
+ }, 300);
439
+ }
363
440
  /**
364
441
  * Navigates to layer-list
365
442
  * @protected
@@ -371,7 +448,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
371
448
  if (this._layerList) {
372
449
  void this._layerList.refresh();
373
450
  }
374
- this.setSelectedFeatures([]);
451
+ await this.setSelectedFeatures([]);
375
452
  if (this._editableLayerIds.length === 1) {
376
453
  await this._featureList.refresh();
377
454
  this._flowItems = ["feature-list"];
@@ -387,7 +464,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
387
464
  */
388
465
  async navigateToCreateFeature(evt) {
389
466
  if (evt.detail.layerId && evt.detail.layerName) {
390
- this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
467
+ void this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
391
468
  }
392
469
  this._showSubmitCancelButton = false;
393
470
  this._flowItems = [...this._flowItems, "feature-create"];
@@ -429,7 +506,13 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
429
506
  * @protected
430
507
  */
431
508
  displayFeaturesList(evt) {
432
- this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
509
+ this._updatedSorting = {
510
+ field: '',
511
+ order: 'desc'
512
+ };
513
+ this._filterActive = false;
514
+ this._updatedSortOption = "sortNewest";
515
+ void this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
433
516
  this._flowItems = [...this._flowItems, "feature-list"];
434
517
  }
435
518
  /**
@@ -439,8 +522,11 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
439
522
  backFromSelectedPanel() {
440
523
  this._updatedProgressBarStatus = 0.25;
441
524
  const updatedFlowItems = [...this._flowItems];
525
+ // when coming back from comment details page don't clear the highlighted feature of map
526
+ if (updatedFlowItems[updatedFlowItems.length - 1] !== 'comment-details') {
527
+ this.clearHighlights();
528
+ }
442
529
  updatedFlowItems.pop();
443
- this.clearHighlights();
444
530
  //Back to layer list, and return as the flowItems will be reset in navigateToHomePage
445
531
  if (updatedFlowItems.length === 1 && updatedFlowItems[0] === 'layer-list') {
446
532
  void this.navigateToHomePage();
@@ -461,15 +547,35 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
461
547
  * @param evt Event which has details of selected feature
462
548
  */
463
549
  async onFeatureSelectFromList(evt) {
464
- this.setSelectedFeatures([evt.detail]);
550
+ this._showLoadingIndicator = true;
551
+ await this.setSelectedFeatures([evt.detail]);
465
552
  this._flowItems = [...this._flowItems, "feature-details"];
466
553
  }
554
+ /**
555
+ * Gets related table id of the selected feature's layer
556
+ * @protected
557
+ */
558
+ async getRelatedTable() {
559
+ const relatedTableIdFromRelnship = this._currentFeature.layer.relationships[0].relatedTableId;
560
+ const allTables = await getAllTables(this.mapView);
561
+ const relatedTable = allTables.filter((table) => relatedTableIdFromRelnship === table.layerId);
562
+ this._relatedTable = relatedTable[0];
563
+ }
467
564
  /**
468
565
  * Show loading indicator while updating the feature details component
469
566
  * @param isLoading is feature detail component loading
470
567
  */
471
568
  async updatingFeatureDetails(isLoading) {
472
- this._loadingFeatureDetails = isLoading;
569
+ this._showLoadingIndicator = isLoading;
570
+ }
571
+ /**
572
+ * When comment is selected from list store that and show comment details
573
+ * @param evt Event which has details of selected feature
574
+ * @protected
575
+ */
576
+ async onCommentSelectFromList(evt) {
577
+ this._selectedRelatedFeature = [evt.detail];
578
+ this._flowItems = [...this._flowItems, "comment-details"];
473
579
  }
474
580
  /**
475
581
  * Get feature list of the selected feature layer
@@ -481,16 +587,18 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
481
587
  getFeatureListFlowItem(layerId, layerName) {
482
588
  var _a;
483
589
  const layerExpressions = (_a = this.layerExpressions) === null || _a === void 0 ? void 0 : _a.filter((exp) => exp.id === this._selectedLayerId);
484
- const showFilterIcon = layerExpressions.length > 0;
485
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, showFilterIcon && h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: this._toggleFilter.bind(this), slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports &&
486
- h("calcite-button", { appearance: "solid", onClick: this.navigateToCreateFeature.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnHover: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, ref: el => this._featureList = el, selectedLayerId: layerId }))));
590
+ const showFilterIcon = (layerExpressions === null || layerExpressions === void 0 ? void 0 : layerExpressions.length) > 0;
591
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this._toggleSort(), h("calcite-action", { icon: "sort-ascending-arrow", id: "sort-popover", slot: "header-actions-end", text: this._translations.sort, title: this._translations.sort }), showFilterIcon && h("calcite-action", { icon: "filter", indicator: this._filterActive, onClick: this._toggleFilter.bind(this), slot: "header-actions-end", text: this._translations.filter, title: this._translations.filter }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports &&
592
+ h("calcite-button", { appearance: "solid", onClick: this.navigateToCreateFeature.bind(this), slot: "footer", width: "full" }, this.reportButtonText ? this.reportButtonText : this._translations.createReportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnHover: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, ref: el => this._featureList = el, selectedLayerId: layerId, sortingInfo: this._updatedSorting }))));
487
593
  }
488
594
  /**
489
595
  * Returns the calcite-flow item for feature details
490
596
  * @returns Node
491
597
  */
492
598
  getFeatureDetailsFlowItem() {
493
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._loadingFeatureDetails, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), h("calcite-panel", null, this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("feature-details", { class: 'full-height', graphics: this._selectedFeature, mapView: this.mapView, onLoadingStatus: (evt) => { void this.updatingFeatureDetails(evt.detail); }, ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions }))));
599
+ const showCommentBtn = this.reportingOptions[this._currentFeature.layer.id].comment && this._currentFeature.layer.relationships.length > 0;
600
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, loading: this._showLoadingIndicator, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("instant-apps-social-share", { autoUpdateShareUrl: false, embed: false, popoverButtonIconScale: "s", ref: el => this._shareNode = el, scale: "m", shareButtonColor: "neutral", shareButtonType: "action", slot: "header-actions-end", socialMedia: true, view: this.mapView }), h("calcite-panel", null, this._selectedFeature.length > 1 && this.getFeaturesPagination(), h("feature-details", { class: 'full-height', graphics: this._selectedFeature, mapView: this.mapView, onFeatureSelect: this.onCommentSelectFromList.bind(this), onLoadingStatus: (evt) => void this.updatingFeatureDetails(evt.detail), ref: el => this._featureDetails = el, reportingOptions: this.reportingOptions }), showCommentBtn &&
601
+ h("calcite-button", { appearance: "solid", onClick: () => this._flowItems = [...this._flowItems, "add-comment"], slot: "footer", width: "full" }, this._translations.comment))));
494
602
  }
495
603
  /**
496
604
  * Returns the pagination for the multiple features
@@ -500,27 +608,47 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
500
608
  getFeaturesPagination() {
501
609
  return (h("div", { class: "feature-pagination", slot: "header-actions-start" }, h("div", null, h("calcite-button", { appearance: 'transparent', disabled: false, iconStart: "chevron-left", id: "solutions-back", onClick: () => void this._featureDetails.back(), scale: "s", width: "full" }), h("calcite-tooltip", { label: "", placement: "top", "reference-element": "solutions-back" }, h("span", null, this._translations.back))), h("calcite-button", { appearance: 'transparent', class: 'pagination-action', onClick: () => void this._featureDetails.toggleListView(), scale: "s" }, h("span", { class: "pagination-count" }, this._getCount())), h("div", null, h("calcite-button", { appearance: "transparent", disabled: false, iconStart: "chevron-right", id: "solutions-next", onClick: () => void this._featureDetails.next(), scale: "s", width: "full" }), h("calcite-tooltip", { placement: "top", "reference-element": "solutions-next" }, h("span", null, this._translations.next)))));
502
610
  }
611
+ /**
612
+ * Returns the calcite-flow item for comment details
613
+ * @returns Node
614
+ */
615
+ getCommentDetailsFlowItem() {
616
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedRelatedFeature, highlightEnabled: false, isLoading: false, isMobile: false, mapView: this.mapView, paginationEnabled: false, zoomAndScrollToSelected: false }))));
617
+ }
618
+ /**
619
+ * Returns the calcite-flow item for add comment
620
+ * @returns Node
621
+ */
622
+ getAddCommentFlowItem() {
623
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._relatedTable.title, onCalciteFlowItemBack: this.backFromCreateRelatedFeaturePanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, this._showSubmitCancelButton && h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "solid", class: "footer-top-button footer-button", onClick: this.onCreateRelatedFeatureSubmitButtonClick.bind(this), width: "full" }, this._translations.submit), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromCreateRelatedFeaturePanel.bind(this), width: "full" }, this._translations.cancel))), h("calcite-panel", null, h("create-related-feature", { customizeSubmit: true, mapView: this.mapView, onFail: this.addCommentFailed.bind(this), onIsActionPending: this.showSubmitCancelButton.bind(this), onSuccess: this.onCommentSubmitted.bind(this), ref: el => this._createRelatedFeature = el, selectedFeature: this._currentFeature, table: this._relatedTable }))));
624
+ }
503
625
  /**
504
626
  * Sets the selected features and updates the first feature as the current selected feature
505
627
  * @param features Graphics array of the features selected
506
628
  */
507
- setSelectedFeatures(features) {
629
+ async setSelectedFeatures(features) {
508
630
  this._selectedFeature = features;
509
- this.setCurrentFeature(this._selectedFeature.length ? this._selectedFeature[0] : null);
631
+ await this.setCurrentFeature(this._selectedFeature.length ? this._selectedFeature[0] : null);
510
632
  }
511
633
  /**
512
634
  * Set the object id of the current selected feature, and also updates the current selected layer details
513
635
  * @param selectedFeature Graphic currently shown in feature details
514
636
  */
515
- setCurrentFeature(selectedFeature) {
637
+ async setCurrentFeature(selectedFeature) {
638
+ this._currentFeature = selectedFeature;
516
639
  if (selectedFeature && selectedFeature.layer) {
517
640
  const layer = selectedFeature.layer;
518
- this.setSelectedLayer(layer.id, layer.title);
641
+ void this.setSelectedLayer(layer.id, layer.title);
519
642
  this._currentFeatureId = selectedFeature.attributes[layer.objectIdField];
643
+ // check if comments are configured and relationship is present then only get the related table
644
+ const isCommentTablePresent = this.reportingOptions[selectedFeature.layer.id].comment && selectedFeature.layer.relationships.length > 0;
645
+ if (isCommentTablePresent) {
646
+ await this.getRelatedTable();
647
+ }
520
648
  }
521
649
  else {
522
650
  if (this._editableLayerIds.length > 1) {
523
- this.setSelectedLayer('', '');
651
+ void this.setSelectedLayer('', '');
524
652
  }
525
653
  this._currentFeatureId = '';
526
654
  }
@@ -624,7 +752,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
624
752
  // if clicked graphic's layer is one of the reporting layers then show details in layer panel
625
753
  if (reportingLayerGraphics.length > 0) {
626
754
  //update the selectedFeature
627
- this.setSelectedFeatures(reportingLayerGraphics);
755
+ await this.setSelectedFeatures(reportingLayerGraphics);
628
756
  //if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
629
757
  // eslint-disable-next-line unicorn/prefer-ternary
630
758
  if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
@@ -653,7 +781,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
653
781
  * @protected
654
782
  */
655
783
  _getCount() {
656
- const index = (this.selectedFeatureIndex + 1).toString();
784
+ const index = (this._selectedFeatureIndex + 1).toString();
657
785
  const total = this._selectedFeature.length.toString();
658
786
  return this._translations.indexOfTotal
659
787
  .replace("{{index}}", index)
@@ -676,7 +804,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
676
804
  */
677
805
  reduceToConfiguredLayers(hash) {
678
806
  var _a;
679
- const configuredLayers = ((_a = this.layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.layers : [];
807
+ const configuredLayers = ((_a = this._layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this._layers : [];
680
808
  return Object.keys(hash).reduce((prev, cur) => {
681
809
  let showLayer = hash[cur].supportsAdd;
682
810
  if ((configuredLayers === null || configuredLayers === void 0 ? void 0 : configuredLayers.length) > 0) {
@@ -712,7 +840,7 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
712
840
  detail: this._editableLayerIds
713
841
  };
714
842
  await this.layerListLoaded(evt);
715
- this.setSelectedLayer(this._validLayers[0].id, this._validLayers[0].title);
843
+ void this.setSelectedLayer(this._validLayers[0].id, this._validLayers[0].title);
716
844
  this._flowItems = ['feature-list'];
717
845
  }
718
846
  /**
@@ -782,46 +910,52 @@ const CrowdsourceReporter$1 = /*@__PURE__*/ proxyCustomElement(class Crowdsource
782
910
  }; }
783
911
  static get style() { return CrowdsourceReporterStyle0; }
784
912
  }, [0, "crowdsource-reporter", {
913
+ "center": [1],
914
+ "coverPageEnabled": [1, "cover-page-enabled"],
915
+ "defaultWebmap": [1, "default-webmap"],
785
916
  "description": [1],
786
- "isMobile": [4, "is-mobile"],
787
917
  "enableAnonymousAccess": [4, "enable-anonymous-access"],
788
918
  "enableAnonymousComments": [4, "enable-anonymous-comments"],
789
919
  "enableComments": [4, "enable-comments"],
920
+ "enableHome": [4, "enable-home"],
790
921
  "enableLogin": [4, "enable-login"],
791
922
  "enableNewReports": [4, "enable-new-reports"],
923
+ "enableSearch": [4, "enable-search"],
924
+ "enableZoom": [4, "enable-zoom"],
925
+ "isMobile": [4, "is-mobile"],
926
+ "layerExpressions": [16],
927
+ "layerId": [1, "layer-id"],
928
+ "level": [1],
792
929
  "loginTitle": [1, "login-title"],
930
+ "mapInfos": [16],
793
931
  "mapView": [16],
794
- "layerId": [1, "layer-id"],
795
932
  "objectId": [1, "object-id"],
796
- "center": [1],
797
- "level": [1],
798
933
  "reportButtonText": [1, "report-button-text"],
799
- "reportsHeader": [1, "reports-header"],
800
934
  "reportingOptions": [16],
935
+ "reportsHeader": [1, "reports-header"],
801
936
  "reportSubmittedMessage": [1, "report-submitted-message"],
802
937
  "searchConfiguration": [16],
803
938
  "showComments": [4, "show-comments"],
804
- "defaultWebmap": [1, "default-webmap"],
805
- "enableSearch": [4, "enable-search"],
806
- "enableHome": [4, "enable-home"],
807
- "mapInfos": [16],
808
939
  "theme": [1],
809
- "enableZoom": [4, "enable-zoom"],
810
940
  "zoomToScale": [2, "zoom-to-scale"],
811
- "layerExpressions": [16],
812
- "_mapInfo": [32],
941
+ "_featureCreationFailedErrorMsg": [32],
942
+ "_filterActive": [32],
943
+ "_filterOpen": [32],
813
944
  "_flowItems": [32],
814
- "_sidePanelCollapsed": [32],
815
- "_translations": [32],
816
945
  "_hasValidLayers": [32],
817
- "_selectedLayerName": [32],
946
+ "_loadingFeatureDetails": [32],
947
+ "_mapInfo": [32],
818
948
  "_reportSubmitted": [32],
949
+ "_selectedLayerName": [32],
819
950
  "_showSubmitCancelButton": [32],
820
- "_loadingFeatureDetails": [32],
821
- "_featureCreationFailedErrorMsg": [32],
951
+ "_showLoadingIndicator": [32],
952
+ "_sidePanelCollapsed": [32],
953
+ "_translations": [32],
822
954
  "_updatedProgressBarStatus": [32],
823
- "_filterOpen": [32],
824
- "_filterActive": [32]
955
+ "_updatedSorting": [32],
956
+ "_updatedSortOption": [32],
957
+ "_commentSubmitted": [32],
958
+ "_addingCommentFailed": [32]
825
959
  }, [[8, "selectionChanged", "selectionChanged"]], {
826
960
  "isMobile": ["isMobileWatchHandler"],
827
961
  "mapView": ["mapViewWatchHandler"]
@@ -830,7 +964,7 @@ function defineCustomElement$1() {
830
964
  if (typeof customElements === "undefined") {
831
965
  return;
832
966
  }
833
- const components = ["crowdsource-reporter", "calcite-action", "calcite-action-menu", "calcite-alert", "calcite-block", "calcite-button", "calcite-checkbox", "calcite-chip", "calcite-combobox", "calcite-combobox-item", "calcite-date-picker", "calcite-date-picker-day", "calcite-date-picker-month", "calcite-date-picker-month-header", "calcite-filter", "calcite-flow", "calcite-flow-item", "calcite-graph", "calcite-handle", "calcite-icon", "calcite-input", "calcite-input-date-picker", "calcite-input-text", "calcite-list", "calcite-list-item", "calcite-loader", "calcite-modal", "calcite-notice", "calcite-pagination", "calcite-panel", "calcite-popover", "calcite-progress", "calcite-scrim", "calcite-shell", "calcite-slider", "calcite-stack", "calcite-tooltip", "create-feature", "delete-button", "edit-card", "feature-details", "feature-list", "info-card", "instant-apps-filter-list", "instant-apps-social-share", "layer-list"];
967
+ const components = ["crowdsource-reporter", "calcite-action", "calcite-action-menu", "calcite-alert", "calcite-block", "calcite-button", "calcite-checkbox", "calcite-chip", "calcite-combobox", "calcite-combobox-item", "calcite-date-picker", "calcite-date-picker-day", "calcite-date-picker-month", "calcite-date-picker-month-header", "calcite-filter", "calcite-flow", "calcite-flow-item", "calcite-graph", "calcite-handle", "calcite-icon", "calcite-input", "calcite-input-date-picker", "calcite-input-text", "calcite-list", "calcite-list-item", "calcite-loader", "calcite-modal", "calcite-notice", "calcite-pagination", "calcite-panel", "calcite-popover", "calcite-progress", "calcite-scrim", "calcite-shell", "calcite-slider", "calcite-stack", "calcite-tooltip", "create-feature", "create-related-feature", "delete-button", "edit-card", "feature-details", "feature-list", "info-card", "instant-apps-filter-list", "instant-apps-social-share", "layer-list"];
834
968
  components.forEach(tagName => { switch (tagName) {
835
969
  case "crowdsource-reporter":
836
970
  if (!customElements.get(tagName)) {
@@ -839,185 +973,190 @@ function defineCustomElement$1() {
839
973
  break;
840
974
  case "calcite-action":
841
975
  if (!customElements.get(tagName)) {
842
- defineCustomElement$K();
976
+ defineCustomElement$L();
843
977
  }
844
978
  break;
845
979
  case "calcite-action-menu":
846
980
  if (!customElements.get(tagName)) {
847
- defineCustomElement$J();
981
+ defineCustomElement$K();
848
982
  }
849
983
  break;
850
984
  case "calcite-alert":
851
985
  if (!customElements.get(tagName)) {
852
- defineCustomElement$I();
986
+ defineCustomElement$J();
853
987
  }
854
988
  break;
855
989
  case "calcite-block":
856
990
  if (!customElements.get(tagName)) {
857
- defineCustomElement$H();
991
+ defineCustomElement$I();
858
992
  }
859
993
  break;
860
994
  case "calcite-button":
861
995
  if (!customElements.get(tagName)) {
862
- defineCustomElement$G();
996
+ defineCustomElement$H();
863
997
  }
864
998
  break;
865
999
  case "calcite-checkbox":
866
1000
  if (!customElements.get(tagName)) {
867
- defineCustomElement$F();
1001
+ defineCustomElement$G();
868
1002
  }
869
1003
  break;
870
1004
  case "calcite-chip":
871
1005
  if (!customElements.get(tagName)) {
872
- defineCustomElement$E();
1006
+ defineCustomElement$F();
873
1007
  }
874
1008
  break;
875
1009
  case "calcite-combobox":
876
1010
  if (!customElements.get(tagName)) {
877
- defineCustomElement$D();
1011
+ defineCustomElement$E();
878
1012
  }
879
1013
  break;
880
1014
  case "calcite-combobox-item":
881
1015
  if (!customElements.get(tagName)) {
882
- defineCustomElement$C();
1016
+ defineCustomElement$D();
883
1017
  }
884
1018
  break;
885
1019
  case "calcite-date-picker":
886
1020
  if (!customElements.get(tagName)) {
887
- defineCustomElement$B();
1021
+ defineCustomElement$C();
888
1022
  }
889
1023
  break;
890
1024
  case "calcite-date-picker-day":
891
1025
  if (!customElements.get(tagName)) {
892
- defineCustomElement$A();
1026
+ defineCustomElement$B();
893
1027
  }
894
1028
  break;
895
1029
  case "calcite-date-picker-month":
896
1030
  if (!customElements.get(tagName)) {
897
- defineCustomElement$z();
1031
+ defineCustomElement$A();
898
1032
  }
899
1033
  break;
900
1034
  case "calcite-date-picker-month-header":
901
1035
  if (!customElements.get(tagName)) {
902
- defineCustomElement$y();
1036
+ defineCustomElement$z();
903
1037
  }
904
1038
  break;
905
1039
  case "calcite-filter":
906
1040
  if (!customElements.get(tagName)) {
907
- defineCustomElement$x();
1041
+ defineCustomElement$y();
908
1042
  }
909
1043
  break;
910
1044
  case "calcite-flow":
911
1045
  if (!customElements.get(tagName)) {
912
- defineCustomElement$w();
1046
+ defineCustomElement$x();
913
1047
  }
914
1048
  break;
915
1049
  case "calcite-flow-item":
916
1050
  if (!customElements.get(tagName)) {
917
- defineCustomElement$v();
1051
+ defineCustomElement$w();
918
1052
  }
919
1053
  break;
920
1054
  case "calcite-graph":
921
1055
  if (!customElements.get(tagName)) {
922
- defineCustomElement$u();
1056
+ defineCustomElement$v();
923
1057
  }
924
1058
  break;
925
1059
  case "calcite-handle":
926
1060
  if (!customElements.get(tagName)) {
927
- defineCustomElement$t();
1061
+ defineCustomElement$u();
928
1062
  }
929
1063
  break;
930
1064
  case "calcite-icon":
931
1065
  if (!customElements.get(tagName)) {
932
- defineCustomElement$s();
1066
+ defineCustomElement$t();
933
1067
  }
934
1068
  break;
935
1069
  case "calcite-input":
936
1070
  if (!customElements.get(tagName)) {
937
- defineCustomElement$r();
1071
+ defineCustomElement$s();
938
1072
  }
939
1073
  break;
940
1074
  case "calcite-input-date-picker":
941
1075
  if (!customElements.get(tagName)) {
942
- defineCustomElement$q();
1076
+ defineCustomElement$r();
943
1077
  }
944
1078
  break;
945
1079
  case "calcite-input-text":
946
1080
  if (!customElements.get(tagName)) {
947
- defineCustomElement$p();
1081
+ defineCustomElement$q();
948
1082
  }
949
1083
  break;
950
1084
  case "calcite-list":
951
1085
  if (!customElements.get(tagName)) {
952
- defineCustomElement$o();
1086
+ defineCustomElement$p();
953
1087
  }
954
1088
  break;
955
1089
  case "calcite-list-item":
956
1090
  if (!customElements.get(tagName)) {
957
- defineCustomElement$n();
1091
+ defineCustomElement$o();
958
1092
  }
959
1093
  break;
960
1094
  case "calcite-loader":
961
1095
  if (!customElements.get(tagName)) {
962
- defineCustomElement$m();
1096
+ defineCustomElement$n();
963
1097
  }
964
1098
  break;
965
1099
  case "calcite-modal":
966
1100
  if (!customElements.get(tagName)) {
967
- defineCustomElement$l();
1101
+ defineCustomElement$m();
968
1102
  }
969
1103
  break;
970
1104
  case "calcite-notice":
971
1105
  if (!customElements.get(tagName)) {
972
- defineCustomElement$k();
1106
+ defineCustomElement$l();
973
1107
  }
974
1108
  break;
975
1109
  case "calcite-pagination":
976
1110
  if (!customElements.get(tagName)) {
977
- defineCustomElement$j();
1111
+ defineCustomElement$k();
978
1112
  }
979
1113
  break;
980
1114
  case "calcite-panel":
981
1115
  if (!customElements.get(tagName)) {
982
- defineCustomElement$i();
1116
+ defineCustomElement$j();
983
1117
  }
984
1118
  break;
985
1119
  case "calcite-popover":
986
1120
  if (!customElements.get(tagName)) {
987
- defineCustomElement$h();
1121
+ defineCustomElement$i();
988
1122
  }
989
1123
  break;
990
1124
  case "calcite-progress":
991
1125
  if (!customElements.get(tagName)) {
992
- defineCustomElement$g();
1126
+ defineCustomElement$h();
993
1127
  }
994
1128
  break;
995
1129
  case "calcite-scrim":
996
1130
  if (!customElements.get(tagName)) {
997
- defineCustomElement$f();
1131
+ defineCustomElement$g();
998
1132
  }
999
1133
  break;
1000
1134
  case "calcite-shell":
1001
1135
  if (!customElements.get(tagName)) {
1002
- defineCustomElement$e();
1136
+ defineCustomElement$f();
1003
1137
  }
1004
1138
  break;
1005
1139
  case "calcite-slider":
1006
1140
  if (!customElements.get(tagName)) {
1007
- defineCustomElement$d();
1141
+ defineCustomElement$e();
1008
1142
  }
1009
1143
  break;
1010
1144
  case "calcite-stack":
1011
1145
  if (!customElements.get(tagName)) {
1012
- defineCustomElement$c();
1146
+ defineCustomElement$d();
1013
1147
  }
1014
1148
  break;
1015
1149
  case "calcite-tooltip":
1016
1150
  if (!customElements.get(tagName)) {
1017
- defineCustomElement$b();
1151
+ defineCustomElement$c();
1018
1152
  }
1019
1153
  break;
1020
1154
  case "create-feature":
1155
+ if (!customElements.get(tagName)) {
1156
+ defineCustomElement$b();
1157
+ }
1158
+ break;
1159
+ case "create-related-feature":
1021
1160
  if (!customElements.get(tagName)) {
1022
1161
  defineCustomElement$a();
1023
1162
  }