@esri/solutions-components 0.5.8 → 0.5.10

Sign up to get free protection for your applications and to get access to all the features.
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
  /**