@esri/solutions-components 0.5.8 → 0.5.10

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 (260) hide show
  1. package/dist/assets/t9n/buffer-tools/resources_ar.json +4 -4
  2. package/dist/assets/t9n/buffer-tools/resources_bg.json +4 -4
  3. package/dist/assets/t9n/buffer-tools/resources_bs.json +4 -4
  4. package/dist/assets/t9n/buffer-tools/resources_ca.json +4 -4
  5. package/dist/assets/t9n/buffer-tools/resources_cs.json +4 -4
  6. package/dist/assets/t9n/buffer-tools/resources_da.json +4 -4
  7. package/dist/assets/t9n/buffer-tools/resources_de.json +4 -4
  8. package/dist/assets/t9n/buffer-tools/resources_el.json +4 -4
  9. package/dist/assets/t9n/buffer-tools/resources_es.json +4 -4
  10. package/dist/assets/t9n/buffer-tools/resources_et.json +4 -4
  11. package/dist/assets/t9n/buffer-tools/resources_fi.json +4 -4
  12. package/dist/assets/t9n/buffer-tools/resources_fr.json +4 -4
  13. package/dist/assets/t9n/buffer-tools/resources_he.json +4 -4
  14. package/dist/assets/t9n/buffer-tools/resources_hr.json +4 -4
  15. package/dist/assets/t9n/buffer-tools/resources_hu.json +4 -4
  16. package/dist/assets/t9n/buffer-tools/resources_id.json +4 -4
  17. package/dist/assets/t9n/buffer-tools/resources_it.json +4 -4
  18. package/dist/assets/t9n/buffer-tools/resources_ja.json +4 -4
  19. package/dist/assets/t9n/buffer-tools/resources_ko.json +4 -4
  20. package/dist/assets/t9n/buffer-tools/resources_lt.json +4 -4
  21. package/dist/assets/t9n/buffer-tools/resources_lv.json +4 -4
  22. package/dist/assets/t9n/buffer-tools/resources_nb.json +4 -4
  23. package/dist/assets/t9n/buffer-tools/resources_nl.json +4 -4
  24. package/dist/assets/t9n/buffer-tools/resources_pl.json +4 -4
  25. package/dist/assets/t9n/buffer-tools/resources_pt-BR.json +4 -4
  26. package/dist/assets/t9n/buffer-tools/resources_pt-PT.json +4 -4
  27. package/dist/assets/t9n/buffer-tools/resources_ro.json +4 -4
  28. package/dist/assets/t9n/buffer-tools/resources_ru.json +4 -4
  29. package/dist/assets/t9n/buffer-tools/resources_sk.json +4 -4
  30. package/dist/assets/t9n/buffer-tools/resources_sl.json +4 -4
  31. package/dist/assets/t9n/buffer-tools/resources_sr.json +4 -4
  32. package/dist/assets/t9n/buffer-tools/resources_sv.json +4 -4
  33. package/dist/assets/t9n/buffer-tools/resources_th.json +4 -4
  34. package/dist/assets/t9n/buffer-tools/resources_tr.json +4 -4
  35. package/dist/assets/t9n/buffer-tools/resources_uk.json +4 -4
  36. package/dist/assets/t9n/buffer-tools/resources_vi.json +4 -4
  37. package/dist/assets/t9n/buffer-tools/resources_zh-CN.json +4 -4
  38. package/dist/assets/t9n/buffer-tools/resources_zh-HK.json +4 -4
  39. package/dist/assets/t9n/buffer-tools/resources_zh-TW.json +4 -4
  40. package/dist/assets/t9n/map-draw-tools/resources_ar.json +3 -3
  41. package/dist/assets/t9n/map-draw-tools/resources_bg.json +3 -3
  42. package/dist/assets/t9n/map-draw-tools/resources_bs.json +3 -3
  43. package/dist/assets/t9n/map-draw-tools/resources_ca.json +3 -3
  44. package/dist/assets/t9n/map-draw-tools/resources_cs.json +3 -3
  45. package/dist/assets/t9n/map-draw-tools/resources_da.json +3 -3
  46. package/dist/assets/t9n/map-draw-tools/resources_de.json +3 -3
  47. package/dist/assets/t9n/map-draw-tools/resources_el.json +3 -3
  48. package/dist/assets/t9n/map-draw-tools/resources_es.json +3 -3
  49. package/dist/assets/t9n/map-draw-tools/resources_et.json +3 -3
  50. package/dist/assets/t9n/map-draw-tools/resources_fi.json +3 -3
  51. package/dist/assets/t9n/map-draw-tools/resources_fr.json +3 -3
  52. package/dist/assets/t9n/map-draw-tools/resources_he.json +3 -3
  53. package/dist/assets/t9n/map-draw-tools/resources_hr.json +3 -3
  54. package/dist/assets/t9n/map-draw-tools/resources_hu.json +3 -3
  55. package/dist/assets/t9n/map-draw-tools/resources_id.json +3 -3
  56. package/dist/assets/t9n/map-draw-tools/resources_it.json +3 -3
  57. package/dist/assets/t9n/map-draw-tools/resources_ja.json +3 -3
  58. package/dist/assets/t9n/map-draw-tools/resources_ko.json +3 -3
  59. package/dist/assets/t9n/map-draw-tools/resources_lt.json +3 -3
  60. package/dist/assets/t9n/map-draw-tools/resources_lv.json +3 -3
  61. package/dist/assets/t9n/map-draw-tools/resources_nb.json +3 -3
  62. package/dist/assets/t9n/map-draw-tools/resources_nl.json +3 -3
  63. package/dist/assets/t9n/map-draw-tools/resources_pl.json +3 -3
  64. package/dist/assets/t9n/map-draw-tools/resources_pt-BR.json +3 -3
  65. package/dist/assets/t9n/map-draw-tools/resources_pt-PT.json +3 -3
  66. package/dist/assets/t9n/map-draw-tools/resources_ro.json +3 -3
  67. package/dist/assets/t9n/map-draw-tools/resources_ru.json +3 -3
  68. package/dist/assets/t9n/map-draw-tools/resources_sk.json +3 -3
  69. package/dist/assets/t9n/map-draw-tools/resources_sl.json +3 -3
  70. package/dist/assets/t9n/map-draw-tools/resources_sr.json +3 -3
  71. package/dist/assets/t9n/map-draw-tools/resources_sv.json +3 -3
  72. package/dist/assets/t9n/map-draw-tools/resources_th.json +3 -3
  73. package/dist/assets/t9n/map-draw-tools/resources_tr.json +3 -3
  74. package/dist/assets/t9n/map-draw-tools/resources_uk.json +3 -3
  75. package/dist/assets/t9n/map-draw-tools/resources_vi.json +3 -3
  76. package/dist/assets/t9n/map-draw-tools/resources_zh-CN.json +3 -3
  77. package/dist/assets/t9n/map-draw-tools/resources_zh-HK.json +3 -3
  78. package/dist/assets/t9n/map-draw-tools/resources_zh-TW.json +3 -3
  79. package/dist/assets/t9n/map-select-tools/resources_ar.json +13 -11
  80. package/dist/assets/t9n/map-select-tools/resources_bg.json +13 -11
  81. package/dist/assets/t9n/map-select-tools/resources_bs.json +13 -11
  82. package/dist/assets/t9n/map-select-tools/resources_ca.json +13 -11
  83. package/dist/assets/t9n/map-select-tools/resources_cs.json +13 -11
  84. package/dist/assets/t9n/map-select-tools/resources_da.json +13 -11
  85. package/dist/assets/t9n/map-select-tools/resources_de.json +13 -11
  86. package/dist/assets/t9n/map-select-tools/resources_el.json +13 -11
  87. package/dist/assets/t9n/map-select-tools/resources_es.json +13 -11
  88. package/dist/assets/t9n/map-select-tools/resources_et.json +13 -11
  89. package/dist/assets/t9n/map-select-tools/resources_fi.json +13 -11
  90. package/dist/assets/t9n/map-select-tools/resources_fr.json +13 -11
  91. package/dist/assets/t9n/map-select-tools/resources_he.json +13 -11
  92. package/dist/assets/t9n/map-select-tools/resources_hr.json +13 -11
  93. package/dist/assets/t9n/map-select-tools/resources_hu.json +13 -11
  94. package/dist/assets/t9n/map-select-tools/resources_id.json +13 -11
  95. package/dist/assets/t9n/map-select-tools/resources_it.json +13 -11
  96. package/dist/assets/t9n/map-select-tools/resources_ja.json +13 -11
  97. package/dist/assets/t9n/map-select-tools/resources_ko.json +13 -11
  98. package/dist/assets/t9n/map-select-tools/resources_lt.json +13 -11
  99. package/dist/assets/t9n/map-select-tools/resources_lv.json +13 -11
  100. package/dist/assets/t9n/map-select-tools/resources_nb.json +13 -11
  101. package/dist/assets/t9n/map-select-tools/resources_nl.json +13 -11
  102. package/dist/assets/t9n/map-select-tools/resources_pl.json +13 -11
  103. package/dist/assets/t9n/map-select-tools/resources_pt-BR.json +13 -11
  104. package/dist/assets/t9n/map-select-tools/resources_pt-PT.json +13 -11
  105. package/dist/assets/t9n/map-select-tools/resources_ro.json +13 -11
  106. package/dist/assets/t9n/map-select-tools/resources_ru.json +13 -11
  107. package/dist/assets/t9n/map-select-tools/resources_sk.json +13 -11
  108. package/dist/assets/t9n/map-select-tools/resources_sl.json +13 -11
  109. package/dist/assets/t9n/map-select-tools/resources_sr.json +13 -11
  110. package/dist/assets/t9n/map-select-tools/resources_sv.json +13 -11
  111. package/dist/assets/t9n/map-select-tools/resources_th.json +13 -11
  112. package/dist/assets/t9n/map-select-tools/resources_tr.json +13 -11
  113. package/dist/assets/t9n/map-select-tools/resources_uk.json +13 -11
  114. package/dist/assets/t9n/map-select-tools/resources_vi.json +13 -11
  115. package/dist/assets/t9n/map-select-tools/resources_zh-CN.json +13 -11
  116. package/dist/assets/t9n/map-select-tools/resources_zh-HK.json +13 -11
  117. package/dist/assets/t9n/map-select-tools/resources_zh-TW.json +13 -11
  118. package/dist/assets/t9n/pdf-download/resources_ar.json +1 -1
  119. package/dist/assets/t9n/pdf-download/resources_bg.json +1 -1
  120. package/dist/assets/t9n/pdf-download/resources_bs.json +1 -1
  121. package/dist/assets/t9n/pdf-download/resources_ca.json +1 -1
  122. package/dist/assets/t9n/pdf-download/resources_cs.json +1 -1
  123. package/dist/assets/t9n/pdf-download/resources_da.json +1 -1
  124. package/dist/assets/t9n/pdf-download/resources_de.json +1 -1
  125. package/dist/assets/t9n/pdf-download/resources_el.json +1 -1
  126. package/dist/assets/t9n/pdf-download/resources_es.json +1 -1
  127. package/dist/assets/t9n/pdf-download/resources_et.json +1 -1
  128. package/dist/assets/t9n/pdf-download/resources_fi.json +1 -1
  129. package/dist/assets/t9n/pdf-download/resources_fr.json +1 -1
  130. package/dist/assets/t9n/pdf-download/resources_he.json +1 -1
  131. package/dist/assets/t9n/pdf-download/resources_hr.json +1 -1
  132. package/dist/assets/t9n/pdf-download/resources_hu.json +1 -1
  133. package/dist/assets/t9n/pdf-download/resources_id.json +1 -1
  134. package/dist/assets/t9n/pdf-download/resources_it.json +1 -1
  135. package/dist/assets/t9n/pdf-download/resources_ja.json +1 -1
  136. package/dist/assets/t9n/pdf-download/resources_ko.json +1 -1
  137. package/dist/assets/t9n/pdf-download/resources_lt.json +1 -1
  138. package/dist/assets/t9n/pdf-download/resources_lv.json +1 -1
  139. package/dist/assets/t9n/pdf-download/resources_nb.json +1 -1
  140. package/dist/assets/t9n/pdf-download/resources_nl.json +1 -1
  141. package/dist/assets/t9n/pdf-download/resources_pl.json +1 -1
  142. package/dist/assets/t9n/pdf-download/resources_pt-BR.json +1 -1
  143. package/dist/assets/t9n/pdf-download/resources_pt-PT.json +1 -1
  144. package/dist/assets/t9n/pdf-download/resources_ro.json +1 -1
  145. package/dist/assets/t9n/pdf-download/resources_ru.json +1 -1
  146. package/dist/assets/t9n/pdf-download/resources_sk.json +1 -1
  147. package/dist/assets/t9n/pdf-download/resources_sl.json +1 -1
  148. package/dist/assets/t9n/pdf-download/resources_sr.json +1 -1
  149. package/dist/assets/t9n/pdf-download/resources_sv.json +1 -1
  150. package/dist/assets/t9n/pdf-download/resources_th.json +1 -1
  151. package/dist/assets/t9n/pdf-download/resources_tr.json +1 -1
  152. package/dist/assets/t9n/pdf-download/resources_uk.json +1 -1
  153. package/dist/assets/t9n/pdf-download/resources_vi.json +1 -1
  154. package/dist/assets/t9n/pdf-download/resources_zh-CN.json +1 -1
  155. package/dist/assets/t9n/pdf-download/resources_zh-HK.json +1 -1
  156. package/dist/assets/t9n/pdf-download/resources_zh-TW.json +1 -1
  157. package/dist/assets/t9n/public-notification/resources.json +11 -9
  158. package/dist/assets/t9n/public-notification/resources_ar.json +40 -38
  159. package/dist/assets/t9n/public-notification/resources_bg.json +40 -38
  160. package/dist/assets/t9n/public-notification/resources_bs.json +40 -38
  161. package/dist/assets/t9n/public-notification/resources_ca.json +40 -38
  162. package/dist/assets/t9n/public-notification/resources_cs.json +40 -38
  163. package/dist/assets/t9n/public-notification/resources_da.json +40 -38
  164. package/dist/assets/t9n/public-notification/resources_de.json +40 -38
  165. package/dist/assets/t9n/public-notification/resources_el.json +40 -38
  166. package/dist/assets/t9n/public-notification/resources_en.json +11 -9
  167. package/dist/assets/t9n/public-notification/resources_es.json +40 -38
  168. package/dist/assets/t9n/public-notification/resources_et.json +40 -38
  169. package/dist/assets/t9n/public-notification/resources_fi.json +40 -38
  170. package/dist/assets/t9n/public-notification/resources_fr.json +40 -38
  171. package/dist/assets/t9n/public-notification/resources_he.json +40 -38
  172. package/dist/assets/t9n/public-notification/resources_hr.json +40 -38
  173. package/dist/assets/t9n/public-notification/resources_hu.json +40 -38
  174. package/dist/assets/t9n/public-notification/resources_id.json +40 -38
  175. package/dist/assets/t9n/public-notification/resources_it.json +40 -38
  176. package/dist/assets/t9n/public-notification/resources_ja.json +40 -38
  177. package/dist/assets/t9n/public-notification/resources_ko.json +40 -38
  178. package/dist/assets/t9n/public-notification/resources_lt.json +40 -38
  179. package/dist/assets/t9n/public-notification/resources_lv.json +40 -38
  180. package/dist/assets/t9n/public-notification/resources_nb.json +40 -38
  181. package/dist/assets/t9n/public-notification/resources_nl.json +40 -38
  182. package/dist/assets/t9n/public-notification/resources_pl.json +40 -38
  183. package/dist/assets/t9n/public-notification/resources_pt-BR.json +40 -38
  184. package/dist/assets/t9n/public-notification/resources_pt-PT.json +40 -38
  185. package/dist/assets/t9n/public-notification/resources_ro.json +40 -38
  186. package/dist/assets/t9n/public-notification/resources_ru.json +40 -38
  187. package/dist/assets/t9n/public-notification/resources_sk.json +40 -38
  188. package/dist/assets/t9n/public-notification/resources_sl.json +40 -38
  189. package/dist/assets/t9n/public-notification/resources_sr.json +40 -38
  190. package/dist/assets/t9n/public-notification/resources_sv.json +40 -38
  191. package/dist/assets/t9n/public-notification/resources_th.json +40 -38
  192. package/dist/assets/t9n/public-notification/resources_tr.json +40 -38
  193. package/dist/assets/t9n/public-notification/resources_uk.json +40 -38
  194. package/dist/assets/t9n/public-notification/resources_vi.json +40 -38
  195. package/dist/assets/t9n/public-notification/resources_zh-CN.json +40 -38
  196. package/dist/assets/t9n/public-notification/resources_zh-HK.json +40 -38
  197. package/dist/assets/t9n/public-notification/resources_zh-TW.json +40 -38
  198. package/dist/assets/t9n/refine-selection/resources.json +3 -1
  199. package/dist/assets/t9n/refine-selection/resources_en.json +3 -1
  200. package/dist/cjs/buffer-tools_4.cjs.entry.js +3 -3
  201. package/dist/cjs/calcite-input-text_5.cjs.entry.js +8 -13
  202. package/dist/cjs/{downloadUtils-8d66f03e.js → downloadUtils-7a0fd3c0.js} +77 -28
  203. package/dist/cjs/{index.es-4f5dfcc6.js → index.es-9965b78c.js} +1 -1
  204. package/dist/cjs/layer-table_2.cjs.entry.js +8 -3
  205. package/dist/cjs/loader.cjs.js +1 -1
  206. package/dist/cjs/public-notification.cjs.entry.js +56 -21
  207. package/dist/cjs/solutions-components.cjs.js +1 -1
  208. package/dist/collection/components/buffer-tools/buffer-tools.css +4 -0
  209. package/dist/collection/components/buffer-tools/buffer-tools.js +1 -1
  210. package/dist/collection/components/layer-table/layer-table.js +7 -2
  211. package/dist/collection/components/map-draw-tools/map-draw-tools.css +4 -0
  212. package/dist/collection/components/map-select-tools/map-select-tools.js +18 -1
  213. package/dist/collection/components/pdf-download/pdf-download.js +3 -9
  214. package/dist/collection/components/public-notification/public-notification.js +57 -21
  215. package/dist/collection/components/refine-selection/refine-selection.css +21 -0
  216. package/dist/collection/components/refine-selection/refine-selection.js +1 -1
  217. package/dist/collection/demos/new-public-notification.html +6 -4
  218. package/dist/collection/utils/downloadUtils.js +74 -27
  219. package/dist/collection/utils/downloadUtils.ts +93 -34
  220. package/dist/collection/utils/interfaces.ts +2 -2
  221. package/dist/components/buffer-tools2.js +2 -2
  222. package/dist/components/downloadUtils.js +75 -28
  223. package/dist/components/layer-table2.js +7 -2
  224. package/dist/components/map-draw-tools2.js +1 -1
  225. package/dist/components/map-select-tools2.js +3 -1
  226. package/dist/components/pdf-download2.js +3 -9
  227. package/dist/components/public-notification.js +57 -21
  228. package/dist/components/refine-selection2.js +36 -24
  229. package/dist/esm/buffer-tools_4.entry.js +3 -3
  230. package/dist/esm/calcite-combobox_3.entry.js +1 -1
  231. package/dist/esm/calcite-input-text_5.entry.js +9 -14
  232. package/dist/esm/{downloadUtils-b9785635.js → downloadUtils-a447bab1.js} +77 -30
  233. package/dist/esm/{index.es-70994c40.js → index.es-b9cb902a.js} +2 -2
  234. package/dist/esm/layer-table_2.entry.js +9 -4
  235. package/dist/esm/loader.js +1 -1
  236. package/dist/esm/{mapViewUtils-ebbd4733.js → mapViewUtils-27dfdc29.js} +1 -1
  237. package/dist/esm/public-notification.entry.js +57 -22
  238. package/dist/esm/solutions-components.js +1 -1
  239. package/dist/solutions-components/demos/new-public-notification.html +6 -4
  240. package/dist/solutions-components/p-2f4e1ddf.entry.js +6 -0
  241. package/dist/solutions-components/{p-be943993.js → p-345f517c.js} +5 -5
  242. package/dist/solutions-components/{p-390d7de8.js → p-4b426bab.js} +1 -1
  243. package/dist/solutions-components/{p-b4d4b50a.entry.js → p-52b747fa.entry.js} +3 -3
  244. package/dist/solutions-components/p-62492a2d.entry.js +17 -0
  245. package/dist/solutions-components/{p-5d5e10d4.js → p-80757ebd.js} +1 -1
  246. package/dist/solutions-components/p-cf00a2ef.entry.js +6 -0
  247. package/dist/solutions-components/{p-83e3db8e.entry.js → p-db099e05.entry.js} +1 -1
  248. package/dist/solutions-components/solutions-components.esm.js +1 -1
  249. package/dist/solutions-components/utils/downloadUtils.ts +93 -34
  250. package/dist/solutions-components/utils/interfaces.ts +2 -2
  251. package/dist/types/components/map-select-tools/map-select-tools.d.ts +5 -0
  252. package/dist/types/components/public-notification/public-notification.d.ts +18 -11
  253. package/dist/types/components.d.ts +8 -0
  254. package/dist/types/utils/downloadUtils.d.ts +22 -8
  255. package/dist/types/utils/interfaces.d.ts +2 -2
  256. package/package.json +1 -1
  257. package/dist/solutions-components/p-10336554.entry.js +0 -6
  258. package/dist/solutions-components/p-c3e3d0bb.entry.js +0 -17
  259. package/dist/solutions-components/p-f66a7ea7.entry.js +0 -6
  260. package/dist/solutions-components_commit.txt +0 -8
@@ -1,40 +1,42 @@
1
1
  {
2
- "pdf": "試_PDF_______驗",
3
- "exportPDF": "試_Export PDF_____________________驗",
4
- "csv": "試_CSV_______驗",
5
- "exportCSV": "試_Export CSV_____________________驗",
6
- "downloadNoLists": "試_There are no lists to export. Go to My lists to create a list of features______________________________________驗.",
7
- "add": "試_Create new list________________驗",
8
- "remove": "試_Remove_____________驗",
9
- "back": "試_Back_________驗",
10
- "selectedFeatures": "試_{{n}} selected features________________________驗",
11
- "noNotifications": "試_You have no notification list yet__________________驗.",
12
- "notifications": "試_Notifications______________驗",
13
- "myLists": "試_My lists_________________驗",
14
- "stepTwoFull": "試_Create new list________________驗",
15
- "cancel": "試_Cancel_____________驗",
16
- "done": "試_Done_________驗",
17
- "selectPDFLabelOption": "試_PDF label option_________________驗",
2
+ "pdf": "PDF",
3
+ "exportPDF": "匯出 PDF",
4
+ "csv": "CSV",
5
+ "exportCSV": "匯出 CSV",
6
+ "downloadNoLists": "沒有要匯出的清單。 移至「我的清單」以建立圖徵清單。",
7
+ "add": "建立新清單",
8
+ "remove": "移除",
9
+ "back": "上一步",
10
+ "selectedFeatures": "{{n}} 個選擇的圖徵",
11
+ "noNotifications": "您還沒有通知清單。",
12
+ "notifications": "通知",
13
+ "myLists": "試_Create and edit lists______________________驗",
14
+ "stepTwoFull": "建立新清單",
15
+ "cancel": "取消",
16
+ "done": "完成",
17
+ "selectPDFLabelOption": "試_Format options_______________驗",
18
18
  "removeDuplicate": "試_Remove duplicates___________________驗:",
19
- "numDuplicates": "試_{{n}} duplicates_________________驗",
20
- "selectLayerAndAdd": "試_To create a list, select an input layer and click Create new list. Features from the selected input layer will be added to your list____________________________________________________________________驗.",
21
- "selectSearchTip": "試_Use tools like sketch, search distance, or selection layer to select features from the input layer to add to your list_____________________________________________________________驗.",
22
- "selectLayerTip": "試_Draw shapes to select features from the chosen selection layer; the results will be used to select features from the addressee layer___________________________________________________________________驗",
23
- "selectSketchTip": "試_Use sketch tools to draw graphics in the map to select intersecting features in the addressee layer___________________________________________________驗.",
24
- "optionalSearchDistance": "試_and optionally add search distance___________________驗.",
25
- "listHasSetsTip": "試_Edit or delete existing lists or choose a layer and click Create new list______________________________________驗",
26
- "uniqueCout": "試_Unique Count: {{n}}____________________驗",
27
- "searchDistance": "試_Search distance________________驗",
28
- "useLayerFeatures": "試_Use layer features___________________驗",
29
- "export": "試_Export_____________驗",
30
- "exportTip": "試_Select lists to include in file export. Choose to export lists to either a .csv or .pdf file________________________________________________驗.",
31
- "title": "試_Title___________驗",
32
- "addTitle": "試_Add title___________________驗",
33
- "titlePlaceholder": "試_Enter title here_________________驗",
34
- "includeMap": "試_Include map____________驗",
35
- "pdfOptions": "試_PDF Options____________驗",
36
- "csvOptions": "試_CSV Options____________驗",
37
- "refineSelection": "試_Refine selection_________________驗",
38
- "refineTip": "試_Refine and finalize your lists by using sketch tools to add or remove features across all selection sets______________________________________________________驗.",
39
- "refineTipNoSelections": "試_There are no selections to refine. Go to My lists to create a list of features_________________________________________驗."
40
- }
19
+ "numDuplicates": "{{n}} 個重複項目",
20
+ "selectLayerAndAdd": "試_Use selection tools to choose which features to include and then click Create list___________________________________________驗.",
21
+ "selectSearchTip": "試_Select features from the input layer to add to your list. Draw with sketch tools, specify a search distance, and use features from another layer to select overlapping features_________________________________________________________________________________________驗.",
22
+ "selectLayerTip": "繪製形狀以從選定的選擇圖層中選擇圖徵;結果將用於從收件者圖層中選擇圖徵",
23
+ "selectSketchTip": "使用描繪工具,在地圖中繪製圖形以選擇地址圖層中的相交圖徵。",
24
+ "optionalSearchDistance": "並選擇性地新增搜尋距離。",
25
+ "listHasSetsTip": "試_Edit or delete existing lists or click Create new list_____________________________驗.",
26
+ "uniqueCout": "唯一計數: {{n}}",
27
+ "searchDistance": "搜尋距離",
28
+ "useLayerFeatures": "使用圖層圖徵",
29
+ "export": "匯出",
30
+ "exportTip": "試_Select lists to include in the exported file. Export lists as CSV and PDF______________________________________驗.",
31
+ "title": "標題",
32
+ "addTitle": "新增標題",
33
+ "titlePlaceholder": "在這裡輸入標題",
34
+ "includeMap": "包含地圖",
35
+ "pdfOptions": "PDF 選項",
36
+ "csvOptions": "CSV 選項",
37
+ "refineSelection": "精細化選擇",
38
+ "refineTip": "試_Refine and finalize your lists by using sketch tools to add or remove selected features_____________________________________________驗.",
39
+ "refineTipNoSelections": "沒有要精細化的選擇。 移至「我的清單」以建立圖徵清單。",
40
+ "duplicatesTip": "試_Duplicate features are always removed. When enabled, pop-ups from each layer will be compared and any duplicate pop-up information will be removed___________________________________________________________________________驗.",
41
+ "exportListsLabel": "試_My lists_________________驗"
42
+ }
@@ -1,40 +1,42 @@
1
1
  {
2
- "pdf": "試_PDF_______驗",
3
- "exportPDF": "試_Export PDF_____________________驗",
4
- "csv": "試_CSV_______驗",
5
- "exportCSV": "試_Export CSV_____________________驗",
6
- "downloadNoLists": "試_There are no lists to export. Go to My lists to create a list of features______________________________________驗.",
7
- "add": "試_Create new list________________驗",
8
- "remove": "試_Remove_____________驗",
9
- "back": "試_Back_________驗",
10
- "selectedFeatures": "試_{{n}} selected features________________________驗",
11
- "noNotifications": "試_You have no notification list yet__________________驗.",
12
- "notifications": "試_Notifications______________驗",
13
- "myLists": "試_My lists_________________驗",
14
- "stepTwoFull": "試_Create new list________________驗",
15
- "cancel": "試_Cancel_____________驗",
16
- "done": "試_Done_________驗",
17
- "selectPDFLabelOption": "試_PDF label option_________________驗",
2
+ "pdf": "PDF",
3
+ "exportPDF": "匯出 PDF",
4
+ "csv": "CSV",
5
+ "exportCSV": "匯出 CSV",
6
+ "downloadNoLists": "沒有要匯出的清單。 移至「我的清單」以建立圖徵清單。",
7
+ "add": "建立新清單",
8
+ "remove": "移除",
9
+ "back": "上一步",
10
+ "selectedFeatures": "{{n}} 個選擇的圖徵",
11
+ "noNotifications": "您還沒有通知清單。",
12
+ "notifications": "通知",
13
+ "myLists": "試_Create and edit lists______________________驗",
14
+ "stepTwoFull": "建立新清單",
15
+ "cancel": "取消",
16
+ "done": "完成",
17
+ "selectPDFLabelOption": "試_Format options_______________驗",
18
18
  "removeDuplicate": "試_Remove duplicates___________________驗:",
19
- "numDuplicates": "試_{{n}} duplicates_________________驗",
20
- "selectLayerAndAdd": "試_To create a list, select an input layer and click Create new list. Features from the selected input layer will be added to your list____________________________________________________________________驗.",
21
- "selectSearchTip": "試_Use tools like sketch, search distance, or selection layer to select features from the input layer to add to your list_____________________________________________________________驗.",
22
- "selectLayerTip": "試_Draw shapes to select features from the chosen selection layer; the results will be used to select features from the addressee layer___________________________________________________________________驗",
23
- "selectSketchTip": "試_Use sketch tools to draw graphics in the map to select intersecting features in the addressee layer___________________________________________________驗.",
24
- "optionalSearchDistance": "試_and optionally add search distance___________________驗.",
25
- "listHasSetsTip": "試_Edit or delete existing lists or choose a layer and click Create new list______________________________________驗",
26
- "uniqueCout": "試_Unique Count: {{n}}____________________驗",
27
- "searchDistance": "試_Search distance________________驗",
28
- "useLayerFeatures": "試_Use layer features___________________驗",
29
- "export": "試_Export_____________驗",
30
- "exportTip": "試_Select lists to include in file export. Choose to export lists to either a .csv or .pdf file________________________________________________驗.",
31
- "title": "試_Title___________驗",
32
- "addTitle": "試_Add title___________________驗",
33
- "titlePlaceholder": "試_Enter title here_________________驗",
34
- "includeMap": "試_Include map____________驗",
35
- "pdfOptions": "試_PDF Options____________驗",
36
- "csvOptions": "試_CSV Options____________驗",
37
- "refineSelection": "試_Refine selection_________________驗",
38
- "refineTip": "試_Refine and finalize your lists by using sketch tools to add or remove features across all selection sets______________________________________________________驗.",
39
- "refineTipNoSelections": "試_There are no selections to refine. Go to My lists to create a list of features_________________________________________驗."
40
- }
19
+ "numDuplicates": "{{n}} 個重複項目",
20
+ "selectLayerAndAdd": "試_Use selection tools to choose which features to include and then click Create list___________________________________________驗.",
21
+ "selectSearchTip": "試_Select features from the input layer to add to your list. Draw with sketch tools, specify a search distance, and use features from another layer to select overlapping features_________________________________________________________________________________________驗.",
22
+ "selectLayerTip": "繪製形狀以從選定的選擇圖層中選擇圖徵;結果將用於從收件者圖層中選擇圖徵",
23
+ "selectSketchTip": "使用描繪工具,在地圖中繪製圖形以選擇地址圖層中的相交圖徵。",
24
+ "optionalSearchDistance": "並選擇性地新增搜尋距離。",
25
+ "listHasSetsTip": "試_Edit or delete existing lists or click Create new list_____________________________驗.",
26
+ "uniqueCout": "唯一計數: {{n}}",
27
+ "searchDistance": "搜尋距離",
28
+ "useLayerFeatures": "使用圖層圖徵",
29
+ "export": "匯出",
30
+ "exportTip": "試_Select lists to include in the exported file. Export lists as CSV and PDF______________________________________驗.",
31
+ "title": "標題",
32
+ "addTitle": "新增標題",
33
+ "titlePlaceholder": "在這裡輸入標題",
34
+ "includeMap": "包含地圖",
35
+ "pdfOptions": "PDF 選項",
36
+ "csvOptions": "CSV 選項",
37
+ "refineSelection": "精細化選擇",
38
+ "refineTip": "試_Refine and finalize your lists by using sketch tools to add or remove selected features_____________________________________________驗.",
39
+ "refineTipNoSelections": "沒有要精細化的選擇。 移至「我的清單」以建立圖徵清單。",
40
+ "duplicatesTip": "試_Duplicate features are always removed. When enabled, pop-ups from each layer will be compared and any duplicate pop-up information will be removed___________________________________________________________________________驗.",
41
+ "exportListsLabel": "試_My lists_________________驗"
42
+ }
@@ -3,5 +3,7 @@
3
3
  "remove": "Remove",
4
4
  "featuresAdded": "Features added: {{n}}",
5
5
  "featuresRemoved": "Features removed: {{n}}",
6
- "totalSelected": "Total selected: {{n}}"
6
+ "totalSelected": "Total selected: {{n}}",
7
+ "inputLayer": "Input layer",
8
+ "inputLayerTip": "Choose input layer to review selected features from, update selected features from one input layer at a time."
7
9
  }
@@ -3,5 +3,7 @@
3
3
  "remove": "Remove",
4
4
  "featuresAdded": "Features added: {{n}}",
5
5
  "featuresRemoved": "Features removed: {{n}}",
6
- "totalSelected": "Total selected: {{n}}"
6
+ "totalSelected": "Total selected: {{n}}",
7
+ "inputLayer": "Input layer",
8
+ "inputLayerTip": "Choose input layer to review selected features from, update selected features from one input layer at a time."
7
9
  }
@@ -26,7 +26,7 @@ require('./resources-1f836572.js');
26
26
  require('./observers-b0934d2a.js');
27
27
  require('./index-e1b1954f.js');
28
28
 
29
- const bufferToolsCss = ":host{display:block}.c-container{display:inline-flex}.flex-1{flex:\"1\"}.padding-end-1{-webkit-padding-end:1rem;padding-inline-end:1rem}";
29
+ const bufferToolsCss = ":host{display:block}.c-container{display:inline-flex}.flex-1{flex:\"1\"}.padding-end-1{-webkit-padding-end:1rem;padding-inline-end:1rem}.w-50{width:50%}";
30
30
 
31
31
  const BufferTools = class {
32
32
  constructor(hostRef) {
@@ -185,7 +185,7 @@ const BufferTools = class {
185
185
  * @protected
186
186
  */
187
187
  _getTextBoxDisplay() {
188
- return (index.h("div", { class: "c-container" }, index.h("calcite-input", { class: "padding-end-1", max: this.max && this.max > 0 ? this.max : undefined, min: this.min, "number-button-type": "vertical", onCalciteInputInput: (evt) => this._setDistance(evt), placeholder: "0", type: "number", value: this.distance ? this.distance.toString() : undefined }), index.h("calcite-select", { class: "flex-1", label: "label", onCalciteSelectChange: () => this._setUnit(this._unitElement.value), ref: (el) => { this._unitElement = el; } }, this._getUnits())));
188
+ return (index.h("div", { class: "c-container" }, index.h("calcite-input", { class: "padding-end-1 w-50", max: this.max && this.max > 0 ? this.max : undefined, min: this.min, "number-button-type": "vertical", onCalciteInputInput: (evt) => this._setDistance(evt), placeholder: "0", type: "number", value: this.distance ? this.distance.toString() : undefined }), index.h("calcite-select", { class: "flex-1 w-50", label: "label", onCalciteSelectChange: () => this._setUnit(this._unitElement.value), ref: (el) => { this._unitElement = el; } }, this._getUnits())));
189
189
  }
190
190
  /**
191
191
  * Render distance control as a slider
@@ -1126,7 +1126,7 @@ const Slider = class {
1126
1126
  };
1127
1127
  Slider.style = sliderCss;
1128
1128
 
1129
- const mapDrawToolsCss = ":host{display:block}.border{outline:1px solid var(--calcite-ui-border-input)}.div-visible{display:inherit}.div-not-visible{display:none !important}.padding-top-1-2{padding-top:.5rem}.main-label{display:flex;float:left}html[dir=\"rtl\"] .main-label{display:flex;float:right}.margin-top-1{margin-top:1rem}.border-left{border-left:1px solid rgba(110,110,110,.3)}.border-left[dir=\"rtl\"]{border-right:1px solid rgba(110,110,110,.3)}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:\"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:1.3em;background-color:#fff;--esri-widget-padding-v:12px;--esri-widget-padding-h:15px;--esri-widget-padding:var(--esri-widget-padding-v) var(--esri-widget-padding-h)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row wrap;padding:0}.esri-sketch__section{align-items:center;display:flex;flex-flow:row wrap;padding:0 7px;margin:6px 0}";
1129
+ const mapDrawToolsCss = ":host{display:block}.border{outline:1px solid var(--calcite-ui-border-input)}.div-visible{display:inherit}.div-not-visible{display:none !important}.padding-top-1-2{padding-top:.5rem}.main-label{display:flex;float:left}html[dir=\"rtl\"] .main-label{display:flex;float:right}.margin-top-1{margin-top:1rem}.border-left{border-left:1px solid rgba(110,110,110,.3)}.border-left[dir=\"rtl\"]{border-right:1px solid rgba(110,110,110,.3)}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:\"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:1.3em;background-color:#fff;--esri-widget-padding-v:12px;--esri-widget-padding-h:15px;--esri-widget-padding:var(--esri-widget-padding-v) var(--esri-widget-padding-h)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row wrap;padding:0}.esri-sketch__section{align-items:center;display:flex;flex-flow:row wrap;padding:0 7px;margin:6px 0}.esri-sketch__section.esri-sketch__info-section>calcite-action:first-of-type{display:none}";
1130
1130
 
1131
1131
  const MapDrawTools = class {
1132
1132
  constructor(hostRef) {
@@ -24,7 +24,7 @@ const mapViewUtils = require('./mapViewUtils-c45571b9.js');
24
24
  const interfaces = require('./interfaces-842c84a1.js');
25
25
  const publicNotificationStore = require('./publicNotificationStore-cd1a32c3.js');
26
26
  const locale$1 = require('./locale-b113c6b2.js');
27
- const downloadUtils = require('./downloadUtils-8d66f03e.js');
27
+ const downloadUtils = require('./downloadUtils-7a0fd3c0.js');
28
28
  require('./guid-c58d5ead.js');
29
29
  require('./key-d55baa11.js');
30
30
  require('./index-e1b1954f.js');
@@ -509,6 +509,7 @@ const MapSelectTools = class {
509
509
  this.noResultText = undefined;
510
510
  this.searchConfiguration = undefined;
511
511
  this.selectionSet = undefined;
512
+ this.selectionLayerIds = [];
512
513
  this.selectLayerView = undefined;
513
514
  this.sketchLineSymbol = undefined;
514
515
  this.sketchPointSymbol = undefined;
@@ -651,7 +652,7 @@ const MapSelectTools = class {
651
652
  */
652
653
  _getUseLayerFeaturesOptions() {
653
654
  const useLayerFeaturesClass = this._useLayerFeaturesEnabled ? "div-visible" : "div-not-visible";
654
- return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), index.h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), index.h("div", { class: useLayerFeaturesClass + " padding-top-1" }, index.h("map-layer-picker", { enabledLayerIds: this.enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedLayerIds: this.layerViews.map(l => l.layer.id), selectionMode: "single" }))));
655
+ return (index.h("div", null, index.h("div", { class: "padding-top-1 display-flex" }, index.h("calcite-label", { class: "label-margin-0 w-100", layout: "inline-space-between" }, index.h("div", { class: "tooltip-container" }, this._translations.useLayerFeatures, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "use-layer-features-icon", scale: "s" }))), index.h("calcite-popover", { closable: true, label: "", referenceElement: "use-layer-features-icon" }, index.h("span", { class: "tooltip-message" }, this._translations.useLayerFeaturesTooltip)), index.h("calcite-switch", { checked: this._useLayerFeaturesEnabled, onCalciteSwitchChange: () => { this._useLayerFeaturesEnabledChanged(); } })), index.h("div", { class: useLayerFeaturesClass + " padding-top-1" }, index.h("map-layer-picker", { enabledLayerIds: this.selectionLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, selectedLayerIds: this.layerViews.map(l => l.layer.id), selectionMode: "single" }))));
655
656
  }
656
657
  /**
657
658
  * Renders the number of selected features
@@ -1448,11 +1449,8 @@ const PdfDownload = class {
1448
1449
  * @returns Promise resolving when function is done
1449
1450
  */
1450
1451
  async downloadCSV(exportInfos, removeDuplicates, addColumnTitle = true) {
1451
- Object.keys(exportInfos).forEach(k => {
1452
- const exportInfo = exportInfos[k];
1453
- void downloadUtils.downloadCSV(exportInfo.selectionSetNames, exportInfo.layerView.layer, exportInfo.ids, true, // formatUsingLayerPopup
1454
- removeDuplicates, addColumnTitle);
1455
- });
1452
+ void downloadUtils.downloadCSV(exportInfos, true, // formatUsingLayerPopup
1453
+ removeDuplicates, addColumnTitle);
1456
1454
  }
1457
1455
  /**
1458
1456
  * Downloads pdf of mailing labels for the provided list of ids
@@ -1464,10 +1462,7 @@ const PdfDownload = class {
1464
1462
  * @returns Promise resolving when function is done
1465
1463
  */
1466
1464
  async downloadPDF(exportInfos, removeDuplicates = false, title = "", initialImageDataUrl = "") {
1467
- Object.keys(exportInfos).forEach(k => {
1468
- const exportInfo = exportInfos[k];
1469
- void downloadUtils.downloadPDF(exportInfo.selectionSetNames, exportInfo.layerView.layer, exportInfo.ids, this._labelInfoElement.selectedOption.value, removeDuplicates, title, initialImageDataUrl);
1470
- });
1465
+ void downloadUtils.downloadPDF(exportInfos, this._labelInfoElement.selectedOption.value, removeDuplicates, title, initialImageDataUrl);
1471
1466
  }
1472
1467
  //--------------------------------------------------------------------------
1473
1468
  //
@@ -1554,7 +1549,7 @@ const PdfDownload = class {
1554
1549
  };
1555
1550
  PdfDownload.style = pdfDownloadCss;
1556
1551
 
1557
- const refineSelectionCss = ":host{display:block}.div-visible{display:inherit}.div-not-visible{display:none !important}.padding-top-1-2{padding-top:.5rem}.main-label{display:flex;float:left}html[dir=\"rtl\"] .main-label{display:flex;float:right}.border{outline:1px solid var(--calcite-ui-border-input)}.margin-top-1{margin-top:1rem}.esri-sketch{display:flex;flex-flow:column wrap}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:\"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:1.3em;background-color:var(--calcite-ui-foreground-1)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row nowrap;padding:0}*/ .esri-sketch__tool-section{border-right:1px solid rgba(110,110,110,.3)}.esri-sketch__section{align-items:center;display:flex;flex-flow:row nowrap;padding:0 7px;margin:6px 0;border-right:1px solid rgba(110,110,110,.3)}";
1552
+ const refineSelectionCss = ":host{display:block}.div-visible{display:inherit}.div-not-visible{display:none !important}.padding-top-1-2{padding-top:.5rem}.main-label{display:flex;float:left}html[dir=\"rtl\"] .main-label{display:flex;float:right}.border{outline:1px solid var(--calcite-ui-border-input)}.margin-top-1{margin-top:1rem}.esri-sketch{display:flex;flex-flow:column wrap}.esri-widget{box-sizing:border-box;color:#323232;font-size:14px;font-family:\"Avenir Next\",\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:1.3em;background-color:var(--calcite-ui-foreground-1)}.esri-sketch__panel{align-items:center;display:flex;flex-flow:row nowrap;padding:0}*/ .esri-sketch__tool-section{border-right:1px solid rgba(110,110,110,.3)}.esri-sketch__section{align-items:center;display:flex;flex-flow:row nowrap;padding:0 7px;margin:6px 0;border-right:1px solid rgba(110,110,110,.3)}.display-flex{display:flex}.font-bold{font-weight:bold}.width-full{width:100%}.label-margin-0{--calcite-label-margin-bottom:0}.padding-start-1-2{-webkit-padding-start:0.5rem;padding-inline-start:0.5rem}";
1558
1553
 
1559
1554
  const RefineSelection = class {
1560
1555
  constructor(hostRef) {
@@ -1612,7 +1607,7 @@ const RefineSelection = class {
1612
1607
  render() {
1613
1608
  var _a, _b;
1614
1609
  const layerPickerClass = this._enabledLayerIds.length > 1 ? "display-block" : "display-none";
1615
- return (index.h(index.Host, null, index.h("div", { class: layerPickerClass + " padding-top-sides-1" }, index.h("map-layer-picker", { enabledLayerIds: this._enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, ref: (el) => { this._layerPicker = el; }, selectedLayerIds: [this._refineLayer.layer.id], selectionMode: "single" })), index.h("div", { class: "padding-1" }, index.h("div", { class: "padding-bottom-1" }, index.h("calcite-segmented-control", { class: "w-100" }, index.h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.ADD), value: interfaces.ESelectionMode.ADD }, this._translations.add), index.h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.REMOVE), value: interfaces.ESelectionMode.REMOVE }, this._translations.remove))), index.h("div", null, index.h("map-draw-tools", { active: true, drawMode: interfaces.EDrawMode.REFINE, mapView: this.mapView, onDrawRedo: () => this._redo(), onDrawUndo: () => this._undo(), onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, redoEnabled: ((_a = this._refineSelectionSet) === null || _a === void 0 ? void 0 : _a.redoStack.length) > 0, ref: (el) => { this._drawTools = el; }, undoEnabled: ((_b = this._refineSelectionSet) === null || _b === void 0 ? void 0 : _b.undoStack.length) > 0 })), index.h("br", null), (index.h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1610
+ return (index.h(index.Host, null, index.h("div", { class: layerPickerClass + " padding-top-sides-1" }, index.h("div", { class: "display-flex" }, index.h("calcite-label", { class: "font-bold width-full label-margin-0" }, index.h("div", { class: "display-flex" }, this._translations.inputLayer, index.h("calcite-icon", { class: "padding-start-1-2 icon", icon: "question", id: "refine-input-layer", scale: "s" })), index.h("map-layer-picker", { enabledLayerIds: this._enabledLayerIds, mapView: this.mapView, onLayerSelectionChange: (evt) => { void this._layerSelectionChange(evt); }, ref: (el) => { this._layerPicker = el; }, selectedLayerIds: [this._refineLayer.layer.id], selectionMode: "single" })), index.h("calcite-popover", { closable: true, label: "", referenceElement: "refine-input-layer" }, index.h("span", { class: "tooltip-message" }, this._translations.inputLayerTip)))), index.h("div", { class: "padding-1" }, index.h("div", { class: "padding-bottom-1" }, index.h("calcite-segmented-control", { class: "w-100" }, index.h("calcite-segmented-control-item", { checked: this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.ADD), value: interfaces.ESelectionMode.ADD }, this._translations.add), index.h("calcite-segmented-control-item", { checked: !this._addEnabled, class: "w-50", onClick: () => this._setSelectionMode(interfaces.ESelectionMode.REMOVE), value: interfaces.ESelectionMode.REMOVE }, this._translations.remove))), index.h("div", null, index.h("map-draw-tools", { active: true, drawMode: interfaces.EDrawMode.REFINE, mapView: this.mapView, onDrawRedo: () => this._redo(), onDrawUndo: () => this._undo(), onSketchGraphicsChange: (evt) => this._sketchGraphicsChanged(evt), pointSymbol: this.sketchPointSymbol, polygonSymbol: this.sketchPolygonSymbol, polylineSymbol: this.sketchLineSymbol, redoEnabled: ((_a = this._refineSelectionSet) === null || _a === void 0 ? void 0 : _a.redoStack.length) > 0, ref: (el) => { this._drawTools = el; }, undoEnabled: ((_b = this._refineSelectionSet) === null || _b === void 0 ? void 0 : _b.undoStack.length) > 0 })), index.h("br", null), (index.h("calcite-list", { class: "list-border" }, this._getRefineSelectionSetList())))));
1616
1611
  }
1617
1612
  //--------------------------------------------------------------------------
1618
1613
  //
@@ -1507,7 +1507,7 @@ function(t){var e=function(t){for(var e=t.length,r=new Uint8Array(e),n=0;n<e;n++
1507
1507
  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1508
1508
  * ====================================================================
1509
1509
  */
1510
- function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-4f5dfcc6.js'); })).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1510
+ function(t){function e(){return (n.canvg?Promise.resolve(n.canvg):Promise.resolve().then(function () { return require('./index.es-9965b78c.js'); })).catch((function(t){return Promise.reject(new Error("Could not load canvg: "+t))})).then((function(t){return t.default?t.default:t}))}E.API.addSvgAsImage=function(t,r,n,i,o,s,c,u){if(isNaN(r)||isNaN(n))throw a.error("jsPDF.addSvgAsImage: Invalid coordinates",arguments),new Error("Invalid coordinates passed to jsPDF.addSvgAsImage");if(isNaN(i)||isNaN(o))throw a.error("jsPDF.addSvgAsImage: Invalid measurements",arguments),new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage");var h=document.createElement("canvas");h.width=i,h.height=o;var l=h.getContext("2d");l.fillStyle="#fff",l.fillRect(0,0,h.width,h.height);var f={ignoreMouse:!0,ignoreAnimation:!0,ignoreDimensions:!0},d=this;return e().then((function(e){return e.fromString(l,t,f)}),(function(){return Promise.reject(new Error("Could not load canvg."))})).then((function(t){return t.render(f)})).then((function(){d.addImage(h.toDataURL("image/jpeg",1),r,n,i,o,c,u);}))};}(),E.API.putTotalPages=function(t){var e,r=0;parseInt(this.internal.getFont().id.substr(1),10)<15?(e=new RegExp(t,"g"),r=this.internal.getNumberOfPages()):(e=new RegExp(this.pdfEscape16(t,this.internal.getFont()),"g"),r=this.pdfEscape16(this.internal.getNumberOfPages()+"",this.internal.getFont()));for(var n=1;n<=this.internal.getNumberOfPages();n++)for(var i=0;i<this.internal.pages[n].length;i++)this.internal.pages[n][i]=this.internal.pages[n][i].replace(e,r);return this},E.API.viewerPreferences=function(e,r){var n;e=e||{},r=r||!1;var i,a,o,s={HideToolbar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideMenubar:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},HideWindowUI:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},FitWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},CenterWindow:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.3},DisplayDocTitle:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.4},NonFullScreenPageMode:{defaultValue:"UseNone",value:"UseNone",type:"name",explicitSet:!1,valueSet:["UseNone","UseOutlines","UseThumbs","UseOC"],pdfVersion:1.3},Direction:{defaultValue:"L2R",value:"L2R",type:"name",explicitSet:!1,valueSet:["L2R","R2L"],pdfVersion:1.3},ViewArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},ViewClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintArea:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintClip:{defaultValue:"CropBox",value:"CropBox",type:"name",explicitSet:!1,valueSet:["MediaBox","CropBox","TrimBox","BleedBox","ArtBox"],pdfVersion:1.4},PrintScaling:{defaultValue:"AppDefault",value:"AppDefault",type:"name",explicitSet:!1,valueSet:["AppDefault","None"],pdfVersion:1.6},Duplex:{defaultValue:"",value:"none",type:"name",explicitSet:!1,valueSet:["Simplex","DuplexFlipShortEdge","DuplexFlipLongEdge","none"],pdfVersion:1.7},PickTrayByPDFSize:{defaultValue:!1,value:!1,type:"boolean",explicitSet:!1,valueSet:[!0,!1],pdfVersion:1.7},PrintPageRange:{defaultValue:"",value:"",type:"array",explicitSet:!1,valueSet:null,pdfVersion:1.7},NumCopies:{defaultValue:1,value:1,type:"integer",explicitSet:!1,valueSet:null,pdfVersion:1.7}},c=Object.keys(s),u=[],h=0,l=0,f=0;function d(t,e){var r,n=!1;for(r=0;r<t.length;r+=1)t[r]===e&&(n=!0);return n}if(void 0===this.internal.viewerpreferences&&(this.internal.viewerpreferences={},this.internal.viewerpreferences.configuration=JSON.parse(JSON.stringify(s)),this.internal.viewerpreferences.isSubscribed=!1),n=this.internal.viewerpreferences.configuration,"reset"===e||!0===r){var p=c.length;for(f=0;f<p;f+=1)n[c[f]].value=n[c[f]].defaultValue,n[c[f]].explicitSet=!1;}if("object"===t(e))for(a in e)if(o=e[a],d(c,a)&&void 0!==o){if("boolean"===n[a].type&&"boolean"==typeof o)n[a].value=o;else if("name"===n[a].type&&d(n[a].valueSet,o))n[a].value=o;else if("integer"===n[a].type&&Number.isInteger(o))n[a].value=o;else if("array"===n[a].type){for(h=0;h<o.length;h+=1)if(i=!0,1===o[h].length&&"number"==typeof o[h][0])u.push(String(o[h]-1));else if(o[h].length>1){for(l=0;l<o[h].length;l+=1)"number"!=typeof o[h][l]&&(i=!1);!0===i&&u.push([o[h][0]-1,o[h][1]-1].join(" "));}n[a].value="["+u.join(" ")+"]";}else n[a].value=n[a].defaultValue;n[a].explicitSet=!0;}return !1===this.internal.viewerpreferences.isSubscribed&&(this.internal.events.subscribe("putCatalog",(function(){var t,e=[];for(t in n)!0===n[t].explicitSet&&("name"===n[t].type?e.push("/"+t+" /"+n[t].value):e.push("/"+t+" "+n[t].value));0!==e.length&&this.internal.write("/ViewerPreferences\n<<\n"+e.join("\n")+"\n>>");})),this.internal.viewerpreferences.isSubscribed=!0),this.internal.viewerpreferences.configuration=n,this},
1511
1511
  /** ====================================================================
1512
1512
  * @license
1513
1513
  * jsPDF XMP metadata plugin
@@ -2263,39 +2263,52 @@ const lineSeparatorChar = "|";
2263
2263
  /**
2264
2264
  * Downloads csv of mailing labels for the provided list of ids
2265
2265
  *
2266
- * @param selectionSetNames Names of the selection sets used to provide ids
2267
- * @param layer Layer providing features and attributes for download
2268
- * @param ids List of ids to download
2266
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2269
2267
  * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2270
2268
  * all attributes are exported
2271
2269
  * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
2272
2270
  * @param addColumnTitle Indicates if column headings should be included in output
2273
2271
  * @returns Promise resolving when function is done
2274
2272
  */
2275
- async function downloadCSV(selectionSetNames, layer, ids, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
2276
- const labels = await _prepareLabels(layer, ids, removeDuplicates, formatUsingLayerPopup, addColumnTitle);
2277
- exportCSV(_createFilename(selectionSetNames), labels);
2273
+ async function downloadCSV(exportInfos, formatUsingLayerPopup, removeDuplicates = false, addColumnTitle = false) {
2274
+ let labels = await consolidateLabels(exportInfos, formatUsingLayerPopup, addColumnTitle, true);
2275
+ labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2276
+ const layerIds = Object.keys(exportInfos);
2277
+ let layerLabels = [];
2278
+ labels.forEach(label => {
2279
+ const id = label[0];
2280
+ // layerIds are stored as value separator at the end of the values for a given layer
2281
+ if (layerIds.indexOf(id) < 0) {
2282
+ layerLabels.push(label);
2283
+ }
2284
+ else {
2285
+ const selectionSetNames = _getSelectionSetNames(exportInfos, new RegExp(`\\b${id}\\b`));
2286
+ // once we see the layerId we have reached the end of it's values and should export
2287
+ exportCSV(_createFilename(selectionSetNames), layerLabels);
2288
+ layerLabels = [];
2289
+ }
2290
+ });
2278
2291
  return Promise.resolve();
2279
2292
  }
2280
2293
  /**
2281
2294
  * Downloads csv of mailing labels for the provided list of ids
2282
2295
  *
2283
- * @param selectionSetNames Names of the selection sets used to provide ids
2284
- * @param layer Layer providing features and attributes for download
2285
- * @param ids List of ids to download
2296
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2286
2297
  * @param labelPageDescription Provides PDF page layout info
2287
2298
  * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
2288
2299
  * @param title Title for each page
2289
2300
  * @param initialImageDataUrl Data URL of image for first page
2290
2301
  * @returns Promise resolving when function is done
2291
2302
  */
2292
- async function downloadPDF(selectionSetNames, layer, ids, labelPageDescription, removeDuplicates = false, title = "", initialImageDataUrl = "") {
2293
- let labels = await _prepareLabels(layer, ids, removeDuplicates);
2303
+ async function downloadPDF(exportInfos, labelPageDescription, removeDuplicates = false, title = "", initialImageDataUrl = "") {
2304
+ let labels = await consolidateLabels(exportInfos);
2305
+ const selectionSetNames = _getSelectionSetNames(exportInfos);
2294
2306
  labels =
2295
2307
  // Remove empty lines in labels
2296
2308
  labels.map(labelLines => labelLines.filter(line => line.length > 0))
2297
2309
  // Remove empty labels
2298
2310
  .filter(label => label.length > 0);
2311
+ labels = removeDuplicates ? removeDuplicateLabels(labels) : labels;
2299
2312
  exportPDF(_createFilename(selectionSetNames), labels, labelPageDescription, title, initialImageDataUrl);
2300
2313
  return Promise.resolve();
2301
2314
  }
@@ -2512,13 +2525,12 @@ function _prepareAttributeValue(attributeValue, attributeType, attributeDomain,
2512
2525
  *
2513
2526
  * @param layer Layer from which to fetch features
2514
2527
  * @param ids List of ids to download
2515
- * @param removeDuplicates When true a single label is generated when multiple featues have a shared address value
2516
2528
  * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2517
2529
  * all attributes are exported
2518
2530
  * @param includeHeaderNames Add the label format at the front of the list of generated labels
2519
2531
  * @returns Promise resolving when function is done
2520
2532
  */
2521
- async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLayerPopup = true, includeHeaderNames = false) {
2533
+ async function _prepareLabels(layer, ids, formatUsingLayerPopup = true, includeHeaderNames = false) {
2522
2534
  var _a, _b, _c, _d, _e, _f;
2523
2535
  const [intl] = await loadModules.loadModules(["esri/intl"]);
2524
2536
  // Get the features to export
@@ -2572,7 +2584,6 @@ async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLa
2572
2584
  let labels;
2573
2585
  // eslint-disable-next-line unicorn/prefer-ternary
2574
2586
  if (labelFormat) {
2575
- console.log("labelFormat", labelFormat); //???
2576
2587
  const arcadeExpressionRegExp = /\{expression\/\w+\}/g;
2577
2588
  const attributeRegExp = /\{\w+\}/g;
2578
2589
  // Find the label fields that we need to replace with values
@@ -2600,28 +2611,21 @@ async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLa
2600
2611
  });
2601
2612
  // Wait for all of the queries for related records for this label
2602
2613
  const relatedFeatureQueryResults = await Promise.all(relatedFeatureQueries);
2603
- console.log("relatedFeatureQueryResults", relatedFeatureQueryResults); //???
2604
2614
  relatedFeatureQueryResults.forEach((relatedFeatureQueryResult, i) => {
2605
2615
  // We have an object with FeatureSets grouped by source layer or table objectIds
2606
2616
  const relationshipId = relationshipIds[i];
2607
- console.log("relationshipId", relationshipId); //???
2608
- console.log("relatedFeatureQueryResult", relatedFeatureQueryResult); //???
2609
2617
  // Run through the source layer or table objectIds
2610
2618
  Object.keys(relatedFeatureQueryResult).forEach(relatedFeatureSetId => {
2611
- console.log("relatedFeatureSetId", relatedFeatureSetId); //???
2612
2619
  // We have a feature set
2613
2620
  const relatedFeatures = relatedFeatureQueryResult[relatedFeatureSetId].features;
2614
- console.log("relatedFeatures", relatedFeatures); //???
2615
2621
  // Get the values from each feature and replace them in the label
2616
2622
  relatedFeatures.forEach(feature => {
2617
2623
  // Merge the base and related feature attributes and create the label
2618
2624
  // Prefix related feature's attributes with "relationships/<id>/" to match popup
2619
2625
  const rePrefix = "\{relationships/" + relationshipId + "/";
2620
2626
  const reSuffix = "\}";
2621
- console.log("/rePrefix + attributeName + reSuffix/g", rePrefix + "attributeName" + reSuffix); //???
2622
2627
  const attributes = feature.attributes;
2623
2628
  Object.keys(attributes).forEach(attributeName => {
2624
- console.log("/rePrefix + attributeName + reSuffix/g", rePrefix + attributeName + reSuffix); //???
2625
2629
  // Replace the value using the attribute name as a relationship
2626
2630
  const attributeRelationshipRegExp = new RegExp(rePrefix + attributeName + reSuffix, "g");
2627
2631
  labelPrep = labelPrep.replaceAll(attributeRelationshipRegExp, attributes[attributeName]);
@@ -2651,12 +2655,6 @@ async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLa
2651
2655
  });
2652
2656
  });
2653
2657
  }
2654
- // Remove duplicates
2655
- if (removeDuplicates) {
2656
- const labelsAsStrings = labels.map(label => JSON.stringify(label));
2657
- const uniqueLabels = new Set(labelsAsStrings);
2658
- labels = Array.from(uniqueLabels, labelString => JSON.parse(labelString));
2659
- }
2660
2658
  // Add header names
2661
2659
  if (includeHeaderNames) {
2662
2660
  let headerNames = [];
@@ -2673,8 +2671,59 @@ async function _prepareLabels(layer, ids, removeDuplicates = true, formatUsingLa
2673
2671
  }
2674
2672
  return Promise.resolve(labels);
2675
2673
  }
2674
+ /**
2675
+ * Remove any duplicate labels
2676
+ *
2677
+ * @param labels Labels to evaluate for duplicates
2678
+ * @returns labels with duplicates removed
2679
+ */
2680
+ function removeDuplicateLabels(labels) {
2681
+ const labelsAsStrings = labels.map(label => JSON.stringify(label));
2682
+ const uniqueLabels = new Set(labelsAsStrings);
2683
+ return Array.from(uniqueLabels, labelString => JSON.parse(labelString));
2684
+ }
2685
+ /**
2686
+ * Extract selectionSetNames from the provided exportInfos
2687
+ *
2688
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2689
+ * @returns selectionSetNames that will be used for export filenames
2690
+ */
2691
+ function _getSelectionSetNames(exportInfos, id = /.+/) {
2692
+ let selectionSetNames = [];
2693
+ Object.keys(exportInfos).forEach(k => {
2694
+ const exportInfo = exportInfos[k];
2695
+ if (id.test(k)) {
2696
+ selectionSetNames = selectionSetNames.concat(exportInfo.selectionSetNames);
2697
+ }
2698
+ });
2699
+ return selectionSetNames;
2700
+ }
2701
+ /**
2702
+ * Create and consolidate labels from all layers
2703
+ *
2704
+ * @param exportInfos Key details about what to export (ids, layer, and selectionSetNames)
2705
+ * @param formatUsingLayerPopup When true, the layer's popup is used to choose attributes for each column; when false,
2706
+ * all attributes are exported
2707
+ * @param includeHeaderNames Add the label format at the front of the list of generated labels
2708
+ * @returns selectionSetNames that will be used for export filenames
2709
+ */
2710
+ async function consolidateLabels(exportInfos, formatUsingLayerPopup = true, includeHeaderNames = false, isCSVExport = false) {
2711
+ const labelRequests = [];
2712
+ Object.keys(exportInfos).forEach(k => {
2713
+ const labelInfo = exportInfos[k];
2714
+ labelRequests.push(_prepareLabels(labelInfo.layerView.layer, labelInfo.ids, formatUsingLayerPopup, includeHeaderNames));
2715
+ if (isCSVExport) {
2716
+ // add the layer id as a temp value separator that we can use to split values for CSV export
2717
+ labelRequests.push(Promise.resolve([[k]]));
2718
+ }
2719
+ });
2720
+ const labels = await Promise.all(labelRequests);
2721
+ return labels.reduce((prev, cur) => prev.concat(cur), []);
2722
+ }
2676
2723
  //#endregion
2677
2724
 
2678
2725
  exports._typeof_1 = _typeof_1;
2726
+ exports.consolidateLabels = consolidateLabels;
2679
2727
  exports.downloadCSV = downloadCSV;
2680
2728
  exports.downloadPDF = downloadPDF;
2729
+ exports.removeDuplicateLabels = removeDuplicateLabels;
@@ -6,7 +6,7 @@
6
6
  'use strict';
7
7
 
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-384729db.js');
9
- const downloadUtils = require('./downloadUtils-8d66f03e.js');
9
+ const downloadUtils = require('./downloadUtils-7a0fd3c0.js');
10
10
  require('./index-6654298b.js');
11
11
  require('./loadModules-ae7715f2.js');
12
12
  require('./locale-b113c6b2.js');
@@ -11,7 +11,7 @@ const index = require('./index-6654298b.js');
11
11
  const loadModules = require('./loadModules-ae7715f2.js');
12
12
  const locale = require('./locale-b113c6b2.js');
13
13
  const mapViewUtils = require('./mapViewUtils-c45571b9.js');
14
- const downloadUtils = require('./downloadUtils-8d66f03e.js');
14
+ const downloadUtils = require('./downloadUtils-7a0fd3c0.js');
15
15
  const interfaces = require('./interfaces-842c84a1.js');
16
16
  require('./_commonjsHelpers-384729db.js');
17
17
 
@@ -177,8 +177,13 @@ const LayerTable = class {
177
177
  * @returns a promise that will resolve when the operation is complete
178
178
  */
179
179
  _exportToCSV() {
180
- void downloadUtils.downloadCSV([], this._layerView.layer, this._getSelectedIds(), false, // formatUsingLayerPopup
181
- false, // removeDuplicates
180
+ const exportInfos = {};
181
+ exportInfos[this._layerView.layer.id] = {
182
+ selectionSetNames: [],
183
+ ids: this._getSelectedIds(),
184
+ layerView: this._layerView
185
+ };
186
+ void downloadUtils.downloadCSV(exportInfos, false, // formatUsingLayerPopup
182
187
  true);
183
188
  }
184
189
  /**