@arcgis/core 4.34.0-next.110 → 4.34.0-next.112

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 (264) hide show
  1. package/PopupTemplate.js +1 -1
  2. package/analysis/VolumeMeasurement/volumeMeasurementConfiguration.js +1 -1
  3. package/arcade/functions/knowledgegraph.js +1 -1
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/07fd94b1d5f39356565b.js +1 -0
  6. package/assets/esri/core/workers/chunks/{49c1e69793d49a0fe1fd.js → 16d66770ef841564ee3f.js} +1 -1
  7. package/assets/esri/core/workers/chunks/17103e6542aae53c7301.js +1 -0
  8. package/assets/esri/core/workers/chunks/188272af9a6470ccfe31.js +1 -0
  9. package/assets/esri/core/workers/chunks/1d807057327ba90ab770.js +1 -0
  10. package/assets/esri/core/workers/chunks/{509392131ec473d6b988.js → 1dfca37f95f2b968aa54.js} +1 -1
  11. package/assets/esri/core/workers/chunks/2248c3040e2f9a8b5cbc.js +1 -0
  12. package/assets/esri/core/workers/chunks/2266a8f2c2ec37c19bb4.js +1 -0
  13. package/assets/esri/core/workers/chunks/297b11752f9c251cd7be.js +1 -0
  14. package/assets/esri/core/workers/chunks/2bbe8277578b033f92d4.js +1 -0
  15. package/assets/esri/core/workers/chunks/2ca8b0c1ca399fd5dc2f.js +1 -0
  16. package/assets/esri/core/workers/chunks/2f9e79a67eae746d55d3.js +1 -0
  17. package/assets/esri/core/workers/chunks/{91edfa6f93ffba500853.js → 3116b35a92cc0afd9fd3.js} +1 -1
  18. package/assets/esri/core/workers/chunks/3495162f4608f5205d87.js +1 -0
  19. package/assets/esri/core/workers/chunks/36fe6b8228e622407ec2.js +1 -0
  20. package/assets/esri/core/workers/chunks/374831c7e3d88bc473b8.js +1 -0
  21. package/assets/esri/core/workers/chunks/{06e60fc7715d08ede59d.js → 3edffdb0e282ed562ac7.js} +1 -1
  22. package/assets/esri/core/workers/chunks/3ffdf73aaecc42448f8a.js +1 -0
  23. package/assets/esri/core/workers/chunks/4239572007ecfac49dc1.js +1 -0
  24. package/assets/esri/core/workers/chunks/441ead5bce80f639934e.js +1 -0
  25. package/assets/esri/core/workers/chunks/4470a3fff217f2bfeec5.js +1 -0
  26. package/assets/esri/core/workers/chunks/44c3b5a507814103f4b4.js +1 -0
  27. package/assets/esri/core/workers/chunks/44e40484acb577039c82.js +1 -0
  28. package/assets/esri/core/workers/chunks/4a73622445536b8c55f1.js +1 -0
  29. package/assets/esri/core/workers/chunks/524293f92791c55f6e2c.js +1 -0
  30. package/assets/esri/core/workers/chunks/5e60542f80bdacb6e7af.js +1 -0
  31. package/assets/esri/core/workers/chunks/616e3d1947eda575a25a.js +1 -0
  32. package/assets/esri/core/workers/chunks/620a94b54be3ed78350d.js +1 -0
  33. package/assets/esri/core/workers/chunks/{fe690be68faf6985d4b5.js → 740e6d2831dcb01ee96a.js} +1 -1
  34. package/assets/esri/core/workers/chunks/75535e2e487ed2616acf.js +1 -0
  35. package/assets/esri/core/workers/chunks/7698f4f4471b6e1c12ef.js +1 -0
  36. package/assets/esri/core/workers/chunks/7786fc1b3779df832e0a.js +1 -0
  37. package/assets/esri/core/workers/chunks/7810f870d71f80ca4f41.js +1 -0
  38. package/assets/esri/core/workers/chunks/78b35a19332e58c8c279.js +1 -0
  39. package/assets/esri/core/workers/chunks/7a9a0fcf78a1863c5dea.js +1 -0
  40. package/assets/esri/core/workers/chunks/80c492f8fdab7698596a.js +1 -0
  41. package/assets/esri/core/workers/chunks/80d2182dac1a49cfd923.js +1 -0
  42. package/assets/esri/core/workers/chunks/81501abaabf10e9bef1b.js +1 -0
  43. package/assets/esri/core/workers/chunks/82f1cd3896401c85df35.js +1 -0
  44. package/assets/esri/core/workers/chunks/868ee8f429e7caddc045.js +1 -0
  45. package/assets/esri/core/workers/chunks/{11e96a312f1294d34c50.js → 881df4fd1dc594576457.js} +1 -1
  46. package/assets/esri/core/workers/chunks/8cf2669900bb45cb094a.js +1 -0
  47. package/assets/esri/core/workers/chunks/8ec6ad6d76b4755a4cf6.js +1 -0
  48. package/assets/esri/core/workers/chunks/92c306d02569e7cd9af3.js +1 -0
  49. package/assets/esri/core/workers/chunks/98dbafa4d45fdf790fff.js +1 -0
  50. package/assets/esri/core/workers/chunks/9c571ff94911f7c4459a.js +1 -0
  51. package/assets/esri/core/workers/chunks/9dc6eeaac94aff385cf9.js +1 -0
  52. package/assets/esri/core/workers/chunks/9e4f37367d61a2e13053.js +1 -0
  53. package/assets/esri/core/workers/chunks/9e5e05d6430712b0b1bc.js +1 -0
  54. package/assets/esri/core/workers/chunks/a16526adc0dbffdc1ffc.js +1 -0
  55. package/assets/esri/core/workers/chunks/a1c4509a3865139eb570.js +1 -0
  56. package/assets/esri/core/workers/chunks/a33a0b6700a860153a67.js +1 -0
  57. package/assets/esri/core/workers/chunks/ae6066ea6cb373dc6db3.js +1 -0
  58. package/assets/esri/core/workers/chunks/aea8553a2aa54cfd694b.js +1 -0
  59. package/assets/esri/core/workers/chunks/af0f82f7efa6e983eca5.js +1 -0
  60. package/assets/esri/core/workers/chunks/bd02e9d6c7ba491dd35f.js +1 -0
  61. package/assets/esri/core/workers/chunks/{6d97aa70848cd9bad680.js → bf9b2949894cc2a1e6b3.js} +1 -1
  62. package/assets/esri/core/workers/chunks/bfc1e8aec7aace3ff30e.js +1 -0
  63. package/assets/esri/core/workers/chunks/c55c096669677321a227.js +1 -0
  64. package/assets/esri/core/workers/chunks/cd3b843ffd4010038c74.js +1 -0
  65. package/assets/esri/core/workers/chunks/d0767001601412f17ada.js +1 -0
  66. package/assets/esri/core/workers/chunks/d5fa879de92da4441771.js +1 -0
  67. package/assets/esri/core/workers/chunks/dec0ed841f9ff1ceff43.js +1 -0
  68. package/assets/esri/core/workers/chunks/e7b96da2a615086d91a7.js +1 -0
  69. package/assets/esri/core/workers/chunks/e7c9d9e1205a8e246bfa.js +1 -0
  70. package/assets/esri/core/workers/chunks/f06d185e7defc4272ae7.js +1 -0
  71. package/assets/esri/core/workers/chunks/f2f3ce7a0f3e394d27c4.js +1 -0
  72. package/assets/esri/core/workers/chunks/f98689562017583f73ee.js +1 -0
  73. package/assets/esri/core/workers/chunks/{498331263094c442d11f.js → fd410a56286f9b8a5903.js} +15 -15
  74. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  75. package/assets/esri/themes/base/widgets/_Editor.scss +35 -2
  76. package/assets/esri/themes/base/widgets/_FeatureTable.scss +2 -0
  77. package/assets/esri/themes/dark/main.css +1 -1
  78. package/assets/esri/themes/light/main.css +1 -1
  79. package/assets/esri/themes/light/view.css +1 -1
  80. package/chunks/Envelope.js +1 -1
  81. package/chunks/Geometry.js +1 -1
  82. package/chunks/MultiPathImpl.js +1 -1
  83. package/chunks/Point2D.js +1 -1
  84. package/chunks/UnitFactory.js +1 -1
  85. package/chunks/containsOperator.js +1 -1
  86. package/chunks/densifyOperator.js +1 -1
  87. package/chunks/differenceOperator.js +1 -1
  88. package/chunks/intersectsOperator.js +1 -1
  89. package/chunks/persistableUrlUtils.js +1 -1
  90. package/config.js +1 -1
  91. package/core/SetUtils.js +1 -1
  92. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  93. package/core/unitUtils.js +1 -1
  94. package/editing/fieldUtils.js +5 -0
  95. package/geometry/Extent.js +1 -1
  96. package/geometry/Geometry.js +1 -1
  97. package/geometry/Point.js +1 -1
  98. package/geometry/SpatialReference.js +1 -1
  99. package/geometry/ellipsoidUtils.js +1 -1
  100. package/geometry/operators/support/jsonConverter.js +1 -1
  101. package/geometry/support/MeshTransform.js +1 -1
  102. package/geometry/support/axisAngleDegrees.js +1 -1
  103. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  104. package/geometry/support/meshUtils/rotate.js +1 -1
  105. package/geometry/support/meshUtils/scale.js +1 -1
  106. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  107. package/geometry/support/plane.js +1 -1
  108. package/geometry/support/polygonUtils.js +1 -1
  109. package/interfaces.d.ts +100 -9
  110. package/kernel.js +1 -1
  111. package/layers/Layer.js +1 -1
  112. package/layers/MapNotesLayer.js +1 -1
  113. package/layers/graphics/data/QueryEngine.js +1 -1
  114. package/layers/save/groupLayerUtils.js +1 -1
  115. package/layers/support/DateTimeFieldFormat.js +1 -1
  116. package/layers/support/FieldFormat.js +1 -1
  117. package/layers/support/NumberFieldFormat.js +1 -1
  118. package/layers/support/arcgisLayerUrl.js +1 -1
  119. package/layers/support/fieldFormatUtils.js +1 -1
  120. package/layers/support/fieldUtils.js +1 -1
  121. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  122. package/package.json +1 -1
  123. package/popup/ExpressionInfo.js +1 -1
  124. package/popup/FieldInfo.js +1 -1
  125. package/popup/content/AttachmentsContent.js +1 -1
  126. package/popup/content/BarChartMediaInfo.js +1 -1
  127. package/popup/content/ColumnChartMediaInfo.js +1 -1
  128. package/popup/content/Content.js +1 -1
  129. package/popup/content/CustomContent.js +1 -1
  130. package/popup/content/ExpressionContent.js +1 -1
  131. package/popup/content/FieldsContent.js +1 -1
  132. package/popup/content/ImageMediaInfo.js +1 -1
  133. package/popup/content/LineChartMediaInfo.js +1 -1
  134. package/popup/content/MediaContent.js +1 -1
  135. package/popup/content/PieChartMediaInfo.js +1 -1
  136. package/popup/content/RelationshipContent.js +1 -1
  137. package/popup/content/TextContent.js +1 -1
  138. package/popup/content/UtilityNetworkAssociationsContent.js +1 -1
  139. package/popup/content/mixins/ChartMediaInfo.js +1 -1
  140. package/popup/content/mixins/MediaInfo.js +1 -1
  141. package/popup/content.js +1 -1
  142. package/popup/support/FieldInfoFormat.js +1 -1
  143. package/rest/geometryService/utils.js +1 -1
  144. package/rest/knowledgeGraphService.d.ts +1 -0
  145. package/support/popupUtils.js +1 -1
  146. package/support/revision.js +1 -1
  147. package/symbols/support/symbolUtils.js +1 -1
  148. package/time/TimeExtent.js +1 -1
  149. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  150. package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
  151. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillComputation.js +1 -1
  152. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  153. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  154. package/views/3d/environment/CloudsRenderer.js +1 -1
  155. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  156. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  157. package/views/3d/layers/FlowSubView3D.js +1 -1
  158. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  159. package/views/3d/support/flow/geometryUtils.js +1 -1
  160. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  161. package/views/3d/terrain/TerrainSurface.js +1 -1
  162. package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
  163. package/views/draw/DrawOperation.js +1 -1
  164. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  165. package/webdoc/support/webdocSaveUtils.js +1 -1
  166. package/widgets/BasemapLayerList.js +1 -1
  167. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  168. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  169. package/widgets/Editor/EditorViewModel.js +1 -1
  170. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  171. package/widgets/Editor/MergeFeaturesWorkflowData.js +1 -1
  172. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  173. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  174. package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
  175. package/widgets/Editor/UpdateWorkflow.js +1 -1
  176. package/widgets/Editor/Workflow.js +1 -1
  177. package/widgets/Editor/components/FeatureList.js +1 -1
  178. package/widgets/Editor/components/MergeFeaturesList.js +5 -0
  179. package/widgets/Editor/components/Notices.js +1 -1
  180. package/widgets/Editor/components/PanelContent.js +1 -1
  181. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  182. package/widgets/Editor/css.js +1 -1
  183. package/widgets/Editor/support/EditorItem.js +1 -1
  184. package/widgets/Editor/support/SketchController.js +1 -1
  185. package/widgets/Editor/support/errors.js +1 -1
  186. package/widgets/Editor/support/mergeFeaturesUtils.js +1 -1
  187. package/widgets/Editor/support/splitFeatureUtils.js +1 -1
  188. package/widgets/Editor/workflowUtils.js +1 -1
  189. package/widgets/Editor.js +1 -1
  190. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  191. package/widgets/FeatureForm/FieldInput.js +1 -1
  192. package/widgets/FeatureForm.js +1 -1
  193. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  194. package/widgets/FeatureTable/FieldColumn.js +1 -1
  195. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  196. package/widgets/LayerList.js +1 -1
  197. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  198. package/widgets/Legend/support/utils.js +1 -1
  199. package/widgets/PanoramicVideoViewer.js +1 -1
  200. package/widgets/support/FilterCondition.js +1 -1
  201. package/assets/esri/core/workers/chunks/09cdb05dc054fe3523f9.js +0 -1
  202. package/assets/esri/core/workers/chunks/0d34a4bb52ce17c4275c.js +0 -1
  203. package/assets/esri/core/workers/chunks/0f934d73ebb90a4a4481.js +0 -1
  204. package/assets/esri/core/workers/chunks/1c3a1dff1c3719e37a0d.js +0 -1
  205. package/assets/esri/core/workers/chunks/2059c930ed8a9a7c93ff.js +0 -1
  206. package/assets/esri/core/workers/chunks/20ecaa7a007ee398eea7.js +0 -1
  207. package/assets/esri/core/workers/chunks/25d8e37561d0c8601e52.js +0 -1
  208. package/assets/esri/core/workers/chunks/25f64be34a92472c9a78.js +0 -1
  209. package/assets/esri/core/workers/chunks/266f84f11befdc0484ce.js +0 -1
  210. package/assets/esri/core/workers/chunks/28ce35e349dd79c26741.js +0 -1
  211. package/assets/esri/core/workers/chunks/2da9bfe51b1969db092d.js +0 -1
  212. package/assets/esri/core/workers/chunks/2ffb4531294ca7a975cd.js +0 -1
  213. package/assets/esri/core/workers/chunks/36a855002674616d9b48.js +0 -1
  214. package/assets/esri/core/workers/chunks/36fd2bb614f32cdaf6c3.js +0 -1
  215. package/assets/esri/core/workers/chunks/38a055b62f75b0a1b4a6.js +0 -1
  216. package/assets/esri/core/workers/chunks/420b75a64c7c60ef17ae.js +0 -1
  217. package/assets/esri/core/workers/chunks/48e03a72a3f4c2d43d54.js +0 -1
  218. package/assets/esri/core/workers/chunks/49fa1c48ea21029b4fd7.js +0 -1
  219. package/assets/esri/core/workers/chunks/4ef84c9dd600a03cc569.js +0 -1
  220. package/assets/esri/core/workers/chunks/4fa230dc6e5e87b0dec1.js +0 -1
  221. package/assets/esri/core/workers/chunks/55cbb11be12f94d3b492.js +0 -1
  222. package/assets/esri/core/workers/chunks/55eb6a0f1e4569a65f2a.js +0 -1
  223. package/assets/esri/core/workers/chunks/5cbccd233f2deda1a3ba.js +0 -1
  224. package/assets/esri/core/workers/chunks/5f892d771592c88dee30.js +0 -1
  225. package/assets/esri/core/workers/chunks/6b12eba0b2d5e226ad73.js +0 -1
  226. package/assets/esri/core/workers/chunks/827ecfa9ac52518b99fb.js +0 -1
  227. package/assets/esri/core/workers/chunks/863f2de7068e2b420c5d.js +0 -1
  228. package/assets/esri/core/workers/chunks/87a8f839575d58d0ea33.js +0 -1
  229. package/assets/esri/core/workers/chunks/8978ca7f51d41ffa80cf.js +0 -1
  230. package/assets/esri/core/workers/chunks/8f05eb08948cd7e37326.js +0 -1
  231. package/assets/esri/core/workers/chunks/91a51effd465c40ad5d5.js +0 -1
  232. package/assets/esri/core/workers/chunks/92c1ddecb8ddec5e564f.js +0 -1
  233. package/assets/esri/core/workers/chunks/aa1e6154ef7abee76778.js +0 -1
  234. package/assets/esri/core/workers/chunks/aa255bdeabe558f1cd9a.js +0 -1
  235. package/assets/esri/core/workers/chunks/aaed35a6414859233678.js +0 -1
  236. package/assets/esri/core/workers/chunks/abedf3b4fdf1fef28661.js +0 -1
  237. package/assets/esri/core/workers/chunks/ac033e23ddf1abf468b2.js +0 -1
  238. package/assets/esri/core/workers/chunks/af1d7a17f59eb115edb8.js +0 -1
  239. package/assets/esri/core/workers/chunks/b1e67b68658f3b87e9d5.js +0 -1
  240. package/assets/esri/core/workers/chunks/b56899501876a183a5ad.js +0 -1
  241. package/assets/esri/core/workers/chunks/b5dbb20edffd705bbf8d.js +0 -1
  242. package/assets/esri/core/workers/chunks/c490d9397ec99ef17645.js +0 -1
  243. package/assets/esri/core/workers/chunks/c8c8cf43fd640d2f5cb1.js +0 -1
  244. package/assets/esri/core/workers/chunks/c9c1f1c97097c9f4abca.js +0 -1
  245. package/assets/esri/core/workers/chunks/c9cf90bba5790dade955.js +0 -1
  246. package/assets/esri/core/workers/chunks/cac13cf937e18303624a.js +0 -1
  247. package/assets/esri/core/workers/chunks/d19d69d48f88aed1e385.js +0 -1
  248. package/assets/esri/core/workers/chunks/d2a99b85928a10ca2a36.js +0 -1
  249. package/assets/esri/core/workers/chunks/dce632e4f3b944ea9947.js +0 -1
  250. package/assets/esri/core/workers/chunks/ddfaa05725c27b449a3e.js +0 -1
  251. package/assets/esri/core/workers/chunks/de12fd5cfa0238266f91.js +0 -1
  252. package/assets/esri/core/workers/chunks/df8279e1baf378faf85f.js +0 -1
  253. package/assets/esri/core/workers/chunks/dfcc0941ab30bf157175.js +0 -1
  254. package/assets/esri/core/workers/chunks/e31356965b90e9187b56.js +0 -1
  255. package/assets/esri/core/workers/chunks/e38ac1bbe8dcfeec5032.js +0 -1
  256. package/assets/esri/core/workers/chunks/e7acd87ef8de5e38fdc7.js +0 -1
  257. package/assets/esri/core/workers/chunks/e9b2f4d7026b67054bbc.js +0 -1
  258. package/assets/esri/core/workers/chunks/eb3a267c83924ff73464.js +0 -1
  259. package/assets/esri/core/workers/chunks/ef70f450c5875b86c535.js +0 -1
  260. package/assets/esri/core/workers/chunks/f36dc774b9866b70627e.js +0 -1
  261. package/assets/esri/core/workers/chunks/ff515bf0b5485abe8397.js +0 -1
  262. package/assets/esri/core/workers/chunks/ffac85e7d504a4a026f1.js +0 -1
  263. package/views/interactive/editGeometry/CheckpointingEditGeometryOperations.js +0 -5
  264. package/views/interactive/editGeometry/operations/ReplayableAppendVertex.js +0 -5
package/interfaces.d.ts CHANGED
@@ -25235,6 +25235,13 @@ declare namespace __esri {
25235
25235
  */
25236
25236
  get fields(): Field[];
25237
25237
  set fields(value: FieldProperties[]);
25238
+ /**
25239
+ * The {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-form-FormTemplate.html template} used in an associated layer's {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html FeatureForm}.
25240
+ *
25241
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-knowledgeGraph-KnowledgeGraphSublayer.html#formTemplate Read more...}
25242
+ */
25243
+ get formTemplate(): FormTemplate | nullish;
25244
+ set formTemplate(value: FormTemplateProperties | nullish);
25238
25245
  /**
25239
25246
  * The label definition for this sublayer, specified as an array of
25240
25247
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LabelClass.html label classes}.
@@ -25273,6 +25280,13 @@ declare namespace __esri {
25273
25280
  | (DictionaryRendererProperties & { type: "dictionary" })
25274
25281
  | (PieChartRendererProperties & { type: "pie-chart" })
25275
25282
  | nullish);
25283
+ /**
25284
+ * An array of feature templates defined in the knowledge graph sublayer.
25285
+ *
25286
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-knowledgeGraph-KnowledgeGraphSublayer.html#templates Read more...}
25287
+ */
25288
+ get templates(): FeatureTemplate[] | nullish;
25289
+ set templates(value: FeatureTemplateProperties[] | nullish);
25276
25290
  /**
25277
25291
  * The layer's time extent.
25278
25292
  *
@@ -25437,6 +25451,12 @@ declare namespace __esri {
25437
25451
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-knowledgeGraph-KnowledgeGraphSublayer.html#fields Read more...}
25438
25452
  */
25439
25453
  fields?: FieldProperties[];
25454
+ /**
25455
+ * The {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-form-FormTemplate.html template} used in an associated layer's {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureForm.html FeatureForm}.
25456
+ *
25457
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-knowledgeGraph-KnowledgeGraphSublayer.html#formTemplate Read more...}
25458
+ */
25459
+ formTemplate?: FormTemplateProperties | nullish;
25440
25460
  /**
25441
25461
  * The name of the geometry field for the sublayer.
25442
25462
  *
@@ -25549,6 +25569,12 @@ declare namespace __esri {
25549
25569
  | (DictionaryRendererProperties & { type: "dictionary" })
25550
25570
  | (PieChartRendererProperties & { type: "pie-chart" })
25551
25571
  | nullish;
25572
+ /**
25573
+ * An array of feature templates defined in the knowledge graph sublayer.
25574
+ *
25575
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-knowledgeGraph-KnowledgeGraphSublayer.html#templates Read more...}
25576
+ */
25577
+ templates?: FeatureTemplateProperties[] | nullish;
25552
25578
  /**
25553
25579
  * The layer's time extent.
25554
25580
  *
@@ -52957,12 +52983,12 @@ declare namespace __esri {
52957
52983
  /**
52958
52984
  * Returns all associations filtered by the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-networks-support-QueryAssociationsParameters.html QueryAssociationsParameters} in a utility network.
52959
52985
  *
52960
- * @param props Describes the parameters required to execute the `queryAssociations` method, which returns a list of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-networks-support-Association.html associations} filtered by the parameters set.
52986
+ * @param props Props consists of returnDeletes, elements, and types.
52961
52987
  * @param options An object with the following properties.
52962
52988
  *
52963
52989
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-networks-UtilityNetwork.html#queryAssociations Read more...}
52964
52990
  */
52965
- queryAssociations(props: QueryAssociationsParameters, options?: UtilityNetworkQueryAssociationsOptions): Promise<Association[]>;
52991
+ queryAssociations(props: UtilityNetworkQueryAssociationsProps, options?: UtilityNetworkQueryAssociationsOptions): Promise<Association[]>;
52966
52992
  /**
52967
52993
  * Whenever the network is edited or modified, the network and its features become out of date in the [network topology]( https://pro.arcgis.com/en/pro-app/latest/help/data/utility-network/about-network-topology.htm).
52968
52994
  *
@@ -52983,11 +53009,11 @@ declare namespace __esri {
52983
53009
  /**
52984
53010
  * Given an extent, returns all associations within this extent and their synthesized geometries.
52985
53011
  *
52986
- * @param params Describes the parameters required to execute the `synthesizeAssociationGeometries` method which synthesizes and returns the associations geometries in a given extent.
53012
+ * @param props Props consists of extent, returnAttachmentAssociations, returnConnectivityAssociations, returnContainmentAssociations, maxGeometryCount, and outSpatialReference.
52987
53013
  *
52988
53014
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-networks-UtilityNetwork.html#synthesizeAssociationGeometries Read more...}
52989
53015
  */
52990
- synthesizeAssociationGeometries(params: SynthesizeAssociationGeometriesParameters): Promise<AssociationGeometriesResult>;
53016
+ synthesizeAssociationGeometries(props: UtilityNetworkSynthesizeAssociationGeometriesProps): Promise<AssociationGeometriesResult>;
52991
53017
  /**
52992
53018
  * The trace method takes a set of parameters, executes the trace on the backend, and returns trace results.
52993
53019
  *
@@ -53042,6 +53068,12 @@ declare namespace __esri {
53042
53068
  signal?: AbortSignal | nullish;
53043
53069
  }
53044
53070
 
53071
+ export interface UtilityNetworkQueryAssociationsProps {
53072
+ returnDeletes?: boolean;
53073
+ elements?: NetworkElement[];
53074
+ types?: string[];
53075
+ }
53076
+
53045
53077
  export interface UtilityNetworkSubmitTraceJobProps {
53046
53078
  namedTraceConfigurationGlobalId?: string;
53047
53079
  traceLocations?: TraceLocation[];
@@ -53061,6 +53093,14 @@ declare namespace __esri {
53061
53093
  | nullish;
53062
53094
  }
53063
53095
 
53096
+ export interface UtilityNetworkSynthesizeAssociationGeometriesProps {
53097
+ extent: Extent;
53098
+ returnAttachmentAssociations?: boolean;
53099
+ returnConnectivityAssociations?: boolean;
53100
+ returnContainmentAssociations?: boolean;
53101
+ maxGeometryCount?: number;
53102
+ }
53103
+
53064
53104
  export interface UtilityNetworkTraceProps {
53065
53105
  namedTraceConfigurationGlobalId?: string;
53066
53106
  traceLocations?: TraceLocation[];
@@ -67725,6 +67765,15 @@ declare namespace __esri {
67725
67765
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-knowledgeGraphService.html#executeUpdateSearchIndex Read more...}
67726
67766
  */
67727
67767
  executeUpdateSearchIndex(graph: KnowledgeGraph, namedType: string, searchProperties: knowledgeGraphServiceExecuteUpdateSearchIndexSearchProperties, options?: RequestOptions): Promise<GraphUpdateSearchIndexResult>;
67768
+ /**
67769
+ * Returns all client data keys existing on the knowledge graph service associated with the given knowledge graph.
67770
+ *
67771
+ * @param graph The {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-knowledgeGraph-KnowledgeGraph.html knowledge graph} associated with the service. See also [ArcGIS REST APIs - Hosted Knowledge Graph Service](https://developers.arcgis.com/rest/services-reference/enterprise/kgs-hosted-server.htm).
67772
+ * @param requestOptions Additional options to be used for the data request.
67773
+ *
67774
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-knowledgeGraphService.html#fetchAllClientDataKeys Read more...}
67775
+ */
67776
+ fetchAllClientDataKeys(graph: KnowledgeGraph, requestOptions?: RequestOptions): Promise<string[]>;
67728
67777
  /**
67729
67778
  * Retrieves the filtered find path results from a job started by {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-knowledgeGraphService.html#executeFindPathsAsynchronous executeFindPathsAsynchronous}.
67730
67779
  *
@@ -117202,6 +117251,16 @@ declare namespace __esri {
117202
117251
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#startCreateFeaturesWorkflowAtFeatureTypeSelection Read more...}
117203
117252
  */
117204
117253
  startCreateFeaturesWorkflowAtFeatureTypeSelection(): Promise<void>;
117254
+ /**
117255
+ * Starts a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-MergeFeaturesWorkflow.html MergeFeaturesWorkflow} for the
117256
+ * specified features.
117257
+ *
117258
+ * @param features The features to be merged. These can be supplied either as an array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html Graphic} instances or as a single {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#FeatureInfo FeatureInfo} object specifying a layer and the object IDs of the features.
117259
+ * @param options Options for the merge features workflow.
117260
+ *
117261
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#startMergeFeaturesWorkflow Read more...}
117262
+ */
117263
+ startMergeFeaturesWorkflow(features: Graphic[] | FeatureInfo, options: any): void;
117205
117264
  /**
117206
117265
  * Starts a split feature workflow for the given feature.
117207
117266
  *
@@ -117215,11 +117274,11 @@ declare namespace __esri {
117215
117274
  * Starts an {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-UpdateFeaturesWorkflow.html UpdateFeaturesWorkflow} using
117216
117275
  * the provided features.
117217
117276
  *
117218
- * @param features The features to batch update
117277
+ * @param features The features to be updated. These can be supplied either as an array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html Graphic} instances or as a single {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#FeatureInfo FeatureInfo} object specifying a layer and the object IDs of the features.
117219
117278
  *
117220
117279
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#startUpdateFeaturesWorkflow Read more...}
117221
117280
  */
117222
- startUpdateFeaturesWorkflow(features: Graphic[]): Promise<void>;
117281
+ startUpdateFeaturesWorkflow(features: Graphic[] | FeatureInfo): Promise<void>;
117223
117282
  /**
117224
117283
  * Starts the {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-UpdateWorkflow.html UpdateWorkflow} at the attribute editing panel.
117225
117284
  *
@@ -117628,6 +117687,16 @@ declare namespace __esri {
117628
117687
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-EditorViewModel.html#startCreateFeaturesWorkflowAtFeatureTypeSelection Read more...}
117629
117688
  */
117630
117689
  startCreateFeaturesWorkflowAtFeatureTypeSelection(): Promise<void>;
117690
+ /**
117691
+ * Starts a {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-MergeFeaturesWorkflow.html MergeFeaturesWorkflow} for the
117692
+ * specified features.
117693
+ *
117694
+ * @param features The features to be merged. These can be supplied either as an array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html Graphic} instances or as a single {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#FeatureInfo FeatureInfo} object specifying a layer and the object IDs of the features.
117695
+ * @param options Options for the merge features workflow.
117696
+ *
117697
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-EditorViewModel.html#startMergeFeaturesWorkflow Read more...}
117698
+ */
117699
+ startMergeFeaturesWorkflow(features: Graphic[] | FeatureInfo, options: EditorViewModelStartMergeFeaturesWorkflowOptions): void;
117631
117700
  /**
117632
117701
  * Starts a split feature workflow for the given feature.
117633
117702
  *
@@ -117641,11 +117710,11 @@ declare namespace __esri {
117641
117710
  * Starts an {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-UpdateFeaturesWorkflow.html UpdateFeaturesWorkflow} using
117642
117711
  * the provided features.
117643
117712
  *
117644
- * @param featuresOrInfos The features to be updated.
117713
+ * @param features The features to be updated. These can be supplied either as an array of {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-Graphic.html Graphic} instances or as a single {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor.html#FeatureInfo FeatureInfo} object specifying a layer and the object IDs of the features.
117645
117714
  *
117646
117715
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Editor-EditorViewModel.html#startUpdateFeaturesWorkflow Read more...}
117647
117716
  */
117648
- startUpdateFeaturesWorkflow(featuresOrInfos: Graphic[] | FeatureInfo[]): Promise<void>;
117717
+ startUpdateFeaturesWorkflow(features: Graphic[] | FeatureInfo): Promise<void>;
117649
117718
  /**
117650
117719
  * Starts the update workflow at the feature geometry and attribute editing panel.
117651
117720
  *
@@ -117739,6 +117808,10 @@ declare namespace __esri {
117739
117808
  initialFeature: Graphic;
117740
117809
  }
117741
117810
 
117811
+ export interface EditorViewModelStartMergeFeaturesWorkflowOptions {
117812
+ keyFeature?: Graphic;
117813
+ }
117814
+
117742
117815
  export interface EditorViewModelStartSplitFeatureWorkflowOptions {
117743
117816
  defaultSplitterGeometryType?: "point" | "polyline" | "polygon";
117744
117817
  splitterGeometry?: Point | Polyline | Polygon;
@@ -123412,6 +123485,12 @@ declare namespace __esri {
123412
123485
  * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#layerView Read more...}
123413
123486
  */
123414
123487
  readonly layerView: LayerView | nullish;
123488
+ /**
123489
+ * This property is applicable when working with layers that contain a large number of features, as it provides the ability to limit the displayed total feature count.
123490
+ *
123491
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#maxSize Read more...}
123492
+ */
123493
+ maxSize: number | nullish;
123415
123494
  /**
123416
123495
  * Set this object to customize the feature table's menu content.
123417
123496
  *
@@ -123952,6 +124031,12 @@ declare namespace __esri {
123952
124031
  | OrientedImageryLayer
123953
124032
  | Sublayer
123954
124033
  | nullish;
124034
+ /**
124035
+ * This property is applicable when working with layers that contain a large number of features, as it provides the ability to limit the displayed total feature count.
124036
+ *
124037
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-FeatureTableViewModel.html#maxSize Read more...}
124038
+ */
124039
+ maxSize?: number | nullish;
123955
124040
  /**
123956
124041
  * Set this object to customize the feature table's menu content.
123957
124042
  *
@@ -125486,7 +125571,7 @@ declare namespace __esri {
125486
125571
  interface RelationshipColumnTemplateProperties extends ColumnTemplateBaseProperties {
125487
125572
  }
125488
125573
 
125489
- export interface TableTemplate extends Accessor, JSONSupport {
125574
+ export interface TableTemplate extends Accessor, JSONSupport, Clonable {
125490
125575
  }
125491
125576
 
125492
125577
  export class TableTemplate {
@@ -125515,6 +125600,12 @@ declare namespace __esri {
125515
125600
  | (AttachmentsColumnTemplateProperties & { type: "attachment" })
125516
125601
  | (RelationshipColumnTemplateProperties & { type: "relationship" })
125517
125602
  )[]);
125603
+ /**
125604
+ * Creates a deep clone of this object.
125605
+ *
125606
+ * {@link https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable-support-TableTemplate.html#clone Read more...}
125607
+ */
125608
+ clone(): this;
125518
125609
  /**
125519
125610
  * Converts an instance of this class to its [ArcGIS portal JSON](https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm) representation.
125520
125611
  *
package/kernel.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.34";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="4.34.0-next.110",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
5
+ import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="4.34";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="4.34.0-next.112",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
package/layers/Layer.js CHANGED
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import e from"../request.js";import r from"../core/Error.js";import{EventedMixin as o}from"../core/Evented.js";import{IdentifiableMixin as i}from"../core/Identifiable.js";import{Loadable as a}from"../core/Loadable.js";import s from"../core/Logger.js";import{isAbortError as l}from"../core/promiseUtils.js";import{urlToObject as n}from"../core/urlUtils.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import d from"../geometry/Extent.js";import u from"../geometry/SpatialReference.js";import{fromPortalItem as m}from"./support/fromPortalItem.js";import c from"../time/TimeExtent.js";let h=0,b=class extends(o(i(a))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new d(-180,-90,180,90,u.WGS84),this.id=Date.now().toString(16)+"-layer-"+h++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=u.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(t){const e="string"==typeof t?{url:t}:t;return(await import("./support/arcgisLayers.js")).fromUrl(e)}static fromPortalItem(t){return m(t)}initialize(){this.when().catch(t=>{l(t)||s.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:t})})}destroy(){const{parent:t}=this;t&&(this.parent=null,t.removeChildLayer?.(this))}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}get hasAttributionData(){return null!=this.attributionDataUrl}get loaded(){return super.loaded}removeFromParent(){const{parent:t}=this;t&&(t.removeChildLayer?.(this),this.parent=null)}get parsedUrl(){return n(this.url)}createLayerView(t,e){return Promise.reject(new r("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const t=this.attributionDataUrl;if(this.hasAttributionData&&t){return(await e(t,{query:{f:"json"},responseType:"json"})).data}throw new r("layer:no-attribution-data","Layer does not have attribution data")}};t([p({type:String})],b.prototype,"attributionDataUrl",void 0),t([p({readOnly:!0})],b.prototype,"effectiveVisible",null),t([p({type:d})],b.prototype,"fullExtent",void 0),t([p({readOnly:!0})],b.prototype,"hasAttributionData",null),t([p({type:String,clonable:!1})],b.prototype,"id",void 0),t([p({type:Boolean,nonNullable:!0})],b.prototype,"legendEnabled",void 0),t([p({type:["show","hide","hide-children"]})],b.prototype,"listMode",void 0),t([p({type:Number,range:{min:0,max:1},nonNullable:!0})],b.prototype,"opacity",void 0),t([p({clonable:!1})],b.prototype,"parent",void 0),t([p({readOnly:!0})],b.prototype,"parsedUrl",null),t([p({type:Boolean,readOnly:!0})],b.prototype,"persistenceEnabled",void 0),t([p({type:Boolean})],b.prototype,"popupEnabled",void 0),t([p({type:Boolean})],b.prototype,"attributionVisible",void 0),t([p({type:u})],b.prototype,"spatialReference",void 0),t([p({type:String})],b.prototype,"title",void 0),t([p({readOnly:!0,json:{read:!1}})],b.prototype,"type",void 0),t([p()],b.prototype,"url",void 0),t([p({type:c})],b.prototype,"visibilityTimeExtent",void 0),t([p({type:Boolean,nonNullable:!0})],b.prototype,"visible",void 0),b=t([y("esri.layers.Layer")],b);const f=b;export{f as default};
5
+ import{__decorate as t}from"tslib";import e from"../request.js";import r from"../core/Error.js";import{EventedMixin as o}from"../core/Evented.js";import{IdentifiableMixin as i}from"../core/Identifiable.js";import{Loadable as a}from"../core/Loadable.js";import s from"../core/Logger.js";import{isAbortError as l}from"../core/promiseUtils.js";import{urlToObject as n}from"../core/urlUtils.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/RandomLCG.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import d from"../geometry/Extent.js";import u from"../geometry/SpatialReference.js";import{fromPortalItem as m}from"./support/fromPortalItem.js";import c from"../time/TimeExtent.js";let h=0,b=class extends(o(i(a))){constructor(){super(...arguments),this.attributionDataUrl=null,this.fullExtent=new d(-180,-90,180,90,u.WGS84),this.id=Date.now().toString(16)+"-layer-"+h++,this.legendEnabled=!0,this.listMode="show",this.opacity=1,this.parent=null,this.persistenceEnabled=!1,this.popupEnabled=!0,this.attributionVisible=!0,this.spatialReference=u.WGS84,this.title=null,this.type=null,this.url=null,this.visibilityTimeExtent=null,this.visible=!0}static async fromArcGISServerUrl(t){const e="string"==typeof t?{url:t}:t;return(await import("./support/arcgisLayers.js")).fromUrl(e)}static fromPortalItem(t){return m(t)}initialize(){this.when().catch(t=>{l(t)||s.getLogger(this).error("#load()",`Failed to load layer (title: '${this.title??"no title"}', id: '${this.id??"no id"}')`,{error:t})})}destroy(){const{parent:t}=this;t&&(this.parent=null,t.removeChildLayer?.(this))}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}get hasAttributionData(){return null!=this.attributionDataUrl}get loaded(){return super.loaded}removeFromParent(){const{parent:t}=this;t&&(t.removeChildLayer?.(this),this.parent=null)}get parsedUrl(){return n(this.url)}createLayerView(t,e){return Promise.reject(new r("layer:create-layer-view","Layer does not support creating a layer view"))}async fetchAttributionData(){const t=this.attributionDataUrl;if(this.hasAttributionData&&t){return(await e(t,{query:{f:"json"},responseType:"json"})).data}throw new r("layer:no-attribution-data","Layer does not have attribution data")}};t([p({type:String})],b.prototype,"attributionDataUrl",void 0),t([p({readOnly:!0})],b.prototype,"effectiveVisible",null),t([p({type:d})],b.prototype,"fullExtent",void 0),t([p({readOnly:!0})],b.prototype,"hasAttributionData",null),t([p({type:String,clonable:!1})],b.prototype,"id",void 0),t([p({type:Boolean,nonNullable:!0})],b.prototype,"legendEnabled",void 0),t([p({type:["show","hide","hide-children"]})],b.prototype,"listMode",void 0),t([p({type:Number,range:{min:0,max:1},nonNullable:!0})],b.prototype,"opacity",void 0),t([p({clonable:!1})],b.prototype,"parent",void 0),t([p({readOnly:!0})],b.prototype,"parsedUrl",null),t([p({type:Boolean,readOnly:!0})],b.prototype,"persistenceEnabled",void 0),t([p({type:Boolean})],b.prototype,"popupEnabled",void 0),t([p({type:Boolean})],b.prototype,"attributionVisible",void 0),t([p({type:u})],b.prototype,"spatialReference",void 0),t([p({type:String})],b.prototype,"title",void 0),t([p({readOnly:!0,json:{read:!1}})],b.prototype,"type",void 0),t([p()],b.prototype,"url",void 0),t([p({type:c})],b.prototype,"visibilityTimeExtent",void 0),t([p({type:Boolean,nonNullable:!0})],b.prototype,"visible",void 0),b=t([y("esri.layers.Layer")],b);export{b as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../Graphic.js";import r from"../core/Collection.js";import o from"../core/Error.js";import{clone as i}from"../core/lang.js";import{MultiOriginJSONMixin as l}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as n}from"../core/object.js";import a from"../core/Warning.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../core/accessorSupport/decorators/writer.js";import u from"../geometry/Extent.js";import{projectOrLoad as c,canProjectWithoutEngine as f,load as d,project as g,isLoaded as b}from"../geometry/projectionUtils.js";import h from"../geometry/SpatialReference.js";import{empty as S,expand as O,equals as w,toExtent as N,negativeInfinity as j}from"../geometry/support/aaBoundingRect.js";import{normalizeCentralMeridian as L}from"../geometry/support/normalizeUtils.js";import{equals as x}from"../geometry/support/spatialReferenceUtils.js";import J from"../graphic/MapNotesGraphicOrigin.js";import v from"./FeatureLayer.js";import T from"./GraphicsLayer.js";import C from"./Layer.js";import{findLastObjectIdFromFeatures as M}from"./graphics/objectIdUtils.js";import{BlendLayer as I}from"./mixins/BlendLayer.js";import{OperationalLayer as R}from"./mixins/OperationalLayer.js";import{PortalLayer as E}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import G from"./support/Field.js";import P from"../symbols/SimpleFillSymbol.js";import _ from"../symbols/SimpleLineSymbol.js";import F from"../symbols/SimpleMarkerSymbol.js";import B from"../symbols/TextSymbol.js";function k(e){return"markup"===e.featureCollectionType||e.layers.some(e=>null!=e.layerDefinition.visibilityField||!z(e))}function z({layerDefinition:e,featureSet:t}){const r=e.geometryType??t.geometryType;return $.find(t=>r===t.geometryTypeJSON&&e.drawingInfo?.renderer?.symbol?.type===t.identifyingSymbol.type)}function U(){return new u({xmin:-180,ymin:-90,xmax:180,ymax:90})}const W=new G({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),A=new G({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0,length:255}),$=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:(new P).toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:(new _).toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:(new F).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:(new F).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:(new B).toJSON()}];let q=class extends(I(D(R(E(l(C)))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=h.WGS84,this.sublayers=new r($.map(e=>new H({id:e.id,layerId:e.layerId,title:e.title,layer:this}))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,r){return{operations:{supportsMapNotesEditing:!k(t)&&"portal-item"!==r?.origin}}}readFeatureCollections(e,t,o){if(!k(t))return null;const i=t.layers.map(e=>{const t=new v;return t.read(e,o),t});return new r({items:i})}readLegacyfeatureCollectionJSON(e,t){return k(t)?i(t.featureCollection):null}get fullExtent(){const e=this.spatialReference,t=S();if(null!=this.sublayers)this.sublayers.forEach(({fullBounds:e})=>null!=e?O(t,e,t):t,t);else if(this.featureCollectionJSON?.layers.some(e=>e.layerDefinition.extent)){this.featureCollectionJSON.layers.forEach(r=>{const o=c(r.layerDefinition.extent,e).geometry;null!=o&&O(t,o,t)})}return w(t,j)?c(U(),e).geometry:N(t,e)}readMinScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.minScale)return r.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.maxScale)return r.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?h.fromJSON(t.layers[0].layerDefinition.spatialReference):h.WGS84}readSublayers(e,o,i){if(k(o))return null;const l=[];let n=o.layers.reduce((e,t)=>Math.max(e,t.layerDefinition.id??-1),-1)+1;for(const r of o.layers){const{layerDefinition:e,featureSet:o}=r,i=e.id??n++,a=z(r);if(null!=a){const r=new H({id:a.id,title:e.name,layerId:i,layer:this,graphics:o.features.map(({geometry:e,symbol:r,attributes:o,popupInfo:i})=>t.fromJSON({attributes:o,geometry:e,symbol:r,popupTemplate:i}))});l.push(r)}}return new r(l)}writeSublayers(e,t,r,i){const{minScale:l,maxScale:a}=this;if(null==e)return;const s=e.some(e=>e.graphics.length>0);if(!this.capabilities.operations.supportsMapNotesEditing)return void(s&&i?.messages?.push(new o("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer")));const p=[];let y=this.spatialReference.toJSON();e:for(const o of e)for(const e of o.graphics)if(null!=e.geometry){y=e.geometry.spatialReference.toJSON();break e}for(const o of $){const t=e.find(e=>o.id===e.id);this._writeMapNoteSublayer(p,t,o,l,a,y,i)}n("featureCollection.layers",p,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=i(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(null==this.sublayers)return;let e=null;const t=[];for(const o of this.sublayers)for(const r of o.graphics)if(null!=r.geometry){const o=r.geometry;e?x(o.spatialReference,e)||(f(o.spatialReference,e)||b()||await d(),r.geometry=g(o,e)):e=o.spatialReference,t.push(r)}const r=await L(t.map(e=>e.geometry));t.forEach((e,t)=>e.geometry=r[t])}_findSublayer(e){return null==this.sublayers?null:this.sublayers?.find(t=>t.id===e)??null}_writeMapNoteSublayer(e,t,r,o,l,n,a){const s=[];if(null!=t){for(const e of t.graphics)this._writeMapNote(s,e,r.geometryType,a);this._normalizeObjectIds(s,W),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:i(r.identifyingSymbol)}},id:t.layerId,geometryType:r.geometryTypeJSON,minScale:o,maxScale:l,objectIdField:"OBJECTID",fields:[W.toJSON(),A.toJSON()],spatialReference:n},featureSet:{features:s,geometryType:r.geometryTypeJSON}})}}_writeMapNote(e,t,r,o){if(null==t)return;const{geometry:i,symbol:l,popupTemplate:n}=t;if(null==i)return;if(i.type!==r)return void o?.messages?.push(new a("map-notes-layer:invalid-geometry-type",`Geometry "${i.type}" cannot be saved in "${r}" layer`,{graphic:t}));if(null==l)return void o?.messages?.push(new a("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t}));const s={attributes:{...t.attributes},geometry:i.toJSON(),symbol:l.toJSON()};null!=n&&(s.popupInfo=n.toJSON()),e.push(s)}_normalizeObjectIds(e,t){const r=t.name;let o=M(r,e)+1;const i=new Set;for(const l of e){l.attributes||(l.attributes={});const{attributes:e}=l;(null==e[r]||i.has(e[r]))&&(e[r]=o++),i.add(e[r])}}};e([s({readOnly:!0})],q.prototype,"capabilities",void 0),e([p(["portal-item","web-map"],"capabilities",["layers"])],q.prototype,"readCapabilities",null),e([s({readOnly:!0})],q.prototype,"featureCollections",void 0),e([p(["web-map","portal-item"],"featureCollections",["layers"])],q.prototype,"readFeatureCollections",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],q.prototype,"featureCollectionJSON",void 0),e([p(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],q.prototype,"readLegacyfeatureCollectionJSON",null),e([s({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],q.prototype,"featureCollectionType",void 0),e([s({readOnly:!0})],q.prototype,"fullExtent",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:null!=this.featureCollectionJSON}}}}}}})],q.prototype,"legendEnabled",void 0),e([s({type:["show","hide","hide-children"]})],q.prototype,"listMode",void 0),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"minScale",void 0),e([p(["web-map","portal-item"],"minScale",["layers"])],q.prototype,"readMinScale",null),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"maxScale",void 0),e([p(["web-map","portal-item"],"maxScale",["layers"])],q.prototype,"readMaxScale",null),e([s({readOnly:!0})],q.prototype,"multipointLayer",null),e([s({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],q.prototype,"operationalLayerType",void 0),e([s({readOnly:!0})],q.prototype,"pointLayer",null),e([s({readOnly:!0})],q.prototype,"polygonLayer",null),e([s({readOnly:!0})],q.prototype,"polylineLayer",null),e([s({type:h})],q.prototype,"spatialReference",void 0),e([p(["web-map","portal-item"],"spatialReference",["layers"])],q.prototype,"readSpatialReference",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],q.prototype,"sublayers",void 0),e([p("web-map","sublayers",["layers"])],q.prototype,"readSublayers",null),e([m("web-map","sublayers")],q.prototype,"writeSublayers",null),e([s({readOnly:!0})],q.prototype,"textLayer",null),e([s()],q.prototype,"title",void 0),e([s({readOnly:!0,json:{read:!1}})],q.prototype,"type",void 0),q=e([y("esri.layers.MapNotesLayer")],q);let H=class extends T{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",e=>{e.item.sourceLayer=this.layer,e.item.origin=this.graphicOrigin}),this.graphics.on("after-remove",e=>{e.item.sourceLayer=null,e.item.origin=null})}get fullExtent(){const e=this.layer?.spatialReference,t=this.fullBounds;return e?null==t?c(U(),e).geometry:N(t,e):null}get fullBounds(){const e=this.layer?.spatialReference;if(!e)return null;const t=S();return this.graphics.forEach(r=>{const o=null!=r.geometry?c(r.geometry,e).geometry:null;null!=o&&O(t,"point"===o.type?o:o.extent,t)}),w(t,j)?null:t}get graphicOrigin(){return new J(this.layer,this)}get sublayers(){return this.graphics}};e([s({readOnly:!0})],H.prototype,"fullExtent",null),e([s({readOnly:!0})],H.prototype,"fullBounds",null),e([s({readOnly:!0})],H.prototype,"graphicOrigin",null),e([s({readOnly:!0})],H.prototype,"sublayers",null),e([s()],H.prototype,"layer",void 0),e([s()],H.prototype,"layerId",void 0),e([s({readOnly:!0})],H.prototype,"visibilityMode",void 0),H=e([y("esri.layers.MapNotesLayer.MapNotesSublayer")],H);const K=q;export{K as default};
5
+ import{__decorate as e}from"tslib";import t from"../Graphic.js";import r from"../core/Collection.js";import o from"../core/Error.js";import{clone as i}from"../core/lang.js";import{MultiOriginJSONMixin as l}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as n}from"../core/object.js";import a from"../core/Warning.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/has.js";import"../core/Logger.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{subclass as y}from"../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../core/accessorSupport/decorators/writer.js";import u from"../geometry/Extent.js";import{projectOrLoad as c,canProjectWithoutEngine as f,isLoaded as d,load as g,project as b}from"../geometry/projectionUtils.js";import h from"../geometry/SpatialReference.js";import{empty as S,expand as O,equals as w,toExtent as N,negativeInfinity as j}from"../geometry/support/aaBoundingRect.js";import{normalizeCentralMeridian as L}from"../geometry/support/normalizeUtils.js";import{equals as x}from"../geometry/support/spatialReferenceUtils.js";import J from"../graphic/MapNotesGraphicOrigin.js";import v from"./FeatureLayer.js";import T from"./GraphicsLayer.js";import C from"./Layer.js";import{findLastObjectIdFromFeatures as M}from"./graphics/objectIdUtils.js";import{BlendLayer as I}from"./mixins/BlendLayer.js";import{OperationalLayer as R}from"./mixins/OperationalLayer.js";import{PortalLayer as E}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as D}from"./mixins/ScaleRangeLayer.js";import G from"./support/Field.js";import P from"../symbols/SimpleFillSymbol.js";import _ from"../symbols/SimpleLineSymbol.js";import F from"../symbols/SimpleMarkerSymbol.js";import B from"../symbols/TextSymbol.js";function k(e){return"markup"===e.featureCollectionType||e.layers.some(e=>null!=e.layerDefinition.visibilityField||!z(e))}function z({layerDefinition:e,featureSet:t}){const r=e.geometryType??t.geometryType;return $.find(t=>r===t.geometryTypeJSON&&e.drawingInfo?.renderer?.symbol?.type===t.identifyingSymbol.type)}function U(){return new u({xmin:-180,ymin:-90,xmax:180,ymax:90})}const W=new G({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),A=new G({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0,length:255}),$=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:(new P).toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:(new _).toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:(new F).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:(new F).toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:(new B).toJSON()}];let q=class extends(I(D(R(E(l(C)))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=h.WGS84,this.sublayers=new r($.map(e=>new H({id:e.id,layerId:e.layerId,title:e.title,layer:this}))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,r){return{operations:{supportsMapNotesEditing:!k(t)&&"portal-item"!==r?.origin}}}readFeatureCollections(e,t,o){if(!k(t))return null;const i=t.layers.map(e=>{const t=new v;return t.read(e,o),t});return new r({items:i})}readLegacyfeatureCollectionJSON(e,t){return k(t)?i(t.featureCollection):null}get fullExtent(){const e=this.spatialReference,t=S();if(null!=this.sublayers)this.sublayers.forEach(({fullBounds:e})=>null!=e?O(t,e,t):t,t);else if(this.featureCollectionJSON?.layers.some(e=>e.layerDefinition.extent)){this.featureCollectionJSON.layers.forEach(r=>{const o=c(r.layerDefinition.extent,e).geometry;null!=o&&O(t,o,t)})}return w(t,j)?c(U(),e).geometry:N(t,e)}readMinScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.minScale)return r.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const r of t.layers)if(null!=r.layerDefinition.maxScale)return r.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?h.fromJSON(t.layers[0].layerDefinition.spatialReference):h.WGS84}readSublayers(e,o,i){if(k(o))return null;const l=[];let n=o.layers.reduce((e,t)=>Math.max(e,t.layerDefinition.id??-1),-1)+1;for(const r of o.layers){const{layerDefinition:e,featureSet:o}=r,i=e.id??n++,a=z(r);if(null!=a){const r=new H({id:a.id,title:e.name,layerId:i,layer:this,graphics:o.features.map(({geometry:e,symbol:r,attributes:o,popupInfo:i})=>t.fromJSON({attributes:o,geometry:e,symbol:r,popupTemplate:i}))});l.push(r)}}return new r(l)}writeSublayers(e,t,r,i){const{minScale:l,maxScale:a}=this;if(null==e)return;const s=e.some(e=>e.graphics.length>0);if(!this.capabilities.operations.supportsMapNotesEditing)return void(s&&i?.messages?.push(new o("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer")));const p=[];let y=this.spatialReference.toJSON();e:for(const o of e)for(const e of o.graphics)if(null!=e.geometry){y=e.geometry.spatialReference.toJSON();break e}for(const o of $){const t=e.find(e=>o.id===e.id);this._writeMapNoteSublayer(p,t,o,l,a,y,i)}n("featureCollection.layers",p,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=i(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(null==this.sublayers)return;let e=null;const t=[];for(const o of this.sublayers)for(const r of o.graphics)if(null!=r.geometry){const o=r.geometry;e?x(o.spatialReference,e)||(f(o.spatialReference,e)||d()||await g(),r.geometry=b(o,e)):e=o.spatialReference,t.push(r)}const r=await L(t.map(e=>e.geometry));t.forEach((e,t)=>e.geometry=r[t])}_findSublayer(e){return null==this.sublayers?null:this.sublayers?.find(t=>t.id===e)??null}_writeMapNoteSublayer(e,t,r,o,l,n,a){const s=[];if(null!=t){for(const e of t.graphics)this._writeMapNote(s,e,r.geometryType,a);this._normalizeObjectIds(s,W),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:i(r.identifyingSymbol)}},id:t.layerId,geometryType:r.geometryTypeJSON,minScale:o,maxScale:l,objectIdField:"OBJECTID",fields:[W.toJSON(),A.toJSON()],spatialReference:n},featureSet:{features:s,geometryType:r.geometryTypeJSON}})}}_writeMapNote(e,t,r,o){if(null==t)return;const{geometry:i,symbol:l,popupTemplate:n}=t;if(null==i)return;if(i.type!==r)return void o?.messages?.push(new a("map-notes-layer:invalid-geometry-type",`Geometry "${i.type}" cannot be saved in "${r}" layer`,{graphic:t}));if(null==l)return void o?.messages?.push(new a("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t}));const s={attributes:{...t.attributes},geometry:i.toJSON(),symbol:l.toJSON()};null!=n&&(s.popupInfo=n.toJSON()),e.push(s)}_normalizeObjectIds(e,t){const r=t.name;let o=M(r,e)+1;const i=new Set;for(const l of e){l.attributes||(l.attributes={});const{attributes:e}=l;(null==e[r]||i.has(e[r]))&&(e[r]=o++),i.add(e[r])}}};e([s({readOnly:!0})],q.prototype,"capabilities",void 0),e([p(["portal-item","web-map"],"capabilities",["layers"])],q.prototype,"readCapabilities",null),e([s({readOnly:!0})],q.prototype,"featureCollections",void 0),e([p(["web-map","portal-item"],"featureCollections",["layers"])],q.prototype,"readFeatureCollections",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],q.prototype,"featureCollectionJSON",void 0),e([p(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],q.prototype,"readLegacyfeatureCollectionJSON",null),e([s({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],q.prototype,"featureCollectionType",void 0),e([s({readOnly:!0})],q.prototype,"fullExtent",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:null!=this.featureCollectionJSON}}}}}}})],q.prototype,"legendEnabled",void 0),e([s({type:["show","hide","hide-children"]})],q.prototype,"listMode",void 0),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"minScale",void 0),e([p(["web-map","portal-item"],"minScale",["layers"])],q.prototype,"readMinScale",null),e([s({type:Number,nonNullable:!0,json:{write:!1}})],q.prototype,"maxScale",void 0),e([p(["web-map","portal-item"],"maxScale",["layers"])],q.prototype,"readMaxScale",null),e([s({readOnly:!0})],q.prototype,"multipointLayer",null),e([s({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],q.prototype,"operationalLayerType",void 0),e([s({readOnly:!0})],q.prototype,"pointLayer",null),e([s({readOnly:!0})],q.prototype,"polygonLayer",null),e([s({readOnly:!0})],q.prototype,"polylineLayer",null),e([s({type:h})],q.prototype,"spatialReference",void 0),e([p(["web-map","portal-item"],"spatialReference",["layers"])],q.prototype,"readSpatialReference",null),e([s({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],q.prototype,"sublayers",void 0),e([p("web-map","sublayers",["layers"])],q.prototype,"readSublayers",null),e([m("web-map","sublayers")],q.prototype,"writeSublayers",null),e([s({readOnly:!0})],q.prototype,"textLayer",null),e([s()],q.prototype,"title",void 0),e([s({readOnly:!0,json:{read:!1}})],q.prototype,"type",void 0),q=e([y("esri.layers.MapNotesLayer")],q);let H=class extends T{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",e=>{e.item.sourceLayer=this.layer,e.item.origin=this.graphicOrigin}),this.graphics.on("after-remove",e=>{e.item.sourceLayer=null,e.item.origin=null})}get fullExtent(){const e=this.layer?.spatialReference,t=this.fullBounds;return e?null==t?c(U(),e).geometry:N(t,e):null}get fullBounds(){const e=this.layer?.spatialReference;if(!e)return null;const t=S();return this.graphics.forEach(r=>{const o=null!=r.geometry?c(r.geometry,e).geometry:null;null!=o&&O(t,"point"===o.type?o:o.extent,t)}),w(t,j)?null:t}get graphicOrigin(){return new J(this.layer,this)}get sublayers(){return this.graphics}};e([s({readOnly:!0})],H.prototype,"fullExtent",null),e([s({readOnly:!0})],H.prototype,"fullBounds",null),e([s({readOnly:!0})],H.prototype,"graphicOrigin",null),e([s({readOnly:!0})],H.prototype,"sublayers",null),e([s()],H.prototype,"layer",void 0),e([s()],H.prototype,"layerId",void 0),e([s({readOnly:!0})],H.prototype,"visibilityMode",void 0),H=e([y("esri.layers.MapNotesLayer.MapNotesSublayer")],H);const K=q;export{K as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{indexOf as e,PositionHint as t}from"../../../core/arrayUtils.js";import{toConst as i}from"../../../core/compilerUtils.js";import r from"../../../core/Error.js";import"../../../core/has.js";import{clone as s}from"../../../core/lang.js";import{removeMaybe as a,destroyMaybe as n}from"../../../core/maybe.js";import{signalFromSignalOrOptions as l,throwIfAborted as u}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as o}from"../../../core/unitUtils.js";import{isSerializable as c}from"../../../core/support/jsonUtils.js";import{isLoaded as h}from"../../../geometry/projectionUtils.js";import{set as y,create as d,expandWithAABB as m,negativeInfinity as f}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as p,create as x}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as g}from"../../../geometry/support/boundsUtils.js";import{fromJSON as _,isExtent as F,isPolygon as w}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as Q}from"../../../geometry/support/normalizeUtils.js";import{equals as S,isValid as R}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as I}from"../featureConversionUtils.js";import{getWhereClause as j}from"./attributeSupport.js";import{getGeometry as b,cleanFromGeometryEngine as E}from"./geometryUtils.js";import{checkProjectionSupport as T,project as A,projectMany as v}from"./projectionSupport.js";import{QueryEngineCache as G}from"./QueryEngineCache.js";import{queryCapabilities as k}from"./QueryEngineCapabilities.js";import{QueryEngineResult as C}from"./QueryEngineResult.js";import{queryEngineEmptyResult as O,normalizeAttributeBinsQuery as M,normalizeQueryLike as P,normalizeQuery as q}from"./queryUtils.js";import{validateAttributeBinsQuery as z,validateQuery as U,validateStatisticsQuery as B}from"./queryValidationUtils.js";import{getSpatialQueryOperator as Z,canQueryWithRBush as H}from"./spatialQuerySupport.js";import{getTimeExtent as N,getTimeOperator as J}from"./timeSupport.js";import L from"../../support/FieldsIndex.js";import{ImmediateTask as V}from"../../../views/support/Scheduler.js";const D="unsupported-query";class K{constructor(e,t=null,i,r,s){this.attributes=e,this.geometry=i,this.centroid=r,this.filterFlags=s,this.groupId=-1,this.displayId=t}}class W{constructor(e){this._changeHandle=null,this.capabilities={query:k},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._cache=e.cache??new G,this.timeInfo=e.timeInfo,this.featureIdInfo=e.featureIdInfo,"object-id"===e.featureIdInfo.type&&(this.objectIdField=e.featureIdInfo.fieldName),this._changeHandle=this.featureStore.events.on("changed",()=>this._clearCache()),this.fieldsIndex=c(e.fieldsIndex)?e.fieldsIndex:L.fromJSON(e.fieldsIndex),!e.availableFields||1===e.availableFields.length&&"*"===e.availableFields[0]?this.availableFields=new Set(this.fieldsIndex.fields.map(e=>e.name)):this.availableFields=new Set(e.availableFields.map(e=>this.fieldsIndex.get(e)?.name).filter(e=>null!=e)),e.scheduler&&e.priority?this._frameTask=e.scheduler.registerTask(e.priority):this._frameTask=V}destroy(){this._changeHandle=a(this._changeHandle),this._frameTask=a(this._frameTask),this._clearCache(),n(this._cache)}get featureAdapter(){return this.featureStore.featureAdapter}async executeQuery(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryFeatureSet(e),i)}async executeQueryForCount(e={},t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForCount(e),i)}async executeQueryForExtent(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForExtent(e),i)}async executeQueryForIds(e,t){return Array.from(await this.executeQueryForIdSet(e,t))}async executeQueryForIdSet(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForIdSet(e),i)}async executeQueryForLatestObservations(e,t){const i=l(t);if(!this.timeInfo?.trackIdField)throw new r(D,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});return await this._frameTask.scheduleGenerator(()=>this._executeQueryForLatestObservations(e),i)}async executeQueryForOpaqueFeatures(e,t){const i=l(t);return(await this._frameTask.scheduleGenerator(()=>this._executeQuery(e,{}),i)).items}async executeAttributeBinsQuery(e,t){const i=l(t);return e=s(e),await this._frameTask.scheduleGenerator(()=>this._executeAttributeBinsQuery(e),i)}async executeQueryForSummaryStatistics(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSummaryStatistics(e,t),r)}async executeQueryForUniqueValues(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForUniqueValues(e,t),r)}async executeQueryForClassBreaks(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForClassBreaks(e,t),r)}async executeQueryForHistogram(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForHistogram(e,t),r)}async executeQueryForSnapping(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSnapping(e,i),i)}async fetchRecomputedExtents(e){const t=l(e);this._timeExtentPromise||=N(this.timeInfo,this.featureStore);const[i,r]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return u(t),{fullExtent:i,timeExtent:r}}_clearCache(){this._cache.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async*_executeQueryFeatureSet(e){try{const t=yield*this._executeQuery(e,{});return yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeQueryForCount(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null});return yield,t.createQueryResponseForCount()}catch(t){if(t!==O)throw t;return 0}}async*_executeQueryForExtent(e){const t=e.outSR;try{const i=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const r=i.size;if(!r)return{count:0,extent:null};const s=await this._getBounds(i.items,i.spatialReference,t??this.spatialReference);return yield,{count:r,extent:s}}catch(i){if(i===O)return{count:0,extent:null};throw i}}async*_executeQueryForIdSet(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const i=t.items,r=new Set;for(const e of i)r.add(t.featureAdapter.getObjectId(e));return r}catch(t){if(t===O)return new Set;throw t}}async*_executeQueryForLatestObservations(e){try{const t=yield*this._executeQuery(e,{});return yield,this._filterLatest(t),yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeAttributeBinsQuery(e){let t;try{e=await M(e,this.definitionExpression,this.spatialReference),yield,e=await z(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield,t=yield*this._executeGeometryQuery(e,i),yield,this._executeAggregateIdsQuery(t),yield,this._executeObjectIdsQuery(t),yield,this._executeTimeQuery(t),yield,this._executeAttributesQuery(t),yield}catch(i){if(i!==O)throw i;t=new C([],e,this)}return await t.createQueryBinsResponse(e)}async*_executeQueryForSummaryStatistics(e={},t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createSummaryStatisticsResponse(t)}async*_executeQueryForUniqueValues(e={},t){const{field:i,field2:r,field3:s,valueExpression:a}=t,n=yield*this._executeQueryForStatistics(e,{field:i,field2:r,field3:s,valueExpression:a});return yield,await n.createUniqueValuesResponse(t)}async*_executeQueryForClassBreaks(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createClassBreaksResponse(t)}async*_executeQueryForHistogram(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createHistogramResponse(t)}async*_executeQueryForSnapping(e,t){const{point:i,distance:r,returnEdge:a,vertexMode:n}=e;if(!a&&"none"===n)return{candidates:[]};let l=s(e.query);l=await P(l,this.definitionExpression,this.spatialReference),yield,l=await U(l,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const u=!S(i.spatialReference,this.spatialReference);u&&(await T(i.spatialReference,this.spatialReference),yield);const o="number"==typeof r?r:r.x,c="number"==typeof r?r:r.y,h={xmin:i.x-o,xmax:i.x+o,ymin:i.y-c,ymax:i.y+c,spatialReference:i.spatialReference},y=u?A(h,this.spatialReference):h;if(!y)return{candidates:[]};const d=(await Q(_(i),null,{signal:t}))[0];yield;const m=(await Q(_(y),null,{signal:t}))[0];if(yield,null==d||null==m)return{candidates:[]};const f=await this._searchFeatures(X(m.toJSON()));yield;const p=new C(f,l,this);this._executeObjectIdsQuery(p),yield,this._executeTimeQuery(p),yield,this._executeAttributesQuery(p),yield,yield*this._executeGeometryQueryForSnapping(p),yield;const x=d.toJSON(),g=u?A(x,this.spatialReference):x,F=u?Math.max(y.xmax-y.xmin,y.ymax-y.ymin)/2:r;return p.createSnappingResponse({...e,point:g,distance:F},l.returnZ,i.spatialReference)}async _getBounds(e,t,i){const r=y(d(),f);return await this.featureStore.forEachBounds(e,e=>m(r,e)),Y(r,t,i,this.spatialReference,this.hasZ)}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then(e=>this._getBounds(e,this.spatialReference,this.spatialReference)),this._fullExtentPromise}async _getAllFeaturesQueryEngineResult(e){return new C(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>await this.featureStore.forEach(t=>e.push(t)))().then(()=>i(e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async*_executeQuery(e,t){e=s(e),e=await q(e,this.definitionExpression,this.spatialReference),yield,e=await U(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield,e={...e,...t};const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),r}async*_executeSceneFilterQuery(e){if(null==e.sceneFilter)return null;const{outSR:t,returnGeometry:i,returnCentroid:r}=e,s=this.featureStore.featureSpatialReference,a=e.sceneFilter.geometry,n=null==s||S(s,a.spatialReference)?a:A(a,s);if(!n)return null;const l=i||r,u=R(t)&&!S(this.spatialReference,t)&&l?async e=>this._project(e,t):e=>e;yield;const o=this.featureAdapter,c=await this._searchFeatures(X(n));yield;if("disjoint"===e.sceneFilter.spatialRelationship){if(!c.length)return null;const t=new Set;for(const e of c)t.add(o.getObjectId(e));const i=await this._getAllFeatures();yield;const r=await Z("esriSpatialRelDisjoint",n,this.geometryType,this.hasZ,this.hasM);yield;const s=e=>!t.has(o.getObjectId(e))||r(o.getGeometry(e)),a=yield*this._runSpatialFilter(i,s);yield;const l=new C(a,e,this);return await u(l)}if(!c.length)return new C([],e,this);if(this._canExecuteSinglePass(n,e))return await u(new C(c,e,this));const h=await Z("esriSpatialRelContains",n,this.geometryType,this.hasZ,this.hasM);yield;const y=yield*this._runSpatialFilter(c,e=>h(o.getGeometry(e)));return yield,await u(new C(y,e,this))}async*_executeGeometryQuery(i,r){if(null!=r&&0===r.items.length)return r;const{geometry:s,outSR:a,returnGeometry:n,returnCentroid:l}=i,u=r?null:this._getCacheKey(i),o=u?this._cache.get(u):null;if(o)return new C(o,i,this);const c=R(a)&&!S(this.spatialReference,a),h=n||l,y=async e=>(c&&h&&await this._project(e,a),u&&this._cache.put(u,e.items),e),d=this.featureStore.featureSpatialReference,m=!s||null==d||S(d,s.spatialReference)?s:A(s,d);if(!m)return await y(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));yield;const f=this.featureAdapter;let p=await this._searchFeatures(X(s));yield;const x=i.spatialRel??"esriSpatialRelIntersects";if("esriSpatialRelDisjoint"===x){if(!p.length)return await y(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of p)e.add(f.getObjectId(i));let t;null!=r?t=r.items:(yield,t=await this._getAllFeatures(),yield);const s=await Z(x,m,this.geometryType,this.hasZ,this.hasM);yield;const a=t=>!e.has(f.getObjectId(t))||s(f.getGeometry(t)),n=yield*this._runSpatialFilter(t,a);yield;const l=new C(n,i,this);return await y(l)}if(null!=r){const i=new t;p=p.filter(t=>e(r.items,t,r.items.length,i)>=0)}if(!p.length){const e=new C([],i,this);return u&&this._cache.put(u,e.items),e}if(this._canExecuteSinglePass(m,i))return await y(new C(p,i,this));const g=await Z(x,m,this.geometryType,this.hasZ,this.hasM);yield;const _=yield*this._runSpatialFilter(p,e=>g(f.getGeometry(e)));return yield,await y(new C(_,i,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const r of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(r).forEach(e=>t.add(e))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeTimeQuery(e){if(0===e.items.length)return;const t=J(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=j(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter(e=>t.testFeature(e,this.featureAdapter))}}async*_executeGeometryQueryForSnapping(e){const{query:t}=e,{spatialRel:i}=t;if(!e?.items?.length||!t.geometry||!i)return;const r=await Z(i,t.geometry,this.geometryType,this.hasZ,this.hasM);yield;const s=this.featureAdapter,a=e=>r(s.getGeometry(e)),n=yield*this._runSpatialFilter(e.items,a);e.items=n}*_runSpatialFilter(e,t){if(!t)return e;if(null==this._frameTask)return e.filter(e=>t(e));let i=yield;const r=new Array;for(const s of e)t(s)&&r.push(s),i.madeProgress(),i.done&&(i=yield);return r}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:r}=this.timeInfo,s=r||i,a=new Map,n=this.featureAdapter.getAttribute;for(const l of e.items){const e=n(l,t),i=n(l,s),r=a.get(e);(!r||i>n(r,s))&&a.set(e,l)}e.items=Array.from(a.values())}_getCacheKey(e){const{geometry:t,spatialRel:i,returnGeometry:r,returnCentroid:s,outSR:a,resultType:n,cacheHint:l}=e;if("tile"!==n&&!l)return null;const u=r||s;return R(a)&&!S(this.spatialReference,a)&&u?JSON.stringify([t,i,a]):JSON.stringify([t,i])}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return H(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||S(this.spatialReference,t))return e;const r=this.featureAdapter,s=h()?await this._getFullExtent():void 0,a=await v(e.items.map(e=>b(this.geometryType,this.hasZ,this.hasM,r.getGeometry(e))),this.spatialReference,t,{areaOfInterestExtent:s});return e.items=i(a.map((t,i)=>r.cloneWithGeometry(e.items[i],I(t,this.hasZ,this.hasM)))),e}async _searchFeatures(e){const t=new Set;await Promise.all(e.map(e=>this.featureStore.forEachInBounds(e,e=>t.add(e))));const i=Array.from(t.values());return t.clear(),i}async*_executeQueryForStatistics(e,t){e=s(e);try{e=await q(e,this.definitionExpression,this.spatialReference),yield,e=await B(e,t,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),yield,r}catch(i){if(i!==O)throw i;return new C([],e,this)}}get test(){}}function X(e){if(H(e)){if(F(e))return[p(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if(w(e))return e.rings.map(e=>p(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1])))}return[g(x(),e)]}function Y(e,t,i,r,s){const a={xmin:e[0],ymin:e[1],xmax:e[3],ymax:e[4],spatialReference:E(r)};s&&isFinite(e[2])&&isFinite(e[5])&&(a.zmin=e[2],a.zmax=e[5],a.hasZ=!0);const n=A(a,t,i);if(n.spatialReference=E(i),n.xmax-n.xmin===0){const e=o(n.spatialReference);n.xmin-=e,n.xmax+=e}if(n.ymax-n.ymin===0){const e=o(n.spatialReference);n.ymin-=e,n.ymax+=e}if(s&&null!=n.zmin&&null!=n.zmax&&n.zmax-n.zmin===0){const e=o(n.spatialReference);n.zmin-=e,n.zmax+=e}return n}export{K as Feature,W as QueryEngine,Y as getQueryResultExtent};
5
+ import{indexOf as e,PositionHint as t}from"../../../core/arrayUtils.js";import{toConst as i}from"../../../core/compilerUtils.js";import r from"../../../core/Error.js";import"../../../core/has.js";import{clone as s}from"../../../core/lang.js";import{removeMaybe as a,destroyMaybe as n}from"../../../core/maybe.js";import{signalFromSignalOrOptions as l,throwIfAborted as u}from"../../../core/promiseUtils.js";import{getMetersPerUnitForSR as o}from"../../../core/unitUtils.js";import{isSerializable as c}from"../../../core/support/jsonUtils.js";import{isLoaded as h}from"../../../geometry/projectionUtils.js";import{set as y,negativeInfinity as d,create as m,expandWithAABB as f}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as p,create as x}from"../../../geometry/support/aaBoundingRect.js";import{getBoundsXY as g}from"../../../geometry/support/boundsUtils.js";import{fromJSON as _,isExtent as F,isPolygon as w}from"../../../geometry/support/jsonUtils.js";import{normalizeCentralMeridian as Q}from"../../../geometry/support/normalizeUtils.js";import{equals as S,isValid as R}from"../../../geometry/support/spatialReferenceUtils.js";import{convertFromGeometry as I}from"../featureConversionUtils.js";import{getWhereClause as j}from"./attributeSupport.js";import{cleanFromGeometryEngine as b,getGeometry as E}from"./geometryUtils.js";import{project as T,checkProjectionSupport as A,projectMany as v}from"./projectionSupport.js";import{QueryEngineCache as G}from"./QueryEngineCache.js";import{queryCapabilities as k}from"./QueryEngineCapabilities.js";import{QueryEngineResult as C}from"./QueryEngineResult.js";import{queryEngineEmptyResult as O,normalizeAttributeBinsQuery as M,normalizeQueryLike as P,normalizeQuery as q}from"./queryUtils.js";import{validateAttributeBinsQuery as z,validateQuery as U,validateStatisticsQuery as B}from"./queryValidationUtils.js";import{getSpatialQueryOperator as Z,canQueryWithRBush as H}from"./spatialQuerySupport.js";import{getTimeExtent as N,getTimeOperator as J}from"./timeSupport.js";import L from"../../support/FieldsIndex.js";import{ImmediateTask as V}from"../../../views/support/Scheduler.js";const D="unsupported-query";class K{constructor(e,t=null,i,r,s){this.attributes=e,this.geometry=i,this.centroid=r,this.filterFlags=s,this.groupId=-1,this.displayId=t}}class W{constructor(e){this._changeHandle=null,this.capabilities={query:k},this.geometryType=e.geometryType,this.hasM=!!e.hasM,this.hasZ=!!e.hasZ,this.spatialReference=e.spatialReference,this.definitionExpression=e.definitionExpression,this.featureStore=e.featureStore,this.aggregateAdapter=e.aggregateAdapter,this._cache=e.cache??new G,this.timeInfo=e.timeInfo,this.featureIdInfo=e.featureIdInfo,"object-id"===e.featureIdInfo.type&&(this.objectIdField=e.featureIdInfo.fieldName),this._changeHandle=this.featureStore.events.on("changed",()=>this._clearCache()),this.fieldsIndex=c(e.fieldsIndex)?e.fieldsIndex:L.fromJSON(e.fieldsIndex),!e.availableFields||1===e.availableFields.length&&"*"===e.availableFields[0]?this.availableFields=new Set(this.fieldsIndex.fields.map(e=>e.name)):this.availableFields=new Set(e.availableFields.map(e=>this.fieldsIndex.get(e)?.name).filter(e=>null!=e)),e.scheduler&&e.priority?this._frameTask=e.scheduler.registerTask(e.priority):this._frameTask=V}destroy(){this._changeHandle=a(this._changeHandle),this._frameTask=a(this._frameTask),this._clearCache(),n(this._cache)}get featureAdapter(){return this.featureStore.featureAdapter}async executeQuery(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryFeatureSet(e),i)}async executeQueryForCount(e={},t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForCount(e),i)}async executeQueryForExtent(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForExtent(e),i)}async executeQueryForIds(e,t){return Array.from(await this.executeQueryForIdSet(e,t))}async executeQueryForIdSet(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForIdSet(e),i)}async executeQueryForLatestObservations(e,t){const i=l(t);if(!this.timeInfo?.trackIdField)throw new r(D,"Missing timeInfo or timeInfo.trackIdField",{query:e,timeInfo:this.timeInfo});return await this._frameTask.scheduleGenerator(()=>this._executeQueryForLatestObservations(e),i)}async executeQueryForOpaqueFeatures(e,t){const i=l(t);return(await this._frameTask.scheduleGenerator(()=>this._executeQuery(e,{}),i)).items}async executeAttributeBinsQuery(e,t){const i=l(t);return e=s(e),await this._frameTask.scheduleGenerator(()=>this._executeAttributeBinsQuery(e),i)}async executeQueryForSummaryStatistics(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSummaryStatistics(e,t),r)}async executeQueryForUniqueValues(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForUniqueValues(e,t),r)}async executeQueryForClassBreaks(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForClassBreaks(e,t),r)}async executeQueryForHistogram(e={},t,i){const r=l(i);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForHistogram(e,t),r)}async executeQueryForSnapping(e,t){const i=l(t);return await this._frameTask.scheduleGenerator(()=>this._executeQueryForSnapping(e,i),i)}async fetchRecomputedExtents(e){const t=l(e);this._timeExtentPromise||=N(this.timeInfo,this.featureStore);const[i,r]=await Promise.all([this._getFullExtent(),this._timeExtentPromise]);return u(t),{fullExtent:i,timeExtent:r}}_clearCache(){this._cache.clear(),this._allFeaturesPromise=null,this._timeExtentPromise=null,this._fullExtentPromise=null}async*_executeQueryFeatureSet(e){try{const t=yield*this._executeQuery(e,{});return yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeQueryForCount(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!1,returnCentroid:!1,outSR:null});return yield,t.createQueryResponseForCount()}catch(t){if(t!==O)throw t;return 0}}async*_executeQueryForExtent(e){const t=e.outSR;try{const i=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const r=i.size;if(!r)return{count:0,extent:null};const s=await this._getBounds(i.items,i.spatialReference,t??this.spatialReference);return yield,{count:r,extent:s}}catch(i){if(i===O)return{count:0,extent:null};throw i}}async*_executeQueryForIdSet(e){try{const t=yield*this._executeQuery(e,{returnGeometry:!0,returnCentroid:!1,outSR:null});yield;const i=t.items,r=new Set;for(const e of i)r.add(t.featureAdapter.getObjectId(e));return r}catch(t){if(t===O)return new Set;throw t}}async*_executeQueryForLatestObservations(e){try{const t=yield*this._executeQuery(e,{});return yield,this._filterLatest(t),yield,await t.createQueryResponse()}catch(t){if(t!==O)throw t;return await new C([],e,this).createQueryResponse()}}async*_executeAttributeBinsQuery(e){let t;try{e=await M(e,this.definitionExpression,this.spatialReference),yield,e=await z(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield,t=yield*this._executeGeometryQuery(e,i),yield,this._executeAggregateIdsQuery(t),yield,this._executeObjectIdsQuery(t),yield,this._executeTimeQuery(t),yield,this._executeAttributesQuery(t),yield}catch(i){if(i!==O)throw i;t=new C([],e,this)}return await t.createQueryBinsResponse(e)}async*_executeQueryForSummaryStatistics(e={},t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createSummaryStatisticsResponse(t)}async*_executeQueryForUniqueValues(e={},t){const{field:i,field2:r,field3:s,valueExpression:a}=t,n=yield*this._executeQueryForStatistics(e,{field:i,field2:r,field3:s,valueExpression:a});return yield,await n.createUniqueValuesResponse(t)}async*_executeQueryForClassBreaks(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createClassBreaksResponse(t)}async*_executeQueryForHistogram(e,t){const{field:i,normalizationField:r,valueExpression:s}=t,a=yield*this._executeQueryForStatistics(e,{field:i,normalizationField:r,valueExpression:s});return yield,await a.createHistogramResponse(t)}async*_executeQueryForSnapping(e,t){const{point:i,distance:r,returnEdge:a,vertexMode:n}=e;if(!a&&"none"===n)return{candidates:[]};let l=s(e.query);l=await P(l,this.definitionExpression,this.spatialReference),yield,l=await U(l,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const u=!S(i.spatialReference,this.spatialReference);u&&(await A(i.spatialReference,this.spatialReference),yield);const o="number"==typeof r?r:r.x,c="number"==typeof r?r:r.y,h={xmin:i.x-o,xmax:i.x+o,ymin:i.y-c,ymax:i.y+c,spatialReference:i.spatialReference},y=u?T(h,this.spatialReference):h;if(!y)return{candidates:[]};const d=(await Q(_(i),null,{signal:t}))[0];yield;const m=(await Q(_(y),null,{signal:t}))[0];if(yield,null==d||null==m)return{candidates:[]};const f=await this._searchFeatures(X(m.toJSON()));yield;const p=new C(f,l,this);this._executeObjectIdsQuery(p),yield,this._executeTimeQuery(p),yield,this._executeAttributesQuery(p),yield,yield*this._executeGeometryQueryForSnapping(p),yield;const x=d.toJSON(),g=u?T(x,this.spatialReference):x,F=u?Math.max(y.xmax-y.xmin,y.ymax-y.ymin)/2:r;return p.createSnappingResponse({...e,point:g,distance:F},l.returnZ,i.spatialReference)}async _getBounds(e,t,i){const r=y(m(),d);return await this.featureStore.forEachBounds(e,e=>f(r,e)),Y(r,t,i,this.spatialReference,this.hasZ)}_getFullExtent(){return this._fullExtentPromise||="getFullExtent"in this.featureStore&&this.featureStore.getFullExtent?Promise.resolve(this.featureStore.getFullExtent(this.spatialReference)):this._getAllFeatures().then(e=>this._getBounds(e,this.spatialReference,this.spatialReference)),this._fullExtentPromise}async _getAllFeaturesQueryEngineResult(e){return new C(await this._getAllFeatures(),e,this)}async _getAllFeatures(){if(null==this._allFeaturesPromise){const e=[];this._allFeaturesPromise=(async()=>await this.featureStore.forEach(t=>e.push(t)))().then(()=>i(e))}const e=this._allFeaturesPromise,t=await e;return e===this._allFeaturesPromise?t.slice():this._getAllFeatures()}async*_executeQuery(e,t){e=s(e),e=await q(e,this.definitionExpression,this.spatialReference),yield,e=await U(e,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield,e={...e,...t};const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),r}async*_executeSceneFilterQuery(e){if(null==e.sceneFilter)return null;const{outSR:t,returnGeometry:i,returnCentroid:r}=e,s=this.featureStore.featureSpatialReference,a=e.sceneFilter.geometry,n=null==s||S(s,a.spatialReference)?a:T(a,s);if(!n)return null;const l=i||r,u=R(t)&&!S(this.spatialReference,t)&&l?async e=>this._project(e,t):e=>e;yield;const o=this.featureAdapter,c=await this._searchFeatures(X(n));yield;if("disjoint"===e.sceneFilter.spatialRelationship){if(!c.length)return null;const t=new Set;for(const e of c)t.add(o.getObjectId(e));const i=await this._getAllFeatures();yield;const r=await Z("esriSpatialRelDisjoint",n,this.geometryType,this.hasZ,this.hasM);yield;const s=e=>!t.has(o.getObjectId(e))||r(o.getGeometry(e)),a=yield*this._runSpatialFilter(i,s);yield;const l=new C(a,e,this);return await u(l)}if(!c.length)return new C([],e,this);if(this._canExecuteSinglePass(n,e))return await u(new C(c,e,this));const h=await Z("esriSpatialRelContains",n,this.geometryType,this.hasZ,this.hasM);yield;const y=yield*this._runSpatialFilter(c,e=>h(o.getGeometry(e)));return yield,await u(new C(y,e,this))}async*_executeGeometryQuery(i,r){if(null!=r&&0===r.items.length)return r;const{geometry:s,outSR:a,returnGeometry:n,returnCentroid:l}=i,u=r?null:this._getCacheKey(i),o=u?this._cache.get(u):null;if(o)return new C(o,i,this);const c=R(a)&&!S(this.spatialReference,a),h=n||l,y=async e=>(c&&h&&await this._project(e,a),u&&this._cache.put(u,e.items),e),d=this.featureStore.featureSpatialReference,m=!s||null==d||S(d,s.spatialReference)?s:T(s,d);if(!m)return await y(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));yield;const f=this.featureAdapter;let p=await this._searchFeatures(X(s));yield;const x=i.spatialRel??"esriSpatialRelIntersects";if("esriSpatialRelDisjoint"===x){if(!p.length)return await y(null!=r?r:await this._getAllFeaturesQueryEngineResult(i));const e=new Set;for(const i of p)e.add(f.getObjectId(i));let t;null!=r?t=r.items:(yield,t=await this._getAllFeatures(),yield);const s=await Z(x,m,this.geometryType,this.hasZ,this.hasM);yield;const a=t=>!e.has(f.getObjectId(t))||s(f.getGeometry(t)),n=yield*this._runSpatialFilter(t,a);yield;const l=new C(n,i,this);return await y(l)}if(null!=r){const i=new t;p=p.filter(t=>e(r.items,t,r.items.length,i)>=0)}if(!p.length){const e=new C([],i,this);return u&&this._cache.put(u,e.items),e}if(this._canExecuteSinglePass(m,i))return await y(new C(p,i,this));const g=await Z(x,m,this.geometryType,this.hasZ,this.hasM);yield;const _=yield*this._runSpatialFilter(p,e=>g(f.getGeometry(e)));return yield,await y(new C(_,i,this))}_executeAggregateIdsQuery(e){if(0===e.items.length||!e.query.aggregateIds?.length||null==this.aggregateAdapter)return;const t=new Set;for(const r of e.query.aggregateIds){this.aggregateAdapter.getFeatureObjectIds(r).forEach(e=>t.add(e))}const i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeObjectIdsQuery(e){if(0===e.items.length||!e.query.objectIds?.length)return;const t=new Set(e.query.objectIds),i=this.featureAdapter.getObjectId;e.items=e.items.filter(e=>t.has(i(e)))}_executeTimeQuery(e){if(0===e.items.length)return;const t=J(this.timeInfo,e.query.timeExtent,this.featureAdapter);null!=t&&(e.items=e.items.filter(t))}_executeAttributesQuery(e){if(0===e.items.length)return;const t=j(e.query.where,this.fieldsIndex);if(t){if(!t.isStandardized)throw new TypeError("Where clause is not standardized");e.items=e.items.filter(e=>t.testFeature(e,this.featureAdapter))}}async*_executeGeometryQueryForSnapping(e){const{query:t}=e,{spatialRel:i}=t;if(!e?.items?.length||!t.geometry||!i)return;const r=await Z(i,t.geometry,this.geometryType,this.hasZ,this.hasM);yield;const s=this.featureAdapter,a=e=>r(s.getGeometry(e)),n=yield*this._runSpatialFilter(e.items,a);e.items=n}*_runSpatialFilter(e,t){if(!t)return e;if(null==this._frameTask)return e.filter(e=>t(e));let i=yield;const r=new Array;for(const s of e)t(s)&&r.push(s),i.madeProgress(),i.done&&(i=yield);return r}_filterLatest(e){const{trackIdField:t,startTimeField:i,endTimeField:r}=this.timeInfo,s=r||i,a=new Map,n=this.featureAdapter.getAttribute;for(const l of e.items){const e=n(l,t),i=n(l,s),r=a.get(e);(!r||i>n(r,s))&&a.set(e,l)}e.items=Array.from(a.values())}_getCacheKey(e){const{geometry:t,spatialRel:i,returnGeometry:r,returnCentroid:s,outSR:a,resultType:n,cacheHint:l}=e;if("tile"!==n&&!l)return null;const u=r||s;return R(a)&&!S(this.spatialReference,a)&&u?JSON.stringify([t,i,a]):JSON.stringify([t,i])}_canExecuteSinglePass(e,t){const{spatialRel:i}=t;return H(e)&&("esriSpatialRelEnvelopeIntersects"===i||"esriGeometryPoint"===this.geometryType&&("esriSpatialRelIntersects"===i||"esriSpatialRelContains"===i))}async _project(e,t){if(!t||S(this.spatialReference,t))return e;const r=this.featureAdapter,s=h()?await this._getFullExtent():void 0,a=await v(e.items.map(e=>E(this.geometryType,this.hasZ,this.hasM,r.getGeometry(e))),this.spatialReference,t,{areaOfInterestExtent:s});return e.items=i(a.map((t,i)=>r.cloneWithGeometry(e.items[i],I(t,this.hasZ,this.hasM)))),e}async _searchFeatures(e){const t=new Set;await Promise.all(e.map(e=>this.featureStore.forEachInBounds(e,e=>t.add(e))));const i=Array.from(t.values());return t.clear(),i}async*_executeQueryForStatistics(e,t){e=s(e);try{e=await q(e,this.definitionExpression,this.spatialReference),yield,e=await B(e,t,{availableFields:this.availableFields,fieldsIndex:this.fieldsIndex,geometryType:this.geometryType,spatialReference:this.spatialReference}),yield;const i=yield*this._executeSceneFilterQuery(e);yield;const r=yield*this._executeGeometryQuery(e,i);return yield,this._executeAggregateIdsQuery(r),yield,this._executeObjectIdsQuery(r),yield,this._executeTimeQuery(r),yield,this._executeAttributesQuery(r),yield,r}catch(i){if(i!==O)throw i;return new C([],e,this)}}get test(){}}function X(e){if(H(e)){if(F(e))return[p(Math.min(e.xmin,e.xmax),Math.min(e.ymin,e.ymax),Math.max(e.xmin,e.xmax),Math.max(e.ymin,e.ymax))];if(w(e))return e.rings.map(e=>p(Math.min(e[0][0],e[2][0]),Math.min(e[0][1],e[2][1]),Math.max(e[0][0],e[2][0]),Math.max(e[0][1],e[2][1])))}return[g(x(),e)]}function Y(e,t,i,r,s){const a={xmin:e[0],ymin:e[1],xmax:e[3],ymax:e[4],spatialReference:b(r)};s&&isFinite(e[2])&&isFinite(e[5])&&(a.zmin=e[2],a.zmax=e[5],a.hasZ=!0);const n=T(a,t,i);if(n.spatialReference=b(i),n.xmax-n.xmin===0){const e=o(n.spatialReference);n.xmin-=e,n.xmax+=e}if(n.ymax-n.ymin===0){const e=o(n.spatialReference);n.ymin-=e,n.ymax+=e}if(s&&null!=n.zmin&&null!=n.zmax&&n.zmax-n.zmin===0){const e=o(n.spatialReference);n.zmin-=e,n.zmax+=e}return n}export{K as Feature,W as QueryEngine,Y as getQueryResultExtent};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{save as e,saveAs as r}from"./utils.js";import{createForItemWrite as t}from"../../portal/support/jsonContext.js";import{removeTypeKeyword as o,typeKeyword as a,addTypeKeyword as s,hasTypeKeyword as n}from"../../portal/support/portalItemUtils.js";import{saveResources as i}from"../../webdoc/support/resourceUtils.js";const u="Group Layer",c="group-layer-save",l="group-layer-save-as",p=a.GROUP_LAYER_MAP;function m(e){return{isValid:"group"===e.type,errorMessage:"Layer.type should be 'group'"}}function y(e){return{isValid:n(e,p),errorMessage:`Layer.portalItem.typeKeywords should have '${p}'`}}function f(e,r){return{...t(e,"web-map",!0),initiator:r}}function v(e){const r=e.layerJSON;return Promise.resolve(r&&Object.keys(r).length?r:null)}async function d(e,r){r.title||=e.title,o(r,a.METADATA),s(r,p)}async function I(r,t){return e({layer:r,itemType:u,validateLayer:m,validateItem:y,createJSONContext:e=>f(e,r),createItemData:v,errorNamePrefix:c,saveResources:async(e,t)=>(r.sourceIsPortalItem||await e.removeAllResources().catch(()=>{}),i(r.resourceReferences,t))},t)}async function g(e,t,o){return r({layer:e,itemType:u,validateLayer:m,createJSONContext:r=>f(r,e),createItemData:v,errorNamePrefix:l,newItem:t,setItemProperties:d,saveResources:(r,t)=>i(e.resourceReferences,t)},o)}export{I as save,g as saveAs};
5
+ import{save as e,saveAs as r}from"./utils.js";import{createForItemWrite as t}from"../../portal/support/jsonContext.js";import{typeKeyword as o,hasTypeKeyword as a,removeTypeKeyword as s,addTypeKeyword as n}from"../../portal/support/portalItemUtils.js";import{saveResources as i}from"../../webdoc/support/resourceUtils.js";const u="Group Layer",c="group-layer-save",l="group-layer-save-as",p=o.GROUP_LAYER_MAP;function m(e){return{isValid:"group"===e.type,errorMessage:"Layer.type should be 'group'"}}function y(e){return{isValid:a(e,p),errorMessage:`Layer.portalItem.typeKeywords should have '${p}'`}}function f(e,r){return{...t(e,"web-map",!0),initiator:r}}function v(e){const r=e.layerJSON;return Promise.resolve(r&&Object.keys(r).length?r:null)}async function d(e,r){r.title||=e.title,s(r,o.METADATA),n(r,p)}async function I(r,t){return e({layer:r,itemType:u,validateLayer:m,validateItem:y,createJSONContext:e=>f(e,r),createItemData:v,errorNamePrefix:c,saveResources:async(e,t)=>(r.sourceIsPortalItem||await e.removeAllResources().catch(()=>{}),i(r.resourceReferences,t))},t)}async function g(e,t,o){return r({layer:e,itemType:u,validateLayer:m,createJSONContext:r=>f(r,e),createItemData:v,errorNamePrefix:l,newItem:t,setItemProperties:d,saveResources:(r,t)=>i(e.resourceReferences,t)},o)}export{I as save,g as saveAs};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{property as o}from"../../core/accessorSupport/decorators/property.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import r from"./FieldFormat.js";const s="auto";let p=class extends r{constructor(t){super(t),this.dateStyle=null,this.hour12=s,this.month=null,this.timeStyle=null,this.type="date-time",this.year=null}};t([o({type:["full","long","medium","short"],json:{write:!0}})],p.prototype,"dateStyle",void 0),t([o({type:["always","auto","never"],nonNullable:!0,json:{default:s,write:!0}})],p.prototype,"hour12",void 0),t([o({type:["long","short"],json:{write:!0}})],p.prototype,"month",void 0),t([o({type:["full","long","medium","short"],json:{write:!0}})],p.prototype,"timeStyle",void 0),t([o({type:["date-time"]})],p.prototype,"type",void 0),t([o({type:["numeric"],json:{write:!0}})],p.prototype,"year",void 0),p=t([e("esri.layers.support.DateTimeFieldFormat")],p);export{p as default};
5
+ import{__decorate as t}from"tslib";import{property as o}from"../../core/accessorSupport/decorators/property.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import r from"./FieldFormat.js";const s="auto";let p=class extends r{constructor(t){super(t),this.dateStyle=null,this.hour12=s,this.month=null,this.timeStyle=null,this.type="date-time",this.year=null}};t([o({type:["full","long","medium","short"],json:{write:!0}})],p.prototype,"dateStyle",void 0),t([o({type:["always","auto","never"],nonNullable:!0,json:{default:s,write:!0}})],p.prototype,"hour12",void 0),t([o({type:["long","short"],json:{write:!0}})],p.prototype,"month",void 0),t([o({type:["full","long","medium","short"],json:{write:!0}})],p.prototype,"timeStyle",void 0),t([o({type:["date-time"]})],p.prototype,"type",void 0),t([o({type:["numeric"],json:{write:!0}})],p.prototype,"year",void 0),p=t([e("esri.layers.support.DateTimeFieldFormat")],p);const i=p;export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as r}from"tslib";import{ClonableMixin as o}from"../../core/Clonable.js";import{JSONSupport as e}from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(o(e)){constructor(r){super(r),this.type=null}};r([t({type:["date-time","number"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],p.prototype,"type",void 0),p=r([s("esri.layers.support.FieldFormat")],p);export{p as default};
5
+ import{__decorate as r}from"tslib";import{ClonableMixin as o}from"../../core/Clonable.js";import{JSONSupport as e}from"../../core/JSONSupport.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";let p=class extends(o(e)){constructor(r){super(r),this.type=null}};r([t({type:["date-time","number"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],p.prototype,"type",void 0),p=r([s("esri.layers.support.FieldFormat")],p);const a=p;export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{Integer as o}from"../../core/accessorSupport/ensureType.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import i from"./FieldFormat.js";const s={min:0,max:20},p=3,a=0,m="decimal",n="auto";let u=class extends i{constructor(t){super(t),this.maximumFractionDigits=p,this.minimumFractionDigits=a,this.style=m,this.type="number",this.useGrouping=n}};t([e({type:o,nonNullable:!0,range:s,json:{default:p,write:!0}})],u.prototype,"maximumFractionDigits",void 0),t([e({type:o,nonNullable:!0,range:s,json:{default:a,write:!0}})],u.prototype,"minimumFractionDigits",void 0),t([e({type:["decimal"],nonNullable:!0,json:{default:m,write:!0}})],u.prototype,"style",void 0),t([e({type:["number"]})],u.prototype,"type",void 0),t([e({type:["always","auto","never"],nonNullable:!0,json:{default:n,write:!0}})],u.prototype,"useGrouping",void 0),u=t([r("esri.layers.support.NumberFieldFormat")],u);export{u as default};
5
+ import{__decorate as t}from"tslib";import{Integer as o}from"../../core/accessorSupport/ensureType.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import i from"./FieldFormat.js";const s={min:0,max:20},p=3,a=0,m="decimal",n="auto";let u=class extends i{constructor(t){super(t),this.maximumFractionDigits=p,this.minimumFractionDigits=a,this.style=m,this.type="number",this.useGrouping=n}};t([e({type:o,nonNullable:!0,range:s,json:{default:p,write:!0}})],u.prototype,"maximumFractionDigits",void 0),t([e({type:o,nonNullable:!0,range:s,json:{default:a,write:!0}})],u.prototype,"minimumFractionDigits",void 0),t([e({type:["decimal"],nonNullable:!0,json:{default:m,write:!0}})],u.prototype,"style",void 0),t([e({type:["number"]})],u.prototype,"type",void 0),t([e({type:["always","auto","never"],nonNullable:!0,json:{default:n,write:!0}})],u.prototype,"useGrouping",void 0),u=t([r("esri.layers.support.NumberFieldFormat")],u);const l=u;export{l as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{urlToObject as e,getOrigin as r,removeTrailingSlash as t,removeQueryParameters as s,join as n,Url as l,makeAbsolute as i}from"../../core/urlUtils.js";import{w as u}from"../../chunks/persistableUrlUtils.js";const o={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},a=Object.values(o),c=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(.+?)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),v=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/([^/\\n]+)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),f=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return c.test(e)}function p(r){if(null==r)return null;const t=e(r),s=t?.path.match(c)||t?.path.match(v);if(!s)return null;const[,n,l,i,u]=s,a=l.indexOf("/");return{title:m(-1!==a?l.slice(a+1):l),serverType:o[i.toLowerCase()],sublayer:null!=u&&""!==u?parseInt(u,10):null,url:{path:n}}}function h(r){const t=e(r).path.match(f);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function m(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function w(e,r){const t=[];if(e){const r=p(e);null!=r&&r.title&&t.push(r.title)}if(r){const e=m(r);t.push(e)}if(2===t.length){if(t[0].toLowerCase().includes(t[1].toLowerCase()))return t[0];if(t[1].toLowerCase().includes(t[0].toLowerCase()))return t[1]}return t.join(" - ")}function g(e){let t=r(e,!0);return!!t&&(t=t.toLowerCase(),t.endsWith(".arcgis.com")&&(t.startsWith("services")||t.startsWith("tiles")||t.startsWith("features")||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function y(e,r){return e?t(s(e,r)):e}function S(r){let{url:n}=r;if(!n)return{url:n};n=s(n,r.logger);const l=e(n),i=p(l.path);let u;if(null!=i)null!=i.sublayer&&null==r.layer.layerId&&(u=i.sublayer),n=i.url.path;else if(r.nonStandardUrlAllowed){const e=h(l.path);null!=e&&(n=e.serviceUrl,u=e.sublayerId)}return{url:t(n),layerId:u}}function C(e,r,t,s,l){u(r,s,"url",l),s.url&&null!=e.layerId&&(s.url=n(s.url,t,e.layerId.toString()))}function b(e){if(!e)return!1;const r=e.toLowerCase(),t=r.includes("/services/"),s=r.includes("/mapserver/wmsserver"),n=r.includes("/imageserver/wmsserver"),l=r.includes("/wmsserver");return t&&(s||n||l)}function I(e){if(!e)return!1;const r=new l(i(e)),t=r.authority?.toLowerCase();return"server.arcgisonline.com"===t||"services.arcgisonline.com"===t}export{m as cleanTitle,d as isArcGISUrl,g as isHostedAgolService,I as isServerOrServicesAGOLUrl,b as isWmsServer,p as parse,h as parseNonStandardSublayerUrl,y as sanitizeUrl,S as sanitizeUrlWithLayerId,a as serverTypes,w as titleFromUrlAndName,C as writeUrlWithLayerId};
5
+ import{urlToObject as e,getOrigin as r,join as t,removeQueryParameters as s,removeTrailingSlash as n,Url as l,makeAbsolute as i}from"../../core/urlUtils.js";import{w as u}from"../../chunks/persistableUrlUtils.js";const o={mapserver:"MapServer",imageserver:"ImageServer",featureserver:"FeatureServer",knowledgegraphserver:"KnowledgeGraphServer",sceneserver:"SceneServer",streamserver:"StreamServer",vectortileserver:"VectorTileServer","3dtilesserver":"3DTilesServer",videoserver:"VideoServer"},a=Object.values(o),c=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/rest\\/services\\/(.+?)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),v=new RegExp(`^((?:https?:)?\\/\\/\\S+?\\/([^/\\n]+)\\/(${a.join("|")}))(?:\\/(?:layers\\/)?(\\d+))?`,"i"),f=/(.*?)\/(?:layers\/)?(\d+)\/?$/i;function d(e){return c.test(e)}function p(r){if(null==r)return null;const t=e(r),s=t?.path.match(c)||t?.path.match(v);if(!s)return null;const[,n,l,i,u]=s,a=l.indexOf("/");return{title:m(-1!==a?l.slice(a+1):l),serverType:o[i.toLowerCase()],sublayer:null!=u&&""!==u?parseInt(u,10):null,url:{path:n}}}function h(r){const t=e(r).path.match(f);return t?{serviceUrl:t[1],sublayerId:Number(t[2])}:null}function m(e){return(e=e.replaceAll(/\s*[/_]+\s*/g," "))[0].toUpperCase()+e.slice(1)}function w(e,r){const t=[];if(e){const r=p(e);null!=r&&r.title&&t.push(r.title)}if(r){const e=m(r);t.push(e)}if(2===t.length){if(t[0].toLowerCase().includes(t[1].toLowerCase()))return t[0];if(t[1].toLowerCase().includes(t[0].toLowerCase()))return t[1]}return t.join(" - ")}function g(e){let t=r(e,!0);return!!t&&(t=t.toLowerCase(),t.endsWith(".arcgis.com")&&(t.startsWith("services")||t.startsWith("tiles")||t.startsWith("features")||/^[a-z\d-]+\.svcs[a-z\d-]*\./.test(t)))}function y(e,r){return e?n(s(e,r)):e}function S(r){let{url:t}=r;if(!t)return{url:t};t=s(t,r.logger);const l=e(t),i=p(l.path);let u;if(null!=i)null!=i.sublayer&&null==r.layer.layerId&&(u=i.sublayer),t=i.url.path;else if(r.nonStandardUrlAllowed){const e=h(l.path);null!=e&&(t=e.serviceUrl,u=e.sublayerId)}return{url:n(t),layerId:u}}function C(e,r,s,n,l){u(r,n,"url",l),n.url&&null!=e.layerId&&(n.url=t(n.url,s,e.layerId.toString()))}function b(e){if(!e)return!1;const r=e.toLowerCase(),t=r.includes("/services/"),s=r.includes("/mapserver/wmsserver"),n=r.includes("/imageserver/wmsserver"),l=r.includes("/wmsserver");return t&&(s||n||l)}function I(e){if(!e)return!1;const r=new l(i(e)),t=r.authority?.toLowerCase();return"server.arcgisonline.com"===t||"services.arcgisonline.com"===t}export{m as cleanTitle,d as isArcGISUrl,g as isHostedAgolService,I as isServerOrServicesAGOLUrl,b as isWmsServer,p as parse,h as parseNonStandardSublayerUrl,y as sanitizeUrl,S as sanitizeUrlWithLayerId,a as serverTypes,w as titleFromUrlAndName,C as writeUrlWithLayerId};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import t from"./DateTimeFieldFormat.js";import e from"./FieldFormat.js";import{isNumericField as n,isDateField as r,isDateOnlyField as o,isTimeOnlyField as a,isTimestampOffsetField as u}from"./fieldUtils.js";import i from"./NumberFieldFormat.js";import s from"../../popup/support/FieldInfoFormat.js";const l={base:e,key:"type",errorContext:"field-configuration-field-format",typeMap:{"date-time":t,number:i}};function c(t,e){const{dateFormat:n}=t;if(!e)return n?f(t):h(t);if(!m(e))return;const r={hour12:"always"};switch(e.type){case"integer":case"small-integer":case"big-integer":case"long":return d(t);case"single":case"double":return h(t);case"date":case"timestamp-offset":return n?f(t):I(e,r);case"date-only":return n?y(t):I(e);case"time-only":return n?g(t):I(e,r)}}function m(t){return n(t)||r(t)||o(t)||a(t)||u(t)}function d(t){return new i({useGrouping:t.digitSeparator?"always":"never"})}function h(t){const e=d(t);return e.maximumFractionDigits=e.minimumFractionDigits=t.places??2,e}function f(e){return new t({dateStyle:p(e),year:$(e),month:w(e),timeStyle:S(e),hour12:F(e)})}function y(e){return new t({dateStyle:p(e),year:$(e),month:w(e)})}function g(e){return new t({timeStyle:S(e),hour12:F(e)})}function p(t){const{dateFormat:e}=t;return e?e.startsWith("short-date")?"short":e.startsWith("day-short-month-year")?"medium":e.startsWith("long-month-day-year")?"long":e.startsWith("long-date")?"full":null:null}function F(t){return t.dateFormat?.endsWith("-24")?"never":"always"}function w(t){switch(t.dateFormat){case"short-month-year":return"short";case"long-month-year":return"long";default:return null}}function S(t){const{dateFormat:e}=t;return e?e.includes("short-time")?"short":e.includes("long-time")?"medium":null:null}function $(t){switch(t.dateFormat){case"short-month-year":case"long-month-year":case"year":return"numeric";default:return null}}function b(t,e){const n="number"===t.type,r="date-time"===t.type;if(!e)return n?x(t):r?j(t):null;if(m(e))switch(e.type){case"integer":case"small-integer":case"big-integer":case"long":return n?D(t):null;case"single":case"double":return n?x(t):null;case"date":case"timestamp-offset":return r?j(t):null;case"date-only":return r?v(t):null;case"time-only":return r?G(t):null}}function D(t){return new s({digitSeparator:"never"!==t.useGrouping})}function x(t){const e=D(t);return e.places=t.maximumFractionDigits,e}function j(t){let e;const n=W(t),r=k(t),o="never"===t.hour12?"24":null,a="numeric"===t.year?"year":null,u=C(t);return n&&r&&o?e=`${n}-${r}-${o}`:n&&r?e=`${n}-${r}`:n?e=n:a&&u?e=`${u}-${a}`:a&&(e=a),e?new s({dateFormat:e}):null}function v(t){let e;const n=W(t),r="numeric"===t.year?"year":null,o=C(t);return n?e=n:r&&o?e=`${o}-${r}`:r&&(e=r),e?new s({dateFormat:e}):null}function G(t){let e;const n=k(t),r="never"===t.hour12?"24":null;return n&&r?e=`short-date-${n}-${r}`:n&&(e=`short-date-${n}`),e?new s({dateFormat:e}):null}function W(t){switch(t.dateStyle){case"short":return"short-date";case"medium":return"day-short-month-year";case"long":return"long-month-day-year";case"full":return"long-date";default:return}}function k(t){return t.timeStyle&&("short"===t.timeStyle?"short-time":"long-time")}function C(t){switch(t.month){case"short":return"short-month";case"long":return"long-month";default:return}}function I(e,n){if(!m(e))return;const r=n?.useGrouping??"auto",o=n?.hour12??"auto";switch(e.type){case"integer":case"small-integer":case"big-integer":case"long":return new i({maximumFractionDigits:0,minimumFractionDigits:0,useGrouping:r});case"single":case"double":return new i({maximumFractionDigits:2,minimumFractionDigits:0,useGrouping:r});case"date":case"timestamp-offset":return new t({dateStyle:"short",timeStyle:"short",hour12:o});case"date-only":return new t({dateStyle:"short"});case"time-only":return new t({timeStyle:"short",hour12:o})}}export{I as defaultFieldFormat,c as fieldFormatFromFieldInfoFormat,b as fieldInfoFormatFromFieldFormat,l as formatTypes,m as isFormattableField};
5
+ import t from"./DateTimeFieldFormat.js";import e from"./FieldFormat.js";import{isNumericField as n,isDateField as r,isDateOnlyField as o,isTimeOnlyField as a,isTimestampOffsetField as u}from"./fieldUtils.js";import i from"./NumberFieldFormat.js";import s from"../../popup/support/FieldInfoFormat.js";const l={base:e,key:"type",errorContext:"field-configuration-field-format",typeMap:{"date-time":t,number:i}};function c(t,e){const{dateFormat:n}=t;if(!e)return n?f(t):h(t);if(!m(e))return;const r={hour12:"always"};switch(e.type){case"integer":case"small-integer":case"big-integer":case"long":return d(t);case"single":case"double":return h(t);case"date":case"timestamp-offset":return n?f(t):I(e,r);case"date-only":return n?y(t):I(e);case"time-only":return n?g(t):I(e,r)}}function m(t){return n(t)||r(t)||o(t)||a(t)||u(t)}function d(t){return new i({useGrouping:t.digitSeparator?"always":"never"})}function h(t){const e=d(t),{places:n}=t;return e.minimumFractionDigits=n??0,e.maximumFractionDigits=n??2,e}function f(e){return new t({dateStyle:p(e),year:$(e),month:w(e),timeStyle:S(e),hour12:F(e)})}function y(e){return new t({dateStyle:p(e),year:$(e),month:w(e)})}function g(e){return new t({timeStyle:S(e),hour12:F(e)})}function p(t){const{dateFormat:e}=t;return e?e.startsWith("short-date")?"short":e.startsWith("day-short-month-year")?"medium":e.startsWith("long-month-day-year")?"long":e.startsWith("long-date")?"full":null:null}function F(t){return t.dateFormat?.endsWith("-24")?"never":"always"}function w(t){switch(t.dateFormat){case"short-month-year":return"short";case"long-month-year":return"long";default:return null}}function S(t){const{dateFormat:e}=t;return e?e.includes("short-time")?"short":e.includes("long-time")?"medium":null:null}function $(t){switch(t.dateFormat){case"short-month-year":case"long-month-year":case"year":return"numeric";default:return null}}function b(t,e){const n="number"===t.type,r="date-time"===t.type;if(!e)return n?x(t):r?j(t):null;if(m(e))switch(e.type){case"integer":case"small-integer":case"big-integer":case"long":return n?D(t):null;case"single":case"double":return n?x(t):null;case"date":case"timestamp-offset":return r?j(t):null;case"date-only":return r?v(t):null;case"time-only":return r?G(t):null}}function D(t){return new s({digitSeparator:"never"!==t.useGrouping})}function x(t){const e=D(t);return e.places=t.maximumFractionDigits,e}function j(t){let e;const n=W(t),r=k(t),o="never"===t.hour12?"24":null,a="numeric"===t.year?"year":null,u=C(t);return n&&r&&o?e=`${n}-${r}-${o}`:n&&r?e=`${n}-${r}`:n?e=n:a&&u?e=`${u}-${a}`:a&&(e=a),e?new s({dateFormat:e}):null}function v(t){let e;const n=W(t),r="numeric"===t.year?"year":null,o=C(t);return n?e=n:r&&o?e=`${o}-${r}`:r&&(e=r),e?new s({dateFormat:e}):null}function G(t){let e;const n=k(t),r="never"===t.hour12?"24":null;return n&&r?e=`short-date-${n}-${r}`:n&&(e=`short-date-${n}`),e?new s({dateFormat:e}):null}function W(t){switch(t.dateStyle){case"short":return"short-date";case"medium":return"day-short-month-year";case"long":return"long-month-day-year";case"full":return"long-date";default:return}}function k(t){return t.timeStyle&&("short"===t.timeStyle?"short-time":"long-time")}function C(t){switch(t.month){case"short":return"short-month";case"long":return"long-month";default:return}}function I(e,n){if(!m(e))return;const r=n?.useGrouping??"auto",o=n?.hour12??"auto";switch(e.type){case"integer":case"small-integer":case"big-integer":case"long":return new i({minimumFractionDigits:0,maximumFractionDigits:0,useGrouping:r});case"single":case"double":return new i({minimumFractionDigits:0,maximumFractionDigits:2,useGrouping:r});case"date":case"timestamp-offset":return new t({dateStyle:"short",timeStyle:"short",hour12:o});case"date-only":return new t({dateStyle:"short"});case"time-only":return new t({timeStyle:"short",hour12:o})}}export{I as defaultFieldFormat,c as fieldFormatFromFieldInfoFormat,b as fieldInfoFormatFromFieldFormat,l as formatTypes,m as isFormattableField};