@esri/solutions-components 0.6.12 → 0.6.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (394) hide show
  1. package/dist/assets/t9n/layer-table/resources.json +4 -3
  2. package/dist/assets/t9n/layer-table/resources_en.json +4 -3
  3. package/dist/assets/t9n/map-layer-picker/resources.json +4 -0
  4. package/dist/assets/t9n/map-layer-picker/resources_en.json +4 -0
  5. package/dist/cjs/basemap-gallery_6.cjs.entry.js +20 -5
  6. package/dist/cjs/buffer-tools_4.cjs.entry.js +1 -1
  7. package/dist/cjs/calcite-chip_3.cjs.entry.js +803 -0
  8. package/dist/cjs/calcite-combobox_6.cjs.entry.js +76 -28
  9. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2 -1
  10. package/dist/cjs/card-manager_3.cjs.entry.js +169 -79
  11. package/dist/cjs/clean-url-d5326abb.js +573 -0
  12. package/dist/cjs/crowdsource-manager.cjs.entry.js +22 -7
  13. package/dist/cjs/{downloadUtils-43f5be48.js → downloadUtils-34a515ad.js} +297 -52
  14. package/dist/cjs/edit-card_2.cjs.entry.js +8 -3
  15. package/dist/cjs/{index.es-8da43c21.js → index.es-0ba11065.js} +3 -2
  16. package/dist/cjs/loader.cjs.js +1 -1
  17. package/dist/cjs/map-select-tools_3.cjs.entry.js +10 -7
  18. package/dist/cjs/{mapViewUtils-a4dd36ec.js → mapViewUtils-a2884698.js} +39 -55
  19. package/dist/cjs/public-notification.cjs.entry.js +7 -6
  20. package/dist/cjs/{publicNotificationStore-b69862af.js → publicNotificationStore-610bd880.js} +0 -4
  21. package/dist/cjs/solution-configuration.cjs.entry.js +44 -43
  22. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -1
  23. package/dist/cjs/{solution-store-3cd104d8.js → solution-store-c443e657.js} +7 -572
  24. package/dist/cjs/solutions-components.cjs.js +1 -1
  25. package/dist/collection/components/basemap-gallery/basemap-gallery.js +23 -1
  26. package/dist/collection/components/card-manager/card-manager.css +0 -5
  27. package/dist/collection/components/card-manager/card-manager.js +3 -3
  28. package/dist/collection/components/crowdsource-manager/crowdsource-manager.css +2 -2
  29. package/dist/collection/components/crowdsource-manager/crowdsource-manager.js +210 -6
  30. package/dist/collection/components/edit-card/edit-card.css +8 -0
  31. package/dist/collection/components/edit-card/edit-card.js +19 -0
  32. package/dist/collection/components/info-card/info-card.css +14 -14
  33. package/dist/collection/components/info-card/info-card.js +1 -1
  34. package/dist/collection/components/layer-table/layer-table.css +12 -0
  35. package/dist/collection/components/layer-table/layer-table.js +215 -69
  36. package/dist/collection/components/map-card/map-card.js +115 -5
  37. package/dist/collection/components/map-layer-picker/map-layer-picker.css +4 -0
  38. package/dist/collection/components/map-layer-picker/map-layer-picker.js +107 -27
  39. package/dist/collection/components/map-picker/map-picker.css +5 -1
  40. package/dist/collection/components/map-picker/map-picker.js +3 -3
  41. package/dist/collection/components/map-tools/map-tools.js +104 -1
  42. package/dist/collection/components/pdf-download/pdf-download.js +34 -6
  43. package/dist/collection/components/public-notification/public-notification.js +3 -3
  44. package/dist/collection/utils/downloadUtils.js +208 -82
  45. package/dist/collection/utils/downloadUtils.ts +257 -85
  46. package/dist/collection/utils/interfaces.ts +12 -1
  47. package/dist/collection/utils/mapViewUtils.js +38 -52
  48. package/dist/collection/utils/mapViewUtils.ts +41 -57
  49. package/dist/collection/utils/publicNotificationStore.js +0 -4
  50. package/dist/collection/utils/publicNotificationStore.ts +0 -4
  51. package/dist/collection/utils/test/downloadUtils.spec.js +163 -134
  52. package/dist/collection/utils/test/downloadUtils.spec.tsx +2 -0
  53. package/dist/components/basemap-gallery2.js +2 -0
  54. package/dist/components/calcite-modal.js +1 -409
  55. package/dist/components/card-manager2.js +4 -4
  56. package/dist/components/clean-url.js +567 -0
  57. package/dist/components/crowdsource-manager.js +42 -17
  58. package/dist/components/downloadUtils.js +295 -50
  59. package/dist/components/edit-card2.js +6 -1
  60. package/dist/components/info-card2.js +2 -2
  61. package/dist/components/layer-table2.js +194 -102
  62. package/dist/components/map-card2.js +17 -5
  63. package/dist/components/map-layer-picker2.js +114 -52
  64. package/dist/components/map-picker2.js +4 -4
  65. package/dist/components/map-select-tools2.js +55 -43
  66. package/dist/components/map-tools2.js +20 -1
  67. package/dist/components/mapViewUtils.js +39 -53
  68. package/dist/components/modal.js +416 -0
  69. package/dist/components/pdf-download2.js +6 -4
  70. package/dist/components/public-notification.js +4 -4
  71. package/dist/components/publicNotificationStore.js +0 -4
  72. package/dist/components/refine-selection2.js +61 -49
  73. package/dist/components/solution-configuration.js +25 -24
  74. package/dist/components/solution-store.js +2 -562
  75. package/dist/esm/{ExpandToggle-86761b28.js → ExpandToggle-e614e3e4.js} +1 -1
  76. package/dist/esm/{ar-4a5375c6.js → ar-2f678abc.js} +8 -8
  77. package/dist/esm/basemap-gallery_6.entry.js +20 -5
  78. package/dist/esm/{bg-b25e4b7a.js → bg-e514c4d7.js} +8 -8
  79. package/dist/esm/{bs-2485dfed.js → bs-81584b09.js} +8 -8
  80. package/dist/esm/buffer-tools_4.entry.js +5 -5
  81. package/dist/esm/{ca-bba36d26.js → ca-e8c40e21.js} +8 -8
  82. package/dist/esm/calcite-accordion-item.entry.js +1 -1
  83. package/dist/esm/calcite-action-bar_3.entry.js +5 -5
  84. package/dist/esm/calcite-action-group_2.entry.js +3 -3
  85. package/dist/esm/calcite-action-pad.entry.js +4 -4
  86. package/dist/esm/calcite-action_2.entry.js +5 -5
  87. package/dist/esm/calcite-alert.entry.js +3 -3
  88. package/dist/esm/calcite-avatar.entry.js +1 -1
  89. package/dist/esm/calcite-block-section.entry.js +3 -3
  90. package/dist/esm/calcite-block.entry.js +3 -3
  91. package/dist/esm/calcite-button.entry.js +5 -5
  92. package/dist/esm/calcite-card.entry.js +3 -3
  93. package/dist/esm/calcite-checkbox.entry.js +3 -3
  94. package/dist/esm/calcite-chip-group.entry.js +1 -1
  95. package/dist/esm/calcite-chip_3.entry.js +797 -0
  96. package/dist/esm/calcite-color-picker-hex-input_2.entry.js +1 -1
  97. package/dist/esm/calcite-color-picker.entry.js +3 -3
  98. package/dist/esm/calcite-combobox-item-group.entry.js +2 -2
  99. package/dist/esm/calcite-combobox_6.entry.js +83 -35
  100. package/dist/esm/calcite-date-picker-day_3.entry.js +3 -3
  101. package/dist/esm/calcite-date-picker.entry.js +5 -5
  102. package/dist/esm/calcite-fab.entry.js +1 -1
  103. package/dist/esm/calcite-filter_3.entry.js +3 -3
  104. package/dist/esm/calcite-flow-item.entry.js +3 -3
  105. package/dist/esm/calcite-icon.entry.js +1 -1
  106. package/dist/esm/calcite-inline-editable.entry.js +4 -4
  107. package/dist/esm/calcite-input-date-picker.entry.js +9 -9
  108. package/dist/esm/calcite-input-number_2.entry.js +5 -5
  109. package/dist/esm/{calcite-input-time-picker-7da2e80a.js → calcite-input-time-picker-fe6e499a.js} +55 -55
  110. package/dist/esm/calcite-input-time-picker.entry.js +8 -8
  111. package/dist/esm/calcite-input-time-zone.entry.js +5 -5
  112. package/dist/esm/calcite-input_2.entry.js +5 -5
  113. package/dist/esm/calcite-label.entry.js +2 -2
  114. package/dist/esm/calcite-link.entry.js +1 -1
  115. package/dist/esm/calcite-menu-item.entry.js +3 -3
  116. package/dist/esm/calcite-menu.entry.js +3 -3
  117. package/dist/esm/calcite-modal.entry.js +4 -4
  118. package/dist/esm/calcite-navigation.entry.js +1 -1
  119. package/dist/esm/calcite-option_2.entry.js +3 -3
  120. package/dist/esm/calcite-pagination.entry.js +3 -3
  121. package/dist/esm/calcite-panel_2.entry.js +3 -3
  122. package/dist/esm/calcite-pick-list-group.entry.js +1 -1
  123. package/dist/esm/calcite-pick-list-item.entry.js +3 -3
  124. package/dist/esm/calcite-pick-list.entry.js +2 -2
  125. package/dist/esm/calcite-radio-button.entry.js +3 -3
  126. package/dist/esm/calcite-rating.entry.js +5 -5
  127. package/dist/esm/calcite-scrim.entry.js +3 -3
  128. package/dist/esm/calcite-segmented-control_2.entry.js +3 -3
  129. package/dist/esm/calcite-shell-center-row.entry.js +1 -1
  130. package/dist/esm/calcite-shell-panel_14.entry.js +7 -6
  131. package/dist/esm/calcite-sortable-list.entry.js +2 -2
  132. package/dist/esm/calcite-stepper-item.entry.js +2 -2
  133. package/dist/esm/calcite-stepper.entry.js +1 -1
  134. package/dist/esm/calcite-switch.entry.js +3 -3
  135. package/dist/esm/calcite-text-area.entry.js +5 -5
  136. package/dist/esm/calcite-tile.entry.js +1 -1
  137. package/dist/esm/calcite-time-picker.entry.js +4 -4
  138. package/dist/esm/calcite-tip-manager.entry.js +3 -3
  139. package/dist/esm/calcite-tip.entry.js +3 -3
  140. package/dist/esm/calcite-tree_3.entry.js +1 -1
  141. package/dist/esm/card-manager_3.entry.js +169 -79
  142. package/dist/esm/clean-url-bce022e6.js +567 -0
  143. package/dist/esm/crowdsource-manager.entry.js +22 -7
  144. package/dist/esm/{cs-1052c5ac.js → cs-af5f115e.js} +8 -8
  145. package/dist/esm/{da-b7ed9204.js → da-06d9e22c.js} +8 -8
  146. package/dist/esm/{date-bd5b879c.js → date-641ae749.js} +1 -1
  147. package/dist/esm/{de-at-a993e5ae.js → de-at-f55a700a.js} +8 -8
  148. package/dist/esm/{de-ch-acff745d.js → de-ch-7307675f.js} +8 -8
  149. package/dist/esm/{de-bb68e752.js → de-dc98363f.js} +8 -8
  150. package/dist/esm/{dom-37f2dec9.js → dom-2b326ec3.js} +1 -1
  151. package/dist/esm/{downloadUtils-42156cd8.js → downloadUtils-ac67a786.js} +297 -52
  152. package/dist/esm/edit-card_2.entry.js +8 -3
  153. package/dist/esm/{el-9de96ff0.js → el-91c64808.js} +8 -8
  154. package/dist/esm/{en-au-f68b6bde.js → en-au-df08cc25.js} +8 -8
  155. package/dist/esm/{en-ca-5360517e.js → en-ca-175f7c0f.js} +8 -8
  156. package/dist/esm/{en-gb-de0b3125.js → en-gb-90a08c7f.js} +8 -8
  157. package/dist/esm/{es-5ecbba77.js → es-5cb54b05.js} +8 -8
  158. package/dist/esm/{es-mx-aa126462.js → es-mx-3a0cb804.js} +8 -8
  159. package/dist/esm/{et-7113eeb8.js → et-eceac6dc.js} +8 -8
  160. package/dist/esm/{fi-ffa60f15.js → fi-26e1c14f.js} +8 -8
  161. package/dist/esm/{floating-ui-7cde67cf.js → floating-ui-9f8e4ed4.js} +1 -1
  162. package/dist/esm/{focusTrapComponent-ec344399.js → focusTrapComponent-ad2c3a31.js} +1 -1
  163. package/dist/esm/{form-24e6ef1d.js → form-0871d2c6.js} +1 -1
  164. package/dist/esm/{fr-681c5bf6.js → fr-12a5b0f7.js} +8 -8
  165. package/dist/esm/{fr-ch-9af1f8b1.js → fr-ch-e3406887.js} +8 -8
  166. package/dist/esm/{he-5188f277.js → he-61eba811.js} +8 -8
  167. package/dist/esm/{hi-6a31e3a4.js → hi-a50282b5.js} +8 -8
  168. package/dist/esm/{hr-0598e59d.js → hr-da8bffaf.js} +8 -8
  169. package/dist/esm/{hu-13cb9f41.js → hu-dab932f1.js} +8 -8
  170. package/dist/esm/{id-7f342499.js → id-de468947.js} +8 -8
  171. package/dist/esm/{index.es-f47c4153.js → index.es-f553598f.js} +3 -2
  172. package/dist/esm/{it-57d790f2.js → it-375d9936.js} +8 -8
  173. package/dist/esm/{it-ch-081af760.js → it-ch-7e663d63.js} +8 -8
  174. package/dist/esm/{ja-3affb68e.js → ja-36dbe39d.js} +8 -8
  175. package/dist/esm/{ko-736632aa.js → ko-858bc871.js} +8 -8
  176. package/dist/esm/{label-b6dfb4d5.js → label-b8caf984.js} +1 -1
  177. package/dist/esm/loader.js +1 -1
  178. package/dist/esm/{locale-146251f7.js → locale-00000ab4.js} +1 -1
  179. package/dist/esm/{lt-e7d9b1c3.js → lt-d6dfa7e4.js} +8 -8
  180. package/dist/esm/{lv-4d1a507e.js → lv-facd25c5.js} +8 -8
  181. package/dist/esm/map-select-tools_3.entry.js +10 -7
  182. package/dist/esm/{mapViewUtils-00a04d52.js → mapViewUtils-8141d8c1.js} +39 -53
  183. package/dist/esm/{mk-f960312d.js → mk-5ed05b6a.js} +8 -8
  184. package/dist/esm/{nb-4556b5e9.js → nb-936fc687.js} +8 -8
  185. package/dist/esm/{nl-8e281c01.js → nl-a923d626.js} +8 -8
  186. package/dist/esm/{pl-1460fd5a.js → pl-b1426275.js} +8 -8
  187. package/dist/esm/{pt-660332b6.js → pt-1ac2453f.js} +8 -8
  188. package/dist/esm/{pt-br-dba48f49.js → pt-br-7194cc5f.js} +8 -8
  189. package/dist/esm/public-notification.entry.js +7 -6
  190. package/dist/esm/{publicNotificationStore-90a6a274.js → publicNotificationStore-dcf39a55.js} +0 -4
  191. package/dist/esm/{ro-ac18f292.js → ro-518aaed1.js} +8 -8
  192. package/dist/esm/{ru-b914f6b7.js → ru-762127a3.js} +8 -8
  193. package/dist/esm/{shared-list-render-cc889757.js → shared-list-render-ec232615.js} +1 -1
  194. package/dist/esm/{sk-1be12963.js → sk-f367b7ba.js} +8 -8
  195. package/dist/esm/{sl-5d47e4e4.js → sl-052fd4d2.js} +8 -8
  196. package/dist/esm/solution-configuration.entry.js +25 -24
  197. package/dist/esm/solution-contents_3.entry.js +2 -1
  198. package/dist/esm/{solution-store-cf902566.js → solution-store-b29d50f7.js} +2 -562
  199. package/dist/esm/solutions-components.js +1 -1
  200. package/dist/esm/{sortableComponent-8a84709a.js → sortableComponent-ebd6bb72.js} +1 -1
  201. package/dist/esm/{sr-3281c92d.js → sr-4dc0fdb9.js} +8 -8
  202. package/dist/esm/{sv-e5169404.js → sv-bdc87a4d.js} +8 -8
  203. package/dist/esm/{t9n-d9c203e4.js → t9n-9791aa0c.js} +1 -1
  204. package/dist/esm/{th-937796b8.js → th-d9df674c.js} +8 -8
  205. package/dist/esm/{time-fa1151aa.js → time-73378c4a.js} +1 -1
  206. package/dist/esm/{tr-6d3b100b.js → tr-61e134eb.js} +8 -8
  207. package/dist/esm/{uk-a6edcacf.js → uk-ea3d8da7.js} +8 -8
  208. package/dist/esm/{utils-667cc396.js → utils-593fafd7.js} +1 -1
  209. package/dist/esm/{utils-24a35b5a.js → utils-bd52db7d.js} +2 -2
  210. package/dist/esm/{vi-bf4c179c.js → vi-ade1c25b.js} +8 -8
  211. package/dist/esm/{zh-cn-de1858cb.js → zh-cn-b8756118.js} +8 -8
  212. package/dist/esm/{zh-hk-12fa404f.js → zh-hk-d18c05d9.js} +8 -8
  213. package/dist/esm/{zh-tw-5c4220e5.js → zh-tw-9c98ff7c.js} +8 -8
  214. package/dist/solutions-components/{p-3b891cc4.entry.js → p-01fea8d5.entry.js} +1 -1
  215. package/dist/solutions-components/{p-65022e7f.entry.js → p-02ff64f4.entry.js} +1 -1
  216. package/dist/solutions-components/p-062254a6.entry.js +6 -0
  217. package/dist/solutions-components/{p-bff158ff.js → p-062d2f9a.js} +1 -1
  218. package/dist/solutions-components/{p-f4e5b7e5.entry.js → p-084bced1.entry.js} +1 -1
  219. package/dist/solutions-components/{p-c261335b.entry.js → p-088e4cfc.entry.js} +1 -1
  220. package/dist/solutions-components/p-08b52ed8.entry.js +6 -0
  221. package/dist/solutions-components/{p-96239d0d.js → p-08e35485.js} +1 -1
  222. package/dist/solutions-components/{p-3d3772fb.js → p-0d14d33a.js} +1 -1
  223. package/dist/solutions-components/{p-7f271c31.js → p-11550b3c.js} +3 -3
  224. package/dist/solutions-components/{p-ad19f9b0.entry.js → p-120c4098.entry.js} +1 -1
  225. package/dist/solutions-components/{p-45419d93.entry.js → p-12bcd474.entry.js} +1 -1
  226. package/dist/solutions-components/{p-bd82849c.entry.js → p-1597ec4b.entry.js} +1 -1
  227. package/dist/solutions-components/p-16362eb4.js +36 -0
  228. package/dist/solutions-components/{p-afb35c95.js → p-17d176b5.js} +14 -43
  229. package/dist/solutions-components/{p-3691a072.js → p-1ab414e0.js} +2 -2
  230. package/dist/solutions-components/{p-127c3866.js → p-1c5787b1.js} +1 -1
  231. package/dist/solutions-components/{p-b97886b3.entry.js → p-1d9a5198.entry.js} +1 -1
  232. package/dist/solutions-components/{p-8e3e1ce8.entry.js → p-1dd5c4e6.entry.js} +1 -1
  233. package/dist/solutions-components/{p-97b69f54.entry.js → p-1e62d118.entry.js} +1 -1
  234. package/dist/solutions-components/{p-537c34a4.entry.js → p-1fae3819.entry.js} +1 -1
  235. package/dist/solutions-components/{p-82f0b25b.js → p-21aa112d.js} +1 -1
  236. package/dist/solutions-components/{p-f8944f59.entry.js → p-252a9a7f.entry.js} +1 -1
  237. package/dist/solutions-components/{p-80ea5869.js → p-26b28806.js} +1 -1
  238. package/dist/solutions-components/{p-dac10448.js → p-280fd963.js} +3 -3
  239. package/dist/solutions-components/{p-79d7f324.js → p-29049359.js} +1 -1
  240. package/dist/solutions-components/{p-c033b8ec.entry.js → p-2b378389.entry.js} +1 -1
  241. package/dist/solutions-components/{p-19ec0463.js → p-2bdd1a5d.js} +1 -1
  242. package/dist/solutions-components/{p-cacfa6ae.js → p-2ee21e9d.js} +1 -1
  243. package/dist/solutions-components/{p-300f4299.js → p-2f42ae51.js} +1 -1
  244. package/dist/solutions-components/{p-418be467.js → p-30b3261c.js} +1 -1
  245. package/dist/solutions-components/{p-4d91443a.entry.js → p-32ba2223.entry.js} +1 -1
  246. package/dist/solutions-components/{p-702c6093.js → p-34673137.js} +1 -1
  247. package/dist/solutions-components/{p-61af54b9.entry.js → p-3566ee69.entry.js} +1 -1
  248. package/dist/solutions-components/{p-90a9126f.js → p-358b9cc8.js} +1 -1
  249. package/dist/solutions-components/p-3a8d82a2.js +11 -0
  250. package/dist/solutions-components/{p-628c170b.entry.js → p-3ab94526.entry.js} +1 -1
  251. package/dist/solutions-components/{p-9791fbf1.entry.js → p-3d7aa1b2.entry.js} +1 -1
  252. package/dist/solutions-components/{p-b1daad7e.js → p-3f7119c1.js} +1 -1
  253. package/dist/solutions-components/{p-f0f5ecb2.js → p-3fcd035e.js} +1 -1
  254. package/dist/solutions-components/{p-3766be72.js → p-419c9d89.js} +1 -1
  255. package/dist/solutions-components/p-453d1b31.entry.js +6 -0
  256. package/dist/solutions-components/{p-337f6adf.js → p-46918548.js} +1 -1
  257. package/dist/solutions-components/p-49e9e4e3.js +12 -0
  258. package/dist/solutions-components/p-4d942b0f.entry.js +36 -0
  259. package/dist/solutions-components/{p-85e0d2a3.js → p-4fc92419.js} +1 -1
  260. package/dist/solutions-components/{p-0d08a75d.entry.js → p-52afbe07.entry.js} +1 -1
  261. package/dist/solutions-components/{p-9391bb74.js → p-573d0763.js} +1 -1
  262. package/dist/solutions-components/p-57cf6784.entry.js +6 -0
  263. package/dist/solutions-components/{p-87971116.entry.js → p-59ef9461.entry.js} +1 -1
  264. package/dist/solutions-components/{p-25718b9f.entry.js → p-5e5749c0.entry.js} +1 -1
  265. package/dist/solutions-components/{p-54064b61.entry.js → p-5ff22d2e.entry.js} +1 -1
  266. package/dist/solutions-components/{p-4bd793ef.entry.js → p-617f32a0.entry.js} +1 -1
  267. package/dist/solutions-components/p-64b22d57.entry.js +6 -0
  268. package/dist/solutions-components/{p-747a1293.js → p-6510c06c.js} +1 -1
  269. package/dist/solutions-components/p-654dd5df.entry.js +6 -0
  270. package/dist/solutions-components/{p-1f69762c.js → p-65ba4d10.js} +1 -1
  271. package/dist/solutions-components/{p-4cb7cdb7.entry.js → p-65ffe4b0.entry.js} +1 -1
  272. package/dist/solutions-components/{p-1b4d6511.js → p-68007503.js} +1 -1
  273. package/dist/solutions-components/{p-e849d2ba.entry.js → p-6ba8483c.entry.js} +2 -2
  274. package/dist/solutions-components/{p-9961a2f9.entry.js → p-6c8c7b98.entry.js} +2 -2
  275. package/dist/solutions-components/{p-ff863f3d.entry.js → p-6e5d9ae9.entry.js} +1 -1
  276. package/dist/solutions-components/{p-b6a1c34f.entry.js → p-6ebf870c.entry.js} +1 -1
  277. package/dist/solutions-components/{p-d2d3e4b5.js → p-72f34a0a.js} +1 -1
  278. package/dist/solutions-components/{p-981fc8e4.entry.js → p-7359a6ac.entry.js} +1 -1
  279. package/dist/solutions-components/{p-9abb1c4c.entry.js → p-73fe6f7e.entry.js} +1 -1
  280. package/dist/solutions-components/{p-62e3adbb.js → p-7452d79a.js} +1 -1
  281. package/dist/solutions-components/{p-34169501.js → p-76c2c379.js} +1 -1
  282. package/dist/solutions-components/{p-941721ba.js → p-788aa5d7.js} +1 -1
  283. package/dist/solutions-components/{p-557d4cc5.js → p-79cc0531.js} +2 -2
  284. package/dist/solutions-components/{p-a19d8147.js → p-7a0fa011.js} +1 -1
  285. package/dist/solutions-components/{p-019fe9fe.entry.js → p-7a55cee6.entry.js} +3 -3
  286. package/dist/solutions-components/{p-48329056.entry.js → p-7bc63171.entry.js} +1 -1
  287. package/dist/solutions-components/{p-e7304151.entry.js → p-81664d83.entry.js} +1 -1
  288. package/dist/solutions-components/{p-9504c1b7.js → p-8354f486.js} +1 -1
  289. package/dist/solutions-components/{p-f812e3ee.entry.js → p-84dff306.entry.js} +1 -1
  290. package/dist/solutions-components/{p-a59dba2f.js → p-8594fe6b.js} +1 -1
  291. package/dist/solutions-components/{p-ae3ec77d.js → p-8b2d396e.js} +1 -1
  292. package/dist/solutions-components/{p-38cc8a4d.js → p-8ec6ea34.js} +1 -1
  293. package/dist/solutions-components/{p-da760d1d.entry.js → p-8ee00658.entry.js} +1 -1
  294. package/dist/solutions-components/{p-38211628.js → p-905fcf73.js} +1 -1
  295. package/dist/solutions-components/{p-e502ccce.entry.js → p-929909bc.entry.js} +1 -1
  296. package/dist/solutions-components/{p-dd5f68f2.js → p-948b5722.js} +1 -1
  297. package/dist/solutions-components/{p-39fe9a4c.js → p-956f3207.js} +1 -1
  298. package/dist/solutions-components/{p-f7aa542c.js → p-96287d23.js} +1 -1
  299. package/dist/solutions-components/{p-68630513.entry.js → p-964c0e7d.entry.js} +1 -1
  300. package/dist/solutions-components/{p-b09d8c0e.entry.js → p-98051370.entry.js} +1 -1
  301. package/dist/solutions-components/{p-efd70bf7.entry.js → p-9a94f48c.entry.js} +2 -2
  302. package/dist/solutions-components/{p-318790b8.js → p-9b94501c.js} +1 -1
  303. package/dist/solutions-components/{p-69e26726.js → p-9d4467a3.js} +1 -1
  304. package/dist/solutions-components/{p-f6cf9943.js → p-9e3c9cd2.js} +1 -1
  305. package/dist/solutions-components/{p-30542275.js → p-9fd59203.js} +1 -1
  306. package/dist/solutions-components/{p-d902b790.js → p-a201bffc.js} +1 -1
  307. package/dist/solutions-components/{p-89cbb86a.js → p-a26711e8.js} +3 -3
  308. package/dist/solutions-components/{p-1552c479.entry.js → p-a3729795.entry.js} +1 -1
  309. package/dist/solutions-components/{p-ae4ad673.entry.js → p-a47ed290.entry.js} +2 -2
  310. package/dist/solutions-components/{p-ca5be55f.entry.js → p-a5ef322f.entry.js} +2 -2
  311. package/dist/solutions-components/{p-3658ebd8.entry.js → p-a97e8d6a.entry.js} +1 -1
  312. package/dist/solutions-components/{p-2937523d.js → p-aaea9203.js} +1 -1
  313. package/dist/solutions-components/{p-b7093e6d.entry.js → p-ad1d56b1.entry.js} +1 -1
  314. package/dist/solutions-components/{p-0ca528ec.js → p-adeb0e8f.js} +1 -1
  315. package/dist/solutions-components/{p-31d2a105.entry.js → p-af63959a.entry.js} +1 -1
  316. package/dist/solutions-components/{p-fbd71543.entry.js → p-b1125581.entry.js} +2 -2
  317. package/dist/solutions-components/p-b1c8c6d7.entry.js +6 -0
  318. package/dist/solutions-components/{p-b029c6d8.js → p-b20a31c8.js} +1 -1
  319. package/dist/solutions-components/{p-71400268.js → p-b81131b3.js} +1 -1
  320. package/dist/solutions-components/{p-cc624b0c.entry.js → p-b89c5865.entry.js} +1 -1
  321. package/dist/solutions-components/{p-245d667e.js → p-b9b52743.js} +1 -1
  322. package/dist/solutions-components/p-b9d29f30.entry.js +6 -0
  323. package/dist/solutions-components/{p-0870f436.entry.js → p-ba99e562.entry.js} +1 -1
  324. package/dist/solutions-components/{p-2d614afc.js → p-bc548c06.js} +1 -1
  325. package/dist/solutions-components/{p-29b2f046.js → p-bccbdeb5.js} +1 -1
  326. package/dist/solutions-components/{p-f72e0965.entry.js → p-bd318e33.entry.js} +1 -1
  327. package/dist/solutions-components/{p-74aa84f6.js → p-bd766e49.js} +1 -1
  328. package/dist/solutions-components/{p-9b75102b.entry.js → p-c073d2d6.entry.js} +1 -1
  329. package/dist/solutions-components/p-c6b7e7ff.js +11 -0
  330. package/dist/solutions-components/{p-0503c78d.js → p-c8d0ce92.js} +44 -29
  331. package/dist/solutions-components/{p-dc80cb69.entry.js → p-ca0b3a2b.entry.js} +1 -1
  332. package/dist/solutions-components/{p-e9fcf408.js → p-d5228aed.js} +1 -1
  333. package/dist/solutions-components/{p-80b87453.js → p-d98caa4c.js} +1 -1
  334. package/dist/solutions-components/{p-45b829b5.js → p-dd9c065e.js} +1 -1
  335. package/dist/solutions-components/{p-05b2bdf9.js → p-dedc167c.js} +1 -1
  336. package/dist/solutions-components/{p-a16feeec.js → p-e4f9b782.js} +1 -1
  337. package/dist/solutions-components/{p-ac1bd870.entry.js → p-e572a692.entry.js} +1 -1
  338. package/dist/solutions-components/{p-74521615.entry.js → p-e5dda947.entry.js} +1 -1
  339. package/dist/solutions-components/{p-d793ec96.entry.js → p-e76949eb.entry.js} +5 -5
  340. package/dist/solutions-components/{p-bbfc2724.js → p-e7fbf2fe.js} +1 -1
  341. package/dist/solutions-components/{p-dda325a4.entry.js → p-e9ba0c7f.entry.js} +1 -1
  342. package/dist/solutions-components/{p-75e707d1.js → p-eb60ec2a.js} +1 -1
  343. package/dist/solutions-components/p-ecc95259.js +20 -0
  344. package/dist/solutions-components/{p-85791b16.entry.js → p-ee144348.entry.js} +1 -1
  345. package/dist/solutions-components/p-ee7e2f00.entry.js +34 -0
  346. package/dist/solutions-components/{p-4b4559f9.js → p-f03bed0c.js} +1 -1
  347. package/dist/solutions-components/{p-7a11983d.js → p-f5028a8e.js} +1 -1
  348. package/dist/solutions-components/{p-fb23ba4a.entry.js → p-f50cf603.entry.js} +1 -1
  349. package/dist/solutions-components/{p-f7b520ae.js → p-f7d8b6b3.js} +1 -1
  350. package/dist/solutions-components/{p-792fcd62.entry.js → p-fb0f2016.entry.js} +1 -1
  351. package/dist/solutions-components/solutions-components.esm.js +1 -1
  352. package/dist/solutions-components/utils/downloadUtils.ts +257 -85
  353. package/dist/solutions-components/utils/interfaces.ts +12 -1
  354. package/dist/solutions-components/utils/mapViewUtils.ts +41 -57
  355. package/dist/solutions-components/utils/publicNotificationStore.ts +0 -4
  356. package/dist/solutions-components/utils/test/downloadUtils.spec.tsx +2 -0
  357. package/dist/types/components/basemap-gallery/basemap-gallery.d.ts +5 -0
  358. package/dist/types/components/crowdsource-manager/crowdsource-manager.d.ts +45 -1
  359. package/dist/types/components/edit-card/edit-card.d.ts +8 -0
  360. package/dist/types/components/layer-table/layer-table.d.ts +82 -26
  361. package/dist/types/components/map-card/map-card.d.ts +25 -1
  362. package/dist/types/components/map-layer-picker/map-layer-picker.d.ts +50 -3
  363. package/dist/types/components/map-picker/map-picker.d.ts +2 -2
  364. package/dist/types/components/map-tools/map-tools.d.ts +21 -1
  365. package/dist/types/components/pdf-download/pdf-download.d.ts +4 -2
  366. package/dist/types/components.d.ts +218 -4
  367. package/dist/types/preact.d.ts +6 -3
  368. package/dist/types/utils/downloadUtils.d.ts +34 -16
  369. package/dist/types/utils/interfaces.d.ts +10 -1
  370. package/dist/types/utils/mapViewUtils.d.ts +8 -24
  371. package/dist/types/utils/publicNotificationStore.d.ts +0 -2
  372. package/package.json +8 -9
  373. package/dist/cjs/calcite-chip.cjs.entry.js +0 -259
  374. package/dist/cjs/calcite-notice.cjs.entry.js +0 -139
  375. package/dist/cjs/calcite-tooltip.cjs.entry.js +0 -439
  376. package/dist/esm/calcite-chip.entry.js +0 -255
  377. package/dist/esm/calcite-notice.entry.js +0 -135
  378. package/dist/esm/calcite-tooltip.entry.js +0 -435
  379. package/dist/solutions-components/p-06712292.js +0 -11
  380. package/dist/solutions-components/p-0a0c3764.js +0 -11
  381. package/dist/solutions-components/p-12a7c2db.entry.js +0 -6
  382. package/dist/solutions-components/p-1a47516a.entry.js +0 -22
  383. package/dist/solutions-components/p-2cff8331.entry.js +0 -6
  384. package/dist/solutions-components/p-3a7cd2b0.entry.js +0 -37
  385. package/dist/solutions-components/p-3e9fc0aa.entry.js +0 -11
  386. package/dist/solutions-components/p-712ea336.entry.js +0 -11
  387. package/dist/solutions-components/p-767002cd.js +0 -36
  388. package/dist/solutions-components/p-8e9d9e6a.js +0 -12
  389. package/dist/solutions-components/p-97088307.entry.js +0 -6
  390. package/dist/solutions-components/p-a16e6f5f.entry.js +0 -6
  391. package/dist/solutions-components/p-d118a76e.entry.js +0 -6
  392. package/dist/solutions-components/p-d54c2dfd.entry.js +0 -6
  393. package/dist/solutions-components/p-d7d466e8.entry.js +0 -6
  394. package/dist/solutions-components/p-ffbe89cf.entry.js +0 -6
@@ -9,13 +9,14 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  const index = require('./index-ee37804b.js');
11
11
  const locale = require('./locale-67f5f6b6.js');
12
- const mapViewUtils = require('./mapViewUtils-a4dd36ec.js');
12
+ const mapViewUtils = require('./mapViewUtils-a2884698.js');
13
13
  const loadModules = require('./loadModules-f6df8d6a.js');
14
- const downloadUtils = require('./downloadUtils-43f5be48.js');
14
+ const downloadUtils = require('./downloadUtils-34a515ad.js');
15
15
  require('./_commonjsHelpers-384729db.js');
16
16
  require('./interfaces-000be6de.js');
17
+ require('./clean-url-d5326abb.js');
17
18
 
18
- const cardManagerCss = ":host{display:block !important}.display-flex{display:flex}.display-none{display:none}.w-100{width:100%}.padding-bottom-1{padding-bottom:1rem}.padding-1{padding:1rem}.position-relative{position:relative}.focus-margin{margin:1px 1px 0px 1px}.overflow-auto{overflow:auto}.border-rounded{border:1px solid var(--calcite-ui-border-2);border-radius:5px}.height-full{height:100%}card-manager{display:block}";
19
+ const cardManagerCss = ":host{display:block !important}.display-flex{display:flex}.display-none{display:none}.w-100{width:100%}.padding-bottom-1{padding-bottom:1rem}.padding-1{padding:1rem}.position-relative{position:relative}.focus-margin{margin:1px 1px 0px 1px}.overflow-auto{overflow:auto}.height-full{height:100%}card-manager{display:block}";
19
20
 
20
21
  const CardManager = class {
21
22
  constructor(hostRef) {
@@ -58,7 +59,7 @@ const CardManager = class {
58
59
  */
59
60
  async layerSelectionChange(evt) {
60
61
  const id = evt.detail[0];
61
- this.layer = await mapViewUtils.getLayer(this.mapView, id);
62
+ this.layer = await mapViewUtils.getLayerOrTable(this.mapView, id);
62
63
  }
63
64
  //--------------------------------------------------------------------------
64
65
  //
@@ -80,7 +81,7 @@ const CardManager = class {
80
81
  var _a, _b;
81
82
  const featuresClass = ((_a = this._graphics) === null || _a === void 0 ? void 0 : _a.length) > 0 ? "" : "display-none";
82
83
  const messageClass = ((_b = this._graphics) === null || _b === void 0 ? void 0 : _b.length) > 0 ? "display-none" : "";
83
- return (index.h(index.Host, null, index.h("div", { class: "border-rounded overflow-auto height-full" }, index.h("calcite-shell", { class: "position-relative " + featuresClass }, index.h("div", null, index.h("info-card", { graphics: this._graphics, isLoading: this._cardLoading, mapView: this.mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))), index.h("div", { class: "padding-1 " + messageClass }, index.h("calcite-notice", { icon: "table", open: true }, index.h("div", { slot: "message" }, this._translations.selectFeaturesToStart))))));
84
+ return (index.h(index.Host, null, index.h("div", { class: "overflow-auto height-full" }, index.h("calcite-shell", { class: "position-relative " + featuresClass }, index.h("div", null, index.h("info-card", { graphics: this._graphics, isLoading: this._cardLoading, mapView: this.mapView, zoomAndScrollToSelected: this.zoomAndScrollToSelected }))), index.h("div", { class: "padding-1 " + messageClass }, index.h("calcite-notice", { icon: "table", open: true }, index.h("div", { slot: "message" }, this._translations.selectFeaturesToStart))))));
84
85
  }
85
86
  //--------------------------------------------------------------------------
86
87
  //
@@ -101,7 +102,7 @@ const CardManager = class {
101
102
  };
102
103
  CardManager.style = cardManagerCss;
103
104
 
104
- const layerTableCss = ":host{display:block}.height-full{height:100%}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-ui-border-2)}.border-end{border-inline-end:1px solid var(--calcite-ui-border-2)}.padding-5{padding:5px}.height-51{height:51px}.bottom-left{position:absolute;left:0;bottom:0}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0}.background{background-color:var(--calcite-ui-background)}.text-color{color:var(--calcite-ui-text-1)}";
105
+ const layerTableCss = ":host{display:block}.height-full{height:100%}.width-full{width:100%}.display-flex{display:flex}.table-border{border:1px solid var(--calcite-ui-border-2)}.border-end{border-inline-end:1px solid var(--calcite-ui-border-2)}.padding-5{padding:5px}.padding-end-1{padding-inline-end:1rem}.height-51{height:51px}.bottom-left{position:absolute;left:0;bottom:0}html[dir=\"rtl\"] .bottom-left{position:absolute;right:0;bottom:0}.background{background-color:var(--calcite-ui-background)}.text-color{color:var(--calcite-ui-text-1)}.align-center{align-items:center}.danger-color{color:var(--calcite-ui-danger)}";
105
106
 
106
107
  const LayerTable = class {
107
108
  constructor(hostRef) {
@@ -126,12 +127,16 @@ const LayerTable = class {
126
127
  this.onTableNodeCreate = (node) => {
127
128
  this._tableNode = node;
128
129
  };
130
+ this.enableAutoRefresh = undefined;
131
+ this.enableInlineEdit = undefined;
129
132
  this.mapInfo = undefined;
130
133
  this.mapView = undefined;
134
+ this.onlyShowUpdatableLayers = undefined;
131
135
  this.showNewestFirst = undefined;
132
136
  this.zoomAndScrollToSelected = undefined;
133
137
  this._alertOpen = false;
134
138
  this._fetchingData = false;
139
+ this._isDeleting = false;
135
140
  this._layer = undefined;
136
141
  this._selectedIndexes = [];
137
142
  this._showOnlySelected = false;
@@ -147,13 +152,12 @@ const LayerTable = class {
147
152
  * watch for changes in map view and get the first layer
148
153
  */
149
154
  async mapViewWatchHandler() {
150
- this._fetchingData = true;
151
- const mapLayerIds = await mapViewUtils.getMapLayerIds(this.mapView);
152
- this._layer = await mapViewUtils.getLayer(this.mapView, mapLayerIds[0]);
153
- this.reactiveUtils.on(() => this.mapView, "click", (event) => {
155
+ if (this._mapClickHandle) {
156
+ this._mapClickHandle.remove();
157
+ }
158
+ this._mapClickHandle = this.reactiveUtils.on(() => this.mapView, "click", (event) => {
154
159
  void this._mapClicked(event);
155
160
  });
156
- this._fetchingData = false;
157
161
  }
158
162
  /**
159
163
  * watch for changes in layer view and verify if it has editing enabled
@@ -210,6 +214,22 @@ const LayerTable = class {
210
214
  }
211
215
  }
212
216
  }
217
+ /**
218
+ * Refresh the table when edits are completed
219
+ *
220
+ */
221
+ editsComplete() {
222
+ this._refresh();
223
+ }
224
+ /**
225
+ * Refresh the table when edits are completed
226
+ *
227
+ */
228
+ noLayersFound() {
229
+ this._layer = undefined;
230
+ this._allIds = [];
231
+ this._clearSelection();
232
+ }
213
233
  //--------------------------------------------------------------------------
214
234
  //
215
235
  // Functions (lifecycle)
@@ -228,17 +248,13 @@ const LayerTable = class {
228
248
  * Renders the component.
229
249
  */
230
250
  render() {
231
- if (!this._layer) {
232
- return null;
233
- }
234
251
  const tableNodeClass = this._fetchingData ? "display-none" : "";
235
252
  const loadingClass = this._fetchingData ? "" : "display-none";
236
- const alertActionClass = this._alertShowAction ? "" : "display-none";
237
253
  const total = this._allIds.length.toString();
238
254
  const selected = this._selectedIndexes.length.toString();
239
255
  return (index.h(index.Host, null, index.h("calcite-shell", null, this._getTableControlRow("header"), index.h("div", { class: "height-full width-full" }, index.h("calcite-panel", { class: "height-full width-full" }, index.h("calcite-loader", { class: loadingClass, label: this._translations.fetchingData, scale: "l" }), index.h("div", { class: tableNodeClass, ref: this.onTableNodeCreate })), index.h("div", { class: "bottom-left background text-color" }, this._translations.recordsSelected
240
256
  .replace("{{total}}", total)
241
- .replace("{{selected}}", selected))), index.h("calcite-alert", { icon: this._alertIcon, kind: this._alertKind, label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen, placement: "top" }, index.h("div", { slot: "title" }, this._alertTitle), index.h("div", { slot: "message" }, this._alertMessage), index.h("calcite-link", { class: alertActionClass, onClick: this._alertActionFunction, slot: "link" }, this._alertActionText)))));
257
+ .replace("{{selected}}", selected))), this._getEditDisabledWarning()), this._deleteMessage()));
242
258
  }
243
259
  //--------------------------------------------------------------------------
244
260
  //
@@ -269,9 +285,37 @@ const LayerTable = class {
269
285
  */
270
286
  _getTableControlRow(slot) {
271
287
  const featuresSelected = this._selectedIndexes.length > 0;
272
- return (index.h("div", { class: "display-flex table-border height-51", slot: slot }, index.h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, index.h("div", { class: "border-end" }, index.h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), placeholderIcon: "layers", scale: "l", type: "dropdown" })), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "magnifying-glass", id: "magnifying-glass", label: this._translations.zoom, onClick: () => this._zoom(), text: this._translations.zoom, textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "magnifying-glass" }, index.h("span", null, this._translations.zoom)), index.h("calcite-action", { appearance: "solid", icon: "filter", id: "filter", onClick: () => this._filter(), text: this._translations.filters, "text-enabled": "true", textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "filter" }, index.h("span", null, this._translations.filters)), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, id: "trash", onClick: () => this._delete(), text: "" }, index.h("calcite-button", { appearance: "transparent", iconStart: "trash", kind: "danger" }, this._translations.delete)), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "trash" }, index.h("span", null, this._translations.delete)), index.h("calcite-action", { appearance: "solid", disabled: !featuresSelected, icon: "erase", id: "erase", onClick: () => this._clearSelection(), text: this._translations.clearSelection, "text-enabled": "true", textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": "erase" }, index.h("span", null, this._translations.clearSelection))), index.h("calcite-dropdown", null, index.h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, index.h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), index.h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
288
+ return (index.h("div", { class: "display-flex table-border height-51", slot: slot }, index.h("calcite-action-bar", { expandDisabled: true, expanded: true, layout: "horizontal" }, index.h("div", { class: "border-end" }, index.h("map-layer-picker", { appearance: "transparent", mapView: this.mapView, onLayerSelectionChange: (evt) => this._layerSelectionChanged(evt), onlyShowUpdatableLayers: this.onlyShowUpdatableLayers, placeholderIcon: "layers", scale: "l", type: "dropdown" })), this._getAction("zoom-to-object", this._translations.zoom, () => this._zoom(), !featuresSelected), this._getAction("filter", this._translations.filters, () => this._filter(), false), this._deleteEnabled ? this._getDangerAction("trash", this._translations.delete, () => this._delete(), !featuresSelected) : undefined, this._getAction("erase", this._translations.clearSelection, () => this._clearSelection(), !featuresSelected)), index.h("calcite-dropdown", { disabled: this._layer === undefined }, index.h("calcite-action", { appearance: "solid", label: "", slot: "trigger", text: "" }, index.h("calcite-button", { appearance: "transparent", iconEnd: "chevron-down", kind: "neutral" }, this._translations.more)), index.h("calcite-dropdown-group", { "selection-mode": "none" }, index.h("calcite-dropdown-item", { iconStart: "list-check-all", onClick: () => this._selectAll() }, this._translations.selectAll), index.h("calcite-dropdown-item", { iconStart: "selected-items-filter", onClick: () => this._toggleShowSelected() }, this._showOnlySelected ? this._translations.showAll :
273
289
  this._translations.showSelected), index.h("calcite-dropdown-item", { iconStart: "compare", onClick: () => this._switchSelected() }, this._translations.switchSelected), index.h("calcite-dropdown-item", { iconStart: "refresh", onClick: () => this._refresh() }, this._translations.refresh), index.h("calcite-dropdown-item", { iconStart: "export", onClick: () => void this._exportToCSV() }, this._translations.exportCSV)))));
274
290
  }
291
+ /**
292
+ * Get an action and tooltip
293
+ *
294
+ * @param icon string the name of the icon to display, will also be used as the id
295
+ * @param label string the text to display and label the action
296
+ * @param func any the function to execute
297
+ * @param disabled boolean when true the user will not be able to interact with the action
298
+ *
299
+ * @returns VNode The node representing the DOM element that will contain the action
300
+ */
301
+ _getAction(icon, label, func, disabled) {
302
+ const _disabled = this._layer === undefined ? true : disabled;
303
+ return (index.h("div", { class: "display-flex" }, index.h("calcite-action", { appearance: "solid", disabled: _disabled, icon: icon, id: icon, label: label, onClick: func, text: label, textEnabled: true }), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, index.h("span", null, label))));
304
+ }
305
+ /**
306
+ * Get an action with danger color icon and text
307
+ *
308
+ * @param icon string the name of the icon to display, will also be used as the id
309
+ * @param label string the text to display and label the action
310
+ * @param func any the function to execute
311
+ * @param disabled boolean when true the user will not be able to interact with the action
312
+ *
313
+ * @returns VNode The node representing the DOM element that will contain the action
314
+ */
315
+ _getDangerAction(icon, label, func, disabled) {
316
+ const _disabled = this._layer === undefined ? true : disabled;
317
+ return (index.h("div", { class: "display-flex" }, index.h("calcite-action", { appearance: "solid", disabled: _disabled, id: icon, onClick: func, text: "" }, index.h("calcite-button", { appearance: "transparent", iconStart: icon, kind: "danger" }, label)), index.h("calcite-tooltip", { label: "", placement: "bottom", "reference-element": icon }, index.h("span", null, label))));
318
+ }
275
319
  /**
276
320
  * Initialize the FeatureTable
277
321
  *
@@ -281,11 +325,12 @@ const LayerTable = class {
281
325
  */
282
326
  async _getTable(node, columnTemplates) {
283
327
  if (this._layer) {
284
- await this._layer.when(async () => {
328
+ await this._layer.when(() => {
285
329
  this._table = new this.FeatureTable({
330
+ autoRefreshEnabled: this.enableAutoRefresh,
286
331
  layer: this._layer,
287
332
  view: this.mapView,
288
- //editingEnabled: this._editEnabled,
333
+ editingEnabled: this._editEnabled && this.enableInlineEdit,
289
334
  highlightEnabled: true,
290
335
  multiSortEnabled: false,
291
336
  visibleElements: {
@@ -297,24 +342,25 @@ const LayerTable = class {
297
342
  },
298
343
  container: node
299
344
  });
300
- await this._table.when(async () => {
301
- this._table.highlightIds.on("change", () => {
302
- this._selectedIndexes = this._table.highlightIds.toArray();
303
- if (this._showOnlySelected) {
304
- if (this._selectedIndexes.length > 0) {
305
- this._table.filterBySelection();
306
- }
307
- else {
308
- this._toggleShowSelected();
309
- }
345
+ });
346
+ this._checkEditEnabled();
347
+ await this._table.when(() => {
348
+ this._table.highlightIds.on("change", () => {
349
+ this._selectedIndexes = this._table.highlightIds.toArray();
350
+ if (this._showOnlySelected) {
351
+ if (this._selectedIndexes.length > 0) {
352
+ this._table.filterBySelection();
310
353
  }
311
- this.featureSelectionChange.emit(this._selectedIndexes);
312
- });
313
- this.reactiveUtils.watch(() => this._table.activeSortOrders, (sortOrders) => {
314
- var _a, _b, _c, _d;
315
- this._sortActive = (sortOrders.length > 0 && ((_a = sortOrders[0]) === null || _a === void 0 ? void 0 : _a.direction) === "asc" || ((_b = sortOrders[0]) === null || _b === void 0 ? void 0 : _b.direction) === "desc") ||
316
- ((_c = sortOrders[0]) === null || _c === void 0 ? void 0 : _c.direction) === null && ((_d = sortOrders[0]) === null || _d === void 0 ? void 0 : _d.fieldName) === this._layer.objectIdField;
317
- });
354
+ else {
355
+ this._toggleShowSelected();
356
+ }
357
+ }
358
+ this.featureSelectionChange.emit(this._selectedIndexes);
359
+ });
360
+ this.reactiveUtils.watch(() => this._table.activeSortOrders, (sortOrders) => {
361
+ var _a, _b, _c, _d;
362
+ this._sortActive = this._layer ? (sortOrders.length > 0 && ((_a = sortOrders[0]) === null || _a === void 0 ? void 0 : _a.direction) === "asc" || ((_b = sortOrders[0]) === null || _b === void 0 ? void 0 : _b.direction) === "desc") ||
363
+ ((_c = sortOrders[0]) === null || _c === void 0 ? void 0 : _c.direction) === null && ((_d = sortOrders[0]) === null || _d === void 0 ? void 0 : _d.fieldName) === this._layer.objectIdField : false;
318
364
  });
319
365
  });
320
366
  }
@@ -325,22 +371,41 @@ const LayerTable = class {
325
371
  * @returns void
326
372
  */
327
373
  async _resetTable() {
328
- if (this._layer && this._table) {
374
+ if (this._table) {
329
375
  this._clearSelection();
330
376
  this._allIds = [];
331
377
  this.featureSelectionChange.emit(this._selectedIndexes);
332
- const columnTemplates = this._getColumnTemplates(this._layer.id);
333
- this._table.layer = this._layer;
334
- this._table.tableTemplate.columnTemplates = columnTemplates;
335
- this._editEnabled = this._layer.editingEnabled;
336
- this._table.view = this.mapView;
337
- this._table.editingEnabled = this._editEnabled;
338
- this._table.clearSelectionFilter();
339
- this._showOnlySelected = false;
340
- this._sortActive = false;
341
- await this._sortTable();
378
+ if (this._layer) {
379
+ await this._layer.when(() => {
380
+ const columnTemplates = this._getColumnTemplates(this._layer.id);
381
+ this._table.layer = this._layer;
382
+ this._table.tableTemplate.columnTemplates = columnTemplates;
383
+ this._table.view = this.mapView;
384
+ this._checkEditEnabled();
385
+ this._table.editingEnabled = this._editEnabled && this.enableInlineEdit;
386
+ });
387
+ await this._table.when(() => {
388
+ this._table.clearSelectionFilter();
389
+ });
390
+ this._showOnlySelected = false;
391
+ this._sortActive = false;
392
+ await this._sortTable();
393
+ }
394
+ else {
395
+ this._table.view = this.mapView;
396
+ this._table.layer = this._layer;
397
+ }
342
398
  }
343
399
  }
400
+ /**
401
+ * Verify edit capabilities of the layer
402
+ *
403
+ * @returns void
404
+ */
405
+ _checkEditEnabled() {
406
+ this._editEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsUpdate;
407
+ this._deleteEnabled = this._layer.editingEnabled && this._layer.capabilities.operations.supportsDelete;
408
+ }
344
409
  /**
345
410
  * Sort the objectid field in descending order
346
411
  *
@@ -350,15 +415,48 @@ const LayerTable = class {
350
415
  if (this._table && this._layer && !this._sortActive) {
351
416
  if (!this._tableSorting && this.showNewestFirst) {
352
417
  this._tableSorting = true;
353
- await this._table.when(async () => {
354
- await this._layer.when(async () => {
355
- this._table.sortColumn(this._layer.objectIdField, "desc");
356
- this._tableSorting = false;
357
- });
418
+ await this._table.when();
419
+ await this._layer.when(() => {
420
+ this._table.sortColumn(this._layer.objectIdField, "desc");
421
+ this._tableSorting = false;
358
422
  });
359
423
  }
360
424
  }
361
425
  }
426
+ /**
427
+ * Show warning when editing is disabled
428
+ *
429
+ * @returns node with warning message
430
+ */
431
+ _getEditDisabledWarning() {
432
+ return (index.h("calcite-alert", { icon: "layer-broken", kind: "warning", label: "", onCalciteAlertClose: () => this._alertClosed(), open: this._alertOpen && !this._confirmDelete, placement: "top" }, index.h("div", { slot: "title" }, this._translations.deleteDisabled), index.h("div", { slot: "message" }, this._translations.enableEditing)));
433
+ }
434
+ /**
435
+ * Show delete confirmation message
436
+ *
437
+ * @returns node to confirm or deny the delete operation
438
+ */
439
+ _deleteMessage() {
440
+ return (index.h("calcite-modal", { "aria-labelledby": "modal-title", kind: "danger", open: this._confirmDelete }, index.h("div", { class: "display-flex align-center", id: "modal-title", slot: "header" }, index.h("calcite-icon", { "aria-hidden": "true", class: "padding-end-1 danger-color", icon: "exclamation-mark-triangle", scale: "m" }), this._translations.deleteFeature), index.h("div", { slot: "content" }, this._translations.confirm), index.h("calcite-button", { appearance: "outline", kind: "danger", onClick: () => this._alertClosed(), slot: "secondary", width: "full" }, this._translations.cancel), index.h("calcite-button", { kind: "danger", loading: this._isDeleting, onClick: () => void this._deleteFeatures(), slot: "primary", width: "full" }, this._translations.delete)));
441
+ }
442
+ /**
443
+ * Delete the currently selected features
444
+ *
445
+ * @returns void
446
+ */
447
+ async _deleteFeatures() {
448
+ this._isDeleting = true;
449
+ const deleteFeatures = this._table.highlightIds.toArray().map((objectId) => {
450
+ return { objectId };
451
+ });
452
+ await this._layer.applyEdits({
453
+ deleteFeatures
454
+ });
455
+ await this._table.refresh();
456
+ this._allIds = await mapViewUtils.queryAllIds(this._layer);
457
+ this._isDeleting = false;
458
+ this._alertClosed();
459
+ }
362
460
  /**
363
461
  * Handle map click events to keep table and map click selection in sync
364
462
  *
@@ -394,6 +492,7 @@ const LayerTable = class {
394
492
  */
395
493
  _alertClosed() {
396
494
  this._alertOpen = false;
495
+ this._confirmDelete = false;
397
496
  }
398
497
  /**
399
498
  * Select or deselect all rows
@@ -467,7 +566,8 @@ const LayerTable = class {
467
566
  ids,
468
567
  layer: this._layer
469
568
  };
470
- void downloadUtils.downloadCSV(exportInfos, false, // formatUsingLayerPopup
569
+ void downloadUtils.downloadCSV(null, //???
570
+ exportInfos, false, // formatUsingLayerPopup
471
571
  false, // removeDuplicates
472
572
  true);
473
573
  }
@@ -494,25 +594,7 @@ const LayerTable = class {
494
594
  */
495
595
  _delete() {
496
596
  if (this._editEnabled) {
497
- this._alertIcon = "trash";
498
- this._alertTitle = this._translations.deleteRows;
499
- this._alertActionText = this._translations.delete;
500
- this._alertShowAction = true;
501
- this._alertMessage = this._translations.confirm;
502
- this._alertKind = "danger";
503
- this._alertActionFunction = () => {
504
- void this._layer.applyEdits({
505
- deleteFeatures: this._table.highlightIds.toArray()
506
- });
507
- this._alertOpen = false;
508
- };
509
- }
510
- else {
511
- this._alertIcon = "layer-broken";
512
- this._alertTitle = this._translations.deleteDisabled;
513
- this._alertShowAction = false;
514
- this._alertMessage = this._translations.enableEditing;
515
- this._alertKind = "warning";
597
+ this._confirmDelete = true;
516
598
  }
517
599
  this._alertOpen = true;
518
600
  }
@@ -534,11 +616,12 @@ const LayerTable = class {
534
616
  * @returns a promise that will resolve when the operation is complete
535
617
  */
536
618
  async _layerSelectionChanged(evt) {
619
+ var _a;
537
620
  const id = evt.detail[0];
538
- if (id !== this._layer.id || this._allIds.length === 0) {
621
+ if (id !== ((_a = this._layer) === null || _a === void 0 ? void 0 : _a.id) || this._allIds.length === 0) {
539
622
  this._fetchingData = true;
540
623
  const columnTemplates = this._getColumnTemplates(id);
541
- this._layer = await mapViewUtils.getLayer(this.mapView, id);
624
+ this._layer = await mapViewUtils.getLayerOrTable(this.mapView, id);
542
625
  this._allIds = await mapViewUtils.queryAllIds(this._layer);
543
626
  if (!this._table) {
544
627
  await this._getTable(this._tableNode, columnTemplates);
@@ -600,10 +683,16 @@ const MapCard = class {
600
683
  constructor(hostRef) {
601
684
  index.registerInstance(this, hostRef);
602
685
  this.mapChanged = index.createEvent(this, "mapChanged", 7);
686
+ this.beforeMapChanged = index.createEvent(this, "beforeMapChanged", 7);
603
687
  /**
604
688
  * string: the id of map currently displayed
605
689
  */
606
690
  this._loadedId = "";
691
+ this.enableLegend = undefined;
692
+ this.enableFullscreen = undefined;
693
+ this.enableSearch = undefined;
694
+ this.enableBasemap = undefined;
695
+ this.basemapConfig = undefined;
607
696
  this.mapInfos = [];
608
697
  this.mapView = undefined;
609
698
  this._searchConfiguration = undefined;
@@ -630,7 +719,7 @@ const MapCard = class {
630
719
  * Renders the component.
631
720
  */
632
721
  render() {
633
- return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { class: "box-shadow", mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
722
+ return (index.h(index.Host, null, index.h("map-picker", { mapInfos: this.mapInfos }), index.h("div", { class: "map-height", ref: (el) => (this._mapDiv = el) }), index.h("map-tools", { basemapConfig: this.basemapConfig, class: "box-shadow", enableBasemap: this.enableBasemap, enableFullscreen: this.enableFullscreen, enableLegend: this.enableLegend, enableSearch: this.enableSearch, mapView: this.mapView, ref: (el) => this._mapTools = el, searchConfiguration: this._searchConfiguration })));
634
723
  }
635
724
  //--------------------------------------------------------------------------
636
725
  //
@@ -680,16 +769,17 @@ const MapCard = class {
680
769
  });
681
770
  this._loadedId = id;
682
771
  this._searchConfiguration = this._webMapInfo.searchConfiguration;
683
- this.mapChanged.emit({
684
- id: id,
685
- mapView: this.mapView
686
- });
772
+ this.beforeMapChanged.emit();
687
773
  await this.mapView.when(() => {
688
774
  const home = new this.Home({
689
775
  view: this.mapView
690
776
  });
691
777
  this.mapView.ui.add(home, { position: "top-left", index: 3 });
692
778
  this.mapView.ui.add(this._mapTools, { position: "top-right", index: 0 });
779
+ this.mapChanged.emit({
780
+ id: id,
781
+ mapView: this.mapView
782
+ });
693
783
  });
694
784
  }
695
785
  }