@arcgis/map-components 5.0.0-next.163 → 5.0.0-next.165

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 (229) hide show
  1. package/dist/cdn/27EX7BAT.js +2 -0
  2. package/dist/cdn/{ANP7PYGJ.js → 2FBKLGCE.js} +1 -1
  3. package/dist/cdn/{U3H7EVCU.js → 2GYHEEJC.js} +1 -1
  4. package/dist/cdn/2KXVCJMQ.js +2 -0
  5. package/dist/cdn/{K4PC3ILQ.js → 2TODV24L.js} +1 -1
  6. package/dist/cdn/{MAM7YHLA.js → 2VVXUYOF.js} +1 -1
  7. package/dist/cdn/{QUHJMEBB.js → 2YI467ME.js} +1 -1
  8. package/dist/cdn/34S3BZS7.js +2 -0
  9. package/dist/cdn/{JCW65STL.js → 36NT6EOS.js} +1 -1
  10. package/dist/cdn/{7NOD6U2Y.js → 3K3Q3L5Z.js} +1 -1
  11. package/dist/cdn/{ORVYHFUJ.js → 3L6KP67K.js} +1 -1
  12. package/dist/cdn/{UELD2T53.js → 3O5MUEQE.js} +1 -1
  13. package/dist/cdn/{ILFME5US.js → 3RF66PN5.js} +1 -1
  14. package/dist/cdn/{PYMUS3H4.js → 46XRVUAH.js} +1 -1
  15. package/dist/cdn/{CO7UZYM2.js → 4IFHPHVF.js} +1 -1
  16. package/dist/cdn/{42WUBROP.js → 4OMTR2QQ.js} +1 -1
  17. package/dist/cdn/{RZ4T32PU.js → 4PK3GJ4F.js} +1 -1
  18. package/dist/cdn/{BGG5VIEL.js → 53LWO7HI.js} +1 -1
  19. package/dist/cdn/{TGUIWWDN.js → 5M4DDFN6.js} +1 -1
  20. package/dist/cdn/{JWT66RP2.js → 5PG27K3A.js} +1 -1
  21. package/dist/cdn/{U4TAMNG3.js → 5UFFQJSU.js} +1 -1
  22. package/dist/cdn/{TQRR2FH6.js → 5Y6NI7HQ.js} +1 -1
  23. package/dist/cdn/{KAZBQ6OA.js → 67G4OVIE.js} +1 -1
  24. package/dist/cdn/{QKSSTPS3.js → 7INPCVND.js} +1 -1
  25. package/dist/cdn/{LE7AXIL2.js → 7QF7HEDI.js} +1 -1
  26. package/dist/cdn/{7AGJFQHK.js → AAH2GFLP.js} +1 -1
  27. package/dist/cdn/AC3NQPKC.js +2 -0
  28. package/dist/cdn/{26SX6MF4.js → AGY724TJ.js} +1 -1
  29. package/dist/cdn/AHTIA2R6.js +2 -0
  30. package/dist/cdn/{25HB2UBJ.js → AIRTNDBH.js} +1 -1
  31. package/dist/cdn/{JZXMWXVD.js → AOZ2GPBD.js} +1 -1
  32. package/dist/cdn/{PZ2JPHRS.js → AX67NWFX.js} +1 -1
  33. package/dist/cdn/{WDTFIXMM.js → BHWPGG7Z.js} +1 -1
  34. package/dist/cdn/{F2HPTFLQ.js → BPZSPB4L.js} +1 -1
  35. package/dist/cdn/{67DKLGTW.js → BQDOPZG6.js} +1 -1
  36. package/dist/cdn/{H5RGMC7S.js → BYVF7WOC.js} +1 -1
  37. package/dist/cdn/{KGJGLAWM.js → CAW2JA3E.js} +1 -1
  38. package/dist/cdn/{JUHCPSPF.js → CAYSZWRK.js} +1 -1
  39. package/dist/cdn/{CSU7GLED.js → CBR6PUEY.js} +1 -1
  40. package/dist/cdn/{CEB3VR24.js → CFZXYFU7.js} +1 -1
  41. package/dist/cdn/{R2FIOZIL.js → CGRFWSSV.js} +1 -1
  42. package/dist/cdn/{KWIBK4I5.js → CGROBDHE.js} +1 -1
  43. package/dist/cdn/{N7QKWBTM.js → COEDZB6D.js} +1 -1
  44. package/dist/cdn/{BKYII5LQ.js → CQ6KMSIO.js} +1 -1
  45. package/dist/cdn/CXJGKZ7S.js +2 -0
  46. package/dist/cdn/{5LG4S2WV.js → DGDL4K6G.js} +1 -1
  47. package/dist/cdn/{4ESEDU4X.js → DHOVN4JA.js} +1 -1
  48. package/dist/cdn/{IQ7EVFBF.js → DI66GYDO.js} +1 -1
  49. package/dist/cdn/{M3AVHGBC.js → DMUVML6L.js} +1 -1
  50. package/dist/cdn/{ZOBY4YF2.js → DXJ7TMEQ.js} +1 -1
  51. package/dist/cdn/EGCQFNG3.js +2 -0
  52. package/dist/cdn/EOFEVRA3.js +2 -0
  53. package/dist/cdn/{XCDPFMHG.js → FFKZELBO.js} +1 -1
  54. package/dist/cdn/{EO66UQLI.js → FNAMDUKT.js} +1 -1
  55. package/dist/cdn/{HYBTGX3N.js → FOLIPPYI.js} +1 -1
  56. package/dist/cdn/{4WMWNIPN.js → FZVLJT66.js} +1 -1
  57. package/dist/cdn/{NMUWFJ4U.js → GD4LUFAZ.js} +1 -1
  58. package/dist/cdn/{WV6XSMZW.js → GK5T2FD6.js} +1 -1
  59. package/dist/cdn/{AJ64UYFM.js → GNCHWVNF.js} +1 -1
  60. package/dist/cdn/{IL56ZRDO.js → GOBIBDSA.js} +1 -1
  61. package/dist/cdn/HOBC5TEW.js +2 -0
  62. package/dist/cdn/{YLSIF5R2.js → HVRIARCB.js} +1 -1
  63. package/dist/cdn/{7WJ6TNOT.js → IEH4OYWP.js} +1 -1
  64. package/dist/cdn/IMPTONCA.js +2 -0
  65. package/dist/cdn/{RYKRMJMK.js → IPCQCFE3.js} +1 -1
  66. package/dist/cdn/{FRGWWVJK.js → J2N4NGSM.js} +1 -1
  67. package/dist/cdn/{F6QNNUIN.js → J4BNEHAO.js} +1 -1
  68. package/dist/cdn/JDP3YCBM.js +2 -0
  69. package/dist/cdn/{RE2BXNZ3.js → JPZMCGTS.js} +1 -1
  70. package/dist/cdn/{2FTXKTA4.js → JW5X664C.js} +1 -1
  71. package/dist/cdn/{NXZJ43G3.js → JYJBSAJT.js} +1 -1
  72. package/dist/cdn/{RB7GCEEB.js → K6Z5GBWL.js} +1 -1
  73. package/dist/cdn/{6424II7L.js → KBQK73Z2.js} +1 -1
  74. package/dist/cdn/{UQKKALKO.js → KCQB4NNK.js} +1 -1
  75. package/dist/cdn/{DT74YNQP.js → KRVZWYAS.js} +1 -1
  76. package/dist/cdn/{OFQNQF6N.js → KVJKF3VJ.js} +1 -1
  77. package/dist/cdn/{J4XU75P7.js → KXTLXAZQ.js} +1 -1
  78. package/dist/cdn/{Z6LXLPK7.js → LRUQSH7S.js} +1 -1
  79. package/dist/cdn/{X7QWBVC2.js → M3LMLGTS.js} +1 -1
  80. package/dist/cdn/{SQFVC4KA.js → MJBV536L.js} +1 -1
  81. package/dist/cdn/{FA3Z6QOE.js → MQYKZ2MY.js} +1 -1
  82. package/dist/cdn/{AX23Q2XH.js → N7JZUN7G.js} +1 -1
  83. package/dist/cdn/{ESNK6MCY.js → NMKZ77A3.js} +1 -1
  84. package/dist/cdn/{6IPVLMFQ.js → OJCRKH55.js} +1 -1
  85. package/dist/cdn/{WLNRPTCN.js → OKSHNWO7.js} +1 -1
  86. package/dist/cdn/{HKVQWRPL.js → OROETUZO.js} +1 -1
  87. package/dist/cdn/OY3WQBQM.js +2 -0
  88. package/dist/cdn/{KRVBBG4M.js → QGNFMBBV.js} +1 -1
  89. package/dist/cdn/{UW3G2BPO.js → QNCFWECI.js} +1 -1
  90. package/dist/cdn/{B7SDETM6.js → QSOGE4GS.js} +1 -1
  91. package/dist/cdn/{OKRTKYGF.js → QTOSV4XU.js} +1 -1
  92. package/dist/cdn/RTC24EVK.js +2 -0
  93. package/dist/cdn/{ONPN5M3Z.js → RTLNV5MH.js} +1 -1
  94. package/dist/cdn/RUC6NG6L.js +2 -0
  95. package/dist/cdn/RYH43ZOR.js +2 -0
  96. package/dist/cdn/{RMFIN5AS.js → RZDIL4FK.js} +1 -1
  97. package/dist/cdn/{NWXN5M4S.js → SAGJDTGS.js} +1 -1
  98. package/dist/cdn/SI3PITPE.js +2 -0
  99. package/dist/cdn/{AJIZTCGT.js → SS3BP5JY.js} +1 -1
  100. package/dist/cdn/{RU5U2DVA.js → STZ7NN7N.js} +1 -1
  101. package/dist/cdn/{T3JWZEB6.js → TBPQMJ3U.js} +1 -1
  102. package/dist/cdn/TCNK7NLA.js +2 -0
  103. package/dist/cdn/{3HYCJV4V.js → UCRB5RGH.js} +1 -1
  104. package/dist/cdn/{GAH6OGQE.js → UEUYXTE3.js} +1 -1
  105. package/dist/cdn/{LT5ALQM5.js → UFQOOCIO.js} +1 -1
  106. package/dist/cdn/{6IUQ5UHX.js → UFWKXIL5.js} +1 -1
  107. package/dist/cdn/UJXCCQWE.js +2 -0
  108. package/dist/cdn/{FD4A66OJ.js → V2QY34FP.js} +1 -1
  109. package/dist/cdn/{ZVTV4UKT.js → V4E5MPHA.js} +1 -1
  110. package/dist/cdn/{SK6O74LF.js → VAXL3OO6.js} +1 -1
  111. package/dist/cdn/{AHGLOKZI.js → VB66GDWY.js} +1 -1
  112. package/dist/cdn/{INYYRLED.js → VEBPC4NS.js} +1 -1
  113. package/dist/cdn/W627TIVM.js +2 -0
  114. package/dist/cdn/{DB2NOQ3D.js → WVRJP4IF.js} +1 -1
  115. package/dist/cdn/{QF7RABZH.js → WX4UNUXQ.js} +1 -1
  116. package/dist/cdn/{UBGE4QNR.js → WXQJ3OSA.js} +1 -1
  117. package/dist/cdn/{CGASUBOS.js → WXXTKBUN.js} +1 -1
  118. package/dist/cdn/{IKOLSNGV.js → WZVTF32R.js} +1 -1
  119. package/dist/cdn/X25QBU47.js +2 -0
  120. package/dist/cdn/{WBGZAAEK.js → X446GLUI.js} +1 -1
  121. package/dist/cdn/{G4FP7GXM.js → X4DF5NLE.js} +1 -1
  122. package/dist/cdn/{PQ5PGLJM.js → X4M3A7NY.js} +1 -1
  123. package/dist/cdn/{AEMKZZZS.js → X4PMY7Z5.js} +1 -1
  124. package/dist/cdn/{5DEOSU7J.js → X72XPU7O.js} +1 -1
  125. package/dist/cdn/{XIOIZK7A.js → X7Z2SLR4.js} +1 -1
  126. package/dist/cdn/{L5JWLRD3.js → XFCXD5BV.js} +1 -1
  127. package/dist/cdn/{D4PJU376.js → XL4ZVZQO.js} +1 -1
  128. package/dist/cdn/{SDWQW3ZX.js → XT5EYUOZ.js} +1 -1
  129. package/dist/cdn/{GCFNRINR.js → XUMBGLCM.js} +1 -1
  130. package/dist/cdn/{2AHY7O7C.js → Y7HAR5TE.js} +1 -1
  131. package/dist/cdn/{7OOAOM5T.js → YBPTQSLR.js} +1 -1
  132. package/dist/cdn/{YXYCWJFF.js → YGFR3GKE.js} +1 -1
  133. package/dist/cdn/{75LFOVPY.js → YJQ24JUD.js} +1 -1
  134. package/dist/cdn/{E5SXPWDJ.js → YOZLJOIM.js} +1 -1
  135. package/dist/cdn/{522HNMQI.js → YQ7TCV5A.js} +1 -1
  136. package/dist/cdn/{MD36SH63.js → YZSRJTGJ.js} +1 -1
  137. package/dist/cdn/{CXHSL2Y4.js → ZFHIU6DT.js} +1 -1
  138. package/dist/cdn/ZNBKMZP7.js +2 -0
  139. package/dist/cdn/{GMR2QJNU.js → ZY32LRC5.js} +1 -1
  140. package/dist/cdn/index.js +1 -1
  141. package/dist/chunks/esri-main.js +1 -1
  142. package/dist/chunks/measurementUtils.js +3 -3
  143. package/dist/components/arcgis-area-measurement-2d/customElement.js +62 -74
  144. package/dist/components/arcgis-area-measurement-3d/customElement.js +52 -64
  145. package/dist/components/arcgis-direct-line-measurement-3d/customElement.js +59 -71
  146. package/dist/components/arcgis-directions/customElement.d.ts +17 -0
  147. package/dist/components/arcgis-directions/customElement.js +5 -5
  148. package/dist/components/arcgis-distance-measurement-2d/customElement.js +58 -70
  149. package/dist/components/arcgis-elevation-profile/customElement.js +100 -111
  150. package/dist/components/arcgis-elevation-profile-settings/customElement.js +22 -22
  151. package/dist/components/arcgis-feature/customElement.js +6 -6
  152. package/dist/components/arcgis-feature-table/customElement.d.ts +57 -2
  153. package/dist/components/arcgis-feature-table/customElement.js +28 -13
  154. package/dist/components/arcgis-feature-templates/customElement.d.ts +3 -0
  155. package/dist/components/arcgis-feature-templates/customElement.js +2 -2
  156. package/dist/components/arcgis-feature-utility-network-association-list/customElement.js +16 -16
  157. package/dist/components/arcgis-feature-utility-network-associations/customElement.js +55 -55
  158. package/dist/components/arcgis-features/customElement.js +46 -52
  159. package/dist/components/arcgis-link-chart/customElement.js +10 -15
  160. package/dist/components/arcgis-map/customElement.js +1 -6
  161. package/dist/components/arcgis-paste/PasteViewModel.d.ts +1 -1
  162. package/dist/components/arcgis-paste/customElement.js +51 -47
  163. package/dist/components/arcgis-popup/customElement.js +106 -99
  164. package/dist/components/arcgis-popup/types.d.ts +1 -1
  165. package/dist/components/arcgis-print/customElement.d.ts +10 -0
  166. package/dist/components/arcgis-print/customElement.js +7 -7
  167. package/dist/components/arcgis-print-layout-advanced-options/customElement.js +12 -12
  168. package/dist/components/arcgis-print-layout-panel/customElement.js +6 -6
  169. package/dist/components/arcgis-print-main-panel/customElement.js +7 -7
  170. package/dist/components/arcgis-scene/customElement.js +8 -13
  171. package/dist/components/arcgis-slider-binary-color-size-legacy/customElement.d.ts +1 -1
  172. package/dist/components/arcgis-slider-binary-color-size-legacy/customElement.js +1 -1
  173. package/dist/components/arcgis-slider-classed-color-legacy/customElement.d.ts +1 -1
  174. package/dist/components/arcgis-slider-classed-color-legacy/customElement.js +1 -1
  175. package/dist/components/arcgis-slider-classed-size-legacy/customElement.d.ts +1 -1
  176. package/dist/components/arcgis-slider-classed-size-legacy/customElement.js +1 -1
  177. package/dist/components/arcgis-slider-color-size-legacy/customElement.d.ts +1 -1
  178. package/dist/components/arcgis-slider-color-size-legacy/customElement.js +1 -1
  179. package/dist/components/arcgis-slider-heatmap-legacy/customElement.d.ts +1 -1
  180. package/dist/components/arcgis-slider-heatmap-legacy/customElement.js +1 -1
  181. package/dist/components/arcgis-slider-opacity-legacy/customElement.d.ts +1 -1
  182. package/dist/components/arcgis-slider-opacity-legacy/customElement.js +1 -1
  183. package/dist/components/arcgis-slider-size-legacy/customElement.d.ts +1 -1
  184. package/dist/components/arcgis-slider-size-legacy/customElement.js +1 -1
  185. package/dist/components/arcgis-utility-network-aggregated-geometry/customElement.d.ts +12 -0
  186. package/dist/components/arcgis-utility-network-aggregated-geometry/customElement.js +7 -7
  187. package/dist/components/arcgis-utility-network-trace/customElement.d.ts +7 -2
  188. package/dist/components/arcgis-utility-network-trace/customElement.js +1 -1
  189. package/dist/components/arcgis-utility-network-trace-analysis/customElement.d.ts +74 -14
  190. package/dist/components/arcgis-utility-network-trace-analysis/customElement.js +47 -40
  191. package/dist/components/arcgis-utility-network-trace-inputs/customElement.d.ts +12 -0
  192. package/dist/components/arcgis-utility-network-trace-inputs/customElement.js +80 -65
  193. package/dist/components/arcgis-utility-network-trace-location/customElement.d.ts +4 -0
  194. package/dist/components/arcgis-utility-network-trace-location/customElement.js +17 -14
  195. package/dist/components/arcgis-utility-network-trace-results/customElement.d.ts +13 -0
  196. package/dist/components/arcgis-utility-network-trace-results/customElement.js +39 -26
  197. package/dist/components/arcgis-volume-measurement/customElement.js +84 -84
  198. package/dist/components/types.d.ts +5 -3
  199. package/dist/docs/api.json +1 -1
  200. package/dist/docs/docs.json +1 -1
  201. package/dist/docs/vscode.html-custom-data.json +1 -1
  202. package/dist/docs/web-types.json +1 -1
  203. package/dist/loader.js +21 -21
  204. package/dist/types/lumina.d.ts +14 -14
  205. package/dist/types/preact.d.ts +14 -14
  206. package/dist/types/react.d.ts +14 -14
  207. package/dist/types/stencil.d.ts +14 -14
  208. package/package.json +4 -4
  209. package/dist/cdn/3URKZO5O.js +0 -2
  210. package/dist/cdn/55TRWAT7.js +0 -2
  211. package/dist/cdn/BHPXKX47.js +0 -2
  212. package/dist/cdn/D4LTASH2.js +0 -2
  213. package/dist/cdn/FKQSJXNW.js +0 -2
  214. package/dist/cdn/H7O5I4IF.js +0 -2
  215. package/dist/cdn/I5M2Z7WS.js +0 -2
  216. package/dist/cdn/L6YZXUBB.js +0 -2
  217. package/dist/cdn/LEUHIPSJ.js +0 -2
  218. package/dist/cdn/NZXDNMVC.js +0 -2
  219. package/dist/cdn/ODGGFBDK.js +0 -2
  220. package/dist/cdn/P76K34HQ.js +0 -2
  221. package/dist/cdn/P7PWOUNZ.js +0 -2
  222. package/dist/cdn/Q4B4MXH4.js +0 -2
  223. package/dist/cdn/RN57AN5P.js +0 -2
  224. package/dist/cdn/SKIP3GUP.js +0 -2
  225. package/dist/cdn/UNLAUFXF.js +0 -2
  226. package/dist/cdn/URUFNID2.js +0 -2
  227. package/dist/cdn/WREEAAEV.js +0 -2
  228. package/dist/cdn/WTTBFFC2.js +0 -2
  229. package/dist/cdn/Y4RMI55P.js +0 -2
@@ -18,7 +18,7 @@ import type { PublicLitElement as LitElement } from "@arcgis/lumina";
18
18
  import type { ArcgisReferenceElement, IconName } from "../types.js";
19
19
  import type { FeatureStoreItem, ActionColumnConfig, FeatureTableSupportedFilters, ColumnSortOrder, FeatureTableSupportedLayer } from "@arcgis/core/widgets/FeatureTable/support/types.js";
20
20
  import type { CollectionChangeEvent } from "@arcgis/core/core/Collection.js";
21
- import type { TableInteractionColumnReorderEvent, TableInteractionCellPointeroverEvent, TableInteractionCellPointeroutEvent, TableInteractionCellKeydownEvent, TableInteractionCellClickEvent, TableMenuConfig, GridMultiSortPriority, FeatureTableState } from "@arcgis/core/widgets/FeatureTable/Grid/types.js";
21
+ import type { DiscardPendingEditsParameters, FeatureStoreEdits, TableInteractionColumnReorderEvent, TableInteractionCellPointeroverEvent, TableInteractionCellPointeroutEvent, TableInteractionCellKeydownEvent, TableInteractionCellClickEvent, TableMenuConfig, GridMultiSortPriority, FeatureTableState } from "@arcgis/core/widgets/FeatureTable/Grid/types.js";
22
22
  import type { MapViewOrSceneView } from "@arcgis/core/views/MapViewOrSceneView.js";
23
23
  import type { FeatureTableDescriptionFunction, FeatureTableTitleFunction } from "@arcgis/core/widgets/FeatureTable.js";
24
24
  import type { GeometryUnion } from "@arcgis/core/geometry/types.js";
@@ -964,10 +964,55 @@ export abstract class ArcgisFeatureTable extends LitElement {
964
964
  * @since 4.33
965
965
  */
966
966
  get visibleColumns(): Array<Column>;
967
+ /**
968
+ * Creates a pending edit with the specified parameters.
969
+ * A pending edit is not immediately saved to the layer.
970
+ *
971
+ * @param edits - Pending edits to be cached. Edits must include a valid objectId and field name.
972
+ * @since 5.0
973
+ * @example
974
+ * // Add pending edits for two cells in a single row
975
+ * table.addPendingEdits(
976
+ * [
977
+ * {
978
+ * objectId: 1,
979
+ * updates: [
980
+ * { fieldName: "Hotel_Name", value: "My Hotel" },
981
+ * { fieldName: "Address", value: "123 Hotel Street" },
982
+ * ]
983
+ * }
984
+ * ]
985
+ * );
986
+ */
987
+ addPendingEdits(edits: FeatureStoreEdits[]): void;
967
988
  /** @param showWarningPrompt */
968
989
  deleteSelection(showWarningPrompt?: boolean): Promise<void>;
969
990
  /** Permanently destroy the component. */
970
991
  destroy(): Promise<void>;
992
+ /**
993
+ * Cancels any pending edits. This might be edits for a specific field or column, or
994
+ * all pending edits for a specific feature. If no parameters are supplied, all pending edits
995
+ * for all features are discarded. Additionally, if showWarningPrompt is 'true', the value returned
996
+ * from this method will reflect whether or not the user chose to discard the pending edits.
997
+ *
998
+ * @param edits - Information about which pending edits should be canceled. If nothing is provided, all pending edits are discarded.
999
+ * @param showWarningPrompt - Indicates the table should display a warning prompt, which allows users to confirm if pending edits should be discarded.
1000
+ * @since 5.0
1001
+ * @example
1002
+ * // Discard pending edits for single cell in a given row
1003
+ * table.discardPendingEdits([{ objectId: 1, fieldName: "Address" }]);
1004
+ *
1005
+ * // Discard pending edits for all cells in a given row
1006
+ * table.discardPendingEdits([{ objectId: 1 }]);
1007
+ *
1008
+ * // Discard all pending edits
1009
+ * table.discardPendingEdits();
1010
+ *
1011
+ * // Displays a confirmation prompt before discarding all pending edits
1012
+ * // Returns 'true' if edits were discarded
1013
+ * const editsWereDiscarded = await table.discardPendingEdits(undefined, true);
1014
+ */
1015
+ discardPendingEdits(edits?: DiscardPendingEditsParameters[] | null, showWarningPrompt?: boolean): Promise<boolean>;
971
1016
  /** @param includeGeometry */
972
1017
  exportSelectionToCSV(includeGeometry?: boolean): Promise<void>;
973
1018
  /** @param fieldName */
@@ -978,7 +1023,7 @@ export abstract class ArcgisFeatureTable extends LitElement {
978
1023
  * @param objectId
979
1024
  * @since 5.0
980
1025
  */
981
- getFeatureStoreItemByObjectId(objectId: number | string): FeatureStoreItem | null | undefined;
1026
+ getFeatureStoreItemByObjectId(objectId: number | string): Promise<FeatureStoreItem | null | undefined>;
982
1027
  /** @param index */
983
1028
  goToPage(index: number): Promise<void>;
984
1029
  /** @param fieldName */
@@ -986,6 +1031,14 @@ export abstract class ArcgisFeatureTable extends LitElement {
986
1031
  nextPage(): Promise<void>;
987
1032
  previousPage(): Promise<void>;
988
1033
  refresh(): Promise<void>;
1034
+ refreshCellContent(): Promise<void>;
1035
+ /**
1036
+ * Attempts to save any pending edits. If any edits are invalid, the save will be rejected until the edits are in a valid state.
1037
+ *
1038
+ * @returns Resolves when the edits are saved or rejected.
1039
+ * @since 5.0
1040
+ */
1041
+ savePendingEdits(): Promise<void>;
989
1042
  scrollToBottom(): Promise<void>;
990
1043
  /** @param index */
991
1044
  scrollToIndex(index: number): Promise<void>;
@@ -1001,6 +1054,8 @@ export abstract class ArcgisFeatureTable extends LitElement {
1001
1054
  * @param direction
1002
1055
  */
1003
1056
  sortColumn(path: string, direction: "asc" | "desc"): Promise<void>;
1057
+ /** @param fieldName */
1058
+ toggleColumnVisibility(fieldName: string): Promise<void>;
1004
1059
  zoomToSelection(): Promise<void>;
1005
1060
  "@setterTypes": {
1006
1061
  icon?: IconName;
@@ -27,26 +27,32 @@ class w extends c {
27
27
  set tableDisabled(e) {
28
28
  this.widget.disabled = e;
29
29
  }
30
+ addPendingEdits(e) {
31
+ this.widget.addPendingEdits(e);
32
+ }
30
33
  async deleteSelection(e) {
31
- await this.widget?.deleteSelection(e);
34
+ await this.widget.deleteSelection(e);
32
35
  }
33
36
  async destroy() {
34
37
  await this.manager.destroy();
35
38
  }
39
+ async discardPendingEdits(e, i) {
40
+ return await this.widget.discardPendingEdits(e, i);
41
+ }
36
42
  async exportSelectionToCSV(e) {
37
- await this.widget?.exportSelectionToCSV(e);
43
+ await this.widget.exportSelectionToCSV(e);
38
44
  }
39
45
  async findColumn(e) {
40
- return this.widget?.findColumn(e);
46
+ return this.widget.findColumn(e);
41
47
  }
42
- getFeatureStoreItemByObjectId(e) {
43
- return this.widget?.getFeatureStoreItemByObjectId(e);
48
+ async getFeatureStoreItemByObjectId(e) {
49
+ return this.widget.getFeatureStoreItemByObjectId(e);
44
50
  }
45
51
  async goToPage(e) {
46
52
  this.widget.goToPage(e);
47
53
  }
48
54
  async hideColumn(e) {
49
- this.widget?.hideColumn(e);
55
+ this.widget.hideColumn(e);
50
56
  }
51
57
  async nextPage() {
52
58
  this.widget.nextPage();
@@ -55,34 +61,43 @@ class w extends c {
55
61
  this.widget.previousPage();
56
62
  }
57
63
  async refresh() {
58
- await this.widget?.refresh();
64
+ await this.widget.refresh();
65
+ }
66
+ async refreshCellContent() {
67
+ this.widget.refreshCellContent();
68
+ }
69
+ async savePendingEdits() {
70
+ this.widget.savePendingEdits();
59
71
  }
60
72
  async scrollToBottom() {
61
73
  this.widget.scrollToBottom();
62
74
  }
63
75
  async scrollToIndex(e) {
64
- this.widget?.scrollToIndex(e);
76
+ this.widget.scrollToIndex(e);
65
77
  }
66
78
  async scrollToLeft() {
67
79
  this.widget.scrollLeft();
68
80
  }
69
81
  async scrollToRow(e) {
70
- this.widget?.scrollToRow(e);
82
+ this.widget.scrollToRow(e);
71
83
  }
72
84
  async scrollToTop() {
73
85
  this.widget.scrollToTop();
74
86
  }
75
87
  async showAllColumns() {
76
- this.widget?.showAllColumns();
88
+ this.widget.showAllColumns();
77
89
  }
78
90
  async showColumn(e) {
79
- this.widget?.showColumn(e);
91
+ this.widget.showColumn(e);
80
92
  }
81
93
  async sortColumn(e, i) {
82
- this.widget?.sortColumn(e, i);
94
+ this.widget.sortColumn(e, i);
95
+ }
96
+ async toggleColumnVisibility(e) {
97
+ this.widget.toggleColumnVisibility(e);
83
98
  }
84
99
  async zoomToSelection() {
85
- this.widget?.zoomToSelection();
100
+ this.widget.zoomToSelection();
86
101
  }
87
102
  load() {
88
103
  this.manager.onLifecycle(() => this.widget.highlightIds.on("change", this.arcgisSelectionChange.emit));
@@ -9,6 +9,7 @@ import type { Filter, GroupByType } from "@arcgis/core/widgets/FeatureTemplates/
9
9
  import type { HeadingLevel } from "@arcgis/core/widgets/support/types.js";
10
10
  import type { Icon } from "@esri/calcite-components/components/calcite-icon";
11
11
  import type { LayerWithFeatureTemplatesUnion } from "@arcgis/core/layers/types.js";
12
+ import type { MapViewOrSceneView as MapViewOrSceneView2 } from "@arcgis/core/views/MapViewOrSceneView.js";
12
13
 
13
14
  /** @internal */
14
15
  export abstract class ArcgisFeatureTemplates extends LitElement {
@@ -185,6 +186,8 @@ export abstract class ArcgisFeatureTemplates extends LitElement {
185
186
  * @default "disabled"
186
187
  */
187
188
  get state(): FeatureTemplatesViewModelState;
189
+ /** A reference to the MapView or SceneView. */
190
+ accessor view: MapViewOrSceneView2 | null | undefined;
188
191
  /** Permanently destroy the component. */
189
192
  destroy(): Promise<void>;
190
193
  /**
@@ -9,10 +9,10 @@ import { css as n } from "lit";
9
9
  const c = n`.esri-widget__heading{color:var(--calcite-color-text-2);margin:0 0 .5rem;font-weight:var(--calcite-font-weight-semibold)}h1.esri-widget__heading{font-size:var(--calcite-font-size-xl)}h2.esri-widget__heading{font-size:var(--calcite-font-size-md)}h3.esri-widget__heading,h4.esri-widget__heading,h5.esri-widget__heading,h6.esri-widget__heading{font-size:var(--calcite-font-size)}.esri-widget{box-sizing:border-box;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);font-size:var(--calcite-font-size);line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget *,.esri-widget :before,.esri-widget :after{box-sizing:inherit}.esri-widget.esri-widget--disabled>*{opacity:.4;pointer-events:none}.esri-widget.esri-widget--compact{--esri-widget-padding-y: 0;--esri-widget-padding-x: 0}.esri-widget__anchor{color:var(--calcite-color-text-2)}.esri-widget__anchor:hover{color:var(--calcite-color-text-3)}.esri-widget__anchor:hover,.esri-widget__anchor:focus{text-decoration:underline}.esri-widget__anchor--disabled{opacity:.4;pointer-events:none}.esri-widget__header{background-color:var(--calcite-color-foreground-1);flex:1 0 100%;justify-content:space-between;align-items:center;width:100%;min-height:48px;padding:12px 0 12px 15px;display:flex}.esri-widget__heading{word-break:break-word}.esri-widget__header .esri-widget__heading{width:calc(100% - 48px);text-align:initial;color:var(--calcite-color-text-1);align-items:center;margin:0;padding:0;display:flex}.esri-widget__header-button{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background-color:var(--calcite-color-foreground-1);border:none;flex:0 0 48px;justify-content:center;align-self:stretch;align-items:center;width:48px;padding:0;display:flex}.esri-widget__footer{background-color:var(--calcite-color-foreground-1);justify-content:center;align-items:center;width:100%;min-height:48px;display:flex}.esri-widget__footer-pagination{color:var(--calcite-color-text-2);justify-content:space-between;align-items:center;display:flex}.esri-widget__footer-pagination-previous-button,.esri-widget__footer-pagination-next-button{cursor:pointer;background-color:var(--calcite-color-foreground-1);border:0;margin:0 7px;padding:12px 15px;transition:background-color .125s ease-in-out}.esri-widget__footer-pagination-previous-button:hover,.esri-widget__footer-pagination-previous-button:focus,.esri-widget__footer-pagination-next-button:hover,.esri-widget__footer-pagination-next-button:focus{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1)}.esri-menu{visibility:hidden;z-index:1;background-clip:padding;background-color:var(--calcite-color-foreground-1);background-clip:padding-box;width:100%;max-height:0;margin:2px 0 0;padding:0;font-size:var(--calcite-font-size);line-height:var(--calcite-spacing-xl);position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 1px 2px #0000004d}.esri-menu .esri-menu__header{color:var(--calcite-color-text-inverse);background-color:var(--calcite-color-inverse);padding:6px 12px}.esri-menu__list{margin:0;padding:0;list-style:none}.esri-menu__list-item{cursor:pointer;border-top:1px solid #adadad4d;border-left:3px solid #0000;padding:.8em 1em}.esri-menu__list-item [class^=esri-icon-],.esri-menu__list-item [class*=" esri-icon-"]{padding-right:2.8px}.esri-menu__list-item:first-child{border-top:none}.esri-menu__list-item--focus,.esri-menu__list-item:hover,.esri-menu__list-item:focus{background-color:var(--calcite-color-foreground-1)}.esri-menu__list-item:active{background-color:var(--calcite-color-foreground-current)}.esri-menu__list-item--active,.esri-menu__list-item--active:hover,.esri-menu__list-item--active:focus{background-color:var(--calcite-color-foreground-1);border-left-color:var(--calcite-color-brand)}.esri-widget__table{border-collapse:collapse;color:var(--calcite-color-text-1);border:none;width:100%;line-height:var(--calcite-font-line-height-relative-tight)}.esri-widget__table tr:nth-child(odd){background-color:var(--calcite-color-transparent)}.esri-widget__table tr:nth-child(2n){background-color:var(--calcite-color-transparent-press)}.esri-widget__table tr a{color:var(--calcite-color-text-2)}.esri-widget__table tr a:hover,.esri-widget__table tr a:focus{color:var(--calcite-color-text-1)}.esri-widget__table tr td,.esri-widget__table tr th{vertical-align:top;word-break:break-word;padding:.5em .7em;font-size:var(--calcite-font-size-sm);font-weight:var(--calcite-font-weight-regular)}.esri-widget__table tr th{text-align:left;border-right:3px solid #0000000d;width:50%}.esri-widget__table tr td{width:50%}.esri-input{color:var(--calcite-color-text-1);background-color:var(--calcite-color-foreground-1);border:1px solid #959595;font-size:var(--calcite-font-size)}.esri-input::-ms-clear{display:none}.esri-input::placeholder{opacity:1;color:var(--calcite-color-text-2)}.esri-input:placeholder-shown{text-overflow:ellipsis}.esri-input[type=text],.esri-input[type=password],.esri-input[type=number]{height:32px;padding:0 .5em}calcite-combobox.esri-input{border:none}.esri-widget__content--empty{text-align:center;color:var(--calcite-color-border-input);flex-flow:column wrap;align-items:center;padding:18px 22px;display:flex}.esri-widget__content--empty h1.esri-widget__heading,.esri-widget__content--empty h2.esri-widget__heading,.esri-widget__content--empty h3.esri-widget__heading,.esri-widget__content--empty h4.esri-widget__heading,.esri-widget__content--empty h5.esri-widget__heading{font-weight:var(--calcite-font-weight-regular)}.esri-widget__content-illustration--empty{width:128px;padding:1rem 0}.esri-widget__content-icon--empty{width:32px;padding:.5rem 0}.esri-select{appearance:none;cursor:pointer;color:var(--calcite-color-text-2);background:var(--calcite-color-foreground-1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-8 -8 32 32' width='32' height='32'%3E%3Cpath d='M8 11.207l-4-4V5.793l4 4 4-4v1.414z' fill='%23adadad' fillrule='nonzero'/%3E%3C/svg%3E") 100% no-repeat;border:1px solid #959595;border-radius:0;width:100%;height:32px;margin:0;padding:0 .5em;font-family:inherit;font-size:.85em;display:block}.esri-select[disabled]{cursor:auto}.esri-select::-ms-expand{display:none}.esri-disabled a,.esri-disabled [role=menu],.esri-disabled [role=checkbox],.esri-disabled [class^=esri-icon-],.esri-disabled [class*=" esri-icon-"]{color:var(--calcite-color-text-3)}.keynav-mode .esri-widget:focus,.keynav-mode .esri-widget :focus{z-index:1;outline-offset:2px;outline:2px solid #adadad}.esri-widget__loader-animation{border:.15em solid #adadad4d;border-top-color:var(--calcite-color-border-input);border-radius:100%;width:1em;height:1em;font-size:var(--calcite-font-size-md);animation:1.25s linear infinite esri-rotate;display:block;transform:translateZ(0)}:dir(rtl) .esri-widget__table th{text-align:right;border-left:3px solid #0000000d;border-right:none}:dir(rtl) .esri-select{background-position:0}:dir(rtl) .esri-menu__list-item{border-left:none;border-right:3px solid #0000}:dir(rtl) .esri-menu__list-item [class^=esri-icon-],:dir(rtl) .esri-menu__list-item [class*=" esri-icon-"]{padding-left:2px;padding-right:0}:dir(rtl) .esri-menu__list-item--active{border-right-color:var(--calcite-color-brand)}.esri-icon-font-fallback-text{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.esri-rotating{animation:1.25s linear infinite esri-rotate;transform:translateZ(0)}.esri-clearfix:before,.esri-clearfix:after{content:" ";display:table}.esri-clearfix:after{clear:both}.esri-interactive{cursor:pointer}.esri-hidden{display:none!important}.esri-invisible{visibility:hidden!important}.esri-offscreen{position:absolute;top:-999em;left:-999em}.esri-match-height{flex-direction:column;flex:auto;display:flex;overflow:hidden}.esri-item-list{width:100%}.esri-item-list__filter-container--sticky{z-index:1;position:sticky;top:0}.esri-item-list__group{margin-top:12px}.esri-item-list__scroller{overflow-y:auto}.esri-item-list__scroller{z-index:0;position:relative}.esri-item-list__scroller--enabled{max-height:420px}.esri-item-list__group__header{color:var(--calcite-color-text-2);font-weight:var(--calcite-font-weight-medium)}.esri-item-list__list-item{cursor:pointer;min-height:32px}.esri-item-list__list-item[class^=esri-icon-],.esri-item-list__list-item[class*=" esri-icon-"]{padding-inline-end:2.8px}.esri-item-list__list-item--disabled{cursor:default}.esri-item-list__list-item-icon{justify-content:center;align-items:center;min-width:32px;height:32px;display:flex}.esri-item-list__list-item-icon span{line-height:0}.esri-thumbnail-preview{background-position:50%;width:22px;height:22px}.esri-item-list__no-matches-message{justify-content:center;align-items:center;height:96px;display:flex}.esri-feature-templates{background:var(--calcite-color-background);width:100%}.esri-feature-templates__list-item-icon{flex:0;justify-content:center;align-items:center;width:48px;min-width:48px;display:flex}.esri-feature-templates__list-item-icon>div{display:flex}.esri-ui .esri-feature-templates{width:300px}.esri-ui .esri-widget .esri-feature-templates{width:100%}.esri-feature-templates .esri-item-list__scroller--enabled{max-height:var(--arcgis-feature-templates-max-list-height, 420px)}`, d = l(o);
10
10
  class g extends s {
11
11
  constructor() {
12
- super(...arguments), this.widget = d(this), this.viewModel = this.widget.viewModel, this.autoDestroyDisabled = !1, this.enableListScroll = this.widget.enableListScroll, this.filterFunction = this.widget.filterFunction, this.filterText = this.widget.filterText, this.groupBy = this.widget.groupBy, this.headingLevel = this.widget.headingLevel, this.hideFilter = this.widget.visibleElements.filter, this.disabledItemFunction = this.viewModel.disabledItemFunction, this.icon = this.widget.icon, this.label = this.widget.label, this.layers = this.widget.layers, this.selectionMode = this.widget.selectionMode, this.state = this.viewModel.state, this.items = this.viewModel.items, this.selectedItem = this.viewModel.selectedItem, this.arcgisPropertyChange = t()("state"), this.arcgisReady = a(), this.arcgisSelect = r(() => this.widget, "select");
12
+ super(...arguments), this.widget = d(this), this.viewModel = this.widget.viewModel, this.autoDestroyDisabled = !1, this.enableListScroll = this.widget.enableListScroll, this.filterFunction = this.widget.filterFunction, this.filterText = this.widget.filterText, this.groupBy = this.widget.groupBy, this.headingLevel = this.widget.headingLevel, this.hideFilter = this.widget.visibleElements.filter, this.disabledItemFunction = this.viewModel.disabledItemFunction, this.icon = this.widget.icon, this.label = this.widget.label, this.layers = this.widget.layers, this.selectionMode = this.widget.selectionMode, this.state = this.viewModel.state, this.items = this.viewModel.items, this.selectedItem = this.viewModel.selectedItem, this.view = this.viewModel.view, this.arcgisPropertyChange = t()("state"), this.arcgisReady = a(), this.arcgisSelect = r(() => this.widget, "select");
13
13
  }
14
14
  static {
15
- this.properties = { autoDestroyDisabled: 5, enableListScroll: 5, filterFunction: 0, filterText: 1, groupBy: 1, headingLevel: 9, hideFilter: 5, disabledItemFunction: 0, icon: 1, label: 1, layers: 0, referenceElement: 1, selectionMode: 1, state: 32, items: 32, selectedItem: 32 };
15
+ this.properties = { autoDestroyDisabled: 5, enableListScroll: 5, filterFunction: 0, filterText: 1, groupBy: 1, headingLevel: 9, hideFilter: 5, disabledItemFunction: 0, icon: 1, label: 1, layers: 0, referenceElement: 1, selectionMode: 1, state: 32, items: 32, selectedItem: 32, view: 0 };
16
16
  }
17
17
  static {
18
18
  this.styles = c;
@@ -1,6 +1,6 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
2
2
  import { c as m } from "../../chunks/runtime.js";
3
- import { css as f, html as n } from "lit";
3
+ import { css as f, html as o } from "lit";
4
4
  import { keyed as d } from "lit/directives/keyed.js";
5
5
  import { ArcgisUtilityNetworkAssociationList as g } from "../arcgis-utility-network-association-list/customElement.js";
6
6
  import { stripHTML as u } from "@arcgis/core/applications/Components/stringUtils.js";
@@ -12,7 +12,7 @@ class A extends g {
12
12
  super(...arguments), this.displayCount = 3, this.flowType = "feature-utility-network-association-type";
13
13
  }
14
14
  static {
15
- this.properties = { description: 1, displayCount: 9, endIndex: 32, flowItems: 0, flowType: 1, heading: 1, map: 0, spatialReference: 0, timeZone: 1, view: 0 };
15
+ this.properties = { description: 1, displayCount: 9, endIndex: 32, flowItems: 0, flowType: 1, heading: 1, map: 0, referenceElement: 1, spatialReference: 0, timeZone: 1, view: 0 };
16
16
  }
17
17
  static {
18
18
  this.styles = b;
@@ -23,13 +23,13 @@ class A extends g {
23
23
  }
24
24
  _featureViewModelMatch(e, t) {
25
25
  const s = e.graphic, i = s?.layer;
26
- let o = null;
27
- i?.type === "subtype-sublayer" && i.parent ? o = i.parent.globalIdField ?? null : i && "globalIdField" in i && (o = i.globalIdField);
28
- const l = o ? s?.attributes[o] : null, r = t.graphic, a = r?.layer;
26
+ let n = null;
27
+ i?.type === "subtype-sublayer" && i.parent ? n = i.parent.globalIdField ?? null : i && "globalIdField" in i && (n = i.globalIdField);
28
+ const l = n ? s?.getAttribute(n) : null, r = t.graphic, a = r?.layer;
29
29
  let c = null;
30
30
  a?.type === "subtype-sublayer" && a.parent ? c = a.parent.globalIdField ?? null : a && "globalIdField" in a && (c = a.globalIdField);
31
- const h = c ? r?.attributes[c] : null;
32
- return l && h && l === h;
31
+ const h = c ? r?.getAttribute(c) : null;
32
+ return !!(l && h && l === h);
33
33
  }
34
34
  _findFlowItem(e) {
35
35
  return this.flowItems?.findIndex((t) => {
@@ -75,7 +75,7 @@ class A extends g {
75
75
  }
76
76
  async _selectAssociation(e) {
77
77
  const { flowItems: t } = this;
78
- t && t.push(p(d(this.parentFeatureViewModel, n`<arcgis-feature .flowItems=${t} .flowType=${"feature-utility-network-associations"} .graphic=${e.graphic} .map=${this.map} show-utility-network-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature>`)));
78
+ t && t.push(p(d(this.parentFeatureViewModel, o`<arcgis-feature .flowItems=${t} .flowType=${"feature-association"} .graphic=${e.graphic} .map=${this.map} .referenceElement=${this.referenceElement} show-utility-network-content .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature>`)));
79
79
  }
80
80
  _showAllAssociations(e) {
81
81
  const { flowItems: t, description: s } = this;
@@ -83,15 +83,15 @@ class A extends g {
83
83
  return;
84
84
  this.showAllEnabled = !0;
85
85
  const i = e?.title ?? "";
86
- t.push(p(n`<arcgis-feature-utility-network-association-list .associationViewModels=${this.associationViewModels} .description=${s} .flowItems=${t} .flowType=${this.flowType} .heading=${i} .messages=${this.messages} .parentFeatureViewModel=${this.parentFeatureViewModel} .selectedLayer=${e} .showAllEnabled=${this.showAllEnabled}></arcgis-feature-utility-network-association-list>`));
86
+ t.push(p(o`<arcgis-feature-utility-network-association-list .associationViewModels=${this.associationViewModels} .description=${s} .flowItems=${t} .flowType=${this.flowType} .heading=${i} .messages=${this.messages} .parentFeatureViewModel=${this.parentFeatureViewModel} .referenceElement=${this.referenceElement} .selectedLayer=${e} .showAllEnabled=${this.showAllEnabled}></arcgis-feature-utility-network-association-list>`));
87
87
  }
88
88
  render() {
89
89
  const { associationViewModels: e, state: t } = this, s = this.selectedLayer?.title ?? this.messages?.noTitle ?? "";
90
- return n`<div class="root">${t === "loading" || t === "querying" ? this._renderLoading() : n`<calcite-list .displayMode=${_} .filterEnabled=${this.showAllEnabled && !!this.selectedLayer} .filterLabel=${this.messages?.associationFilterPlaceholder} .filterPlaceholder=${this.messages?.associationFilterPlaceholder} .label=${s}>${this.showAllEnabled && this.selectedLayer ? n`${this._renderFeatureCountWarning()}${this._renderAssociatedFeatureListPage()}${this._renderFeatureObserver()}` : Array.from(e.keys(), (i) => this._renderTypeList(i))}</calcite-list>`}</div>`;
90
+ return o`<div class="root">${t === "loading" || t === "querying" ? this._renderLoading() : o`<calcite-list .displayMode=${_} .filterEnabled=${this.showAllEnabled && !!this.selectedLayer} .filterLabel=${this.messages?.associationFilterPlaceholder} .filterPlaceholder=${this.messages?.associationFilterPlaceholder} .label=${s}>${this.showAllEnabled && this.selectedLayer ? o`${this._renderFeatureCountWarning()}${this._renderAssociatedFeatureListPage()}${this._renderFeatureObserver()}` : Array.from(e.keys(), (i) => this._renderTypeList(i))}</calcite-list>`}</div>`;
91
91
  }
92
92
  _renderAssociatedFeature(e) {
93
- const { featureViewModel: t, title: s } = e, i = this.state === "loading", o = this._findFlowItem(t), l = o < 0 && this._isParentFeature(t), r = l || o >= 0, a = `associated-feature-${e.association.globalId}`;
94
- return n`<calcite-list-item class=${y(i ? "list-item--hidden" : "")} .description=${u(e.terminalName ?? "")} .label=${u(s)} @calciteListItemSelect=${async () => await this._handleFeatureClick(l, o, t)}>${this._isConnectivityAssociation(e.association) ? this._renderConnectivityIcon(e.association.associationType, a) : null}${this._isConnectivityMidspanAssociation(e.association) ? n`<calcite-chip .label=${this._formatPercentAlong(e.association)} scale=s slot=content-end>${this._formatPercentAlong(e.association)}</calcite-chip>` : null}${this._renderChevronIconNode(r)}</calcite-list-item>`;
93
+ const { featureViewModel: t, title: s } = e, i = this.state === "loading", n = this._findFlowItem(t), l = n < 0 && this._isParentFeature(t), r = l || n >= 0, a = `associated-feature-${e.association.globalId}`;
94
+ return o`<calcite-list-item class=${y(i ? "list-item--hidden" : "")} .description=${u(e.terminalName ?? "")} .label=${u(s)} @calciteListItemSelect=${async () => await this._handleFeatureClick(l, n, t)}>${this._isConnectivityAssociation(e.association) ? this._renderConnectivityIcon(e.association.associationType, a) : null}${this._isConnectivityMidspanAssociation(e.association) ? o`<calcite-chip .label=${this._formatPercentAlong(e.association)} scale=s slot=content-end>${this._formatPercentAlong(e.association)}</calcite-chip>` : null}${this._renderChevronIconNode(r)}</calcite-list-item>`;
95
95
  }
96
96
  _renderAssociatedFeatureList(e) {
97
97
  return e.toArray().map((t) => this._renderAssociatedFeature(t));
@@ -101,15 +101,15 @@ class A extends g {
101
101
  return [...this._renderTooltips(e), ...this._renderAssociatedFeatureList(e)];
102
102
  }
103
103
  _renderChevronIconNode(e) {
104
- return n`<calcite-icon flip-rtl .icon=${e ? "move-up" : "chevron-right"} scale=s slot=content-end></calcite-icon>`;
104
+ return o`<calcite-icon flip-rtl .icon=${e ? "move-up" : "chevron-right"} scale=s slot=content-end></calcite-icon>`;
105
105
  }
106
106
  _renderItemTooltip(e) {
107
107
  const { tooltipReferenceMap: t } = this, s = `associated-feature-${e.association.globalId}`;
108
- return this._isConnectivityAssociation(e.association) ? n`<calcite-tooltip overlay-positioning=fixed .referenceElement=${t.get(s)}>${this.getConnectivityTooltip(e.association.associationType)}</calcite-tooltip>` : null;
108
+ return this._isConnectivityAssociation(e.association) ? o`<calcite-tooltip overlay-positioning=fixed .referenceElement=${t.get(s)}>${this.getConnectivityTooltip(e.association.associationType)}</calcite-tooltip>` : null;
109
109
  }
110
110
  _renderTypeList(e) {
111
- const { messages: t } = this, { displayCount: s } = this, i = this.associationViewModels.get(e), o = i.slice(0, s), l = o.length < i.length, r = $(t?.numberRecords ?? "", { number: i.length.toString() }), a = t?.showAll ?? "";
112
- return d("show-all", n`<calcite-list-item expanded .label=${e.title} .value=${e.id}><calcite-chip .label=${String(i.length)} scale=s slot=content-end>${i.length}</calcite-chip><calcite-list .group=${e.id} .label=${e.title ?? ""}>${[this._renderTooltips(o), this._renderAssociatedFeatureList(o)]}${l ? d("show-all-item", n`<calcite-list-item .description=${r} .label=${a} @calciteListItemSelect=${() => this._showAllAssociations(e)}><calcite-icon icon=list scale=s slot=content-end></calcite-icon></calcite-list-item>`) : null}</calcite-list></calcite-list-item>`);
111
+ const { messages: t } = this, { displayCount: s } = this, i = this.associationViewModels.get(e), n = i.slice(0, s), l = n.length < i.length, r = $(t?.numberRecords ?? "", { number: i.length.toString() }), a = t?.showAll ?? "";
112
+ return d("show-all", o`<calcite-list-item expanded .label=${e.title} .value=${e.id}><calcite-chip .label=${String(i.length)} scale=s slot=content-end>${i.length}</calcite-chip><calcite-list .group=${e.id} .label=${e.title ?? ""}>${[this._renderTooltips(n), this._renderAssociatedFeatureList(n)]}${l ? d("show-all-item", o`<calcite-list-item .description=${r} .label=${a} @calciteListItemSelect=${() => this._showAllAssociations(e)}><calcite-icon icon=list scale=s slot=content-end></calcite-icon></calcite-list-item>`) : null}</calcite-list></calcite-list-item>`);
113
113
  }
114
114
  _renderTooltips(e) {
115
115
  return e.toArray().map((t) => this._renderItemTooltip(t));
@@ -15,7 +15,7 @@ import P from "@arcgis/core/rest/support/Query.js";
15
15
  import G from "@arcgis/core/widgets/Feature/FeatureViewModel.js";
16
16
  import { LitElement as Q, renderElement as B } from "@arcgis/lumina";
17
17
  import { debounce as L } from "@arcgis/toolkit/function";
18
- const O = N`.list-container{min-height:var(--calcite-spacing-xxxl)}.loading-container{display:flex;justify-content:center;padding:var(--calcite-spacing-md) 0;width:100%}.sticky-loading-container{display:flex;position:sticky;bottom:var(--calcite-spacing-sm);align-items:center;justify-content:center;z-index:2;margin:0;padding:0;height:var(--calcite-spacing-xxxl);pointer-events:none;height:500px}`, q = 100, E = {
18
+ const O = N`.list-container{min-height:var(--calcite-spacing-xxxl)}.loading-container{display:flex;justify-content:center;padding:var(--calcite-spacing-md) 0;width:100%}.sticky-loading-container{display:flex;position:sticky;bottom:var(--calcite-spacing-sm);align-items:center;justify-content:center;z-index:2;margin:0;padding:0;height:var(--calcite-spacing-xxxl);pointer-events:none;height:500px}`, E = 100, q = {
19
19
  assetGroup: "assetgroup",
20
20
  assetType: "assettype"
21
21
  }, S = "{00000000-0000-0000-0000-000000000000}";
@@ -43,12 +43,12 @@ class R extends Q {
43
43
  this._loaded = !1, this._cancelQueryFeatureCount();
44
44
  const t = new AbortController();
45
45
  this._queryFeatureCountAbortController = t, await v(this._queryFeatureCount()), this._queryFeatureCountAbortController === t && (this._queryFeatureCountAbortController = null), this._loaded = !0;
46
- }, this._queryDebounced = L(this._queryController, q), this._queryFeatureCountDebounced = L(this._queryFeatureCountController, q), this._structureAssociations = new w(), this._structureFeatureCount = 0, this._queryAssociationType = async () => {
46
+ }, this._queryDebounced = L(this._queryController, E), this._queryFeatureCountDebounced = L(this._queryFeatureCountController, E), this._structureAssociations = new w(), this._structureFeatureCount = 0, this._queryAssociationType = async () => {
47
47
  this._activeAssociationType && this._queryDebounced(this._activeAssociationType);
48
48
  }, this._associationFeatures = I(), this._associationViewModels = I(), this._featureCount = 0, this._loaded = !1, this._queryAbortController = null, this._queryFeatureCountAbortController = null, this._queryPageAbortController = null, this.associationTypes = null, this.autoDestroyDisabled = !1, this.flowType = "feature-utility-network-associations", this.headingLevel = 2, this.source = "popup";
49
49
  }
50
50
  static {
51
- this.properties = { _activeAssociationType: 16, _associationFeatures: 16, _associationViewModels: 16, _canLoad: 16, _canQuery: 16, _featureCount: 16, _loaded: 16, _queryAbortController: 16, _queryFeatureCountAbortController: 16, _queryPageAbortController: 16, _state: 16, associationTypes: 0, autoDestroyDisabled: 5, description: 1, flowItems: 0, flowType: 1, graphic: 0, heading: 1, headingLevel: 9, layer: 0, map: 0, messages: 0, parentFeatureViewModel: 0, source: 1, spatialReference: 0, timeZone: 1, view: 0 };
51
+ this.properties = { _activeAssociationType: 16, _associationFeatures: 16, _associationViewModels: 16, _canLoad: 16, _canQuery: 16, _featureCount: 16, _loaded: 16, _queryAbortController: 16, _queryFeatureCountAbortController: 16, _queryPageAbortController: 16, _state: 16, associationTypes: 0, autoDestroyDisabled: 5, description: 1, flowItems: 0, flowType: 1, graphic: 0, heading: 1, headingLevel: 9, layer: 0, map: 0, messages: 0, parentFeatureViewModel: 0, referenceElement: 1, source: 1, spatialReference: 0, timeZone: 1, view: 0 };
52
52
  }
53
53
  static {
54
54
  this.styles = O;
@@ -82,8 +82,8 @@ class R extends Q {
82
82
  return !!this.layer?.capabilities?.query?.supportsPagination;
83
83
  }
84
84
  get _state() {
85
- const { _canLoad: t, _canQuery: e, _featureCount: s, _loaded: o, _queryAbortController: i, _queryFeatureCountAbortController: a, _queryPageAbortController: u, associationTypes: c } = this;
86
- return a || t && !o ? "loading" : i || u ? "querying" : !this._globalId || !c || !e || !s ? "disabled" : "ready";
85
+ const { _canLoad: t, _canQuery: e, _featureCount: s, _loaded: o, _queryAbortController: i, _queryFeatureCountAbortController: r, _queryPageAbortController: u, associationTypes: c } = this;
86
+ return r || t && !o ? "loading" : i || u ? "querying" : !this._globalId || !c || !e || !s ? "disabled" : "ready";
87
87
  }
88
88
  get heading() {
89
89
  return this._heading;
@@ -118,7 +118,7 @@ class R extends Q {
118
118
  });
119
119
  }
120
120
  _addAssociationTypeFlowItem(t) {
121
- this._addFlowItem(B(p`<arcgis-feature-utility-network-association-list .associationViewModels=${this._associationViewModels} .description=${this.parentFeatureViewModel?.title} .flowItems=${this.flowItems} .flowType=${this.flowType} .heading=${this._getAssociationTypeTitle(t)} .messages=${this.messages} .map=${this.map} .parentFeatureViewModel=${this.parentFeatureViewModel} .state=${this._state} .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature-utility-network-association-list>`));
121
+ this._addFlowItem(B(p`<arcgis-feature-utility-network-association-list .associationViewModels=${this._associationViewModels} .description=${this.parentFeatureViewModel?.title} .flowItems=${this.flowItems} .flowType=${this.flowType} .heading=${this._getAssociationTypeTitle(t)} .messages=${this.messages} .map=${this.map} .parentFeatureViewModel=${this.parentFeatureViewModel} .referenceElement=${this.referenceElement} .state=${this._state} .spatialReference=${this.spatialReference} .timeZone=${this.timeZone} .view=${this.view}></arcgis-feature-utility-network-association-list>`));
122
122
  }
123
123
  _clearAssociations() {
124
124
  this._attachmentAssociations.removeAll(), this._connectivityAssociations.removeAll(), this._containerAssociations.removeAll(), this._contentAssociations.removeAll(), this._structureAssociations.removeAll();
@@ -132,9 +132,9 @@ class R extends Q {
132
132
  });
133
133
  }
134
134
  async _countAssociatedFeatureCount(t, e, s, o, i) {
135
- const a = this._getFeatureQueryWhereClause(t, e, s, o);
135
+ const r = this._getFeatureQueryWhereClause(t, e, s, o);
136
136
  return await t.queryFeatureCount({
137
- where: a,
137
+ where: r,
138
138
  outFields: ["*"],
139
139
  returnGeometry: !1
140
140
  }, {
@@ -144,37 +144,37 @@ class R extends Q {
144
144
  async _countAssociatedFeatures(t, e, s, o, i) {
145
145
  if (!e.length)
146
146
  return 0;
147
- const a = await this._findLayersBySourceId(t);
148
- await this._loadLayers(a);
149
- const u = a.map((r) => this._countAssociatedFeatureCount(r, e, s, o, i));
150
- return (await Promise.all(u)).reduce((r, d) => r + d, 0);
147
+ const r = await this._findLayersBySourceId(t);
148
+ await this._loadLayers(r);
149
+ const u = r.map((a) => this._countAssociatedFeatureCount(a, e, s, o, i));
150
+ return (await Promise.all(u)).reduce((a, d) => a + d, 0);
151
151
  }
152
152
  async _createAssociationFeatureObjects(t, e, s, o, i) {
153
153
  if (!t.length)
154
154
  return [];
155
- const a = /* @__PURE__ */ new Map(), u = Array.from(e.entries()).map(async ([r, d]) => {
156
- const l = await this._findLayersBySourceId(r);
155
+ const r = /* @__PURE__ */ new Map(), u = Array.from(e.entries()).map(async ([a, d]) => {
156
+ const l = await this._findLayersBySourceId(a);
157
157
  await this._loadLayers(l);
158
158
  const y = l.map((n) => this._queryLayer(n, d, s, o, i));
159
159
  (await Promise.all(y)).forEach((n) => {
160
160
  n.forEach((h) => {
161
161
  if (this.source === "popup" ? h.sourceLayer && h.getEffectivePopupTemplate() : !!h.sourceLayer) {
162
- const f = h.layer.globalIdField ?? "", g = h.attributes[f], b = a.get(g) ?? [];
163
- b.push(h), a.set(g, b);
162
+ const f = h.layer.globalIdField ?? "", g = h.getAttribute(f), b = r.get(g) ?? [];
163
+ b.push(h), r.set(g, b);
164
164
  }
165
165
  });
166
166
  });
167
167
  });
168
168
  await Promise.all(u);
169
169
  const c = [];
170
- return await Promise.all(t.toArray().map(async (r) => {
171
- const { fromNetworkElement: d, toNetworkElement: l } = r, y = d.globalId === this._globalId ? l : d, m = a.get(y.globalId) ?? [];
170
+ return await Promise.all(t.toArray().map(async (a) => {
171
+ const { fromNetworkElement: d, toNetworkElement: l } = a, y = d.globalId === this._globalId ? l : d, m = r.get(y.globalId) ?? [];
172
172
  await Promise.all(m.map(async (n) => {
173
173
  const h = this._utilityNetwork?.getTerminalById(y?.terminalId ?? void 0)?.name, _ = await n.sourceLayer.getFeatureTitle(n) || this._getFeatureTitle(n);
174
174
  c.push({
175
175
  title: _,
176
176
  feature: n,
177
- association: r,
177
+ association: a,
178
178
  terminalName: h
179
179
  });
180
180
  }));
@@ -188,16 +188,16 @@ class R extends Q {
188
188
  let s = function(d, l) {
189
189
  return d.networkSourceId === l.networkSourceId && d.globalId === l.globalId && d.terminalId === l.terminalId && d.firstUnit === l.firstUnit && d.numUnits === l.numUnits;
190
190
  };
191
- const o = t.fromNetworkElement, i = t.toNetworkElement, a = e.fromNetworkElement, u = e.toNetworkElement, c = s(o, a), r = s(i, u);
192
- return c && r && t.associationType === e.associationType;
191
+ const o = t.fromNetworkElement, i = t.toNetworkElement, r = e.fromNetworkElement, u = e.toNetworkElement, c = s(o, r), a = s(i, u);
192
+ return c && a && t.associationType === e.associationType;
193
193
  }
194
194
  return t.globalId != null && e.globalId != null && t.globalId === e.globalId;
195
195
  }
196
196
  async _findLayersBySourceId(t) {
197
197
  const { _utilityNetwork: e, map: s } = this;
198
198
  e?.loaded || await e?.load();
199
- const o = e.getLayerIdBySourceId(t), i = s.allLayers.filter((c) => !!e?.isUtilityLayer(c) && c.layerId === o), a = s.allTables.filter((c) => !!e?.isUtilityLayer(c) && c.layerId === o);
200
- return i.concat(a).toArray();
199
+ const o = e.getLayerIdBySourceId(t), i = s.allLayers.filter((c) => !!e?.isUtilityLayer(c) && c.layerId === o), r = s.allTables.filter((c) => !!e?.isUtilityLayer(c) && c.layerId === o);
200
+ return i.concat(r).toArray();
201
201
  }
202
202
  _getAssociationsByType(t) {
203
203
  switch (t) {
@@ -245,15 +245,15 @@ class R extends Q {
245
245
  }
246
246
  }
247
247
  _getFeatureQueryWhereClause(t, e, s, o) {
248
- const i = t.globalIdField, a = t.fieldsIndex.get(E.assetGroup), u = t.fieldsIndex.get(E.assetType), c = s != null, r = o != null, d = i ? V.sqlIn(i, e) : null, l = c ? `(${a?.name} = ${s})` : null, y = c && r ? `(${u?.name} = ${o})` : null;
248
+ const i = t.globalIdField, r = t.fieldsIndex.get(q.assetGroup), u = t.fieldsIndex.get(q.assetType), c = s != null, a = o != null, d = i ? V.sqlIn(i, e) : null, l = c ? `(${r?.name} = ${s})` : null, y = c && a ? `(${u?.name} = ${o})` : null;
249
249
  return [d, l, y].filter(Boolean).join(" AND ");
250
250
  }
251
251
  _getFeatureTitle(t) {
252
252
  const e = t.attributes, s = t.sourceLayer;
253
253
  if (!e || !s)
254
254
  return "";
255
- const o = "displayField" in s ? s.displayField : null, i = o != null ? e[o.toString()] : null, a = i != null ? i.toString() : null, u = t.getObjectId()?.toString();
256
- return a || u || "";
255
+ const o = "displayField" in s ? s.displayField : null, i = o != null ? e[o.toString()] : null, r = i != null ? i.toString() : null, u = t.getObjectId()?.toString();
256
+ return r || u || "";
257
257
  }
258
258
  _isSubtypeGroupLayer(t) {
259
259
  return t != null && typeof t == "object" && "type" in t && t.type === "subtype-group" && "sublayers" in t;
@@ -285,11 +285,11 @@ class R extends Q {
285
285
  return this._equals(t.association, e.association);
286
286
  }
287
287
  async _queryAssociatedFeatures(t, e) {
288
- const { layer: s, _globalId: o, associationTypes: i, _utilityNetwork: a, _canQuery: u, _associationFeatures: c } = this;
289
- if (await Promise.allSettled([s?.load(), a?.load()]), !u || !s || !i || !a)
288
+ const { layer: s, _globalId: o, associationTypes: i, _utilityNetwork: r, _canQuery: u, _associationFeatures: c } = this;
289
+ if (await Promise.allSettled([s?.load(), r?.load()]), !u || !s || !i || !r)
290
290
  return;
291
- const r = this._getAssociationsByType(t.type), { associatedAssetGroup: d, associatedAssetType: l } = t, y = /* @__PURE__ */ new Map();
292
- r.forEach((n) => {
291
+ const a = this._getAssociationsByType(t.type), { associatedAssetGroup: d, associatedAssetType: l } = t, y = /* @__PURE__ */ new Map();
292
+ a.forEach((n) => {
293
293
  const { fromNetworkElement: h, toNetworkElement: _ } = n, { networkSourceId: f, elementGlobalId: g } = h.globalId === o ? {
294
294
  networkSourceId: _.networkSourceId,
295
295
  elementGlobalId: _.globalId
@@ -299,35 +299,35 @@ class R extends Q {
299
299
  }, b = y.get(f) || [];
300
300
  b.push(g), y.set(f, b);
301
301
  });
302
- const m = await this._createAssociationFeatureObjects(r, y, d, l, e);
302
+ const m = await this._createAssociationFeatureObjects(a, y, d, l, e);
303
303
  this._parseFeatureObjects(m, c);
304
304
  }
305
305
  async _queryAssociations(t) {
306
- const { layer: e, _globalId: s, associationTypes: o, _utilityNetwork: i, _canQuery: a } = this;
307
- if (await Promise.allSettled([e?.load(), i?.load()]), this._clearAssociations(), !a || !e || !o || !i || !s)
306
+ const { layer: e, _globalId: s, associationTypes: o, _utilityNetwork: i, _canQuery: r } = this;
307
+ if (await Promise.allSettled([e?.load(), i?.load()]), this._clearAssociations(), !r || !e || !o || !i || !s)
308
308
  return;
309
309
  const u = this._isSubtypeSublayer(e) ? e.parent : e, c = new U({
310
310
  globalId: s,
311
311
  networkSourceId: i.getSourceIdByLayerId(u.layerId)
312
- }), r = /* @__PURE__ */ new Set();
312
+ }), a = /* @__PURE__ */ new Set();
313
313
  o.forEach((n) => {
314
314
  switch (n.type) {
315
315
  case "attachment":
316
316
  case "structure":
317
- r.add("attachment");
317
+ a.add("attachment");
318
318
  break;
319
319
  case "container":
320
320
  case "content":
321
- r.add("containment");
321
+ a.add("containment");
322
322
  break;
323
323
  case "connectivity":
324
- r.add("connectivity"), r.add("junction-junction-connectivity"), r.add("junction-edge-from-connectivity"), r.add("junction-edge-midspan-connectivity"), r.add("junction-edge-to-connectivity");
324
+ a.add("connectivity"), a.add("junction-junction-connectivity"), a.add("junction-edge-from-connectivity"), a.add("junction-edge-midspan-connectivity"), a.add("junction-edge-to-connectivity");
325
325
  break;
326
326
  }
327
327
  });
328
328
  const d = await i?.queryAssociations(new x({
329
329
  elements: [c],
330
- types: Array.from(r)
330
+ types: Array.from(a)
331
331
  }), {
332
332
  signal: t?.signal
333
333
  }), l = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map();
@@ -408,21 +408,21 @@ class R extends Q {
408
408
  await this._queryAssociations(t), this._featureCount = this._attachmentFeatureCount + this._connectivityFeatureCount + this._containerFeatureCount + this._contentFeatureCount + this._structureFeatureCount;
409
409
  }
410
410
  async _queryLayer(t, e, s, o, i) {
411
- const a = this._getFeatureQueryWhereClause(t, e, s, o), u = new P({
412
- where: a,
411
+ const r = this._getFeatureQueryWhereClause(t, e, s, o), u = new P({
412
+ where: r,
413
413
  outFields: ["*"],
414
414
  cacheHint: this._supportsCacheHint
415
415
  }), c = D.fromJSON(await $(t, u, i));
416
- return c.features.forEach((r) => {
416
+ return c.features.forEach((a) => {
417
417
  const d = this._isSubtypeGroupLayer(t);
418
- r.layer = d ? t.findSublayerForFeature(r) : t, r.sourceLayer = d ? t.findSublayerForFeature(r) : t;
418
+ a.layer = d ? t.findSublayerForFeature(a) : t, a.sourceLayer = d ? t.findSublayerForFeature(a) : t;
419
419
  }), c.features;
420
420
  }
421
421
  _parseFeatureObjects(t, e) {
422
422
  const s = I();
423
423
  t.forEach((o) => {
424
- const a = (o?.feature).sourceLayer;
425
- j(s, a, () => new w()).add(o);
424
+ const r = (o?.feature).sourceLayer;
425
+ j(s, r, () => new w()).add(o);
426
426
  });
427
427
  for (const [o, i] of s)
428
428
  this._sortFeatureObjectsByTitle(i), e.set(o, i);
@@ -432,16 +432,16 @@ class R extends Q {
432
432
  e && (this._activeAssociationType = t, this._setUpUtilityNetworkAssociationsViewModels(), this._addAssociationTypeFlowItem(t));
433
433
  }
434
434
  _setUpUtilityNetworkAssociationsViewModels() {
435
- this._associationViewModels.forEach((i, a) => {
436
- const u = this._associationFeatures.get(a);
435
+ this._associationViewModels.forEach((i, r) => {
436
+ const u = this._associationFeatures.get(r);
437
437
  u ? i.forEach((c) => {
438
- u.find((d) => this._matchesGlobalFeature(c, d)) || (i.remove(c), i.length || this._associationViewModels.delete(a));
439
- }) : (i.removeAll(), this._associationViewModels.delete(a));
438
+ u.find((d) => this._matchesGlobalFeature(c, d)) || (i.remove(c), i.length || this._associationViewModels.delete(r));
439
+ }) : (i.removeAll(), this._associationViewModels.delete(r));
440
440
  });
441
441
  const { map: t, view: e, spatialReference: s, timeZone: o } = this;
442
- this._associationFeatures.forEach((i, a) => {
443
- const u = this._associationViewModels.get(a) || new w();
444
- i?.filter(Boolean).forEach((c, r) => {
442
+ this._associationFeatures.forEach((i, r) => {
443
+ const u = this._associationViewModels.get(r) || new w();
444
+ i?.filter(Boolean).forEach((c, a) => {
445
445
  if (!u.some((l) => this._matchesGlobalFeature(l, c))) {
446
446
  const { association: l, feature: y, terminalName: m, title: n } = c;
447
447
  u.add({
@@ -456,16 +456,16 @@ class R extends Q {
456
456
  graphic: y
457
457
  }),
458
458
  terminalName: m
459
- }, r);
459
+ }, a);
460
460
  }
461
- }), this._associationViewModels.set(a, u);
461
+ }), this._associationViewModels.set(r, u);
462
462
  });
463
463
  }
464
464
  _shouldDiscardNetworkElement(t, e, s) {
465
465
  if (!t)
466
466
  return !1;
467
- const { networkSourceId: o } = t, i = s.get(e)?.associatedNetworkSourceId, a = this._networkSourceIdsInUse.has(o);
468
- return i != null && i !== o || !a;
467
+ const { networkSourceId: o } = t, i = s.get(e)?.associatedNetworkSourceId, r = this._networkSourceIdsInUse.has(o);
468
+ return i != null && i !== o || !r;
469
469
  }
470
470
  _sortFeatureObjectsByTitle(t) {
471
471
  t.sort(this._compareByFeatureTitle);