@esri/solutions-components 0.7.29 → 0.7.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (461) hide show
  1. package/dist/assets/t9n/card-manager/resources_ar.json +1 -4
  2. package/dist/assets/t9n/card-manager/resources_bg.json +1 -4
  3. package/dist/assets/t9n/card-manager/resources_bs.json +1 -4
  4. package/dist/assets/t9n/card-manager/resources_ca.json +1 -4
  5. package/dist/assets/t9n/card-manager/resources_cs.json +1 -4
  6. package/dist/assets/t9n/card-manager/resources_da.json +1 -4
  7. package/dist/assets/t9n/card-manager/resources_de.json +1 -4
  8. package/dist/assets/t9n/card-manager/resources_el.json +1 -4
  9. package/dist/assets/t9n/card-manager/resources_es.json +1 -4
  10. package/dist/assets/t9n/card-manager/resources_et.json +1 -4
  11. package/dist/assets/t9n/card-manager/resources_fi.json +1 -4
  12. package/dist/assets/t9n/card-manager/resources_fr.json +1 -4
  13. package/dist/assets/t9n/card-manager/resources_he.json +1 -4
  14. package/dist/assets/t9n/card-manager/resources_hr.json +1 -4
  15. package/dist/assets/t9n/card-manager/resources_hu.json +1 -4
  16. package/dist/assets/t9n/card-manager/resources_id.json +1 -4
  17. package/dist/assets/t9n/card-manager/resources_it.json +1 -4
  18. package/dist/assets/t9n/card-manager/resources_ja.json +1 -4
  19. package/dist/assets/t9n/card-manager/resources_ko.json +1 -4
  20. package/dist/assets/t9n/card-manager/resources_lt.json +1 -4
  21. package/dist/assets/t9n/card-manager/resources_lv.json +1 -4
  22. package/dist/assets/t9n/card-manager/resources_nb.json +1 -4
  23. package/dist/assets/t9n/card-manager/resources_nl.json +1 -4
  24. package/dist/assets/t9n/card-manager/resources_pl.json +1 -4
  25. package/dist/assets/t9n/card-manager/resources_pt-BR.json +1 -4
  26. package/dist/assets/t9n/card-manager/resources_pt-PT.json +1 -4
  27. package/dist/assets/t9n/card-manager/resources_ro.json +1 -4
  28. package/dist/assets/t9n/card-manager/resources_ru.json +1 -4
  29. package/dist/assets/t9n/card-manager/resources_sk.json +1 -4
  30. package/dist/assets/t9n/card-manager/resources_sl.json +1 -4
  31. package/dist/assets/t9n/card-manager/resources_sr.json +1 -4
  32. package/dist/assets/t9n/card-manager/resources_sv.json +1 -4
  33. package/dist/assets/t9n/card-manager/resources_th.json +1 -4
  34. package/dist/assets/t9n/card-manager/resources_tr.json +1 -4
  35. package/dist/assets/t9n/card-manager/resources_uk.json +1 -4
  36. package/dist/assets/t9n/card-manager/resources_vi.json +1 -4
  37. package/dist/assets/t9n/card-manager/resources_zh-CN.json +1 -4
  38. package/dist/assets/t9n/card-manager/resources_zh-HK.json +1 -4
  39. package/dist/assets/t9n/card-manager/resources_zh-TW.json +1 -4
  40. package/dist/assets/t9n/crowdsource-manager/resources_ar.json +2 -2
  41. package/dist/assets/t9n/crowdsource-manager/resources_bg.json +2 -2
  42. package/dist/assets/t9n/crowdsource-manager/resources_bs.json +2 -2
  43. package/dist/assets/t9n/crowdsource-manager/resources_ca.json +2 -2
  44. package/dist/assets/t9n/crowdsource-manager/resources_cs.json +2 -2
  45. package/dist/assets/t9n/crowdsource-manager/resources_da.json +2 -2
  46. package/dist/assets/t9n/crowdsource-manager/resources_de.json +2 -2
  47. package/dist/assets/t9n/crowdsource-manager/resources_el.json +2 -2
  48. package/dist/assets/t9n/crowdsource-manager/resources_es.json +2 -2
  49. package/dist/assets/t9n/crowdsource-manager/resources_et.json +2 -2
  50. package/dist/assets/t9n/crowdsource-manager/resources_fi.json +2 -2
  51. package/dist/assets/t9n/crowdsource-manager/resources_fr.json +2 -2
  52. package/dist/assets/t9n/crowdsource-manager/resources_he.json +2 -2
  53. package/dist/assets/t9n/crowdsource-manager/resources_hr.json +2 -2
  54. package/dist/assets/t9n/crowdsource-manager/resources_hu.json +2 -2
  55. package/dist/assets/t9n/crowdsource-manager/resources_id.json +2 -2
  56. package/dist/assets/t9n/crowdsource-manager/resources_it.json +2 -2
  57. package/dist/assets/t9n/crowdsource-manager/resources_ja.json +2 -2
  58. package/dist/assets/t9n/crowdsource-manager/resources_ko.json +2 -2
  59. package/dist/assets/t9n/crowdsource-manager/resources_lt.json +2 -2
  60. package/dist/assets/t9n/crowdsource-manager/resources_lv.json +2 -2
  61. package/dist/assets/t9n/crowdsource-manager/resources_nb.json +2 -2
  62. package/dist/assets/t9n/crowdsource-manager/resources_nl.json +2 -2
  63. package/dist/assets/t9n/crowdsource-manager/resources_pl.json +2 -2
  64. package/dist/assets/t9n/crowdsource-manager/resources_pt-BR.json +2 -2
  65. package/dist/assets/t9n/crowdsource-manager/resources_pt-PT.json +2 -2
  66. package/dist/assets/t9n/crowdsource-manager/resources_ro.json +2 -2
  67. package/dist/assets/t9n/crowdsource-manager/resources_ru.json +2 -2
  68. package/dist/assets/t9n/crowdsource-manager/resources_sk.json +2 -2
  69. package/dist/assets/t9n/crowdsource-manager/resources_sl.json +2 -2
  70. package/dist/assets/t9n/crowdsource-manager/resources_sr.json +2 -2
  71. package/dist/assets/t9n/crowdsource-manager/resources_sv.json +2 -2
  72. package/dist/assets/t9n/crowdsource-manager/resources_th.json +2 -2
  73. package/dist/assets/t9n/crowdsource-manager/resources_tr.json +2 -2
  74. package/dist/assets/t9n/crowdsource-manager/resources_uk.json +2 -2
  75. package/dist/assets/t9n/crowdsource-manager/resources_vi.json +2 -2
  76. package/dist/assets/t9n/crowdsource-manager/resources_zh-CN.json +2 -2
  77. package/dist/assets/t9n/crowdsource-manager/resources_zh-HK.json +2 -2
  78. package/dist/assets/t9n/crowdsource-manager/resources_zh-TW.json +2 -2
  79. package/dist/assets/t9n/crowdsource-reporter/resources.json +7 -5
  80. package/dist/assets/t9n/crowdsource-reporter/resources_ar.json +20 -0
  81. package/dist/assets/t9n/crowdsource-reporter/resources_bg.json +20 -0
  82. package/dist/assets/t9n/crowdsource-reporter/resources_bs.json +20 -0
  83. package/dist/assets/t9n/crowdsource-reporter/resources_ca.json +20 -0
  84. package/dist/assets/t9n/crowdsource-reporter/resources_cs.json +20 -0
  85. package/dist/assets/t9n/crowdsource-reporter/resources_da.json +20 -0
  86. package/dist/assets/t9n/crowdsource-reporter/resources_de.json +20 -0
  87. package/dist/assets/t9n/crowdsource-reporter/resources_el.json +20 -0
  88. package/dist/assets/t9n/crowdsource-reporter/resources_en.json +7 -5
  89. package/dist/assets/t9n/crowdsource-reporter/resources_es.json +20 -0
  90. package/dist/assets/t9n/crowdsource-reporter/resources_et.json +20 -0
  91. package/dist/assets/t9n/crowdsource-reporter/resources_fi.json +20 -0
  92. package/dist/assets/t9n/crowdsource-reporter/resources_fr.json +20 -0
  93. package/dist/assets/t9n/crowdsource-reporter/resources_he.json +20 -0
  94. package/dist/assets/t9n/crowdsource-reporter/resources_hr.json +20 -0
  95. package/dist/assets/t9n/crowdsource-reporter/resources_hu.json +20 -0
  96. package/dist/assets/t9n/crowdsource-reporter/resources_id.json +20 -0
  97. package/dist/assets/t9n/crowdsource-reporter/resources_it.json +20 -0
  98. package/dist/assets/t9n/crowdsource-reporter/resources_ja.json +20 -0
  99. package/dist/assets/t9n/crowdsource-reporter/resources_ko.json +20 -0
  100. package/dist/assets/t9n/crowdsource-reporter/resources_lt.json +20 -0
  101. package/dist/assets/t9n/crowdsource-reporter/resources_lv.json +20 -0
  102. package/dist/assets/t9n/crowdsource-reporter/resources_nb.json +20 -0
  103. package/dist/assets/t9n/crowdsource-reporter/resources_nl.json +20 -0
  104. package/dist/assets/t9n/crowdsource-reporter/resources_pl.json +20 -0
  105. package/dist/assets/t9n/crowdsource-reporter/resources_pt-BR.json +20 -0
  106. package/dist/assets/t9n/crowdsource-reporter/resources_pt-PT.json +20 -0
  107. package/dist/assets/t9n/crowdsource-reporter/resources_ro.json +20 -0
  108. package/dist/assets/t9n/crowdsource-reporter/resources_ru.json +20 -0
  109. package/dist/assets/t9n/crowdsource-reporter/resources_sk.json +20 -0
  110. package/dist/assets/t9n/crowdsource-reporter/resources_sl.json +20 -0
  111. package/dist/assets/t9n/crowdsource-reporter/resources_sr.json +20 -0
  112. package/dist/assets/t9n/crowdsource-reporter/resources_sv.json +20 -0
  113. package/dist/assets/t9n/crowdsource-reporter/resources_th.json +20 -0
  114. package/dist/assets/t9n/crowdsource-reporter/resources_tr.json +20 -0
  115. package/dist/assets/t9n/crowdsource-reporter/resources_uk.json +20 -0
  116. package/dist/assets/t9n/crowdsource-reporter/resources_vi.json +20 -0
  117. package/dist/assets/t9n/crowdsource-reporter/resources_zh-CN.json +20 -0
  118. package/dist/assets/t9n/crowdsource-reporter/resources_zh-HK.json +20 -0
  119. package/dist/assets/t9n/crowdsource-reporter/resources_zh-TW.json +20 -0
  120. package/dist/assets/t9n/delete-button/resources_ar.json +8 -0
  121. package/dist/assets/t9n/delete-button/resources_bg.json +8 -0
  122. package/dist/assets/t9n/delete-button/resources_bs.json +8 -0
  123. package/dist/assets/t9n/delete-button/resources_ca.json +8 -0
  124. package/dist/assets/t9n/delete-button/resources_cs.json +8 -0
  125. package/dist/assets/t9n/delete-button/resources_da.json +8 -0
  126. package/dist/assets/t9n/delete-button/resources_de.json +8 -0
  127. package/dist/assets/t9n/delete-button/resources_el.json +8 -0
  128. package/dist/assets/t9n/delete-button/resources_es.json +8 -0
  129. package/dist/assets/t9n/delete-button/resources_et.json +8 -0
  130. package/dist/assets/t9n/delete-button/resources_fi.json +8 -0
  131. package/dist/assets/t9n/delete-button/resources_fr.json +8 -0
  132. package/dist/assets/t9n/delete-button/resources_he.json +8 -0
  133. package/dist/assets/t9n/delete-button/resources_hr.json +8 -0
  134. package/dist/assets/t9n/delete-button/resources_hu.json +8 -0
  135. package/dist/assets/t9n/delete-button/resources_id.json +8 -0
  136. package/dist/assets/t9n/delete-button/resources_it.json +8 -0
  137. package/dist/assets/t9n/delete-button/resources_ja.json +8 -0
  138. package/dist/assets/t9n/delete-button/resources_ko.json +8 -0
  139. package/dist/assets/t9n/delete-button/resources_lt.json +8 -0
  140. package/dist/assets/t9n/delete-button/resources_lv.json +8 -0
  141. package/dist/assets/t9n/delete-button/resources_nb.json +8 -0
  142. package/dist/assets/t9n/delete-button/resources_nl.json +8 -0
  143. package/dist/assets/t9n/delete-button/resources_pl.json +8 -0
  144. package/dist/assets/t9n/delete-button/resources_pt-BR.json +8 -0
  145. package/dist/assets/t9n/delete-button/resources_pt-PT.json +8 -0
  146. package/dist/assets/t9n/delete-button/resources_ro.json +8 -0
  147. package/dist/assets/t9n/delete-button/resources_ru.json +8 -0
  148. package/dist/assets/t9n/delete-button/resources_sk.json +8 -0
  149. package/dist/assets/t9n/delete-button/resources_sl.json +8 -0
  150. package/dist/assets/t9n/delete-button/resources_sr.json +8 -0
  151. package/dist/assets/t9n/delete-button/resources_sv.json +8 -0
  152. package/dist/assets/t9n/delete-button/resources_th.json +8 -0
  153. package/dist/assets/t9n/delete-button/resources_tr.json +8 -0
  154. package/dist/assets/t9n/delete-button/resources_uk.json +8 -0
  155. package/dist/assets/t9n/delete-button/resources_vi.json +8 -0
  156. package/dist/assets/t9n/delete-button/resources_zh-CN.json +8 -0
  157. package/dist/assets/t9n/delete-button/resources_zh-HK.json +8 -0
  158. package/dist/assets/t9n/delete-button/resources_zh-TW.json +8 -0
  159. package/dist/assets/t9n/feature-list/resources.json +1 -1
  160. package/dist/assets/t9n/feature-list/resources_ar.json +4 -0
  161. package/dist/assets/t9n/feature-list/resources_bg.json +4 -0
  162. package/dist/assets/t9n/feature-list/resources_bs.json +4 -0
  163. package/dist/assets/t9n/feature-list/resources_ca.json +4 -0
  164. package/dist/assets/t9n/feature-list/resources_cs.json +4 -0
  165. package/dist/assets/t9n/feature-list/resources_da.json +4 -0
  166. package/dist/assets/t9n/feature-list/resources_de.json +4 -0
  167. package/dist/assets/t9n/feature-list/resources_el.json +4 -0
  168. package/dist/assets/t9n/feature-list/resources_en.json +1 -1
  169. package/dist/assets/t9n/feature-list/resources_es.json +4 -0
  170. package/dist/assets/t9n/feature-list/resources_et.json +4 -0
  171. package/dist/assets/t9n/feature-list/resources_fi.json +4 -0
  172. package/dist/assets/t9n/feature-list/resources_fr.json +4 -0
  173. package/dist/assets/t9n/feature-list/resources_he.json +4 -0
  174. package/dist/assets/t9n/feature-list/resources_hr.json +4 -0
  175. package/dist/assets/t9n/feature-list/resources_hu.json +4 -0
  176. package/dist/assets/t9n/feature-list/resources_id.json +4 -0
  177. package/dist/assets/t9n/feature-list/resources_it.json +4 -0
  178. package/dist/assets/t9n/feature-list/resources_ja.json +4 -0
  179. package/dist/assets/t9n/feature-list/resources_ko.json +4 -0
  180. package/dist/assets/t9n/feature-list/resources_lt.json +4 -0
  181. package/dist/assets/t9n/feature-list/resources_lv.json +4 -0
  182. package/dist/assets/t9n/feature-list/resources_nb.json +4 -0
  183. package/dist/assets/t9n/feature-list/resources_nl.json +4 -0
  184. package/dist/assets/t9n/feature-list/resources_pl.json +4 -0
  185. package/dist/assets/t9n/feature-list/resources_pt-BR.json +4 -0
  186. package/dist/assets/t9n/feature-list/resources_pt-PT.json +4 -0
  187. package/dist/assets/t9n/feature-list/resources_ro.json +4 -0
  188. package/dist/assets/t9n/feature-list/resources_ru.json +4 -0
  189. package/dist/assets/t9n/feature-list/resources_sk.json +4 -0
  190. package/dist/assets/t9n/feature-list/resources_sl.json +4 -0
  191. package/dist/assets/t9n/feature-list/resources_sr.json +4 -0
  192. package/dist/assets/t9n/feature-list/resources_sv.json +4 -0
  193. package/dist/assets/t9n/feature-list/resources_th.json +4 -0
  194. package/dist/assets/t9n/feature-list/resources_tr.json +4 -0
  195. package/dist/assets/t9n/feature-list/resources_uk.json +4 -0
  196. package/dist/assets/t9n/feature-list/resources_vi.json +4 -0
  197. package/dist/assets/t9n/feature-list/resources_zh-CN.json +4 -0
  198. package/dist/assets/t9n/feature-list/resources_zh-HK.json +4 -0
  199. package/dist/assets/t9n/feature-list/resources_zh-TW.json +4 -0
  200. package/dist/assets/t9n/info-card/resources_ar.json +2 -1
  201. package/dist/assets/t9n/info-card/resources_bg.json +2 -1
  202. package/dist/assets/t9n/info-card/resources_bs.json +2 -1
  203. package/dist/assets/t9n/info-card/resources_ca.json +2 -1
  204. package/dist/assets/t9n/info-card/resources_cs.json +2 -1
  205. package/dist/assets/t9n/info-card/resources_da.json +2 -1
  206. package/dist/assets/t9n/info-card/resources_de.json +2 -1
  207. package/dist/assets/t9n/info-card/resources_el.json +2 -1
  208. package/dist/assets/t9n/info-card/resources_es.json +2 -1
  209. package/dist/assets/t9n/info-card/resources_et.json +2 -1
  210. package/dist/assets/t9n/info-card/resources_fi.json +2 -1
  211. package/dist/assets/t9n/info-card/resources_fr.json +2 -1
  212. package/dist/assets/t9n/info-card/resources_he.json +2 -1
  213. package/dist/assets/t9n/info-card/resources_hr.json +2 -1
  214. package/dist/assets/t9n/info-card/resources_hu.json +2 -1
  215. package/dist/assets/t9n/info-card/resources_id.json +2 -1
  216. package/dist/assets/t9n/info-card/resources_it.json +2 -1
  217. package/dist/assets/t9n/info-card/resources_ja.json +2 -1
  218. package/dist/assets/t9n/info-card/resources_ko.json +2 -1
  219. package/dist/assets/t9n/info-card/resources_lt.json +2 -1
  220. package/dist/assets/t9n/info-card/resources_lv.json +2 -1
  221. package/dist/assets/t9n/info-card/resources_nb.json +2 -1
  222. package/dist/assets/t9n/info-card/resources_nl.json +2 -1
  223. package/dist/assets/t9n/info-card/resources_pl.json +2 -1
  224. package/dist/assets/t9n/info-card/resources_pt-BR.json +2 -1
  225. package/dist/assets/t9n/info-card/resources_pt-PT.json +2 -1
  226. package/dist/assets/t9n/info-card/resources_ro.json +2 -1
  227. package/dist/assets/t9n/info-card/resources_ru.json +2 -1
  228. package/dist/assets/t9n/info-card/resources_sk.json +2 -1
  229. package/dist/assets/t9n/info-card/resources_sl.json +2 -1
  230. package/dist/assets/t9n/info-card/resources_sr.json +2 -1
  231. package/dist/assets/t9n/info-card/resources_sv.json +2 -1
  232. package/dist/assets/t9n/info-card/resources_th.json +2 -1
  233. package/dist/assets/t9n/info-card/resources_tr.json +2 -1
  234. package/dist/assets/t9n/info-card/resources_uk.json +2 -1
  235. package/dist/assets/t9n/info-card/resources_vi.json +2 -1
  236. package/dist/assets/t9n/info-card/resources_zh-CN.json +2 -1
  237. package/dist/assets/t9n/info-card/resources_zh-HK.json +2 -1
  238. package/dist/assets/t9n/info-card/resources_zh-TW.json +2 -1
  239. package/dist/assets/t9n/layer-list/resources.json +1 -1
  240. package/dist/assets/t9n/layer-list/resources_ar.json +4 -0
  241. package/dist/assets/t9n/layer-list/resources_bg.json +4 -0
  242. package/dist/assets/t9n/layer-list/resources_bs.json +4 -0
  243. package/dist/assets/t9n/layer-list/resources_ca.json +4 -0
  244. package/dist/assets/t9n/layer-list/resources_cs.json +4 -0
  245. package/dist/assets/t9n/layer-list/resources_da.json +4 -0
  246. package/dist/assets/t9n/layer-list/resources_de.json +4 -0
  247. package/dist/assets/t9n/layer-list/resources_el.json +4 -0
  248. package/dist/assets/t9n/layer-list/resources_en.json +1 -1
  249. package/dist/assets/t9n/layer-list/resources_es.json +4 -0
  250. package/dist/assets/t9n/layer-list/resources_et.json +4 -0
  251. package/dist/assets/t9n/layer-list/resources_fi.json +4 -0
  252. package/dist/assets/t9n/layer-list/resources_fr.json +4 -0
  253. package/dist/assets/t9n/layer-list/resources_he.json +4 -0
  254. package/dist/assets/t9n/layer-list/resources_hr.json +4 -0
  255. package/dist/assets/t9n/layer-list/resources_hu.json +4 -0
  256. package/dist/assets/t9n/layer-list/resources_id.json +4 -0
  257. package/dist/assets/t9n/layer-list/resources_it.json +4 -0
  258. package/dist/assets/t9n/layer-list/resources_ja.json +4 -0
  259. package/dist/assets/t9n/layer-list/resources_ko.json +4 -0
  260. package/dist/assets/t9n/layer-list/resources_lt.json +4 -0
  261. package/dist/assets/t9n/layer-list/resources_lv.json +4 -0
  262. package/dist/assets/t9n/layer-list/resources_nb.json +4 -0
  263. package/dist/assets/t9n/layer-list/resources_nl.json +4 -0
  264. package/dist/assets/t9n/layer-list/resources_pl.json +4 -0
  265. package/dist/assets/t9n/layer-list/resources_pt-BR.json +4 -0
  266. package/dist/assets/t9n/layer-list/resources_pt-PT.json +4 -0
  267. package/dist/assets/t9n/layer-list/resources_ro.json +4 -0
  268. package/dist/assets/t9n/layer-list/resources_ru.json +4 -0
  269. package/dist/assets/t9n/layer-list/resources_sk.json +4 -0
  270. package/dist/assets/t9n/layer-list/resources_sl.json +4 -0
  271. package/dist/assets/t9n/layer-list/resources_sr.json +4 -0
  272. package/dist/assets/t9n/layer-list/resources_sv.json +4 -0
  273. package/dist/assets/t9n/layer-list/resources_th.json +4 -0
  274. package/dist/assets/t9n/layer-list/resources_tr.json +4 -0
  275. package/dist/assets/t9n/layer-list/resources_uk.json +4 -0
  276. package/dist/assets/t9n/layer-list/resources_vi.json +4 -0
  277. package/dist/assets/t9n/layer-list/resources_zh-CN.json +4 -0
  278. package/dist/assets/t9n/layer-list/resources_zh-HK.json +4 -0
  279. package/dist/assets/t9n/layer-list/resources_zh-TW.json +4 -0
  280. package/dist/assets/t9n/layer-table/resources_ar.json +5 -9
  281. package/dist/assets/t9n/layer-table/resources_bg.json +5 -9
  282. package/dist/assets/t9n/layer-table/resources_bs.json +5 -9
  283. package/dist/assets/t9n/layer-table/resources_ca.json +5 -9
  284. package/dist/assets/t9n/layer-table/resources_cs.json +5 -9
  285. package/dist/assets/t9n/layer-table/resources_da.json +5 -9
  286. package/dist/assets/t9n/layer-table/resources_de.json +5 -9
  287. package/dist/assets/t9n/layer-table/resources_el.json +5 -9
  288. package/dist/assets/t9n/layer-table/resources_es.json +5 -9
  289. package/dist/assets/t9n/layer-table/resources_et.json +5 -9
  290. package/dist/assets/t9n/layer-table/resources_fi.json +5 -9
  291. package/dist/assets/t9n/layer-table/resources_fr.json +5 -9
  292. package/dist/assets/t9n/layer-table/resources_he.json +5 -9
  293. package/dist/assets/t9n/layer-table/resources_hr.json +5 -9
  294. package/dist/assets/t9n/layer-table/resources_hu.json +5 -9
  295. package/dist/assets/t9n/layer-table/resources_id.json +5 -9
  296. package/dist/assets/t9n/layer-table/resources_it.json +5 -9
  297. package/dist/assets/t9n/layer-table/resources_ja.json +5 -9
  298. package/dist/assets/t9n/layer-table/resources_ko.json +5 -9
  299. package/dist/assets/t9n/layer-table/resources_lt.json +5 -9
  300. package/dist/assets/t9n/layer-table/resources_lv.json +5 -9
  301. package/dist/assets/t9n/layer-table/resources_nb.json +5 -9
  302. package/dist/assets/t9n/layer-table/resources_nl.json +5 -9
  303. package/dist/assets/t9n/layer-table/resources_pl.json +5 -9
  304. package/dist/assets/t9n/layer-table/resources_pt-BR.json +5 -9
  305. package/dist/assets/t9n/layer-table/resources_pt-PT.json +5 -9
  306. package/dist/assets/t9n/layer-table/resources_ro.json +5 -9
  307. package/dist/assets/t9n/layer-table/resources_ru.json +5 -9
  308. package/dist/assets/t9n/layer-table/resources_sk.json +5 -9
  309. package/dist/assets/t9n/layer-table/resources_sl.json +5 -9
  310. package/dist/assets/t9n/layer-table/resources_sr.json +5 -9
  311. package/dist/assets/t9n/layer-table/resources_sv.json +5 -9
  312. package/dist/assets/t9n/layer-table/resources_th.json +5 -9
  313. package/dist/assets/t9n/layer-table/resources_tr.json +5 -9
  314. package/dist/assets/t9n/layer-table/resources_uk.json +5 -9
  315. package/dist/assets/t9n/layer-table/resources_vi.json +5 -9
  316. package/dist/assets/t9n/layer-table/resources_zh-CN.json +5 -9
  317. package/dist/assets/t9n/layer-table/resources_zh-HK.json +5 -9
  318. package/dist/assets/t9n/layer-table/resources_zh-TW.json +5 -9
  319. package/dist/assets/t9n/map-tools/resources_ar.json +2 -2
  320. package/dist/assets/t9n/map-tools/resources_bg.json +2 -2
  321. package/dist/assets/t9n/map-tools/resources_bs.json +2 -2
  322. package/dist/assets/t9n/map-tools/resources_ca.json +2 -2
  323. package/dist/assets/t9n/map-tools/resources_cs.json +2 -2
  324. package/dist/assets/t9n/map-tools/resources_da.json +2 -2
  325. package/dist/assets/t9n/map-tools/resources_de.json +2 -2
  326. package/dist/assets/t9n/map-tools/resources_el.json +2 -2
  327. package/dist/assets/t9n/map-tools/resources_es.json +2 -2
  328. package/dist/assets/t9n/map-tools/resources_et.json +2 -2
  329. package/dist/assets/t9n/map-tools/resources_fi.json +2 -2
  330. package/dist/assets/t9n/map-tools/resources_fr.json +2 -2
  331. package/dist/assets/t9n/map-tools/resources_he.json +2 -2
  332. package/dist/assets/t9n/map-tools/resources_hr.json +2 -2
  333. package/dist/assets/t9n/map-tools/resources_hu.json +2 -2
  334. package/dist/assets/t9n/map-tools/resources_id.json +2 -2
  335. package/dist/assets/t9n/map-tools/resources_it.json +2 -2
  336. package/dist/assets/t9n/map-tools/resources_ja.json +2 -2
  337. package/dist/assets/t9n/map-tools/resources_ko.json +2 -2
  338. package/dist/assets/t9n/map-tools/resources_lt.json +2 -2
  339. package/dist/assets/t9n/map-tools/resources_lv.json +2 -2
  340. package/dist/assets/t9n/map-tools/resources_nb.json +2 -2
  341. package/dist/assets/t9n/map-tools/resources_nl.json +2 -2
  342. package/dist/assets/t9n/map-tools/resources_pl.json +2 -2
  343. package/dist/assets/t9n/map-tools/resources_pt-BR.json +2 -2
  344. package/dist/assets/t9n/map-tools/resources_pt-PT.json +2 -2
  345. package/dist/assets/t9n/map-tools/resources_ro.json +2 -2
  346. package/dist/assets/t9n/map-tools/resources_ru.json +2 -2
  347. package/dist/assets/t9n/map-tools/resources_sk.json +2 -2
  348. package/dist/assets/t9n/map-tools/resources_sl.json +2 -2
  349. package/dist/assets/t9n/map-tools/resources_sr.json +2 -2
  350. package/dist/assets/t9n/map-tools/resources_sv.json +2 -2
  351. package/dist/assets/t9n/map-tools/resources_th.json +2 -2
  352. package/dist/assets/t9n/map-tools/resources_tr.json +2 -2
  353. package/dist/assets/t9n/map-tools/resources_uk.json +2 -2
  354. package/dist/assets/t9n/map-tools/resources_vi.json +2 -2
  355. package/dist/assets/t9n/map-tools/resources_zh-CN.json +2 -2
  356. package/dist/assets/t9n/map-tools/resources_zh-HK.json +2 -2
  357. package/dist/assets/t9n/map-tools/resources_zh-TW.json +2 -2
  358. package/dist/assets/t9n/public-notification/resources_ar.json +2 -2
  359. package/dist/assets/t9n/public-notification/resources_bg.json +2 -2
  360. package/dist/assets/t9n/public-notification/resources_bs.json +2 -2
  361. package/dist/assets/t9n/public-notification/resources_ca.json +2 -2
  362. package/dist/assets/t9n/public-notification/resources_cs.json +2 -2
  363. package/dist/assets/t9n/public-notification/resources_da.json +2 -2
  364. package/dist/assets/t9n/public-notification/resources_de.json +2 -2
  365. package/dist/assets/t9n/public-notification/resources_el.json +2 -2
  366. package/dist/assets/t9n/public-notification/resources_es.json +2 -2
  367. package/dist/assets/t9n/public-notification/resources_et.json +2 -2
  368. package/dist/assets/t9n/public-notification/resources_fi.json +2 -2
  369. package/dist/assets/t9n/public-notification/resources_fr.json +2 -2
  370. package/dist/assets/t9n/public-notification/resources_he.json +2 -2
  371. package/dist/assets/t9n/public-notification/resources_hr.json +2 -2
  372. package/dist/assets/t9n/public-notification/resources_hu.json +2 -2
  373. package/dist/assets/t9n/public-notification/resources_id.json +2 -2
  374. package/dist/assets/t9n/public-notification/resources_it.json +2 -2
  375. package/dist/assets/t9n/public-notification/resources_ja.json +2 -2
  376. package/dist/assets/t9n/public-notification/resources_ko.json +2 -2
  377. package/dist/assets/t9n/public-notification/resources_lt.json +2 -2
  378. package/dist/assets/t9n/public-notification/resources_lv.json +2 -2
  379. package/dist/assets/t9n/public-notification/resources_nb.json +2 -2
  380. package/dist/assets/t9n/public-notification/resources_nl.json +2 -2
  381. package/dist/assets/t9n/public-notification/resources_pl.json +2 -2
  382. package/dist/assets/t9n/public-notification/resources_pt-BR.json +2 -2
  383. package/dist/assets/t9n/public-notification/resources_pt-PT.json +2 -2
  384. package/dist/assets/t9n/public-notification/resources_ro.json +2 -2
  385. package/dist/assets/t9n/public-notification/resources_ru.json +2 -2
  386. package/dist/assets/t9n/public-notification/resources_sk.json +2 -2
  387. package/dist/assets/t9n/public-notification/resources_sl.json +2 -2
  388. package/dist/assets/t9n/public-notification/resources_sr.json +2 -2
  389. package/dist/assets/t9n/public-notification/resources_sv.json +2 -2
  390. package/dist/assets/t9n/public-notification/resources_th.json +2 -2
  391. package/dist/assets/t9n/public-notification/resources_tr.json +2 -2
  392. package/dist/assets/t9n/public-notification/resources_uk.json +2 -2
  393. package/dist/assets/t9n/public-notification/resources_vi.json +2 -2
  394. package/dist/assets/t9n/public-notification/resources_zh-CN.json +2 -2
  395. package/dist/assets/t9n/public-notification/resources_zh-HK.json +2 -2
  396. package/dist/assets/t9n/public-notification/resources_zh-TW.json +2 -2
  397. package/dist/cjs/{calcite-flow_4.cjs.entry.js → calcite-flow_5.cjs.entry.js} +241 -22
  398. package/dist/cjs/card-manager_3.cjs.entry.js +1 -1
  399. package/dist/cjs/crowdsource-reporter.cjs.entry.js +285 -12
  400. package/dist/cjs/{downloadUtils-83c6d3c3.js → downloadUtils-10e0de31.js} +2 -2
  401. package/dist/cjs/{index.es-bd1a93b2.js → index.es-72dc7ab9.js} +1 -1
  402. package/dist/cjs/loader.cjs.js +1 -1
  403. package/dist/cjs/map-select-tools_3.cjs.entry.js +1 -1
  404. package/dist/cjs/public-notification.cjs.entry.js +1 -1
  405. package/dist/cjs/solutions-components.cjs.js +1 -1
  406. package/dist/collection/collection-manifest.json +1 -0
  407. package/dist/collection/components/create-feature/create-feature.css +23 -0
  408. package/dist/collection/components/create-feature/create-feature.js +361 -0
  409. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.css +10 -1
  410. package/dist/collection/components/crowdsource-reporter/crowdsource-reporter.js +324 -12
  411. package/dist/collection/components/feature-list/feature-list.js +2 -0
  412. package/dist/collection/components/layer-list/layer-list.css +4 -0
  413. package/dist/collection/components/layer-list/layer-list.js +100 -18
  414. package/dist/collection/demos/crowdsource-reporter.html +30 -15
  415. package/dist/collection/demos/feature-list.html +1 -1
  416. package/dist/collection/utils/downloadUtils.js +1 -1
  417. package/dist/collection/utils/downloadUtils.ts +1 -1
  418. package/dist/components/create-feature.d.ts +11 -0
  419. package/dist/components/create-feature.js +11 -0
  420. package/dist/components/create-feature2.js +226 -0
  421. package/dist/components/crowdsource-reporter.js +361 -69
  422. package/dist/components/downloadUtils.js +1 -1
  423. package/dist/components/feature-list2.js +2 -0
  424. package/dist/components/layer-list2.js +45 -20
  425. package/dist/esm/calcite-alert_4.entry.js +1 -1
  426. package/dist/esm/calcite-combobox_6.entry.js +1 -1
  427. package/dist/esm/{calcite-flow_4.entry.js → calcite-flow_5.entry.js} +241 -23
  428. package/dist/esm/card-manager_3.entry.js +2 -2
  429. package/dist/esm/crowdsource-manager.entry.js +1 -1
  430. package/dist/esm/crowdsource-reporter.entry.js +286 -13
  431. package/dist/esm/{downloadUtils-a301c193.js → downloadUtils-d297078f.js} +3 -3
  432. package/dist/esm/{index.es-37a9907e.js → index.es-3b4fa9d0.js} +2 -2
  433. package/dist/esm/loader.js +1 -1
  434. package/dist/esm/map-select-tools_3.entry.js +2 -2
  435. package/dist/esm/{mapViewUtils-6daedef8.js → mapViewUtils-cf05e880.js} +1 -1
  436. package/dist/esm/public-notification.entry.js +2 -2
  437. package/dist/esm/solutions-components.js +1 -1
  438. package/dist/solutions-components/demos/crowdsource-reporter.html +30 -15
  439. package/dist/solutions-components/demos/feature-list.html +1 -1
  440. package/dist/solutions-components/{p-78e720cc.entry.js → p-09ec8c8f.entry.js} +1 -1
  441. package/dist/solutions-components/{p-a603e673.js → p-103c5318.js} +3 -3
  442. package/dist/solutions-components/{p-4566438a.js → p-2c382841.js} +1 -1
  443. package/dist/solutions-components/{p-fe295e9d.entry.js → p-57d49d15.entry.js} +1 -1
  444. package/dist/solutions-components/{p-12de822a.entry.js → p-6b2b8b41.entry.js} +1 -1
  445. package/dist/solutions-components/{p-dbe62aaf.entry.js → p-802acc51.entry.js} +1 -1
  446. package/dist/solutions-components/{p-0587972d.js → p-8ec25bf4.js} +1 -1
  447. package/dist/solutions-components/{p-b37ec1f3.entry.js → p-921f21d5.entry.js} +1 -1
  448. package/dist/solutions-components/p-b4e2cac4.entry.js +17 -0
  449. package/dist/solutions-components/{p-643e7ee1.entry.js → p-b699637f.entry.js} +1 -1
  450. package/dist/solutions-components/p-bb6562ab.entry.js +6 -0
  451. package/dist/solutions-components/solutions-components.esm.js +1 -1
  452. package/dist/solutions-components/utils/downloadUtils.ts +1 -1
  453. package/dist/types/components/create-feature/create-feature.d.ts +107 -0
  454. package/dist/types/components/crowdsource-reporter/crowdsource-reporter.d.ts +165 -8
  455. package/dist/types/components/feature-list/feature-list.d.ts +2 -0
  456. package/dist/types/components/layer-list/layer-list.d.ts +16 -2
  457. package/dist/types/components.d.ts +105 -0
  458. package/dist/types/preact.d.ts +6 -0
  459. package/package.json +1 -1
  460. package/dist/solutions-components/p-6a452a84.entry.js +0 -17
  461. package/dist/solutions-components/p-8756eebb.entry.js +0 -6
@@ -20,6 +20,9 @@
20
20
  */
21
21
  import { Host, h } from "@stencil/core";
22
22
  import { getLocaleComponentStrings } from "../../utils/locale";
23
+ import { loadModules } from "../../utils/loadModules";
24
+ import { getAllLayers, getLayerOrTable } from "../../utils/mapViewUtils";
25
+ import { queryFeaturesByID } from "../../utils/queryUtils";
23
26
  export class CrowdsourceReporter {
24
27
  constructor() {
25
28
  this.description = undefined;
@@ -32,6 +35,8 @@ export class CrowdsourceReporter {
32
35
  this.layers = undefined;
33
36
  this.loginTitle = undefined;
34
37
  this.mapView = undefined;
38
+ this.layerId = undefined;
39
+ this.objectId = undefined;
35
40
  this.reportButtonText = undefined;
36
41
  this.reportsHeader = undefined;
37
42
  this.reportSubmittedMessage = undefined;
@@ -48,6 +53,10 @@ export class CrowdsourceReporter {
48
53
  this._sidePanelCollapsed = false;
49
54
  this._translations = undefined;
50
55
  this._hasValidLayers = false;
56
+ this._selectedLayerName = undefined;
57
+ this._reportSubmitted = false;
58
+ this._showSubmitCancelButton = false;
59
+ this._featureCreationFailedErrorMsg = undefined;
51
60
  }
52
61
  //--------------------------------------------------------------------------
53
62
  //
@@ -79,19 +88,43 @@ export class CrowdsourceReporter {
79
88
  * @returns Promise when complete
80
89
  */
81
90
  async componentWillLoad() {
91
+ await this._initModules();
82
92
  await this._getTranslations();
83
93
  }
84
94
  /**
85
95
  * Renders the component.
86
96
  */
87
97
  render() {
88
- return (h(Host, null, h("div", null, h("calcite-shell", { "content-behind": true }, this._getReporter()))));
98
+ const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
99
+ return (h(Host, null, this._reportSubmitted && h("calcite-alert", { "auto-close": true, class: themeClass, closable: true, icon: "check-circle", kind: "success", onCalciteAlertClose: () => { this._reportSubmitted = false; }, open: true, placement: "top" }, h("div", { slot: "title" }, this._translations.reportSubmit), h("div", { slot: "message" }, this._translations.submitMsg)), this._featureCreationFailedErrorMsg && h("calcite-alert", { "auto-close": true, class: themeClass, closable: true, icon: "x-octagon", kind: "danger", onCalciteAlertClose: () => { this._featureCreationFailedErrorMsg = ""; }, open: true, placement: "top" }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this._featureCreationFailedErrorMsg)), h("div", null, h("calcite-shell", { "content-behind": true }, this._getReporter()))));
89
100
  }
90
101
  //--------------------------------------------------------------------------
91
102
  //
92
103
  // Functions (protected)
93
104
  //
94
105
  //--------------------------------------------------------------------------
106
+ /**
107
+ * Load esri javascript api modules
108
+ *
109
+ * @returns Promise resolving when function is done
110
+ *
111
+ * @protected
112
+ */
113
+ async _initModules() {
114
+ const [reactiveUtils] = await loadModules([
115
+ "esri/core/reactiveUtils"
116
+ ]);
117
+ this.reactiveUtils = reactiveUtils;
118
+ }
119
+ /**
120
+ * Set the selected layer id and layer name
121
+ * @param layerId string layerId of the selected layer
122
+ * @param layerName string layerName of the selected layer
123
+ */
124
+ setSelectedLayer(layerId, layerName) {
125
+ this._selectedLayerId = layerId;
126
+ this._selectedLayerName = layerName;
127
+ }
95
128
  /**
96
129
  * Get the reporter app functionality
97
130
  * @protected
@@ -109,6 +142,12 @@ export class CrowdsourceReporter {
109
142
  case "feature-details":
110
143
  renderLists.push(this.getFeatureDetailsFlowItem());
111
144
  break;
145
+ case "reporting-layer-list":
146
+ renderLists.push(this.getChooseCategoryFlowItem());
147
+ break;
148
+ case "feature-create":
149
+ renderLists.push(this.getFeatureCreateFlowItem());
150
+ break;
112
151
  }
113
152
  });
114
153
  const themeClass = this.theme === "dark" ? "calcite-mode-dark" : "calcite-mode-light";
@@ -125,33 +164,135 @@ export class CrowdsourceReporter {
125
164
  return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this.reportsHeader }, this._hasValidLayers &&
126
165
  h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), this._hasValidLayers &&
127
166
  h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this._hasValidLayers && this.enableNewReports &&
128
- h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this) }))));
167
+ h("calcite-button", { appearance: "secondary", onClick: this.navigateToChooseCategory.bind(this), slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true, "full-width": true }, h("layer-list", { class: "height-full", layers: this.layers, mapView: this.mapView, noLayerErrorMsg: this._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.displayFeaturesList.bind(this), onLayersListLoaded: this.layerListLoaded.bind(this), ref: el => this._layerList = el, showFeatureCount: true, showNextIcon: true }))));
168
+ }
169
+ /**
170
+ * Get the layer list for creating a report
171
+ * @returns Choose category flow item
172
+ * @protected
173
+ */
174
+ getChooseCategoryFlowItem() {
175
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._translations.createReportHeader, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("div", { class: "width-full", slot: "footer" }, h("calcite-button", { appearance: "secondary", class: "footer-top-button footer-button", disabled: !this._selectedLayerId, onClick: this.navigateToCreateFeature.bind(this), width: "full" }, this._translations.next), h("calcite-button", { appearance: "outline", class: "footer-button", onClick: this.backFromSelectedPanel.bind(this), width: "full" }, this._translations.cancel)), h("calcite-panel", { "full-height": true, "full-width": true }, 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._translations.noLayerToDisplayErrorMsg, onLayerSelect: this.highlightSelectedLayer.bind(this), showFeatureCount: false, showNextIcon: false }))));
176
+ }
177
+ /**
178
+ * Get Feature create form of the selected feature layer
179
+ * @returns feature create form
180
+ * @protected
181
+ */
182
+ getFeatureCreateFlowItem() {
183
+ 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: "secondary", 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("calcite-notice", { class: "notice-msg", icon: "lightbulb", kind: "success", open: true }, h("div", { slot: "message" }, this._translations.featureEditFormInfoMsg)), h("create-feature", { mapView: this.mapView, onDrawComplete: this.showSubmitCancelButton.bind(this), onFail: this.createFeatureFailed.bind(this), onSuccess: this.navigateHomePage.bind(this), ref: el => this._createFeature = el, selectedLayerId: this._selectedLayerId }))));
184
+ }
185
+ /**
186
+ * When drawing of incident location completed on map show the submit and cancel button
187
+ * @protected
188
+ */
189
+ showSubmitCancelButton() {
190
+ this._showSubmitCancelButton = true;
191
+ }
192
+ /**
193
+ * On back from create feature, call submit editor to destroy the Editor widget instance
194
+ * @protected
195
+ */
196
+ onSubmitButtonClick() {
197
+ if (this._createFeature) {
198
+ this._createFeature.submit();
199
+ }
200
+ }
201
+ /**
202
+ * On back from create feature, call close editor to destroy the Editor widget instance
203
+ * @protected
204
+ */
205
+ backFromCreateFeaturePanel() {
206
+ if (this._createFeature) {
207
+ this._createFeature.close();
208
+ }
209
+ this.backFromSelectedPanel();
210
+ }
211
+ /**
212
+ * On creating the feature is failed, show the error message
213
+ * @param evt Event which has feature failed message
214
+ * @protected
215
+ */
216
+ createFeatureFailed(evt) {
217
+ console.error(evt.detail);
218
+ this._featureCreationFailedErrorMsg = evt.detail.message;
219
+ }
220
+ /**
221
+ * On submit report navigate to the layer list home page and refresh the layer list
222
+ * @protected
223
+ */
224
+ navigateHomePage() {
225
+ this._reportSubmitted = true;
226
+ if (this._layerList) {
227
+ this._layerList.refresh();
228
+ }
229
+ this._flowItems = ["layer-list"];
230
+ }
231
+ /**
232
+ * Update the selected layer id and name
233
+ * @param evt Event which has details of selected layerId and layerName
234
+ * @protected
235
+ */
236
+ highlightSelectedLayer(evt) {
237
+ this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
238
+ }
239
+ /**
240
+ * On next button click open the feature create flow item
241
+ * @protected
242
+ */
243
+ async navigateToCreateFeature() {
244
+ this._showSubmitCancelButton = false;
245
+ this._flowItems = [...this._flowItems, "feature-create"];
246
+ }
247
+ /**
248
+ * On report an incident button click open the create a report panel with the layer list
249
+ * @protected
250
+ */
251
+ navigateToChooseCategory() {
252
+ this._flowItems = [...this._flowItems, "reporting-layer-list"];
129
253
  }
130
254
  /**
131
255
  * When layer list is loaded, we will receive the list of layers, if its means we don't have any valid layer to be listed
132
256
  * @param evt Event which has list of layers
133
257
  * @protected
134
258
  */
135
- layerListLoaded(evt) {
259
+ async layerListLoaded(evt) {
136
260
  const layersListed = evt.detail;
261
+ //consider only the layers listed in the layer-list component
262
+ const allMapLayers = await getAllLayers(this.mapView);
263
+ this._validLayers = [];
264
+ allMapLayers.forEach((eachLayer) => {
265
+ if (layersListed.includes(eachLayer.id)) {
266
+ this._validLayers.push(eachLayer);
267
+ }
268
+ });
269
+ //handleMap click on layer list loaded
270
+ this.handleMapClick();
271
+ //update the has valid layer state
137
272
  this._hasValidLayers = layersListed.length > 0;
273
+ //navigate to the feature details if URL params found
274
+ await this.loadFeatureFromURLParams();
138
275
  }
139
276
  /**On click of layer list item show feature list
140
277
  * @param evt Event which has details of selected layerId and layerName
141
278
  * @protected
142
279
  */
143
280
  displayFeaturesList(evt) {
144
- this._selectedLayerId = evt.detail.layerId;
145
- this._selectedLayerName = evt.detail.layerName;
281
+ this.setSelectedLayer(evt.detail.layerId, evt.detail.layerName);
146
282
  this._flowItems = [...this._flowItems, "feature-list"];
147
283
  }
148
284
  /**
149
- * On back from feature list navigate to the Layer list panel
285
+ * On back from selected panel navigate to the previous panel
150
286
  * @protected
151
287
  */
152
- backFromFeatureList() {
288
+ backFromSelectedPanel() {
153
289
  const updatedFlowItems = [...this._flowItems];
154
290
  updatedFlowItems.pop();
291
+ //clear the selected layer and feature when back to layer list
292
+ if (updatedFlowItems.length === 1) {
293
+ this.setSelectedLayer('', '');
294
+ this.setSelectedFeatures([]);
295
+ }
155
296
  this._flowItems = [...updatedFlowItems];
156
297
  }
157
298
  /**
@@ -167,28 +308,61 @@ export class CrowdsourceReporter {
167
308
  * @param evt Event which has details of selected feature
168
309
  */
169
310
  async onFeatureSelectFromList(evt) {
170
- this._selectedFeature = [evt.detail];
311
+ this.setSelectedFeatures([evt.detail]);
171
312
  this._flowItems = [...this._flowItems, "feature-details"];
172
313
  }
173
314
  /**
174
315
  * Get feature list of the selected feature layer
175
316
  * @param layerId Layer id
317
+ * @param layerName Layer name
176
318
  * @returns feature list node
177
319
  * @protected
178
320
  */
179
321
  getFeatureListFlowItem(layerId, layerName) {
180
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports &&
181
- h("calcite-button", { appearance: "secondary", slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnMap: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, selectedLayerId: layerId }))));
322
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: layerName, onCalciteFlowItemBack: this.backFromSelectedPanel.bind(this) }, h("calcite-action", { icon: "sort-ascending-arrow", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.sort, "text-enabled": this.isMobile }), h("calcite-action", { icon: "filter", slot: this.isMobile ? "header-menu-actions" : "header-actions-end", text: this._translations.filter, "text-enabled": this.isMobile }), this.isMobile && this.getActionToExpandCollapsePanel(), this.enableNewReports &&
323
+ h("calcite-button", { appearance: "secondary", onClick: this.navigateToCreateFeature.bind(this), slot: "footer", width: "full" }, this.reportButtonText), h("calcite-panel", { "full-height": true }, h("feature-list", { class: "height-full", highlightOnMap: true, mapView: this.mapView, noFeaturesFoundMsg: this._translations.featureErrorMsg, onFeatureSelect: this.onFeatureSelectFromList.bind(this), pageSize: 30, selectedLayerId: layerId }))));
182
324
  }
183
325
  /**
184
326
  * Returns the calcite-flow item for feature details
185
327
  * @returns Node
186
328
  */
187
329
  getFeatureDetailsFlowItem() {
188
- return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, onCalciteFlowItemBack: this.backFromFeatureList.bind(this) }, this.isMobile && this.getActionToExpandCollapsePanel(), h("calcite-action", { icon: "share", slot: "header-actions-end", text: this._translations.share }), h("calcite-panel", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, zoomAndScrollToSelected: true }))));
330
+ return (h("calcite-flow-item", { collapsed: this.isMobile && this._sidePanelCollapsed, heading: this._selectedLayerName, 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", { "full-height": true }, h("info-card", { allowEditing: false, graphics: this._selectedFeature, isLoading: false, isMobile: false, mapView: this.mapView, onSelectionChanged: this.featureDetailsChanged.bind(this), zoomAndScrollToSelected: true }))));
331
+ }
332
+ /**
333
+ * Sets the selected features and updates the first feature as the current selected feature
334
+ * @param features Graphics array of the features selected
335
+ */
336
+ setSelectedFeatures(features) {
337
+ this._selectedFeature = features;
338
+ this.setCurrentFeature(this._selectedFeature.length ? this._selectedFeature[0] : null);
339
+ }
340
+ /**
341
+ * Set the object id of the current selected feature, and also updates the current selected layer details
342
+ * @param selectedFeature Graphic currently shown in feature details
343
+ */
344
+ setCurrentFeature(selectedFeature) {
345
+ if (selectedFeature && selectedFeature.layer) {
346
+ const layer = selectedFeature.layer;
347
+ this.setSelectedLayer(layer.id, layer.title);
348
+ this._currentFeatureId = selectedFeature.attributes[layer.objectIdField];
349
+ }
350
+ else {
351
+ this.setSelectedLayer('', '');
352
+ this._currentFeatureId = '';
353
+ }
354
+ this._updateShareURL();
355
+ }
356
+ /**
357
+ * On Feature details change update the Layer title and the current selected layer id
358
+ * @param evt Event hold the details of current feature graphic in the info-card
359
+ */
360
+ featureDetailsChanged(evt) {
361
+ this.setCurrentFeature(evt.detail[0]);
189
362
  }
190
363
  /**
191
364
  * Returns the action button to Expand/Collapse side panel in mobile mode
365
+ * @protected
192
366
  */
193
367
  getActionToExpandCollapsePanel() {
194
368
  return (h("calcite-action", { icon: this._sidePanelCollapsed ? "chevrons-up" : "chevrons-down", onClick: this.toggleSidePanel.bind(this), slot: "header-actions-end", text: this._sidePanelCollapsed ? this._translations.expand : this._translations.collapse }));
@@ -208,6 +382,53 @@ export class CrowdsourceReporter {
208
382
  this._defaultLevel = undefined;
209
383
  }
210
384
  }
385
+ /**
386
+ * Handle map click event
387
+ * @param layers Array of layerIds
388
+ *
389
+ * @protected
390
+ */
391
+ handleMapClick() {
392
+ if (this._mapClickHandle) {
393
+ this._mapClickHandle.remove();
394
+ }
395
+ this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", this.onMapClick.bind(this));
396
+ }
397
+ /**
398
+ * On map click do hitTest and get the clicked graphics of valid layers and show feature details
399
+ * @param event IMapClick map click event details
400
+ *
401
+ * @protected
402
+ */
403
+ async onMapClick(event) {
404
+ //disable map popup
405
+ this.mapView.popupEnabled = false;
406
+ // only include graphics from valid layers listed in the layer list widget
407
+ const opts = {
408
+ include: this._validLayers
409
+ };
410
+ // Perform a hitTest on the View
411
+ const hitTest = await this.mapView.hitTest(event, opts);
412
+ if (hitTest.results.length > 0) {
413
+ const clickedGraphics = [];
414
+ hitTest.results.forEach(function (result) {
415
+ // check if the result type is graphic
416
+ if (result.type === 'graphic') {
417
+ clickedGraphics.push(result.graphic);
418
+ }
419
+ });
420
+ //update the selectedFeature
421
+ this.setSelectedFeatures(clickedGraphics);
422
+ //if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
423
+ // eslint-disable-next-line unicorn/prefer-ternary
424
+ if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
425
+ this._flowItems = [...this._flowItems, "feature-details"];
426
+ }
427
+ else {
428
+ this._flowItems = [...this._flowItems];
429
+ }
430
+ }
431
+ }
211
432
  /**
212
433
  * Fetches the component's translations
213
434
  * @returns Promise when complete
@@ -217,6 +438,59 @@ export class CrowdsourceReporter {
217
438
  const messages = await getLocaleComponentStrings(this.el);
218
439
  this._translations = messages[0];
219
440
  }
441
+ /**
442
+ * Updates the share url for current selected feature
443
+ * @returns
444
+ * @protected
445
+ */
446
+ _updateShareURL() {
447
+ var _a, _b;
448
+ const url = (_a = this._shareNode) === null || _a === void 0 ? void 0 : _a.shareUrl;
449
+ if (!url) {
450
+ return;
451
+ }
452
+ const urlObj = new URL(url);
453
+ //set the selected layers id
454
+ if (this._selectedLayerId) {
455
+ urlObj.searchParams.set("layerid", this._selectedLayerId);
456
+ }
457
+ else {
458
+ urlObj.searchParams.delete("layerid");
459
+ }
460
+ //Set the selected features objectid
461
+ if ((_b = this._selectedFeature) === null || _b === void 0 ? void 0 : _b.length) {
462
+ urlObj.searchParams.set("oid", this._currentFeatureId);
463
+ }
464
+ else {
465
+ urlObj.searchParams.delete("oid");
466
+ }
467
+ //update the url in share component
468
+ this._shareNode.shareUrl = urlObj.href;
469
+ }
470
+ /**
471
+ * Navigates to selected features detail based on the URL params
472
+ */
473
+ async loadFeatureFromURLParams() {
474
+ if (this.layerId && this.objectId) {
475
+ const layer = await getLayerOrTable(this.mapView, this.layerId);
476
+ if (layer) {
477
+ // only query if we have some ids...query with no ids will result in all features being returned
478
+ const featureSet = await queryFeaturesByID([Number(this.objectId)], layer, [], false, this.mapView.spatialReference);
479
+ if (featureSet.length) {
480
+ //update the selectedFeature
481
+ this._selectedFeature = featureSet;
482
+ //if featureDetails not open then add it to the list else just reInit flowItems which will update details with newly selected features
483
+ // eslint-disable-next-line unicorn/prefer-ternary
484
+ if (this._flowItems.length && this._flowItems[this._flowItems.length - 1] !== "feature-details") {
485
+ this._flowItems = [...this._flowItems, "feature-details"];
486
+ }
487
+ else {
488
+ this._flowItems = [...this._flowItems];
489
+ }
490
+ }
491
+ }
492
+ }
493
+ }
220
494
  static get is() { return "crowdsource-reporter"; }
221
495
  static get originalStyleUrls() {
222
496
  return {
@@ -401,6 +675,40 @@ export class CrowdsourceReporter {
401
675
  "text": "esri/views/MapView: https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html"
402
676
  }
403
677
  },
678
+ "layerId": {
679
+ "type": "string",
680
+ "mutable": false,
681
+ "complexType": {
682
+ "original": "string",
683
+ "resolved": "string",
684
+ "references": {}
685
+ },
686
+ "required": false,
687
+ "optional": false,
688
+ "docs": {
689
+ "tags": [],
690
+ "text": "string: Layer id of the feature from URL params"
691
+ },
692
+ "attribute": "layer-id",
693
+ "reflect": false
694
+ },
695
+ "objectId": {
696
+ "type": "string",
697
+ "mutable": false,
698
+ "complexType": {
699
+ "original": "string",
700
+ "resolved": "string",
701
+ "references": {}
702
+ },
703
+ "required": false,
704
+ "optional": false,
705
+ "docs": {
706
+ "tags": [],
707
+ "text": "string: Object id of the feature from URL params"
708
+ },
709
+ "attribute": "object-id",
710
+ "reflect": false
711
+ },
404
712
  "reportButtonText": {
405
713
  "type": "string",
406
714
  "mutable": false,
@@ -616,7 +924,11 @@ export class CrowdsourceReporter {
616
924
  "_flowItems": {},
617
925
  "_sidePanelCollapsed": {},
618
926
  "_translations": {},
619
- "_hasValidLayers": {}
927
+ "_hasValidLayers": {},
928
+ "_selectedLayerName": {},
929
+ "_reportSubmitted": {},
930
+ "_showSubmitCancelButton": {},
931
+ "_featureCreationFailedErrorMsg": {}
620
932
  };
621
933
  }
622
934
  static get events() {
@@ -84,6 +84,7 @@ export class FeatureList {
84
84
  //--------------------------------------------------------------------------
85
85
  /**
86
86
  * Initialize the features list using the selected layer
87
+ * @protected
87
88
  */
88
89
  async initializeFeatureItems() {
89
90
  if (this._selectedLayer) {
@@ -111,6 +112,7 @@ export class FeatureList {
111
112
  /**
112
113
  * On feature click in feature list highlight the feature on the map
113
114
  * @param event feature clicked event
115
+ * @param selectedFeature selected feature graphic
114
116
  * @protected
115
117
  */
116
118
  async featureClicked(event, selectedFeature) {
@@ -26,3 +26,7 @@
26
26
  font-weight: 500;
27
27
  padding: 10px 12px;
28
28
  }
29
+
30
+ .feature-count {
31
+ padding-right: 12px;
32
+ }
@@ -27,6 +27,8 @@ export class LayerList {
27
27
  this.mapView = undefined;
28
28
  this.layers = undefined;
29
29
  this.noLayerErrorMsg = undefined;
30
+ this.showFeatureCount = true;
31
+ this.showNextIcon = false;
30
32
  this._noLayersToDisplay = false;
31
33
  this._mapLayerIds = [];
32
34
  this._isLoading = false;
@@ -34,6 +36,23 @@ export class LayerList {
34
36
  }
35
37
  //--------------------------------------------------------------------------
36
38
  //
39
+ // Watch handlers
40
+ //
41
+ //--------------------------------------------------------------------------
42
+ //--------------------------------------------------------------------------
43
+ //
44
+ // Methods (public)
45
+ //
46
+ //--------------------------------------------------------------------------
47
+ /**
48
+ * Refresh the layer list which will fetch the latest layer count and update the list
49
+ * @returns Promise that resolves when the operation is complete
50
+ */
51
+ async refresh() {
52
+ await this.setLayers();
53
+ }
54
+ //--------------------------------------------------------------------------
55
+ //
37
56
  // Functions (lifecycle)
38
57
  //
39
58
  //--------------------------------------------------------------------------
@@ -58,7 +77,7 @@ export class LayerList {
58
77
  render() {
59
78
  return (h(Fragment, null, this._isLoading && h("calcite-loader", { scale: "m" }), !this._isLoading && this.mapView && this._noLayersToDisplay &&
60
79
  h("calcite-notice", { class: "error-msg", icon: "layers-reference", kind: "danger", open: true }, h("div", { slot: "title" }, this._translations.error), h("div", { slot: "message" }, this.noLayerErrorMsg ? this.noLayerErrorMsg : this._translations.noLayerToDisplayErrorMsg)), !this._isLoading && this.mapView &&
61
- h("calcite-list", null, this.renderLayerList())));
80
+ h("calcite-list", { "selection-appearance": "border", "selection-mode": this.showNextIcon ? "none" : "single-persist" }, this.renderLayerList())));
62
81
  }
63
82
  //--------------------------------------------------------------------------
64
83
  //
@@ -88,18 +107,21 @@ export class LayerList {
88
107
  allMapLayers.forEach(async (eachLayer) => {
89
108
  var _a, _b;
90
109
  //TODO: checking editable condition could be configurable
91
- if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsUpdate)) {
92
- const q = eachLayer.createQuery();
93
- const result = eachLayer.queryFeatureCount(q);
94
- def.push(result);
95
- void result.then(async (resCount) => {
96
- const formattedCount = !isNaN(resCount) ? await formatNumber(resCount, {
97
- places: 0,
98
- api: 4,
99
- type: "decimal"
100
- }) : "";
101
- this._layerItemsHash[eachLayer.id].formattedFeatureCount = formattedCount;
102
- });
110
+ if ((eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.type) === "feature" && (eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.editingEnabled) && ((_b = (_a = eachLayer === null || eachLayer === void 0 ? void 0 : eachLayer.capabilities) === null || _a === void 0 ? void 0 : _a.operations) === null || _b === void 0 ? void 0 : _b.supportsAdd)) {
111
+ this._layerItemsHash[eachLayer.id].supportsAdd = true;
112
+ if (this.showFeatureCount) {
113
+ const q = eachLayer.createQuery();
114
+ const result = eachLayer.queryFeatureCount(q);
115
+ def.push(result);
116
+ void result.then(async (resCount) => {
117
+ const formattedCount = !isNaN(resCount) ? await formatNumber(resCount, {
118
+ places: 0,
119
+ api: 4,
120
+ type: "decimal"
121
+ }) : "";
122
+ this._layerItemsHash[eachLayer.id].formattedFeatureCount = formattedCount;
123
+ });
124
+ }
103
125
  }
104
126
  });
105
127
  await Promise.all(def).then(() => {
@@ -127,9 +149,9 @@ export class LayerList {
127
149
  var _a;
128
150
  const configuredLayers = ((_a = this.layers) === null || _a === void 0 ? void 0 : _a.length) > 0 ? this.layers : [];
129
151
  return Object.keys(hash).reduce((prev, cur) => {
130
- let showLayer = hash[cur].supportsUpdate;
152
+ let showLayer = hash[cur].supportsAdd;
131
153
  if ((configuredLayers === null || configuredLayers === void 0 ? void 0 : configuredLayers.length) > 0) {
132
- showLayer = configuredLayers.indexOf(cur) > -1 ? hash[cur].supportsUpdate : false;
154
+ showLayer = configuredLayers.indexOf(cur) > -1 ? hash[cur].supportsAdd : false;
133
155
  }
134
156
  if (showLayer) {
135
157
  prev.push(cur);
@@ -159,13 +181,13 @@ export class LayerList {
159
181
  getLayerListItem(layerId) {
160
182
  const layerName = this._layerItemsHash[layerId].name;
161
183
  const featureCount = this._layerItemsHash[layerId].formattedFeatureCount;
162
- return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.showFeaturesList(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), featureCount !== "" && h("div", { slot: "content-end" }, "(" + featureCount + ")"), h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
184
+ return (h("calcite-list-item", { onCalciteListItemSelect: () => { this.onLayerItemSelected(layerId); } }, h("div", { class: "layer-name", slot: "content-start" }, layerName), this.showFeatureCount && featureCount !== undefined && featureCount !== "" && h("div", { class: !this.showNextIcon ? "feature-count" : "", slot: "content-end" }, "(" + featureCount + ")"), this.showNextIcon && h("calcite-icon", { icon: "chevron-right", scale: "s", slot: "content-end" })));
163
185
  }
164
- /**On click of layer list item show feature list
186
+ /**On click of layer list item emit the event along with the selected layerId and layerName
165
187
  * @param layerId Layer id
166
188
  * @protected
167
189
  */
168
- showFeaturesList(layerId) {
190
+ onLayerItemSelected(layerId) {
169
191
  this.layerSelect.emit({ layerId, layerName: this._layerItemsHash[layerId].name });
170
192
  }
171
193
  /**
@@ -241,6 +263,42 @@ export class LayerList {
241
263
  },
242
264
  "attribute": "no-layer-error-msg",
243
265
  "reflect": false
266
+ },
267
+ "showFeatureCount": {
268
+ "type": "boolean",
269
+ "mutable": false,
270
+ "complexType": {
271
+ "original": "boolean",
272
+ "resolved": "boolean",
273
+ "references": {}
274
+ },
275
+ "required": false,
276
+ "optional": true,
277
+ "docs": {
278
+ "tags": [],
279
+ "text": "boolean: if true display's feature count for each layer"
280
+ },
281
+ "attribute": "show-feature-count",
282
+ "reflect": false,
283
+ "defaultValue": "true"
284
+ },
285
+ "showNextIcon": {
286
+ "type": "boolean",
287
+ "mutable": false,
288
+ "complexType": {
289
+ "original": "boolean",
290
+ "resolved": "boolean",
291
+ "references": {}
292
+ },
293
+ "required": false,
294
+ "optional": true,
295
+ "docs": {
296
+ "tags": [],
297
+ "text": "boolean: If true display's arrow icon on each layer item"
298
+ },
299
+ "attribute": "show-next-icon",
300
+ "reflect": false,
301
+ "defaultValue": "false"
244
302
  }
245
303
  };
246
304
  }
@@ -285,5 +343,29 @@ export class LayerList {
285
343
  }
286
344
  }];
287
345
  }
346
+ static get methods() {
347
+ return {
348
+ "refresh": {
349
+ "complexType": {
350
+ "signature": "() => Promise<void>",
351
+ "parameters": [],
352
+ "references": {
353
+ "Promise": {
354
+ "location": "global",
355
+ "id": "global::Promise"
356
+ }
357
+ },
358
+ "return": "Promise<void>"
359
+ },
360
+ "docs": {
361
+ "text": "Refresh the layer list which will fetch the latest layer count and update the list",
362
+ "tags": [{
363
+ "name": "returns",
364
+ "text": "Promise that resolves when the operation is complete"
365
+ }]
366
+ }
367
+ }
368
+ };
369
+ }
288
370
  static get elementRef() { return "el"; }
289
371
  }