@arcgis/core 4.33.0-next.20250507 → 4.33.0-next.20250508

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 (156) hide show
  1. package/WebLinkChart.js +1 -1
  2. package/arcade/batchExec.js +5 -0
  3. package/arcade/functions/aiServices.js +1 -1
  4. package/arcade.js +1 -1
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/029a118e6dfb3f544a5c.js +1 -0
  7. package/assets/esri/core/workers/chunks/037af6379f3e9278633b.js +1 -0
  8. package/assets/esri/core/workers/chunks/0516bd18334d3af6c555.js +1 -0
  9. package/assets/esri/core/workers/chunks/094300acbd24085cb063.js +1 -0
  10. package/assets/esri/core/workers/chunks/0bbb38f59f37c51c72f0.js +1 -0
  11. package/assets/esri/core/workers/chunks/10e6dffa57aa1a626708.js +1 -0
  12. package/assets/esri/core/workers/chunks/1abd026ed12c863e1d94.js +1 -0
  13. package/assets/esri/core/workers/chunks/1eef9cf19634c038b59b.js +1 -0
  14. package/assets/esri/core/workers/chunks/{7cd32b10ed0e18e44ef2.js → 2b01e3bce78541620a86.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{cd81df932b87583b7e4c.js → 306e262f148b3057b11b.js} +1 -1
  16. package/assets/esri/core/workers/chunks/352b7dcd1633e0c98194.js +1 -0
  17. package/assets/esri/core/workers/chunks/35c996f6fbff165b03f4.js +1 -0
  18. package/assets/esri/core/workers/chunks/391b1c3e736a62befbaf.js +1 -0
  19. package/assets/esri/core/workers/chunks/{cbec01223d51cdb9ee79.js → 3c45603af279ad7fed8c.js} +1 -1
  20. package/assets/esri/core/workers/chunks/40e556a0645af8658658.js +1 -0
  21. package/assets/esri/core/workers/chunks/4402336db7210cd583e0.js +1 -0
  22. package/assets/esri/core/workers/chunks/46104db7f77952bb6c12.js +1 -0
  23. package/assets/esri/core/workers/chunks/{5383dc4814b0ba42e871.js → 47cd99ab3ed11a931084.js} +1 -1
  24. package/assets/esri/core/workers/chunks/47f64a340b5d56bf9e59.js +1 -0
  25. package/assets/esri/core/workers/chunks/49f0e53b3c9ba8451442.js +1 -0
  26. package/assets/esri/core/workers/chunks/515e3295495d0958db7e.js +1 -0
  27. package/assets/esri/core/workers/chunks/5ddf463c85c33428e807.js +1 -0
  28. package/assets/esri/core/workers/chunks/5e0118a030cf741f78c6.js +319 -0
  29. package/assets/esri/core/workers/chunks/{875a0e2d023094c8e15e.js → 66e79aa02b3aa12b3778.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{a5a43d54684747561aa9.js → 6b42bcfbb60432e3ed1f.js} +1 -1
  31. package/assets/esri/core/workers/chunks/6b5274d46a155d65dff1.js +39 -0
  32. package/assets/esri/core/workers/chunks/6e5d8a6b29c06a27998c.js +1 -0
  33. package/assets/esri/core/workers/chunks/6eabced7123a65d47292.js +1 -0
  34. package/assets/esri/core/workers/chunks/6f506303017903b9a06f.js +1 -0
  35. package/assets/esri/core/workers/chunks/6f6bf67a7960b7e9b03e.js +1 -0
  36. package/assets/esri/core/workers/chunks/{52a3d0e041717da7697e.js → 736cb9f74bf050b70f4c.js} +1 -1
  37. package/assets/esri/core/workers/chunks/74187c771ee7083d1db7.js +1 -0
  38. package/assets/esri/core/workers/chunks/{85d87cd1bf7eecd54100.js → 752ef63d910852b7be44.js} +1 -1
  39. package/assets/esri/core/workers/chunks/7c49a8877bd744daa3d5.js +1 -0
  40. package/assets/esri/core/workers/chunks/7ffc1db10b00754398e8.js +1 -0
  41. package/assets/esri/core/workers/chunks/81546c6141d564ed59c9.js +1 -0
  42. package/assets/esri/core/workers/chunks/83fcc6f770ad084b8ab9.js +1 -0
  43. package/assets/esri/core/workers/chunks/852dd5af8e704613310a.js +1 -0
  44. package/assets/esri/core/workers/chunks/85efb318cda7260221ae.js +1 -0
  45. package/assets/esri/core/workers/chunks/86138c297095af1ac604.js +1 -0
  46. package/assets/esri/core/workers/chunks/8b74b609de4f70e1a75c.js +1 -0
  47. package/assets/esri/core/workers/chunks/90f93091fe088875f80f.js +1 -0
  48. package/assets/esri/core/workers/chunks/91a02ee91f61cf841111.js +1 -0
  49. package/assets/esri/core/workers/chunks/9aedd7874da7c63865d6.js +1 -0
  50. package/assets/esri/core/workers/chunks/9ca480eb8b2312381ccf.js +1 -0
  51. package/assets/esri/core/workers/chunks/a0d2bd5d4ed3c90f6b1c.js +1 -0
  52. package/assets/esri/core/workers/chunks/a73c6b4bc5baf440f85a.js +1 -0
  53. package/assets/esri/core/workers/chunks/b5d68d8460b7c15001dd.js +1 -0
  54. package/assets/esri/core/workers/chunks/b816b608f31954128246.js +1 -0
  55. package/assets/esri/core/workers/chunks/bcab8b9ce2f9d2ebaae7.js +1 -0
  56. package/assets/esri/core/workers/chunks/bd7b54db7fd278b15500.js +1 -0
  57. package/assets/esri/core/workers/chunks/c1175477dfcdee90a453.js +1 -0
  58. package/assets/esri/core/workers/chunks/c17c269cc30e7e1d0bfb.js +1 -0
  59. package/assets/esri/core/workers/chunks/c2f925167a43f63289a7.js +1 -0
  60. package/assets/esri/core/workers/chunks/c9ab067b07d1eab974d1.js +1 -0
  61. package/assets/esri/core/workers/chunks/cb80b7ddc9acf625d754.js +1 -0
  62. package/assets/esri/core/workers/chunks/{812d8554144ef5a7cd4b.js → cd4fb107489594c57438.js} +1 -1
  63. package/assets/esri/core/workers/chunks/cd5c380196db7fb55242.js +1 -0
  64. package/assets/esri/core/workers/chunks/d874d24568b1acedebc4.js +1 -0
  65. package/assets/esri/core/workers/chunks/d9948763423784b68c09.js +1 -0
  66. package/assets/esri/core/workers/chunks/e662c86b8bafc5512d3d.js +1 -0
  67. package/assets/esri/core/workers/chunks/e697dd4508f02dcfe329.js +1 -0
  68. package/assets/esri/core/workers/chunks/ed6d0fea159dea638c2f.js +1 -0
  69. package/assets/esri/themes/base/widgets/_Daylight.scss +0 -4
  70. package/assets/esri/themes/base/widgets/_ShadowCast.scss +27 -28
  71. package/assets/esri/themes/dark/main.css +1 -1
  72. package/assets/esri/themes/light/main.css +1 -1
  73. package/assets/esri/themes/light/view.css +1 -1
  74. package/assets/esri/widgets/ShadowCast/t9n/ShadowCast.json +1 -1
  75. package/chunks/aiServices.js +1 -1
  76. package/interfaces.d.ts +50 -3
  77. package/layers/KnowledgeGraphLayer.js +1 -1
  78. package/layers/LinkChartLayer.js +1 -1
  79. package/layers/MapImageLayer.js +1 -1
  80. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  81. package/layers/mixins/SublayersOwner.js +1 -1
  82. package/layers/support/Sublayer.js +1 -1
  83. package/package.json +1 -1
  84. package/rest/print.js +1 -1
  85. package/rest/support/JobInfo.js +1 -1
  86. package/rest/support/TranslateContent.js +1 -1
  87. package/rest/support/TranslateParameters.js +1 -1
  88. package/rest/support/TranslateResult.js +1 -1
  89. package/support/loadArcade.js +1 -1
  90. package/support/revision.js +1 -1
  91. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js +1 -1
  92. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  93. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
  94. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  95. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  96. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  97. package/views/3d/layers/graphics/pipeline/Tile3DManager.js +1 -1
  98. package/views/3d/state/controllers/InteractiveController.js +1 -1
  99. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  100. package/widgets/Daylight/DaylightViewModel.js +1 -1
  101. package/widgets/Daylight/css.js +1 -1
  102. package/widgets/Daylight.js +1 -1
  103. package/widgets/FeatureForm.js +1 -1
  104. package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
  105. package/widgets/ShadowCast/css.js +1 -1
  106. package/assets/esri/core/workers/chunks/00e49ed684cc167c4481.js +0 -1
  107. package/assets/esri/core/workers/chunks/02e1332e91393ee985e8.js +0 -1
  108. package/assets/esri/core/workers/chunks/0366d46c78aa3b4a0523.js +0 -1
  109. package/assets/esri/core/workers/chunks/076a205298026e926d70.js +0 -1
  110. package/assets/esri/core/workers/chunks/07adf428f5fdba5c7cdf.js +0 -1
  111. package/assets/esri/core/workers/chunks/1349d4ea29fbf41e22bc.js +0 -1
  112. package/assets/esri/core/workers/chunks/2934fd7ec0c07371c4fe.js +0 -1
  113. package/assets/esri/core/workers/chunks/2a72f272051721767ca1.js +0 -319
  114. package/assets/esri/core/workers/chunks/2a9f206c23f69045d3f2.js +0 -1
  115. package/assets/esri/core/workers/chunks/2ac2c9cb88a7d1249b56.js +0 -1
  116. package/assets/esri/core/workers/chunks/2ad47c0ba1680f7d5e03.js +0 -1
  117. package/assets/esri/core/workers/chunks/2b3aa568356f4b70afe8.js +0 -1
  118. package/assets/esri/core/workers/chunks/35002d23c5b9f37c6331.js +0 -1
  119. package/assets/esri/core/workers/chunks/35b138f6d0687c5bee4f.js +0 -1
  120. package/assets/esri/core/workers/chunks/4957450197305498d327.js +0 -1
  121. package/assets/esri/core/workers/chunks/4b63f36189730396721b.js +0 -1
  122. package/assets/esri/core/workers/chunks/55def679b9f1c7c4d4d3.js +0 -1
  123. package/assets/esri/core/workers/chunks/598fade09fa4da759ac2.js +0 -1
  124. package/assets/esri/core/workers/chunks/60f7cd05e88701f43d3f.js +0 -1
  125. package/assets/esri/core/workers/chunks/6118144588af9cd8e49b.js +0 -1
  126. package/assets/esri/core/workers/chunks/62c5030557595c9a7c37.js +0 -1
  127. package/assets/esri/core/workers/chunks/62d1e6e7d8685ffc152f.js +0 -1
  128. package/assets/esri/core/workers/chunks/687a11f49772bf5e1f5a.js +0 -1
  129. package/assets/esri/core/workers/chunks/6b554b42e16ad32b433d.js +0 -1
  130. package/assets/esri/core/workers/chunks/6fc39a58f3011291c602.js +0 -1
  131. package/assets/esri/core/workers/chunks/7978b66cdfe078960ddd.js +0 -1
  132. package/assets/esri/core/workers/chunks/7fa70851868f80eaccfc.js +0 -1
  133. package/assets/esri/core/workers/chunks/8d09cc782dae1dcfc6c4.js +0 -1
  134. package/assets/esri/core/workers/chunks/8ec0a762ec73d1f91fce.js +0 -1
  135. package/assets/esri/core/workers/chunks/919673d958045ab94c95.js +0 -1
  136. package/assets/esri/core/workers/chunks/9321e3244ccb1ee9985a.js +0 -1
  137. package/assets/esri/core/workers/chunks/97a4f8504e76c877893b.js +0 -1
  138. package/assets/esri/core/workers/chunks/9cac00d4bfac14aaae12.js +0 -1
  139. package/assets/esri/core/workers/chunks/a1278a1c4a913c671989.js +0 -1
  140. package/assets/esri/core/workers/chunks/a2452958b0ced28fc1e5.js +0 -1
  141. package/assets/esri/core/workers/chunks/aed72cbac8d463b1d2e0.js +0 -1
  142. package/assets/esri/core/workers/chunks/af44ba2ee6c7670ddcc1.js +0 -1
  143. package/assets/esri/core/workers/chunks/b2f1d1721a9dd88a1adf.js +0 -1
  144. package/assets/esri/core/workers/chunks/b52a738ca2b5c39f8e15.js +0 -1
  145. package/assets/esri/core/workers/chunks/b60504e6326464a512df.js +0 -1
  146. package/assets/esri/core/workers/chunks/b79e8d1e3f2c214549b7.js +0 -1
  147. package/assets/esri/core/workers/chunks/ba4aafa8dfa76006c3e7.js +0 -1
  148. package/assets/esri/core/workers/chunks/bbcc5c5ef7cb92c2e213.js +0 -39
  149. package/assets/esri/core/workers/chunks/bceb837623aa79fcfbed.js +0 -1
  150. package/assets/esri/core/workers/chunks/bfd39cd1d83291ba014b.js +0 -1
  151. package/assets/esri/core/workers/chunks/ca8c631172902c6623fa.js +0 -1
  152. package/assets/esri/core/workers/chunks/cf008faa999e8d07116f.js +0 -1
  153. package/assets/esri/core/workers/chunks/dcb9ab790e694328d02c.js +0 -1
  154. package/assets/esri/core/workers/chunks/e93222c65bd28203ddf7.js +0 -1
  155. package/assets/esri/core/workers/chunks/ea70cabea50960dc8167.js +0 -1
  156. package/assets/esri/core/workers/chunks/f07b3aecff90a6a400d8.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../PopupTemplate.js";import t from"../../request.js";import i from"../../core/Collection.js";import o from"../../core/Error.js";import has from"../../core/has.js";import s from"../../core/Identifiable.js";import{clone as a}from"../../core/lang.js";import l from"../../core/Loadable.js";import n from"../../core/Logger.js";import{MultiOriginJSONMixin as p}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as y}from"../../core/urlUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import{cast as c}from"../../core/accessorSupport/decorators/cast.js";import{reader as f}from"../../core/accessorSupport/decorators/reader.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../../core/accessorSupport/decorators/writer.js";import{ensureInteger as b,ensureType as g,Integer as S,ensureClass as I}from"../../core/accessorSupport/ensureType.js";import{OriginId as w,nameToId as v}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as j}from"../../core/accessorSupport/utils.js";import F from"../../geometry/Extent.js";import L from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as O}from"../../geometry/support/typeUtils.js";import D from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as x}from"../mixins/OrderedLayer.js";import{getFeatureType as E}from"./featureLayerUtils.js";import P from"./FeatureType.js";import q from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as _}from"./fieldUtils.js";import A from"./LabelClass.js";import{validateLabelingInfo as R}from"./labelingInfo.js";import C from"./LayerFloorInfo.js";import M from"./OrderByInfo.js";import V from"./Relationship.js";import{getFeatureLayerCapabilities as N}from"./serviceCapabilitiesUtils.js";import{DataLayerSource as k}from"./source/DataLayerSource.js";import{MapLayerSource as B}from"./source/MapLayerSource.js";import{webSceneRendererTypes as U,rendererTypes as Q}from"../../renderers/support/typeUtils.js";import{parseUrl as J}from"../../rest/utils.js";import $ from"../../rest/support/AttachmentQuery.js";import K from"../../rest/support/Query.js";import{createPopupTemplate as G}from"../../support/popupUtils.js";import{isSymbol3D as z}from"../../symbols/support/typeUtils.js";var H;function W(e){return"esriSMS"===e?.type}function X(e,r,t){const i=this.originIdOf(r)>=v(t.origin);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function Y(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(t.origin&&this.originIdOf(r)>=v(t.origin)||this._isOverridden(r)))}}function Z(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function ee(e,r,t){return{ignoreOrigin:!0,enabled:!!t?.writeSublayerStructure&&this.originIdOf(r)>w.SERVICE}}function re(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||this.originIdOf(r)>=v(t.origin))}}let te=0;const ie=new Set(["layer","parent","loaded","loadStatus","loadError","loadWarnings"]);let oe=class extends(p(s.IdentifiableMixin(l))){static{H=this}constructor(e){super(e),this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise((async()=>{const{layer:r,url:i}=this;if(!r&&!i)throw new o("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const s=r?await r.fetchSublayerInfo(this,e):(await t(i,{responseType:"json",query:{f:"json"},...e})).data;s&&(this.sourceJSON=s,this.read({layerDefinition:s},{origin:"service",layer:r,url:J(i)}))})()),this}readCapabilities(e,r){r=r.layerDefinition||r;const{attachment:t,operations:{supportsQuery:i,supportsQueryAttachments:o},query:{supportsFormatPBF:s,supportsOrderBy:a,supportsPagination:l},data:{supportsAttachment:n},queryRelated:p}=N(r,this.url);return{attachment:{supportsOrderByFields:t?.supportsOrderByFields??!1,supportsResize:t?.supportsResize??!1},exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:i,supportsQueryAttachments:o},data:{supportsAttachment:n},query:{supportsFormatPBF:s,supportsOrderBy:a,supportsPagination:l},queryRelated:p}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:(r=r.layerDefinition||r).minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get id(){const e=this._get("id");return e??te++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}readIsTable(e,r){return"Table"===r.type}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map((e=>e.write({},i)))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers?.forEach((r=>r.layer=e))}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;const t=r.fields?.find((e=>"esriFieldTypeOID"===e.type));return t?.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const{layerDefinition:t}=r;return 1-.01*(t?.transparency??t?.drawingInfo?.transparency??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}set orderBy(e){this._setAndNotifyLayer("orderBy",e)}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=b(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{capabilities:e,fieldsIndex:r,layer:t,url:i}=this,{spatialReference:o}=t,s="gdbVersion"in t?t.gdbVersion:void 0,a=has("featurelayer-pbf")&&e?.query.supportsFormatPBF;return new D({fieldsIndex:r,gdbVersion:s,pbfSupported:a,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:o,url:i})}set renderer(e){if(_(e,this.fieldsIndex),e)for(const r of e.symbols)if(z(r)){n.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new B({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return g(i.ofType(H),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map((e=>e.id)).toArray().reverse())}readTitle(e,r){return r.layerDefinition?.name??r.name}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find((e=>e.name.toLowerCase()===t));e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${y(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=j(this),r=new H;return j(r).store=e.clone(ie),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return G(this,e)}createQuery(){return new K({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.hasOwnProperty("sublayers"))return null;const e=(await import("../FeatureLayer.js")).default,{layer:r,url:t}=this;let i;if(t&&this.originIdOf("url")>w.SERVICE)i=new e({url:t});else{if(!r?.parsedUrl)throw new o("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const t=r.parsedUrl;i=new e({url:t.path}),t&&this.source&&("map-layer"===this.source.type?i.layerId=this.source.mapLayerId:i.dynamicDataSource=this.source)}}return null!=r?.refreshInterval&&(i.refreshInterval=r.refreshInterval),this.definitionExpression&&(i.definitionExpression=this.definitionExpression),this.floorInfo&&(i.floorInfo=a(this.floorInfo)),this.originIdOf("labelingInfo")>w.SERVICE&&(i.labelingInfo=a(this.labelingInfo)),this.originIdOf("labelsVisible")>w.DEFAULTS&&(i.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>w.DEFAULTS&&(i.legendEnabled=this.legendEnabled),this.originIdOf("visible")>w.DEFAULTS&&(i.visible=this.visible),this.originIdOf("minScale")>w.DEFAULTS&&(i.minScale=this.minScale),this.originIdOf("maxScale")>w.DEFAULTS&&(i.maxScale=this.maxScale),this.originIdOf("opacity")>w.DEFAULTS&&(i.opacity=this.opacity),this.originIdOf("popupTemplate")>w.DEFAULTS&&(i.popupTemplate=a(this.popupTemplate)),this.originIdOf("renderer")>w.SERVICE&&(i.renderer=a(this.renderer)),"data-layer"===this.source?.type&&(i.dynamicDataSource=this.source.clone()),this.originIdOf("title")>w.DEFAULTS&&(i.title=this.title),"map-image"===r?.type&&r.originIdOf("customParameters")>w.DEFAULTS&&(i.customParameters=r.customParameters),"tile"===r?.type&&r.originIdOf("customParameters")>w.DEFAULTS&&(i.customParameters=r.customParameters),i}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return E(this.types,this.typeIdField,e)}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load(),e=$.from(e);const t=this.capabilities;if(!t?.data?.supportsAttachment)throw new o("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:i,objectIds:s,globalIds:a,num:l,size:n,start:p,where:u}=e;if(!t?.operations?.supportsQueryAttachments){if(i?.length>0||a?.length>0||n?.length>0||l||p||u)throw new o("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",e)}if(!(s?.length||a?.length||u))throw new o("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",e);return!t?.attachment?.supportsOrderByFields&&e.orderByFields?.length&&((e=e.clone()).orderByFields=null),this.queryTask.executeAttachmentQuery(e,r)}async queryFeatureCount(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatureCount:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatureCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features)for(const i of t.features)i.sourceLayer=this;return t}async queryObjectIds(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryObjectIds:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryObjectIds:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeatures(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryRelatedFeatures:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeaturesCount(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support queries.");if(!this.capabilities.queryRelated.supportsCount)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support query related counts.");if(!this.url)throw new o("queryRelatedFeaturesCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=u(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce(((e,r)=>(e[r]=this.originIdOf(r),e)),{}),o=Object.keys(i).some((e=>i[e]>w.SERVICE));if(o){const e=r.drawingInfo={};if(i.renderer>w.SERVICE&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>w.SERVICE&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>w.SERVICE)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some((e=>!e.labelPlacement))&&n.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=R(this.labelingInfo,O.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter((e=>e.labelPlacement)).map((e=>e.toJSON({origin:"service",layer:this.layer})))}else e.showLabels=!1;i.opacity>w.SERVICE&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf("orderBy")>w.SERVICE&&(r.orderBy=this.orderBy?.map((e=>e.toJSON()))??null),r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,(e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])}))}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)W(e.symbol)&&r(e.symbol);"symbol"in e&&W(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&W(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,s;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",s="supportsModification";break;case"orderBy":o="supportsSublayerOrderBy",s="supportsModification"}const a=j(this).getDefaultOrigin();if("service"!==a){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(s&&!1===this.capabilities?.exportMap[s])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${s}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==a&&i!==r&&t&&t.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach((e=>{e.parent=null,e.layer=null})),this.removeAllHandles()),e&&(e.forEach((e=>{e.parent=this,e.layer=this.layer})),this.addHandles([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this.layer})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null})),e.on("before-changes",(e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??1)||(n.getLogger(this).error(new o("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())}))]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;n.getLogger(i).error(new o("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===ee||e===Z||e===X,isTileImageLayerOverridePolicy:e=>e===Y}}};e([d({readOnly:!0})],oe.prototype,"capabilities",void 0),e([f("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],oe.prototype,"readCapabilities",null),e([d()],oe.prototype,"defaultPopupTemplate",null),e([d({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:X}}})],oe.prototype,"definitionExpression",null),e([d({readOnly:!0})],oe.prototype,"effectiveScaleRange",null),e([f("service","maxScaleRange",["minScale","maxScale"])],oe.prototype,"readMaxScaleRange",null),e([d({type:[q],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],oe.prototype,"fields",void 0),e([d({readOnly:!0})],oe.prototype,"fieldsIndex",null),e([d({type:C,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:X},origins:{"web-scene":{read:!1,write:!1}}}})],oe.prototype,"floorInfo",null),e([d({type:F,json:{read:{source:"layerDefinition.extent"}}})],oe.prototype,"fullExtent",void 0),e([d({type:O.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:O.read}}}}})],oe.prototype,"geometryType",void 0),e([d({type:String})],oe.prototype,"globalIdField",void 0),e([f("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],oe.prototype,"readGlobalIdFieldFromService",null),e([d({type:S,json:{write:{ignoreOrigin:!0}}})],oe.prototype,"id",null),e([d({readOnly:!0})],oe.prototype,"isTable",void 0),e([f("service","isTable",["type"])],oe.prototype,"readIsTable",null),e([d({value:null,type:[A],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:ee}}})],oe.prototype,"labelingInfo",null),e([m("labelingInfo")],oe.prototype,"writeLabelingInfo",null),e([d({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:Z}}})],oe.prototype,"labelsVisible",null),e([d({value:null})],oe.prototype,"layer",null),e([d({type:String,json:{write:{overridePolicy:Y}}})],oe.prototype,"layerItemId",void 0),e([d({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:re}}})],oe.prototype,"legendEnabled",void 0),e([d({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],oe.prototype,"listMode",null),e([d({type:Number,value:0,json:{write:{overridePolicy:Z}}})],oe.prototype,"minScale",null),e([f("minScale",["minScale","layerDefinition.minScale"])],oe.prototype,"readMinScale",null),e([d({type:Number,value:0,json:{write:{overridePolicy:Z}}})],oe.prototype,"maxScale",null),e([f("maxScale",["maxScale","layerDefinition.maxScale"])],oe.prototype,"readMaxScale",null),e([d()],oe.prototype,"objectIdField",void 0),e([f("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],oe.prototype,"readObjectIdFieldFromService",null),e([d({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:Z}}})],oe.prototype,"opacity",null),e([f("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],oe.prototype,"readOpacity",null),e([m("opacity")],oe.prototype,"writeOpacity",null),e([d({value:null,type:[M],json:{name:"layerDefinition.orderBy",read:{reader:x}}})],oe.prototype,"orderBy",null),e([d({json:{type:S,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:Z}}})],oe.prototype,"parent",void 0),e([m("parent")],oe.prototype,"writeParent",null),e([d({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:re,writer(e,r,t){r[t]=!e}}}})],oe.prototype,"popupEnabled",void 0),e([d({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:re}}})],oe.prototype,"popupTemplate",void 0),e([d({readOnly:!0})],oe.prototype,"queryTask",null),e([d({type:[V],readOnly:!0,json:{origins:{service:{read:{source:"layerDefinition.relationships"}}}}})],oe.prototype,"relationships",void 0),e([d({types:Q,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ee},origins:{"web-scene":{types:U,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:ee}}}}})],oe.prototype,"renderer",null),e([d({types:{key:"type",base:null,typeMap:{"data-layer":k,"map-layer":B}},cast(e){if(e){if("mapLayerId"in e)return I(B,e);if("dataSource"in e)return I(k,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:Z}}})],oe.prototype,"source",null),e([d()],oe.prototype,"sourceJSON",void 0),e([d({type:L,json:{origins:{service:{read:{source:"layerDefinition.extent.spatialReference"}}}}})],oe.prototype,"spatialReference",void 0),e([d({value:null,json:{type:[S],write:{target:"subLayerIds",allowNull:!0,overridePolicy:Z}}})],oe.prototype,"sublayers",null),e([c("sublayers")],oe.prototype,"castSublayers",null),e([m("sublayers")],oe.prototype,"writeSublayers",null),e([d({type:String,json:{name:"name",write:{overridePolicy:re}}})],oe.prototype,"title",void 0),e([f("service","title",["name","layerDefinition.name"])],oe.prototype,"readTitle",null),e([d({type:String})],oe.prototype,"typeIdField",void 0),e([d({json:{read:!1},readOnly:!0,value:"sublayer"})],oe.prototype,"type",void 0),e([f("typeIdField",["layerDefinition.typeIdField"])],oe.prototype,"readTypeIdField",null),e([d({type:[P],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],oe.prototype,"types",void 0),e([d({type:String,json:{name:"layerUrl",write:{overridePolicy:Y}}})],oe.prototype,"url",null),e([d({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:Z}}})],oe.prototype,"visible",null),e([m("visible")],oe.prototype,"writeVisible",null),oe=H=e([h("esri.layers.support.Sublayer")],oe);export{oe as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import r from"../../PopupTemplate.js";import t from"../../request.js";import i from"../../core/Collection.js";import o from"../../core/Error.js";import has from"../../core/has.js";import s from"../../core/Identifiable.js";import{clone as a}from"../../core/lang.js";import l from"../../core/Loadable.js";import n from"../../core/Logger.js";import{MultiOriginJSONMixin as p}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as y}from"../../core/urlUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import{cast as c}from"../../core/accessorSupport/decorators/cast.js";import{reader as f}from"../../core/accessorSupport/decorators/reader.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../../core/accessorSupport/decorators/writer.js";import{ensureInteger as b,ensureType as g,Integer as S,ensureClass as I}from"../../core/accessorSupport/ensureType.js";import{OriginId as w,nameToId as v}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as j}from"../../core/accessorSupport/utils.js";import F from"../../geometry/Extent.js";import L from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as D}from"../../geometry/support/typeUtils.js";import O from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as x}from"../mixins/OrderedLayer.js";import{getFeatureType as E}from"./featureLayerUtils.js";import P from"./FeatureType.js";import q from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as _}from"./fieldUtils.js";import A from"./LabelClass.js";import{validateLabelingInfo as R}from"./labelingInfo.js";import C from"./LayerFloorInfo.js";import M from"./OrderByInfo.js";import V from"./Relationship.js";import{getFeatureLayerCapabilities as N}from"./serviceCapabilitiesUtils.js";import{DataLayerSource as k}from"./source/DataLayerSource.js";import{MapLayerSource as B}from"./source/MapLayerSource.js";import{webSceneRendererTypes as U,rendererTypes as Q}from"../../renderers/support/typeUtils.js";import{parseUrl as J}from"../../rest/utils.js";import $ from"../../rest/support/AttachmentQuery.js";import K from"../../rest/support/Query.js";import{createPopupTemplate as G}from"../../support/popupUtils.js";import{isSymbol3D as z}from"../../symbols/support/typeUtils.js";var H;function W(e){return"esriSMS"===e?.type}function X(e,r,t){const i=t.minimumWritableOrigin||t.origin;return!!i&&e.originIdOf(r)>=v(i)}function Y(e,r,t){const i=X(this,r,t);return{ignoreOrigin:!0,allowNull:i,enabled:!!t&&("map-image"===t.layer?.type&&(t.writeSublayerStructure||i))}}function Z(e,r,t){return{enabled:!!t&&("tile"===t.layer?.type&&(X(this,r,t)||this._isOverridden(r)))}}function ee(e,r,t){return{ignoreOrigin:!0,enabled:t&&t.writeSublayerStructure||!1}}function re(e,r,t){return{ignoreOrigin:!0,enabled:!!t?.writeSublayerStructure&&this.originIdOf(r)>w.SERVICE}}function te(e,r,t){return{ignoreOrigin:!0,enabled:!!t&&(t.writeSublayerStructure||X(this,r,t))}}let ie=0;const oe=new Set(["layer","parent","loaded","loadStatus","loadError","loadWarnings"]);let se=class extends(p(s.IdentifiableMixin(l))){static{H=this}constructor(e){super(e),this.capabilities=void 0,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type="sublayer",this.types=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise((async()=>{const{layer:r,url:i}=this;if(!r&&!i)throw new o("sublayer:missing-layer","Sublayer can't be loaded without being part of a layer",{sublayer:this});const s=r?await r.fetchSublayerInfo(this,e):(await t(i,{responseType:"json",query:{f:"json"},...e})).data;s&&(this.sourceJSON=s,this.read({layerDefinition:s},{origin:"service",layer:r,url:J(i)}))})()),this}readCapabilities(e,r){r=r.layerDefinition||r;const{attachment:t,operations:{supportsQuery:i,supportsQueryAttachments:o},query:{supportsFormatPBF:s,supportsOrderBy:a,supportsPagination:l},data:{supportsAttachment:n},queryRelated:p}=N(r,this.url);return{attachment:{supportsOrderByFields:t?.supportsOrderByFields??!1,supportsResize:t?.supportsResize??!1},exportMap:{supportsModification:!!r.canModifyLayer},operations:{supportsQuery:i,supportsQueryAttachments:o},data:{supportsAttachment:n},query:{supportsFormatPBF:s,supportsOrderBy:a,supportsPagination:l},queryRelated:p}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer("definitionExpression",e)}get effectiveScaleRange(){const{minScale:e,maxScale:r}=this;return{minScale:e,maxScale:r}}readMaxScaleRange(e,r){return{minScale:(r=r.layerDefinition||r).minScale??0,maxScale:r.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer("floorInfo",e)}readGlobalIdFieldFromService(e,r){if((r=r.layerDefinition||r).globalIdField)return r.globalIdField;if(r.fields)for(const t of r.fields)if("esriFieldTypeGlobalID"===t.type)return t.name}get id(){const e=this._get("id");return e??ie++}set id(e){this._get("id")!==e&&(!1!==this.layer?.capabilities?.exportMap?.supportsDynamicLayers?this._set("id",e):this._logLockedError("id","capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'"))}readIsTable(e,r){return"Table"===r.type}set labelingInfo(e){this._setAndNotifyLayer("labelingInfo",e)}writeLabelingInfo(e,r,t,i){e&&e.length&&(r.layerDefinition={drawingInfo:{labelingInfo:e.map((e=>e.write({},i)))}})}set labelsVisible(e){this._setAndNotifyLayer("labelsVisible",e)}set layer(e){this._set("layer",e),this.sublayers?.forEach((r=>r.layer=e))}set listMode(e){this._set("listMode",e)}set minScale(e){this._setAndNotifyLayer("minScale",e)}readMinScale(e,r){return r.minScale||r.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer("maxScale",e)}readMaxScale(e,r){return r.maxScale||r.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,r){if((r=r.layerDefinition||r).objectIdField)return r.objectIdField;const t=r.fields?.find((e=>"esriFieldTypeOID"===e.type));return t?.name}set opacity(e){this._setAndNotifyLayer("opacity",e)}readOpacity(e,r){const{layerDefinition:t}=r;return 1-.01*(t?.transparency??t?.drawingInfo?.transparency??0)}writeOpacity(e,r,t,i){r.layerDefinition={drawingInfo:{transparency:100-100*e}}}set orderBy(e){this._setAndNotifyLayer("orderBy",e)}writeParent(e,r){this.parent&&this.parent!==this.layer?r.parentLayerId=b(this.parent.id):r.parentLayerId=-1}get queryTask(){if(!this.layer)return null;const{capabilities:e,fieldsIndex:r,layer:t,url:i}=this,{spatialReference:o}=t,s="gdbVersion"in t?t.gdbVersion:void 0,a=has("featurelayer-pbf")&&e?.query.supportsFormatPBF;return new O({fieldsIndex:r,gdbVersion:s,pbfSupported:a,queryAttachmentsSupported:e?.operations?.supportsQueryAttachments??!1,sourceSpatialReference:o,url:i})}set renderer(e){if(_(e,this.fieldsIndex),e)for(const r of e.symbols)if(z(r)){n.getLogger(this).warn("Sublayer renderer should use 2D symbols");break}this._setAndNotifyLayer("renderer",e)}get source(){return this._get("source")||new B({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer("source",e)}set sublayers(e){this._handleSublayersChange(e,this._get("sublayers")),this._set("sublayers",e)}castSublayers(e){return g(i.ofType(H),e)}writeSublayers(e,r,t){this.sublayers?.length&&(r[t]=this.sublayers.map((e=>e.id)).toArray().reverse())}readTitle(e,r){return r.layerDefinition?.name??r.name}readTypeIdField(e,r){let t=(r=r.layerDefinition||r).typeIdField;if(t&&r.fields){t=t.toLowerCase();const e=r.fields.find((e=>e.name.toLowerCase()===t));e&&(t=e.name)}return t}get url(){const e=this.layer?.parsedUrl??this._lastParsedUrl,r=this.source;if(!e)return null;if(this._lastParsedUrl=e,"map-layer"===r?.type)return`${e.path}/${r.mapLayerId}`;const t={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${y(t)}`}set url(e){this._overrideIfSome("url",e)}set visible(e){this._setAndNotifyLayer("visible",e)}writeVisible(e,r,t,i){r[t]=this.getAtOrigin("defaultVisibility","service")||e}clone(){const{store:e}=j(this),r=new H;return j(r).store=e.clone(oe),this.commitProperty("url"),r._lastParsedUrl=this._lastParsedUrl,r}createPopupTemplate(e){return G(this,e)}createQuery(){return new K({returnGeometry:!0,where:this.definitionExpression||"1=1"})}async createFeatureLayer(){if(this.hasOwnProperty("sublayers"))return null;const e=(await import("../FeatureLayer.js")).default,{layer:r,url:t}=this;let i;if(t&&this.originIdOf("url")>w.SERVICE)i=new e({url:t});else{if(!r?.parsedUrl)throw new o("createFeatureLayer:missing-information","Cannot create a FeatureLayer without a url or a parent layer");{const t=r.parsedUrl;i=new e({url:t.path}),t&&this.source&&("map-layer"===this.source.type?i.layerId=this.source.mapLayerId:i.dynamicDataSource=this.source)}}return null!=r?.refreshInterval&&(i.refreshInterval=r.refreshInterval),this.definitionExpression&&(i.definitionExpression=this.definitionExpression),this.floorInfo&&(i.floorInfo=a(this.floorInfo)),this.originIdOf("labelingInfo")>w.SERVICE&&(i.labelingInfo=a(this.labelingInfo)),this.originIdOf("labelsVisible")>w.DEFAULTS&&(i.labelsVisible=this.labelsVisible),this.originIdOf("legendEnabled")>w.DEFAULTS&&(i.legendEnabled=this.legendEnabled),this.originIdOf("visible")>w.DEFAULTS&&(i.visible=this.visible),this.originIdOf("minScale")>w.DEFAULTS&&(i.minScale=this.minScale),this.originIdOf("maxScale")>w.DEFAULTS&&(i.maxScale=this.maxScale),this.originIdOf("opacity")>w.DEFAULTS&&(i.opacity=this.opacity),this.originIdOf("popupTemplate")>w.DEFAULTS&&(i.popupTemplate=a(this.popupTemplate)),this.originIdOf("renderer")>w.SERVICE&&(i.renderer=a(this.renderer)),"data-layer"===this.source?.type&&(i.dynamicDataSource=this.source.clone()),this.originIdOf("title")>w.DEFAULTS&&(i.title=this.title),"map-image"===r?.type&&r.originIdOf("customParameters")>w.DEFAULTS&&(i.customParameters=r.customParameters),"tile"===r?.type&&r.originIdOf("customParameters")>w.DEFAULTS&&(i.customParameters=r.customParameters),i}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return E(this.types,this.typeIdField,e)}getFieldDomain(e,r){const t=r?.feature,i=this.getFeatureType(t);if(i){const r=i.domains&&i.domains[e];if(r&&"inherited"!==r.type)return r}return this._getLayerDomain(e)}async queryAttachments(e,r){await this.load(),e=$.from(e);const t=this.capabilities;if(!t?.data?.supportsAttachment)throw new o("queryAttachments:not-supported","this layer doesn't support attachments");const{attachmentTypes:i,objectIds:s,globalIds:a,num:l,size:n,start:p,where:u}=e;if(!t?.operations?.supportsQueryAttachments){if(i?.length>0||a?.length>0||n?.length>0||l||p||u)throw new o("queryAttachments:option-not-supported","when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",e)}if(!(s?.length||a?.length||u))throw new o("queryAttachments:invalid-query","'objectIds', 'globalIds', or 'where' are required to perform attachment query",e);return!t?.attachment?.supportsOrderByFields&&e.orderByFields?.length&&((e=e.clone()).orderByFields=null),this.queryTask.executeAttachmentQuery(e,r)}async queryFeatureCount(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatureCount:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatureCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryFeatures(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryFeatures:not-supported","this layer has no url.");const t=await this.queryTask.execute(e,{...r,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(t?.features)for(const i of t.features)i.sourceLayer=this;return t}async queryObjectIds(e=this.createQuery(),r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryObjectIds:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryObjectIds:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeatures(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeatures:not-supported","this layer doesn't support queries.");if(!this.url)throw new o("queryRelatedFeatures:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...r,query:{...this.layer?.customParameters,token:t}})}async queryRelatedFeaturesCount(e,r){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support queries.");if(!this.capabilities.queryRelated.supportsCount)throw new o("queryRelatedFeaturesCount:not-supported","this layer doesn't support query related counts.");if(!this.url)throw new o("queryRelatedFeaturesCount:not-supported","this layer has no url.");const t=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...r,query:{...this.layer?.customParameters,token:t}})}toExportImageJSON(e){const r={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:"mapLayer"}},t=u(e,this.definitionExpression);null!=t&&(r.definitionExpression=t);const i=["renderer","labelingInfo","opacity","labelsVisible"].reduce(((e,r)=>(e[r]=this.originIdOf(r),e)),{}),o=Object.keys(i).some((e=>i[e]>w.SERVICE));if(o){const e=r.drawingInfo={};if(i.renderer>w.SERVICE&&(e.renderer=this.renderer?this.renderer.toJSON():null),i.labelsVisible>w.SERVICE&&(e.showLabels=this.labelsVisible),this.labelsVisible&&i.labelingInfo>w.SERVICE)if(this.labelingInfo){!this.loaded&&this.labelingInfo?.some((e=>!e.labelPlacement))&&n.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let r=this.labelingInfo;null!=this.geometryType&&(r=R(this.labelingInfo,D.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=r.filter((e=>e.labelPlacement)).map((e=>e.toJSON({origin:"service",layer:this.layer})))}else e.showLabels=!1;i.opacity>w.SERVICE&&(e.transparency=100-100*this.opacity),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf("orderBy")>w.SERVICE&&(r.orderBy=this.orderBy?.map((e=>e.toJSON()))??null),r}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,(e=>{e.color||"esriSMSX"!==e.style&&"esriSMSCross"!==e.style||(e.outline?.color?e.color=e.outline.color:e.color=[0,0,0,0])}))}_forEachSimpleMarkerSymbols(e,r){if(e){const t=("uniqueValueInfos"in e?e.uniqueValueInfos:"classBreakInfos"in e?e.classBreakInfos:null)??[];for(const e of t)W(e.symbol)&&r(e.symbol);"symbol"in e&&W(e.symbol)&&r(e.symbol),"defaultSymbol"in e&&W(e.defaultSymbol)&&r(e.defaultSymbol)}}_setAndNotifyLayer(e,r){const t=this.layer,i=this._get(e);let o,s;switch(e){case"definitionExpression":case"floorInfo":o="supportsSublayerDefinitionExpression";break;case"minScale":case"maxScale":case"visible":o="supportsSublayerVisibility";break;case"labelingInfo":case"labelsVisible":case"opacity":case"renderer":case"source":o="supportsDynamicLayers",s="supportsModification";break;case"orderBy":o="supportsSublayerOrderBy",s="supportsModification"}const a=j(this).getDefaultOrigin();if("service"!==a){if(o&&!1===this.layer?.capabilities?.exportMap?.[o])return void this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${o}'`);if(s&&!1===this.capabilities?.exportMap[s])return void this._logLockedError(e,`capability not available 'capabilities.exportMap.${s}'`)}"source"!==e||"not-loaded"===this.loadStatus?(this._set(e,r),"service"!==a&&i!==r&&t&&t.emit&&t.emit("sublayer-update",{propertyName:e,target:this})):this._logLockedError(e,"'source' can't be changed after calling sublayer.load()")}_handleSublayersChange(e,r){r&&(r.forEach((e=>{e.parent=null,e.layer=null})),this.removeAllHandles()),e&&(e.forEach((e=>{e.parent=this,e.layer=this.layer})),this.addHandles([e.on("after-add",(({item:e})=>{e.parent=this,e.layer=this.layer})),e.on("after-remove",(({item:e})=>{e.parent=null,e.layer=null})),e.on("before-changes",(e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??1)||(n.getLogger(this).error(new o("sublayer:sublayers-non-modifiable","Sublayer can't be added, moved, or removed from the layer's sublayers",{sublayer:this,layer:this.layer})),e.preventDefault())}))]))}_logLockedError(e,r){const{layer:t,declaredClass:i}=this;n.getLogger(i).error(new o("sublayer:locked",`Property '${String(e)}' can't be changed on Sublayer from the layer '${t?.id}'`,{reason:r,sublayer:this,layer:t}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===re||e===ee||e===Y,isTileImageLayerOverridePolicy:e=>e===Z}}};e([d({readOnly:!0})],se.prototype,"capabilities",void 0),e([f("service","capabilities",["layerDefinition.canModifyLayer","layerDefinition.capabilities"])],se.prototype,"readCapabilities",null),e([d()],se.prototype,"defaultPopupTemplate",null),e([d({type:String,value:null,json:{name:"layerDefinition.definitionExpression",write:{allowNull:!0,overridePolicy:Y}}})],se.prototype,"definitionExpression",null),e([d({readOnly:!0})],se.prototype,"effectiveScaleRange",null),e([f("service","maxScaleRange",["minScale","maxScale"])],se.prototype,"readMaxScaleRange",null),e([d({type:[q],json:{origins:{service:{read:{source:"layerDefinition.fields"}}}}})],se.prototype,"fields",void 0),e([d({readOnly:!0})],se.prototype,"fieldsIndex",null),e([d({type:C,value:null,json:{name:"layerDefinition.floorInfo",read:{source:"layerDefinition.floorInfo"},write:{target:"layerDefinition.floorInfo",overridePolicy:Y},origins:{"web-scene":{read:!1,write:!1}}}})],se.prototype,"floorInfo",null),e([d({type:F,json:{read:{source:"layerDefinition.extent"}}})],se.prototype,"fullExtent",void 0),e([d({type:D.apiValues,json:{origins:{service:{name:"layerDefinition.geometryType",read:{reader:D.read}}}}})],se.prototype,"geometryType",void 0),e([d({type:String})],se.prototype,"globalIdField",void 0),e([f("service","globalIdField",["layerDefinition.globalIdField","layerDefinition.fields"])],se.prototype,"readGlobalIdFieldFromService",null),e([d({type:S,json:{write:{ignoreOrigin:!0}}})],se.prototype,"id",null),e([d({readOnly:!0})],se.prototype,"isTable",void 0),e([f("service","isTable",["type"])],se.prototype,"readIsTable",null),e([d({value:null,type:[A],json:{read:{source:"layerDefinition.drawingInfo.labelingInfo"},write:{target:"layerDefinition.drawingInfo.labelingInfo",overridePolicy:re}}})],se.prototype,"labelingInfo",null),e([m("labelingInfo")],se.prototype,"writeLabelingInfo",null),e([d({type:Boolean,value:!0,json:{read:{source:"layerDefinition.drawingInfo.showLabels"},write:{target:"layerDefinition.drawingInfo.showLabels",overridePolicy:ee}}})],se.prototype,"labelsVisible",null),e([d({value:null})],se.prototype,"layer",null),e([d({type:String,json:{write:{overridePolicy:Z}}})],se.prototype,"layerItemId",void 0),e([d({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:"showLegend"},write:{target:"showLegend",overridePolicy:te}}})],se.prototype,"legendEnabled",void 0),e([d({type:["show","hide","hide-children"],value:"show",json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],se.prototype,"listMode",null),e([d({type:Number,value:0,json:{write:{overridePolicy:ee}}})],se.prototype,"minScale",null),e([f("minScale",["minScale","layerDefinition.minScale"])],se.prototype,"readMinScale",null),e([d({type:Number,value:0,json:{write:{overridePolicy:ee}}})],se.prototype,"maxScale",null),e([f("maxScale",["maxScale","layerDefinition.maxScale"])],se.prototype,"readMaxScale",null),e([d()],se.prototype,"objectIdField",void 0),e([f("service","objectIdField",["layerDefinition.objectIdField","layerDefinition.fields"])],se.prototype,"readObjectIdFieldFromService",null),e([d({type:Number,value:1,json:{write:{target:"layerDefinition.drawingInfo.transparency",overridePolicy:ee}}})],se.prototype,"opacity",null),e([f("opacity",["layerDefinition.drawingInfo.transparency","layerDefinition.transparency"])],se.prototype,"readOpacity",null),e([m("opacity")],se.prototype,"writeOpacity",null),e([d({value:null,type:[M],json:{name:"layerDefinition.orderBy",read:{reader:x},write:{overridePolicy:Y},origins:{"web-scene":{read:!1,write:!1}}}})],se.prototype,"orderBy",null),e([d({json:{type:S,write:{target:"parentLayerId",writerEnsuresNonNull:!0,overridePolicy:ee}}})],se.prototype,"parent",void 0),e([m("parent")],se.prototype,"writeParent",null),e([d({type:Boolean,value:!0,json:{read:{source:"disablePopup",reader:(e,r)=>!r.disablePopup},write:{target:"disablePopup",overridePolicy:te,writer(e,r,t){r[t]=!e}}}})],se.prototype,"popupEnabled",void 0),e([d({type:r,json:{read:{source:"popupInfo"},write:{target:"popupInfo",overridePolicy:te}}})],se.prototype,"popupTemplate",void 0),e([d({readOnly:!0})],se.prototype,"queryTask",null),e([d({type:[V],readOnly:!0,json:{origins:{service:{read:{source:"layerDefinition.relationships"}}}}})],se.prototype,"relationships",void 0),e([d({types:Q,value:null,json:{name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:re},origins:{"web-scene":{types:U,name:"layerDefinition.drawingInfo.renderer",write:{overridePolicy:re}}}}})],se.prototype,"renderer",null),e([d({types:{key:"type",base:null,typeMap:{"data-layer":k,"map-layer":B}},cast(e){if(e){if("mapLayerId"in e)return I(B,e);if("dataSource"in e)return I(k,e)}return e},json:{name:"layerDefinition.source",write:{overridePolicy:ee}}})],se.prototype,"source",null),e([d()],se.prototype,"sourceJSON",void 0),e([d({type:L,json:{origins:{service:{read:{source:"layerDefinition.extent.spatialReference"}}}}})],se.prototype,"spatialReference",void 0),e([d({value:null,json:{type:[S],write:{target:"subLayerIds",allowNull:!0,overridePolicy:ee}}})],se.prototype,"sublayers",null),e([c("sublayers")],se.prototype,"castSublayers",null),e([m("sublayers")],se.prototype,"writeSublayers",null),e([d({type:String,json:{name:"name",write:{overridePolicy:te}}})],se.prototype,"title",void 0),e([f("service","title",["name","layerDefinition.name"])],se.prototype,"readTitle",null),e([d({type:String})],se.prototype,"typeIdField",void 0),e([d({json:{read:!1},readOnly:!0,value:"sublayer"})],se.prototype,"type",void 0),e([f("typeIdField",["layerDefinition.typeIdField"])],se.prototype,"readTypeIdField",null),e([d({type:[P],json:{origins:{service:{read:{source:"layerDefinition.types"}}}}})],se.prototype,"types",void 0),e([d({type:String,json:{name:"layerUrl",write:{overridePolicy:Z}}})],se.prototype,"url",null),e([d({type:Boolean,value:!0,json:{read:{source:"defaultVisibility"},write:{target:"defaultVisibility",overridePolicy:ee}}})],se.prototype,"visible",null),e([m("visible")],se.prototype,"writeVisible",null),se=H=e([h("esri.layers.support.Sublayer")],se);export{se as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "4.33.0-next.20250507",
3
+ "version": "4.33.0-next.20250508",
4
4
  "homepage": "https://js.arcgis.com",
5
5
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
6
6
  "keywords": [
package/rest/print.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.33/esri/copyright.txt for details.
4
4
  */
5
- import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as a}from"../core/jsonMap.js";import{createScreenPoint as i,pt2px as r,px2pt as n}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import l from"../geometry/Polygon.js";import{collectLabelingFields as c}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as u}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as y}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as p,findToken as f}from"./utils.js";import{execute as d}from"./geoprocessor/execute.js";import{submitJob as m}from"./geoprocessor/submitJob.js";import{formatJsonMap as g}from"./support/fileFormat.js";import{toJSON as h}from"./support/layoutTemplate.js";import{getVisibleLayerViews as b,isScreenshotRequired as w,isBingMapsLayer as S,isBlendLayer as x,getCopyright as I,getSelectionSymbol as v,createPointLayer as D,createPolygonLayer as T,createPolylineLayer as L,createMultipointLayer as O,getContextBoundingBox as E}from"./support/printTaskUtils.js";import P from"./support/PrintTemplate.js";import{toJSON as M}from"./support/reportTemplate.js";const V={Feet:"ft",Kilometers:"km",Meters:"m",Miles:"mi"},F=new a({esriFeet:"Feet",esriKilometers:"Kilometers",esriMeters:"Meters",esriMiles:"Miles"}),k=new a({esriExecutionTypeSynchronous:"sync",esriExecutionTypeAsynchronous:"async"}),N=new Map;var U;async function R(e,t,a){const i=await J(e,a),r=await z(t,i);if("sync"===await j(e,a)){const{results:t}=await d(e,r,void 0,a);return t?.[0]?.value}const n=await m(e,r,void 0,a);await n.waitForJobCompletion({interval:t.updateDelay});const{value:o}=await n.fetchResultData("Output_File",null,a);return o}async function J(e,a){const i=W(e),r=N.get(i)??{gpServerUrl:i,legendLayerNameMap:{},legendLayers:[]};return r.gpMetadata??=(await t(i,p({f:"json"},a))).data,r.cimVersion=r.gpMetadata.cimVersion,N.set(i,r),r}async function j(e,t){return Se(await J(e,t))}async function A(e,a){const i=await J(e,a),r=i.gpMetadata.tasks,n=i.gpServerUrl;return i.taskInfos||(i.taskInfos={},await Promise.all(r?.map((async e=>{const r=(await t(`${n}/${e}`,p({f:"json"},a))).data,o=r.name.startsWith(U.GetLayoutTemplatesInfo)?U.GetLayoutTemplatesInfo:r.name.startsWith(U.ExportWebMap)?U.ExportWebMap:null;o&&(i.taskInfos[o]??=r)}))??[])),i.taskInfos}async function C(e,t,a){return(await A(e,a))[t]??null}async function _(e,t,a){const i=await C(e,t,a);return i?.executionType?k.fromJSON(i.executionType):"sync"}async function z(t,a){a=a||{is11xService:!1,legendLayerNameMap:{},legendLayers:[]};const i=t.template||new P;null==i.showLabels&&(i.showLabels=!0);const r=i.exportOptions;let n;const o=h(i.layout);if(r){if(n={dpi:r.dpi},"map_only"===o?.toLowerCase()||""===o){const{width:e,height:t}=r;n.outputSize=null!=e&&null!=t?[e,t]:void 0}}const s=i.layoutOptions;let l;if(s){let e,t;"Miles"===s.scalebarUnit||"Kilometers"===s.scalebarUnit?(e="Kilometers",t="Miles"):"Meters"!==s.scalebarUnit&&"Feet"!==s.scalebarUnit||(e="Meters",t="Feet"),l={titleText:s.titleText,authorText:s.authorText,copyrightText:s.copyrightText,customTextElements:s.customTextElements,elementOverrides:s.elementOverrides,scaleBarOptions:e||t?{metricUnit:F.toJSON(e)??void 0,metricLabel:e?V[e]:void 0,nonMetricUnit:F.toJSON(t)??void 0,nonMetricLabel:t?V[t]:void 0}:void 0}}let c=null;s?.legendLayers&&(c=s.legendLayers.map((e=>{const t=e.layerId;a.legendLayerNameMap[t]=e.title;const i={id:t};return e.subLayerIds&&(i.subLayerIds=e.subLayerIds),i})));const u=await $(t,i,a);if(u.operationalLayers){const e=new RegExp("[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]"),t=/[\u0600-\u06FF]/,a=a=>{const i=a.text,r=a.font,n=r?.family?.toLowerCase();i&&r&&("arial"===n||"arial unicode ms"===n)&&(r.family=e.test(i)?"Arial Unicode MS":"Arial","normal"!==r.style&&t.test(i)&&(r.family="Arial Unicode MS"))};for(const i of u.operationalLayers)if(i.featureCollection?.layers)for(const e of i.featureCollection.layers){if(e.layerDefinition?.drawingInfo?.renderer?.symbol){const t=e.layerDefinition.drawingInfo.renderer;"esriTS"===t.symbol.type&&a(t.symbol)}if(e.featureSet?.features)for(const t of e.featureSet.features)t.symbol&&"esriTS"===t.symbol.type&&a(t.symbol)}}t.outSpatialReference&&(u.mapOptions.spatialReference=t.outSpatialReference.toJSON()),Object.assign(u,{exportOptions:n,layoutOptions:l||{}}),Object.assign(u.layoutOptions,{legendOptions:{operationalLayers:null!=c?c:a.legendLayers.slice()}}),a.legendLayers.length=0,N.set(a.gpServerUrl,a);const y={Web_Map_as_JSON:JSON.stringify(u),Format:g.toJSON(i.format),Layout_Template:o,Layout_Item_ID:void 0,Report_Template:M(i.report),Report_Item_ID:void 0};if(i.layoutItem){delete y.Layout_Template;const t=i.layoutItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Layout_Item_ID=JSON.stringify({id:t.id})}if(i.reportItem){delete y.Report_Template;const t=i.reportItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Report_Item_ID=JSON.stringify({id:t.id})}return t.extraParameters&&Object.assign(y,t.extraParameters),y}async function $(e,t,a){const i=e.view;let r=i.spatialReference;const n={operationalLayers:await q(i,t,a)};t.includeTables&&(n.tables=await le(i));let o=e.extent||a.ssExtent||i.extent;if(r?.isWrappable&&(o=o.clone()._normalize(!0),r=o.spatialReference),n.mapOptions={extent:o&&o.toJSON(),spatialReference:r&&r.toJSON(),showAttribution:t.attributionVisible},a.ssExtent=null,i.background&&(n.background=i.background.toJSON()),i.rotation&&(n.mapOptions.rotation=-i.rotation),t.scalePreserved&&(n.mapOptions.scale=t.outScale||i.scale),null!=i.timeExtent){const e=null!=i.timeExtent.start?i.timeExtent.start.getTime():null,t=null!=i.timeExtent.end?i.timeExtent.end.getTime():null;n.mapOptions.time=[e,t]}return t.reportOptions&&(n.reportOptions=t.reportOptions),n}function W(e){let t=e;const a=t.lastIndexOf("/GPServer/");return a>0&&(t=t.slice(0,a+9)),t}async function q(e,t,a){const i=[],r={layerView:null,printTemplate:t,view:e};let n=0;t.scalePreserved&&(n=t.outScale||e.scale);const o=b(e,n);for(const s of o){const e=s.layer;if(!e.loaded||"layers"in e)continue;let t;r.layerView=s,t=w(s)?await ne(e,r,a):S(e)?B(e):"csv"===e?.type?await K(e,r,a):"catalog-footprint"===e?.type?await G(e,r,a):"feature"===e?.type?await H(e,r,a):"geojson"===e?.type?await X(e,r,a):"graphics"===e?.type?await Y(e,r,a):"imagery"===e?.type?Z(e,a):"imagery-tile"===e?.type?await ee(e,r,a):"kml"===e?.type?await te(e,r,a):"map-image"===e?.type?ae(e,r,a):"map-notes"===e?.type?await ie(r,a):"open-street-map"===e?.type?re():"stream"===e?.type?await oe(e,r,a):"subtype-group"===e?.type?await se(e,a):"tile"===e?.type?ce(e,a):"vector-tile"===e?.type?await ue(e,r,a):"web-tile"===e?.type?ye(e):"wfs"===e?.type?await pe(e,r,a):"wms"===e?.type?fe(e,a):"wmts"===e?.type?de(e):await ne(e,r,a),t&&(Array.isArray(t)?i.push(...t):(t.id=e.id,t.title=a.legendLayerNameMap[e.id]||e.title,t.opacity=s.fullOpacity,t.minScale=e.minScale||0,t.maxScale=e.maxScale||0,x(e)&&e.blendMode&&"normal"!==e.blendMode&&(t.blendMode=e.blendMode),i.push(t)))}if(n)for(const s of i)s.minScale=0,s.maxScale=0;if(e.graphics?.length){const r=await Q(null,e.graphics,t,a);r&&i.push(r)}return i}function B(e){return{culture:e.culture,key:e.key,type:"BingMaps"+("aerial"===e.style?"Aerial":"hybrid"===e.style?"Hybrid":"Road")}}async function G(e,{layerView:t,printTemplate:a},i){if(parseFloat(i.cimVersion)<3.1){return Q(e,await be(t),a,i)}const r=e.parent,n={id:(o=we(r,"web-map")).id,url:o.url,layerType:o.layerType,customParameters:o.customParameters,dynamicGroupLayer:{visibility:!1},footprintLayer:o.footprintLayer,layerDefinition:o.layerDefinition};var o;return me(n,r),n}async function K(e,t,a){e.legendEnabled&&a.legendLayers.push({id:e.id});const i=t.layerView,r=t.printTemplate;if(!(i.filter||e.portalItem&&"public"!==e.portalItem.access)){const t=we(e,"web-map");return t.type="CSV",delete t.popupInfo,delete t.layerType,t.showLabels=r.showLabels&&e.labelsVisible,t}return Q(e,await be(i),r,a)}async function Q(e,t,a,i){let r;const n=T(),o=L(),s=D(),u=O(),y=D();if(y.layerDefinition.name="textLayer",delete y.layerDefinition.drawingInfo,e){if("esri.layers.FeatureLayer"===e.declaredClass||"esri.layers.StreamLayer"===e.declaredClass?n.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=u.layerDefinition.name=i.legendLayerNameMap[e.id]||e.arcgisProps?.title||e.title:"esri.layers.GraphicsLayer"===e.declaredClass&&(t=e.graphics.items),e.renderer){const t=e.renderer.toJSON(),a=n.layerDefinition.drawingInfo;a&&(a.renderer=t);const i=o.layerDefinition.drawingInfo;i&&(i.renderer=t);const r=s.layerDefinition.drawingInfo;r&&(r.renderer=t);const l=u.layerDefinition.drawingInfo;l&&(l.renderer=t)}if(a.showLabels&&e.labelsVisible&&"function"==typeof e.write){const t=we(e,"web-map"),a=t.layerDefinition?.drawingInfo?.labelingInfo;if(a){r=!0;const e=n.layerDefinition.drawingInfo;e&&(e.labelingInfo=a);const t=o.layerDefinition.drawingInfo;t&&(t.labelingInfo=a);const i=s.layerDefinition.drawingInfo;i&&(i.labelingInfo=a);const l=u.layerDefinition.drawingInfo;l&&(l.labelingInfo=a)}}}let p;e?.renderer||r||(delete n.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete u.layerDefinition.drawingInfo);const f=e?.fieldsIndex,d=e?.renderer;if(f){const t=new Set;r&&await c(t,e),d&&"function"==typeof d.collectRequiredFields&&await d.collectRequiredFields(t,f),p=Array.from(t);const a=f.fields.map((e=>e.toJSON()));n.layerDefinition.fields=a,o.layerDefinition.fields=a,s.layerDefinition.fields=a,u.layerDefinition.fields=a}const m=t?.length;let g;for(let c=0;c<m;c++){const e=t[c]||t.at(c);if(!1!==e.visible&&e.geometry){if(g=e.toJSON(),g.hasOwnProperty("popupTemplate")&&delete g.popupTemplate,g.geometry?.z&&delete g.geometry.z,g.symbol&&(g.symbol.angle||delete g.symbol.angle,xe(g.symbol)?g.symbol=await ge(g.symbol,i):g.symbol.text&&delete g.attributes),(!a||!a.forceFeatureAttributes)&&p?.length){const e={};for(const t of p)g.attributes?.hasOwnProperty(t)&&(e[t]=g.attributes[t]);g.attributes=e}"polygon"===e.geometry.type?n.featureSet.features.push(g):"polyline"===e.geometry.type?o.featureSet.features.push(g):"point"===e.geometry.type?g.symbol?.text?y.featureSet.features.push(g):s.featureSet.features.push(g):"multipoint"===e.geometry.type?u.featureSet.features.push(g):"extent"===e.geometry.type&&(g.geometry=l.fromExtent(e.geometry).toJSON(),n.featureSet.features.push(g))}}const h=[n,o,u,s,y].filter((e=>e.featureSet.features.length>0));for(const l of h){const e=l.featureSet.features.every((e=>e.symbol));if(e&&(!a||!a.forceFeatureAttributes))for(const t of l.featureSet.features)delete t.attributes;e&&delete l.layerDefinition.drawingInfo,l.layerDefinition.drawingInfo?.renderer&&await he(l.layerDefinition.drawingInfo.renderer,i)}return h.length?{featureCollection:{layers:h},showLabels:r}:null}async function H(e,t,a){let i;const r=e.renderer,n=parseFloat(a.cimVersion);if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type&&n<2.9||"pie-chart"===r?.type||"dot-density"===r?.type&&n<2.6)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const o=t.layerView,{printTemplate:s,view:l}=t,c="feature-layer"!==e.source?.type&&"ogc-feature"!==e.source?.type;if(o.filter||c||!r||"field"in r&&null!=r.field&&!e.getField(r.field)){const t=await be(o);i=await Q(e,t,s,a)}else{if(i={id:(p=we(e)).id,title:p.title,url:p.url,layerType:p.layerType,customParameters:p.customParameters,layerDefinition:p.layerDefinition,charts:s.includeCharts?p.charts:void 0},s.attributionVisible&&(i.credits=I(e)),i.showLabels=s.showLabels&&e.labelsVisible,me(i,e),delete i.layerDefinition?.featureReduction?.disablePopup,delete i.layerDefinition?.featureReduction?.popupInfo,o.displayFilterEnabled||delete i.layerDefinition?.displayFilterInfo,i.layerDefinition?.drawingInfo?.renderer&&(delete i.layerDefinition.minScale,delete i.layerDefinition.maxScale,await he(i.layerDefinition.drawingInfo.renderer,a),"visualVariables"in r&&r.visualVariables?.[0])){const e=r.visualVariables[0];if("size"===e.type&&e.maxSize&&"number"!=typeof e.maxSize&&e.minSize&&"number"!=typeof e.minSize){const t=y(e,l.scale);i.layerDefinition.drawingInfo.renderer.visualVariables[0].minSize=t.minSize,i.layerDefinition.drawingInfo.renderer.visualVariables[0].maxSize=t.maxSize}}const t=u(o);if(t&&(i.layerDefinition??={},i.layerDefinition.definitionExpression=i.layerDefinition.definitionExpression?`(${i.layerDefinition.definitionExpression}) AND (${t})`:t),e.gdbVersion&&(i.layerDefinition??={},i.layerDefinition.gdbVersion=e.gdbVersion),o.hasHighlight&&"highlightIds"in o){const t=o;i.selectionObjectIds=t.highlightIds,i.selectionSymbol=v(e.geometryType,t.highlightOptions??l.highlightOptions)}}var p;return i}async function X(e,t,a){if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});return Q(e,await be(t.layerView),t.printTemplate,a)}async function Y(e,{printTemplate:t},a){return Q(e,null,t,a)}function Z(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return a.bandIds=e.bandIds,a.compressionQuality=e.compressionQuality,a.format=e.format,a.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(a.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(a.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(a.layerDefinition??={},a.layerDefinition.drawingInfo??={},a.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),me(a,e),a}async function ee(e,t,a){if("flow"===e.renderer?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const i={bandIds:(r=we(e)).bandIds,customParameters:r.customParameters,interpolation:r.interpolation,layerDefinition:r.layerDefinition};var r;return i.layerType="ArcGISImageServiceLayer",me(i,e),i}async function te(e,t,a){const i=t.printTemplate;if(!e.portalItem||"public"===e.portalItem.access){const t=we(e,"web-map");return t.type="kml",delete t.layerType,t.url=s(e.url),t}const r=[],n=t.layerView,o="data:image/png;base64,";n.allVisibleMapImages.forEach(((t,a)=>{const i={id:`${e.id}_image${a}`,type:"image",title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:n.fullOpacity,extent:t.extent};t.href.startsWith(o)?i.imageData=t.href.slice(o.length):i.url=t.href,r.push(i)}));const l=[...n.allVisiblePoints.items,...n.allVisiblePolylines.items,...n.allVisiblePolygons.items],c={id:e.id,...await Q(null,l,i,a)};return r.push(c),r}function ae(e,{printTemplate:t,view:a},i){let r;const n={id:e.id,subLayerIds:[]};let o=[];const s=a.scale,l=e=>{const t=0===s,a=0===e.minScale||s<=e.minScale,i=0===e.maxScale||s>=e.maxScale;if(e.visible&&(t||a&&i))if(e.sublayers)e.sublayers.forEach(l);else{const t=e.toExportImageJSON(),a={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};o.unshift(a),n.subLayerIds.push(e.id)}};var c;return e.sublayers&&e.sublayers.forEach(l),o.length&&(o=o.map((({id:e,name:t,layerDefinition:a})=>({id:e,name:t,layerDefinition:a}))),r={layerType:(c=we(e)).layerType,customParameters:c.customParameters},r.layers=o,r.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:n.subLayerIds,t.attributionVisible&&(r.credits=I(e)),e.gdbVersion&&(r.gdbVersion=e.gdbVersion),me(r,e),e.legendEnabled&&i.legendLayers.push(n)),r}async function ie({layerView:e,printTemplate:t},a){const i=[],r=e.layer;if(null!=r.featureCollections)for(const n of r.featureCollections){const e=await Q(n,n.source,t,a);e&&i.push(...e.featureCollection.layers)}else if(null!=r.sublayers)for(const n of r.sublayers){const e=await Q(null,n.graphics,t,a);e&&i.push(...e.featureCollection.layers)}return{featureCollection:{layers:i}}}function re(){return{type:"OpenStreetMap"}}async function ne(e,{printTemplate:t,view:a},r){const n={type:"image"},s={format:"png",ignoreBackground:!0,ignorePadding:!0,layers:[e]};0!==a.rotation&&(s.rotation=0);const l=r.ssExtent||a.state.extent.clone();let c=96,u=!0,y=!0;if(t.exportOptions){const e=t.exportOptions;null!=e.dpi&&e.dpi>0&&(c=e.dpi),null!=e.width&&e.width>0&&(u=e.width%2==a.width%2),null!=e.height&&e.height>0&&(y=e.height%2==a.height%2)}if("map-only"===t.layout&&t.scalePreserved&&(!t.outScale||t.outScale===a.scale)&&96===c&&(!u||!y)&&a.state.extent.equals(a.extent)&&(s.area={x:0,y:0,width:a.width,height:a.height},u||(s.area.width-=1),y||(s.area.height-=1),!r.ssExtent)){const e=a.toMap(i(s.area.width,s.area.height));l.ymin=e.y,l.xmax=e.x,r.ssExtent=l}n.extent=l.clone()._normalize(!0).toJSON();const p=await a.takeScreenshot(s);return n.imageData=o(p.dataUrl)?.data,n}async function oe(e,{layerView:t,printTemplate:a},i){e.legendEnabled&&i.legendLayers.push({id:e.id});return Q(e,await be(t),a,i)}async function se(e,t){if(e.legendEnabled)for(const r of e.sublayers)r.legendEnabled&&t.legendLayers.push({id:r.id});const a={customParameters:(i=we(e)).customParameters,effect:i.effect,layerDefinition:i.layerDefinition,layerType:i.layerType,layers:i.layers,url:i.url};var i;if(me(a,e),Array.isArray(a.layers)){for(const e of a.layers)delete e.popupInfo;a.token&&a.layers.length>0&&(a.layers[a.layers.length-1].token=a.token,delete a.token)}return a}async function le(e){const t=[],a=[];for(const r of e.map.allTables)"feature"!==r.type||r.loaded||a.push(r.load());a.length&&await Promise.allSettled(a);for(const r of e.map.allTables)if("feature"===r.type&&r.loaded&&r.isTable&&"feature-layer"===r.source?.type){const e={id:(i=we(r)).id,title:i.title,customParameters:i.customParameters,layerDefinition:{definitionExpression:i.layerDefinition?.definitionExpression},url:i.url};me(e,r),t.push(e)}var i;return t.length?t:void 0}function ce(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return me(a,e),a}async function ue(e,t,a){const i=t.layerView;if(e.serviceUrl&&e.styleUrl&&!i.spriteSourceChanged&&!i.styleChanged){const t=f(e.styleUrl,e.apiKey),i=f(e.serviceUrl,e.apiKey);if(!t&&!i||"2.1.0"!==a.cimVersion){const a={type:"VectorTileLayer"};return a.styleUrl=s(e.styleUrl),a.token=t,i!==t&&(a.additionalTokens=[{url:e.serviceUrl,token:i}]),a}}return ne(e,t,a)}function ye(e){const t=e.urlTemplate?.replace(/\${/g,"{"),a={type:"WebTiledLayer",urlTemplate:t,credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(a.subDomains=e.subDomains),a}async function pe(e,t,a){return parseFloat(a.cimVersion)<3.5?ne(e,t,a):(e.legendEnabled&&a.legendLayers.push({id:e.id}),{layerType:(i=we(e,"web-map")).layerType,layerDefinition:i.layerDefinition,url:i.url,wfsInfo:i.wfsInfo});var i}function fe(e,t){let a;const i=[],r=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(r):e.name&&i.unshift(e.name))};return e.sublayers&&e.sublayers.forEach(r),i.length&&(e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:i}),a={type:"wms",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:i,url:s(e.url),version:e.version}),a}function de(e){const t=e.activeLayer;return{type:"wmts",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function me(e,t){t.url&&(e.url=s(e.url||t.url),e.token=f(e.url,t.apiKey))}async function ge(e,a){a.canvas||(a.canvas=document.createElement("canvas"));const i=1024;a.canvas.width=i,a.canvas.height=i;const o=a.canvas.getContext("2d");let s,l;if(e.path){const t=new Path2D(e.path);t.closePath(),o.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:"rgb(0,0,0)",o.fill(t);const a=E(o);if(!a)return null;o.clearRect(0,0,i,i);const n=r(e.size)/Math.max(a.width,a.height);o.scale(n,n);const c=i/n,u=c/2-a.width/2-a.x,y=c/2-a.height/2-a.y;if(o.translate(u,y),Array.isArray(e.color)&&o.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){const i=e.outline;o.lineWidth=r(i.width)/n,o.lineJoin="round",o.strokeStyle=`rgba(${i.color[0]},${i.color[1]},${i.color[2]},${i.color[3]/255})`,o.stroke(t),a.width+=o.lineWidth,a.height+=o.lineWidth}a.width*=n,a.height*=n;const p=o.getImageData(i/2-a.width/2,i/2-a.height/2,Math.ceil(a.width),Math.ceil(a.height));s=p.width,l=p.height,o.canvas.width=s,o.canvas.height=l,o.putImageData(p,0,0)}else{const a="image/svg+xml"===e.contentType?"data:image/svg+xml;base64,"+e.imageData:e.url,i=(await t(a,{responseType:"image"})).data;s=r(e.width),l=r(e.height),o.canvas.width=s,o.canvas.height=l,o.drawImage(i,0,0,o.canvas.width,o.canvas.height)}return{type:"esriPMS",imageData:o.canvas.toDataURL("image/png").slice(22),angle:e.angle,contentType:"image/png",height:n(l),width:n(s),xoffset:e.xoffset,yoffset:e.yoffset}}async function he(e,t){const a=e.type;if("simple"===a&&xe(e.symbol))e.symbol=await ge(e.symbol,t);else if("uniqueValue"===a||"classBreaks"===a){xe(e.defaultSymbol)&&(e.defaultSymbol=await ge(e.defaultSymbol,t));const i=e["uniqueValue"===a?"uniqueValueInfos":"classBreakInfos"];if(i)for(const e of i)xe(e.symbol)&&(e.symbol=await ge(e.symbol,t))}}async function be(e){return e.queryFeatures(e.createQuery()).then((e=>e.features))}function we(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function Se(e){return e.gpMetadata?.executionType?k.fromJSON(e.gpMetadata.executionType):"sync"}function xe(e){return e&&(e.path||"image/svg+xml"===e.contentType||e.url?.endsWith(".svg"))}!function(e){e.ExportWebMap="ExportWebMap",e.GetLayoutTemplatesInfo="GetLayoutTemplatesInfo"}(U||(U={}));export{U as PrintServiceTask,R as execute,z as getGpPrintParams,W as getGpServerUrl,j as getMode,_ as getTaskExecutionMode,C as getTaskInfo,A as getTaskInfos,N as printCacheMap};
5
+ import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as a}from"../core/jsonMap.js";import{createScreenPoint as i,pt2px as r,px2pt as n}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import l from"../geometry/Polygon.js";import{collectLabelingFields as c}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as u}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as y}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as p,findToken as f}from"./utils.js";import{execute as d}from"./geoprocessor/execute.js";import{submitJob as m}from"./geoprocessor/submitJob.js";import{formatJsonMap as g}from"./support/fileFormat.js";import{toJSON as h}from"./support/layoutTemplate.js";import{getVisibleLayerViews as b,isScreenshotRequired as w,isBingMapsLayer as S,isBlendLayer as x,getCopyright as I,getSelectionSymbol as v,createPointLayer as D,createPolygonLayer as T,createPolylineLayer as L,createMultipointLayer as O,getContextBoundingBox as E}from"./support/printTaskUtils.js";import P from"./support/PrintTemplate.js";import{toJSON as M}from"./support/reportTemplate.js";const V={Feet:"ft",Kilometers:"km",Meters:"m",Miles:"mi"},F=new a({esriFeet:"Feet",esriKilometers:"Kilometers",esriMeters:"Meters",esriMiles:"Miles"}),k=new a({esriExecutionTypeSynchronous:"sync",esriExecutionTypeAsynchronous:"async"}),N=new Map;var R;async function U(e,t,a){const i=await J(e,a),r=await z(t,i);if("sync"===await j(e,a)){const{results:t}=await d(e,r,void 0,a);return t?.[0]?.value}const n=await m(e,r,void 0,a);await n.waitForJobCompletion({interval:t.updateDelay});const{value:o}=await n.fetchResultData("Output_File",null,a);return o}async function J(e,a){const i=W(e),r=N.get(i)??{gpServerUrl:i,legendLayerNameMap:{},legendLayers:[]};return r.gpMetadata??=(await t(i,p({f:"json"},a))).data,r.cimVersion=r.gpMetadata.cimVersion,N.set(i,r),r}async function j(e,t){return Se(await J(e,t))}async function A(e,a){const i=await J(e,a),r=i.gpMetadata.tasks,n=i.gpServerUrl;return i.taskInfos||(i.taskInfos={},await Promise.all(r?.map((async e=>{const r=(await t(`${n}/${e}`,p({f:"json"},a))).data,o=r.name.startsWith(R.GetLayoutTemplatesInfo)?R.GetLayoutTemplatesInfo:r.name.startsWith(R.ExportWebMap)?R.ExportWebMap:null;o&&(i.taskInfos[o]??=r)}))??[])),i.taskInfos}async function C(e,t,a){return(await A(e,a))[t]??null}async function _(e,t,a){const i=await C(e,t,a);return i?.executionType?k.fromJSON(i.executionType):"sync"}async function z(t,a){a=a||{is11xService:!1,legendLayerNameMap:{},legendLayers:[]};const i=t.template||new P;null==i.showLabels&&(i.showLabels=!0);const r=i.exportOptions;let n;const o=h(i.layout);if(r){if(n={dpi:r.dpi},"map_only"===o?.toLowerCase()||""===o){const{width:e,height:t}=r;n.outputSize=null!=e&&null!=t?[e,t]:void 0}}const s=i.layoutOptions;let l;if(s){let e,t;"Miles"===s.scalebarUnit||"Kilometers"===s.scalebarUnit?(e="Kilometers",t="Miles"):"Meters"!==s.scalebarUnit&&"Feet"!==s.scalebarUnit||(e="Meters",t="Feet"),l={titleText:s.titleText,authorText:s.authorText,copyrightText:s.copyrightText,customTextElements:s.customTextElements,elementOverrides:s.elementOverrides,scaleBarOptions:e||t?{metricUnit:F.toJSON(e)??void 0,metricLabel:e?V[e]:void 0,nonMetricUnit:F.toJSON(t)??void 0,nonMetricLabel:t?V[t]:void 0}:void 0}}let c=null;s?.legendLayers&&(c=s.legendLayers.map((e=>{const t=e.layerId;a.legendLayerNameMap[t]=e.title;const i={id:t};return e.subLayerIds&&(i.subLayerIds=e.subLayerIds),i})));const u=await $(t,i,a);if(u.operationalLayers){const e=new RegExp("[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]"),t=/[\u0600-\u06FF]/,a=a=>{const i=a.text,r=a.font,n=r?.family?.toLowerCase();i&&r&&("arial"===n||"arial unicode ms"===n)&&(r.family=e.test(i)?"Arial Unicode MS":"Arial","normal"!==r.style&&t.test(i)&&(r.family="Arial Unicode MS"))};for(const i of u.operationalLayers)if(i.featureCollection?.layers)for(const e of i.featureCollection.layers){if(e.layerDefinition?.drawingInfo?.renderer?.symbol){const t=e.layerDefinition.drawingInfo.renderer;"esriTS"===t.symbol.type&&a(t.symbol)}if(e.featureSet?.features)for(const t of e.featureSet.features)t.symbol&&"esriTS"===t.symbol.type&&a(t.symbol)}}t.outSpatialReference&&(u.mapOptions.spatialReference=t.outSpatialReference.toJSON()),Object.assign(u,{exportOptions:n,layoutOptions:l||{}}),Object.assign(u.layoutOptions,{legendOptions:{operationalLayers:null!=c?c:a.legendLayers.slice()}}),a.legendLayers.length=0,N.set(a.gpServerUrl,a);const y={Web_Map_as_JSON:JSON.stringify(u),Format:g.toJSON(i.format),Layout_Template:o,Layout_Item_ID:void 0,Report_Template:M(i.report),Report_Item_ID:void 0};if(i.layoutItem){delete y.Layout_Template;const t=i.layoutItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Layout_Item_ID=JSON.stringify({id:t.id})}if(i.reportItem){delete y.Report_Template;const t=i.reportItem;await t.load(),"public"!==t.access&&e&&await e.getCredential(a.gpServerUrl),y.Report_Item_ID=JSON.stringify({id:t.id})}return t.extraParameters&&Object.assign(y,t.extraParameters),y}async function $(e,t,a){const i=e.view;let r=i.spatialReference;const n={operationalLayers:await q(i,t,a)};t.includeTables&&(n.tables=await le(i));let o=e.extent||a.ssExtent||i.extent;if(r?.isWrappable&&(o=o.clone()._normalize(!0),r=o.spatialReference),n.mapOptions={extent:o&&o.toJSON(),spatialReference:r&&r.toJSON(),showAttribution:t.attributionVisible},a.ssExtent=null,i.background&&(n.background=i.background.toJSON()),i.rotation&&(n.mapOptions.rotation=-i.rotation),t.scalePreserved&&(n.mapOptions.scale=t.outScale||i.scale),null!=i.timeExtent){const e=null!=i.timeExtent.start?i.timeExtent.start.getTime():null,t=null!=i.timeExtent.end?i.timeExtent.end.getTime():null;n.mapOptions.time=[e,t]}return t.reportOptions&&(n.reportOptions=t.reportOptions),n}function W(e){let t=e;const a=t.lastIndexOf("/GPServer/");return a>0&&(t=t.slice(0,a+9)),t}async function q(e,t,a){const i=[],r={layerView:null,printTemplate:t,view:e};let n=0;t.scalePreserved&&(n=t.outScale||e.scale);const o=b(e,n);for(const s of o){const e=s.layer;if(!e.loaded||"layers"in e)continue;let t;r.layerView=s,t=w(s)?await ne(e,r,a):S(e)?B(e):"csv"===e?.type?await K(e,r,a):"catalog-footprint"===e?.type?await G(e,r,a):"feature"===e?.type?await H(e,r,a):"geojson"===e?.type?await X(e,r,a):"graphics"===e?.type?await Y(e,r,a):"imagery"===e?.type?Z(e,a):"imagery-tile"===e?.type?await ee(e,r,a):"kml"===e?.type?await te(e,r,a):"map-image"===e?.type?ae(e,r,a):"map-notes"===e?.type?await ie(r,a):"open-street-map"===e?.type?re():"stream"===e?.type?await oe(e,r,a):"subtype-group"===e?.type?await se(e,a):"tile"===e?.type?ce(e,a):"vector-tile"===e?.type?await ue(e,r,a):"web-tile"===e?.type?ye(e):"wfs"===e?.type?await pe(e,r,a):"wms"===e?.type?fe(e,a):"wmts"===e?.type?de(e):await ne(e,r,a),t&&(Array.isArray(t)?i.push(...t):(t.id=e.id,t.title=a.legendLayerNameMap[e.id]||e.title,t.opacity=s.fullOpacity,t.minScale=e.minScale||0,t.maxScale=e.maxScale||0,x(e)&&e.blendMode&&"normal"!==e.blendMode&&(t.blendMode=e.blendMode),i.push(t)))}if(n)for(const s of i)s.minScale=0,s.maxScale=0;if(e.graphics?.length){const r=await Q(null,e.graphics,t,a);r&&i.push(r)}return i}function B(e){return{culture:e.culture,key:e.key,type:"BingMaps"+("aerial"===e.style?"Aerial":"hybrid"===e.style?"Hybrid":"Road")}}async function G(e,{layerView:t,printTemplate:a},i){if(parseFloat(i.cimVersion)<3.1){return Q(e,await be(t),a,i)}const r=e.parent,n={id:(o=we(r,"web-map")).id,url:o.url,layerType:o.layerType,customParameters:o.customParameters,dynamicGroupLayer:{visibility:!1},footprintLayer:o.footprintLayer,layerDefinition:o.layerDefinition};var o;return me(n,r),n}async function K(e,t,a){e.legendEnabled&&a.legendLayers.push({id:e.id});const i=t.layerView,r=t.printTemplate;if(!(i.filter||e.portalItem&&"public"!==e.portalItem.access)){const t=we(e,"web-map");return t.type="CSV",delete t.popupInfo,delete t.layerType,t.showLabels=r.showLabels&&e.labelsVisible,t}return Q(e,await be(i),r,a)}async function Q(e,t,a,i){let r;const n=T(),o=L(),s=D(),u=O(),y=D();if(y.layerDefinition.name="textLayer",delete y.layerDefinition.drawingInfo,e){if("esri.layers.FeatureLayer"===e.declaredClass||"esri.layers.StreamLayer"===e.declaredClass?n.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=u.layerDefinition.name=i.legendLayerNameMap[e.id]||e.arcgisProps?.title||e.title:"esri.layers.GraphicsLayer"===e.declaredClass&&(t=e.graphics.items),e.renderer){const t=e.renderer.toJSON(),a=n.layerDefinition.drawingInfo;a&&(a.renderer=t);const i=o.layerDefinition.drawingInfo;i&&(i.renderer=t);const r=s.layerDefinition.drawingInfo;r&&(r.renderer=t);const l=u.layerDefinition.drawingInfo;l&&(l.renderer=t)}if(a.showLabels&&e.labelsVisible&&"function"==typeof e.write){const t=we(e,"web-map"),a=t.layerDefinition?.drawingInfo?.labelingInfo;if(a){r=!0;const e=n.layerDefinition.drawingInfo;e&&(e.labelingInfo=a);const t=o.layerDefinition.drawingInfo;t&&(t.labelingInfo=a);const i=s.layerDefinition.drawingInfo;i&&(i.labelingInfo=a);const l=u.layerDefinition.drawingInfo;l&&(l.labelingInfo=a)}}}let p;e?.renderer||r||(delete n.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete u.layerDefinition.drawingInfo);const f=e?.fieldsIndex,d=e?.renderer;if(f){const t=new Set;r&&await c(t,e),d&&"function"==typeof d.collectRequiredFields&&await d.collectRequiredFields(t,f),p=Array.from(t);const a=f.fields.map((e=>e.toJSON()));n.layerDefinition.fields=a,o.layerDefinition.fields=a,s.layerDefinition.fields=a,u.layerDefinition.fields=a}const m=t?.length;let g;for(let c=0;c<m;c++){const e=t[c]||t.at(c);if(!1!==e.visible&&e.geometry){if(g=e.toJSON(),g.hasOwnProperty("popupTemplate")&&delete g.popupTemplate,g.geometry?.z&&delete g.geometry.z,g.symbol&&(g.symbol.angle||delete g.symbol.angle,xe(g.symbol)?g.symbol=await ge(g.symbol,i):g.symbol.text&&delete g.attributes),(!a||!a.forceFeatureAttributes)&&p?.length){const e={};for(const t of p)g.attributes?.hasOwnProperty(t)&&(e[t]=g.attributes[t]);g.attributes=e}"polygon"===e.geometry.type?n.featureSet.features.push(g):"polyline"===e.geometry.type?o.featureSet.features.push(g):"point"===e.geometry.type?g.symbol?.text?y.featureSet.features.push(g):s.featureSet.features.push(g):"multipoint"===e.geometry.type?u.featureSet.features.push(g):"extent"===e.geometry.type&&(g.geometry=l.fromExtent(e.geometry).toJSON(),n.featureSet.features.push(g))}}const h=[n,o,u,s,y].filter((e=>e.featureSet.features.length>0));for(const l of h){const e=l.featureSet.features.every((e=>e.symbol));if(e&&(!a||!a.forceFeatureAttributes))for(const t of l.featureSet.features)delete t.attributes;e&&delete l.layerDefinition.drawingInfo,l.layerDefinition.drawingInfo?.renderer&&await he(l.layerDefinition.drawingInfo.renderer,i)}return h.length?{featureCollection:{layers:h},showLabels:r}:null}async function H(e,t,a){let i;const r=e.renderer,n=parseFloat(a.cimVersion);if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type&&(n<2.9||"pie-chart"===e.featureReduction.renderer?.type)||"pie-chart"===r?.type&&n<3.1||"dot-density"===r?.type&&n<2.6)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const o=t.layerView,{printTemplate:s,view:l}=t,c="feature-layer"!==e.source?.type&&"ogc-feature"!==e.source?.type;if(o.filter||c||!r||"field"in r&&null!=r.field&&!e.getField(r.field)){const t=await be(o);i=await Q(e,t,s,a)}else{if(i={id:(p=we(e)).id,title:p.title,url:p.url,layerType:p.layerType,customParameters:p.customParameters,layerDefinition:p.layerDefinition,charts:s.includeCharts?p.charts:void 0},s.attributionVisible&&(i.credits=I(e)),i.showLabels=s.showLabels&&e.labelsVisible,me(i,e),delete i.layerDefinition?.featureReduction?.disablePopup,delete i.layerDefinition?.featureReduction?.popupInfo,o.displayFilterEnabled||delete i.layerDefinition?.displayFilterInfo,i.layerDefinition?.drawingInfo?.renderer&&(delete i.layerDefinition.minScale,delete i.layerDefinition.maxScale,await he(i.layerDefinition.drawingInfo.renderer,a),"visualVariables"in r&&r.visualVariables?.[0])){const e=r.visualVariables[0];if("size"===e.type&&e.maxSize&&"number"!=typeof e.maxSize&&e.minSize&&"number"!=typeof e.minSize){const t=y(e,l.scale);i.layerDefinition.drawingInfo.renderer.visualVariables[0].minSize=t.minSize,i.layerDefinition.drawingInfo.renderer.visualVariables[0].maxSize=t.maxSize}}const t=u(o);if(t&&(i.layerDefinition??={},i.layerDefinition.definitionExpression=i.layerDefinition.definitionExpression?`(${i.layerDefinition.definitionExpression}) AND (${t})`:t),e.gdbVersion&&(i.layerDefinition??={},i.layerDefinition.gdbVersion=e.gdbVersion),o.hasHighlight&&"highlightIds"in o){const t=o;i.selectionObjectIds=t.highlightIds,i.selectionSymbol=v(e.geometryType,t.highlightOptions??l.highlightOptions)}}var p;return i}async function X(e,t,a){if("binning"===e.featureReduction?.type||"cluster"===e.featureReduction?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});return Q(e,await be(t.layerView),t.printTemplate,a)}async function Y(e,{printTemplate:t},a){return Q(e,null,t,a)}function Z(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return a.bandIds=e.bandIds,a.compressionQuality=e.compressionQuality,a.format=e.format,a.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(a.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(a.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(a.layerDefinition??={},a.layerDefinition.drawingInfo??={},a.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),me(a,e),a}async function ee(e,t,a){if("flow"===e.renderer?.type)return ne(e,t,a);e.legendEnabled&&a.legendLayers.push({id:e.id});const i={bandIds:(r=we(e)).bandIds,customParameters:r.customParameters,interpolation:r.interpolation,layerDefinition:r.layerDefinition};var r;return i.layerType="ArcGISImageServiceLayer",me(i,e),i}async function te(e,t,a){const i=t.printTemplate;if(!e.portalItem||"public"===e.portalItem.access){const t=we(e,"web-map");return t.type="kml",delete t.layerType,t.url=s(e.url),t}const r=[],n=t.layerView,o="data:image/png;base64,";n.allVisibleMapImages.forEach(((t,a)=>{const i={id:`${e.id}_image${a}`,type:"image",title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:n.fullOpacity,extent:t.extent};t.href.startsWith(o)?i.imageData=t.href.slice(o.length):i.url=t.href,r.push(i)}));const l=[...n.allVisiblePoints.items,...n.allVisiblePolylines.items,...n.allVisiblePolygons.items],c={id:e.id,...await Q(null,l,i,a)};return r.push(c),r}function ae(e,{printTemplate:t,view:a},i){let r;const n={id:e.id,subLayerIds:[]};let o=[];const s=a.scale,l=e=>{const t=0===s,a=0===e.minScale||s<=e.minScale,i=0===e.maxScale||s>=e.maxScale;if(e.visible&&(t||a&&i))if(e.sublayers)e.sublayers.forEach(l);else{const t=e.toExportImageJSON(),a={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};o.unshift(a),n.subLayerIds.push(e.id)}};var c;return e.sublayers&&e.sublayers.forEach(l),o.length&&(o=o.map((({id:e,name:t,layerDefinition:a})=>({id:e,name:t,layerDefinition:a}))),r={layerType:(c=we(e)).layerType,customParameters:c.customParameters},r.layers=o,r.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:n.subLayerIds,t.attributionVisible&&(r.credits=I(e)),e.gdbVersion&&(r.gdbVersion=e.gdbVersion),me(r,e),e.legendEnabled&&i.legendLayers.push(n)),r}async function ie({layerView:e,printTemplate:t},a){const i=[],r=e.layer;if(null!=r.featureCollections)for(const n of r.featureCollections){const e=await Q(n,n.source,t,a);e&&i.push(...e.featureCollection.layers)}else if(null!=r.sublayers)for(const n of r.sublayers){const e=await Q(null,n.graphics,t,a);e&&i.push(...e.featureCollection.layers)}return{featureCollection:{layers:i}}}function re(){return{type:"OpenStreetMap"}}async function ne(e,{printTemplate:t,view:a},r){const n={type:"image"},s={format:"png",ignoreBackground:!0,ignorePadding:!0,layers:[e]};0!==a.rotation&&(s.rotation=0);const l=r.ssExtent||a.state.extent.clone();let c=96,u=!0,y=!0;if(t.exportOptions){const e=t.exportOptions;null!=e.dpi&&e.dpi>0&&(c=e.dpi),null!=e.width&&e.width>0&&(u=e.width%2==a.width%2),null!=e.height&&e.height>0&&(y=e.height%2==a.height%2)}if("map-only"===t.layout&&t.scalePreserved&&(!t.outScale||t.outScale===a.scale)&&96===c&&(!u||!y)&&a.state.extent.equals(a.extent)&&(s.area={x:0,y:0,width:a.width,height:a.height},u||(s.area.width-=1),y||(s.area.height-=1),!r.ssExtent)){const e=a.toMap(i(s.area.width,s.area.height));l.ymin=e.y,l.xmax=e.x,r.ssExtent=l}n.extent=l.clone()._normalize(!0).toJSON();const p=await a.takeScreenshot(s);return n.imageData=o(p.dataUrl)?.data,n}async function oe(e,{layerView:t,printTemplate:a},i){e.legendEnabled&&i.legendLayers.push({id:e.id});return Q(e,await be(t),a,i)}async function se(e,t){if(e.legendEnabled)for(const r of e.sublayers)r.legendEnabled&&t.legendLayers.push({id:r.id});const a={customParameters:(i=we(e)).customParameters,effect:i.effect,layerDefinition:i.layerDefinition,layerType:i.layerType,layers:i.layers,url:i.url};var i;if(me(a,e),Array.isArray(a.layers)){for(const e of a.layers)delete e.popupInfo;a.token&&a.layers.length>0&&(a.layers[a.layers.length-1].token=a.token,delete a.token)}return a}async function le(e){const t=[],a=[];for(const r of e.map.allTables)"feature"!==r.type||r.loaded||a.push(r.load());a.length&&await Promise.allSettled(a);for(const r of e.map.allTables)if("feature"===r.type&&r.loaded&&r.isTable&&"feature-layer"===r.source?.type){const e={id:(i=we(r)).id,title:i.title,customParameters:i.customParameters,layerDefinition:{definitionExpression:i.layerDefinition?.definitionExpression},url:i.url};me(e,r),t.push(e)}var i;return t.length?t:void 0}function ce(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});const a={layerType:(i=we(e)).layerType,customParameters:i.customParameters};var i;return me(a,e),a}async function ue(e,t,a){const i=t.layerView;if(e.serviceUrl&&e.styleUrl&&!i.spriteSourceChanged&&!i.styleChanged){const t=f(e.styleUrl,e.apiKey),i=f(e.serviceUrl,e.apiKey);if(!t&&!i||"2.1.0"!==a.cimVersion){const a={type:"VectorTileLayer"};return a.styleUrl=s(e.styleUrl),a.token=t,i!==t&&(a.additionalTokens=[{url:e.serviceUrl,token:i}]),a}}return ne(e,t,a)}function ye(e){const t=e.urlTemplate?.replace(/\${/g,"{"),a={type:"WebTiledLayer",urlTemplate:t,credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(a.subDomains=e.subDomains),a}async function pe(e,t,a){return parseFloat(a.cimVersion)<3.5?ne(e,t,a):(e.legendEnabled&&a.legendLayers.push({id:e.id}),{layerType:(i=we(e,"web-map")).layerType,layerDefinition:i.layerDefinition,url:i.url,wfsInfo:i.wfsInfo});var i}function fe(e,t){let a;const i=[],r=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(r):e.name&&i.unshift(e.name))};return e.sublayers&&e.sublayers.forEach(r),i.length&&(e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:i}),a={type:"wms",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:i,url:s(e.url),version:e.version}),a}function de(e){const t=e.activeLayer;return{type:"wmts",customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function me(e,t){t.url&&(e.url=s(e.url||t.url),e.token=f(e.url,t.apiKey))}async function ge(e,a){a.canvas||(a.canvas=document.createElement("canvas"));const i=1024;a.canvas.width=i,a.canvas.height=i;const o=a.canvas.getContext("2d");let s,l;if(e.path){const t=new Path2D(e.path);t.closePath(),o.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:"rgb(0,0,0)",o.fill(t);const a=E(o);if(!a)return null;o.clearRect(0,0,i,i);const n=r(e.size)/Math.max(a.width,a.height);o.scale(n,n);const c=i/n,u=c/2-a.width/2-a.x,y=c/2-a.height/2-a.y;if(o.translate(u,y),Array.isArray(e.color)&&o.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){const i=e.outline;o.lineWidth=r(i.width)/n,o.lineJoin="round",o.strokeStyle=`rgba(${i.color[0]},${i.color[1]},${i.color[2]},${i.color[3]/255})`,o.stroke(t),a.width+=o.lineWidth,a.height+=o.lineWidth}a.width*=n,a.height*=n;const p=o.getImageData(i/2-a.width/2,i/2-a.height/2,Math.ceil(a.width),Math.ceil(a.height));s=p.width,l=p.height,o.canvas.width=s,o.canvas.height=l,o.putImageData(p,0,0)}else{const a="image/svg+xml"===e.contentType?"data:image/svg+xml;base64,"+e.imageData:e.url,i=(await t(a,{responseType:"image"})).data;s=r(e.width),l=r(e.height),o.canvas.width=s,o.canvas.height=l,o.drawImage(i,0,0,o.canvas.width,o.canvas.height)}return{type:"esriPMS",imageData:o.canvas.toDataURL("image/png").slice(22),angle:e.angle,contentType:"image/png",height:n(l),width:n(s),xoffset:e.xoffset,yoffset:e.yoffset}}async function he(e,t){const a=e.type;if("simple"===a&&xe(e.symbol))e.symbol=await ge(e.symbol,t);else if("uniqueValue"===a||"classBreaks"===a){xe(e.defaultSymbol)&&(e.defaultSymbol=await ge(e.defaultSymbol,t));const i=e["uniqueValue"===a?"uniqueValueInfos":"classBreakInfos"];if(i)for(const e of i)xe(e.symbol)&&(e.symbol=await ge(e.symbol,t))}}async function be(e){return e.queryFeatures(e.createQuery()).then((e=>e.features))}function we(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function Se(e){return e.gpMetadata?.executionType?k.fromJSON(e.gpMetadata.executionType):"sync"}function xe(e){return e&&(e.path||"image/svg+xml"===e.contentType||e.url?.endsWith(".svg"))}!function(e){e.ExportWebMap="ExportWebMap",e.GetLayoutTemplatesInfo="GetLayoutTemplatesInfo"}(R||(R={}));export{R as PrintServiceTask,U as execute,z as getGpPrintParams,W as getGpServerUrl,j as getMode,_ as getTaskExecutionMode,C as getTaskInfo,A as getTaskInfos,N as printCacheMap};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import o from"../../request.js";import"../../core/has.js";import{strict as t}from"../../core/jsonMap.js";import s from"../../core/JSONSupport.js";import{onAbort as r,createAbortError as i}from"../../core/promiseUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as c}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{parseUrl as l}from"../utils.js";import u from"../geoprocessor/GPOptions.js";import{gpEncode as b,decode as m}from"../geoprocessor/utils.js";import j from"./GPMessage.js";var p;const h=t()({esriJobCancelled:"job-cancelled",esriJobCancelling:"job-cancelling",esriJobDeleted:"job-deleted",esriJobDeleting:"job-deleting",esriJobTimedOut:"job-timed-out",esriJobExecuting:"job-executing",esriJobFailed:"job-failed",esriJobNew:"job-new",esriJobSubmitted:"job-submitted",esriJobSucceeded:"job-succeeded",esriJobWaiting:"job-waiting"},{ignoreUnknown:!1}),d=1e3;let g=class extends s{static{p=this}constructor(e){super(e),this.jobId=null,this.jobStatus=null,this.messages=null,this.progress=null,this.requestOptions=null,this.sourceUrl=null,this._cancelJobTimer=void 0,this._jobCompletionTimer=void 0}async cancelJob(e){const{jobId:t,sourceUrl:s}=this,{path:a}=l(s),c={...this.requestOptions,...e,query:{f:"json"}},n=`${a}/jobs/${t}/cancel`,{data:u}=await o(n,c),{messages:b,jobStatus:m,progress:j}=p.fromJSON(u);return this.set({messages:b,jobStatus:m,progress:j}),"job-cancelled"===m?this:new Promise(((o,t)=>{r(c.signal,(()=>{this.clearCancelJobTimer(),t(i())})),this.clearCancelJobTimer();const s=()=>{this._cancelJobTimer||t(i()),this.checkJobStatus(e).then((({jobStatus:e})=>{switch(e){case"job-cancelling":default:this._cancelJobTimer=setTimeout(s,d);break;case"job-deleted":case"job-deleting":case"job-executing":case"job-failed":case"job-new":case"job-submitted":case"job-succeeded":case"job-timed-out":case"job-waiting":t(this);break;case"job-cancelled":o(this)}}))};this._cancelJobTimer=setTimeout(s,d)}))}destroy(){clearInterval(this._cancelJobTimer),clearInterval(this._jobCompletionTimer)}async checkJobStatus(e){const{path:t}=l(this.sourceUrl),s={...this.requestOptions,...e,query:{f:"json"}},r=`${t}/jobs/${this.jobId}`,{data:i}=await o(r,s),{messages:a,jobStatus:c,progress:n}=p.fromJSON(i);return this.set({messages:a,jobStatus:c,progress:n}),this}async fetchResultData(e,t,s){t=u.from(t||{});const{returnColumnName:r,returnFeatureCollection:i,returnM:a,returnZ:c,outSpatialReference:n}=t,{path:j}=l(this.sourceUrl),p=b({returnColumnName:r||null,returnFeatureCollection:i||null,returnM:a||null,returnZ:c||null,outSR:n,returnType:"data",f:"json"},null),h={...this.requestOptions,...s,query:p},d=`${j}/jobs/${this.jobId}/results/${e}`,{data:g}=await o(d,h);return m(g)}async fetchResultImage(e,t,s){const{path:r}=l(this.sourceUrl),i={...t.toJSON(),f:"json"},a=b(i),c={...this.requestOptions,...s,query:a},n=`${r}/jobs/${this.jobId}/results/${e}`,{data:u}=await o(n,c);return m(u)}async fetchResultMapImageLayer(){const{path:e}=l(this.sourceUrl),o=e.indexOf("/GPServer/"),t=`${e.slice(0,Math.max(0,o))}/MapServer/jobs/${this.jobId}`;return new(0,(await import("../../layers/MapImageLayer.js")).default)({url:t})}async waitForJobCompletion(e={}){const{interval:o=d,signal:t,statusCallback:s}=e;return new Promise(((e,a)=>{r(t,(()=>{this.clearJobCompletionTimer(),a(i())})),this.clearJobCompletionTimer();const c=()=>{this._jobCompletionTimer||a(i()),this.checkJobStatus().then((({jobStatus:t})=>{switch(t){case"job-succeeded":e(this);break;case"job-executing":case"job-new":case"job-submitted":case"job-waiting":s&&s(this),this._jobCompletionTimer=setTimeout(c,o);break;case"job-cancelled":case"job-cancelling":case"job-deleted":case"job-deleting":case"job-failed":case"job-timed-out":a(this);break;default:this._jobCompletionTimer=setTimeout(c,o)}})).catch((e=>{a(e)}))};this._jobCompletionTimer=setTimeout(c,o)}))}clearCancelJobTimer(){clearTimeout(this._cancelJobTimer),this._cancelJobTimer=void 0}clearJobCompletionTimer(){clearTimeout(this._jobCompletionTimer),this._jobCompletionTimer=void 0}};e([a()],g.prototype,"jobId",void 0),e([c(h,{ignoreUnknown:!1})],g.prototype,"jobStatus",void 0),e([a({type:[j]})],g.prototype,"messages",void 0),e([a()],g.prototype,"progress",void 0),e([a()],g.prototype,"requestOptions",void 0),e([a({json:{write:!0}})],g.prototype,"sourceUrl",void 0),g=p=e([n("esri.rest.support.JobInfo")],g);export{g as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import o from"../../request.js";import"../../core/has.js";import{strict as t}from"../../core/jsonMap.js";import s from"../../core/JSONSupport.js";import{onAbort as r,createAbortError as i}from"../../core/promiseUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{enumeration as c}from"../../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{parseUrl as l}from"../utils.js";import u from"../geoprocessor/GPOptions.js";import{gpEncode as b,decode as m}from"../geoprocessor/utils.js";import j from"./GPMessage.js";var p;const h=t()({esriJobCancelled:"job-cancelled",esriJobCancelling:"job-cancelling",esriJobDeleted:"job-deleted",esriJobDeleting:"job-deleting",esriJobTimedOut:"job-timed-out",esriJobExecuting:"job-executing",esriJobFailed:"job-failed",esriJobNew:"job-new",esriJobSubmitted:"job-submitted",esriJobSucceeded:"job-succeeded",esriJobWaiting:"job-waiting"},{ignoreUnknown:!1}),d=1e3;let g=class extends s{static{p=this}constructor(e){super(e),this.jobId=null,this.jobStatus=null,this.messages=null,this.progress=null,this.requestOptions=null,this.sourceUrl=null,this._cancelJobTimer=void 0,this._jobCompletionTimer=void 0}async cancelJob(e){const{jobId:t,sourceUrl:s}=this,{path:a}=l(s),c={...this.requestOptions,...e,query:{f:"json"}},n=`${a}/jobs/${t}/cancel`,{data:u}=await o(n,c),{messages:b,jobStatus:m,progress:j}=p.fromJSON(u);return this.set({messages:b,jobStatus:m,progress:j}),"job-cancelled"===m?this:new Promise(((o,t)=>{r(c.signal,(()=>{this.clearCancelJobTimer(),t(i())})),this.clearCancelJobTimer();const s=()=>{this._cancelJobTimer||t(i()),this.checkJobStatus(e).then((({jobStatus:e})=>{switch(e){case"job-cancelling":default:this._cancelJobTimer=setTimeout(s,d);break;case"job-deleted":case"job-deleting":case"job-executing":case"job-failed":case"job-new":case"job-submitted":case"job-succeeded":case"job-timed-out":case"job-waiting":t(this);break;case"job-cancelled":o(this)}})).catch((e=>{t(e)}))};this._cancelJobTimer=setTimeout(s,d)}))}destroy(){clearInterval(this._cancelJobTimer),clearInterval(this._jobCompletionTimer)}async checkJobStatus(e){const{path:t}=l(this.sourceUrl),s={...this.requestOptions,...e,query:{f:"json"}},r=`${t}/jobs/${this.jobId}`,{data:i}=await o(r,s),{messages:a,jobStatus:c,progress:n}=p.fromJSON(i);return this.set({messages:a,jobStatus:c,progress:n}),this}async fetchResultData(e,t,s){t=u.from(t||{});const{returnColumnName:r,returnFeatureCollection:i,returnM:a,returnZ:c,outSpatialReference:n}=t,{path:j}=l(this.sourceUrl),p=b({returnColumnName:r||null,returnFeatureCollection:i||null,returnM:a||null,returnZ:c||null,outSR:n,returnType:"data",f:"json"},null),h={...this.requestOptions,...s,query:p},d=`${j}/jobs/${this.jobId}/results/${e}`,{data:g}=await o(d,h);return m(g)}async fetchResultImage(e,t,s){const{path:r}=l(this.sourceUrl),i={...t.toJSON(),f:"json"},a=b(i),c={...this.requestOptions,...s,query:a},n=`${r}/jobs/${this.jobId}/results/${e}`,{data:u}=await o(n,c);return m(u)}async fetchResultMapImageLayer(){const{path:e}=l(this.sourceUrl),o=e.indexOf("/GPServer/"),t=`${e.slice(0,Math.max(0,o))}/MapServer/jobs/${this.jobId}`;return new(0,(await import("../../layers/MapImageLayer.js")).default)({url:t})}async waitForJobCompletion(e={}){const{interval:o=d,signal:t,statusCallback:s}=e;return new Promise(((e,a)=>{r(t,(()=>{this.clearJobCompletionTimer(),a(i())})),this.clearJobCompletionTimer();const c=()=>{this._jobCompletionTimer||a(i()),this.checkJobStatus().then((({jobStatus:t})=>{switch(t){case"job-succeeded":e(this);break;case"job-executing":case"job-new":case"job-submitted":case"job-waiting":s&&s(this),this._jobCompletionTimer=setTimeout(c,o);break;case"job-cancelled":case"job-cancelling":case"job-deleted":case"job-deleting":case"job-failed":case"job-timed-out":a(this);break;default:this._jobCompletionTimer=setTimeout(c,o)}})).catch((e=>{a(e)}))};this._jobCompletionTimer=setTimeout(c,o)}))}clearCancelJobTimer(){clearTimeout(this._cancelJobTimer),this._cancelJobTimer=void 0}clearJobCompletionTimer(){clearTimeout(this._jobCompletionTimer),this._jobCompletionTimer=void 0}};e([a()],g.prototype,"jobId",void 0),e([c(h,{ignoreUnknown:!1})],g.prototype,"jobStatus",void 0),e([a({type:[j]})],g.prototype,"messages",void 0),e([a()],g.prototype,"progress",void 0),e([a()],g.prototype,"requestOptions",void 0),e([a({json:{write:!0}})],g.prototype,"sourceUrl",void 0),g=p=e([n("esri.rest.support.JobInfo")],g);export{g 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.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../chunks/tslib.es6.js";import o 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 e=class extends o{constructor(r){super(r)}};r([t({type:String,json:{write:!0}})],e.prototype,"key",void 0),r([t({type:String,json:{write:!0}})],e.prototype,"text",void 0),e=r([s("esri.rest.support.TranslateContent")],e);const p=e;export{p as default};
5
+ import{_ as r}from"../../chunks/tslib.es6.js";import o 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 e=class extends o{constructor(r){super(r)}};r([t({type:String,json:{write:!0}})],e.prototype,"key",void 0),r([t({type:String,json:{write:!0}})],e.prototype,"text",void 0),e=r([s("esri.rest.support.TranslateContent")],e);export{e 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.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{apiKey as e}from"./commonProperties.js";import p from"./TranslateContent.js";let i=class extends o{constructor(t){super(t),this.to=null,this.contents=null,this.portalUrl="https://www.arcgis.com",this.translator="esri",this.from=null,this.apiKey=null}};t([r({type:[String],json:{write:!0}})],i.prototype,"to",void 0),t([r({type:[p],json:{write:!0}})],i.prototype,"contents",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"portalUrl",void 0),t([r({type:String,json:{write:!0,default:"esri"}})],i.prototype,"translator",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"from",void 0),t([r(e)],i.prototype,"apiKey",void 0),i=t([s("esri.rest.support.TranslateParameters")],i);const n=i;export{n as default};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import o from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import{apiKey as e}from"./commonProperties.js";import p from"./TranslateContent.js";let i=class extends o{constructor(t){super(t),this.to=null,this.contents=null,this.portalUrl="https://www.arcgis.com",this.translator="esri",this.from=null,this.apiKey=null}};t([r({type:[String],json:{write:!0}})],i.prototype,"to",void 0),t([r({type:[p],json:{write:!0}})],i.prototype,"contents",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"portalUrl",void 0),t([r({type:String,json:{write:!0,default:"esri"}})],i.prototype,"translator",void 0),t([r({type:String,json:{write:!0}})],i.prototype,"from",void 0),t([r(e)],i.prototype,"apiKey",void 0),i=t([s("esri.rest.support.TranslateParameters")],i);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.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";let s=class extends t{constructor(e){super(e),this.text=null,this.detectedLanguage="en",this.detectedLanguageScore=-1}};e([r({type:String,json:{write:!0}})],s.prototype,"key",void 0),e([r({type:String,json:{write:!0}})],s.prototype,"text",void 0),e([r({type:String,json:{read:{source:"detectedLanguage.language"},write:{target:"detectedLanguage.language"}}})],s.prototype,"detectedLanguage",void 0),e([r({type:Number,json:{read:{source:"detectedLanguage.score"},write:{target:"detectedLanguage.score"}}})],s.prototype,"detectedLanguageScore",void 0),e([r({type:Object,json:{write:!0}})],s.prototype,"translation",void 0),s=e([o("esri.rest.support.TranslateResult")],s);const a=s;export{a as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";let s=class extends t{constructor(e){super(e),this.text=null,this.detectedLanguage="en",this.detectedLanguageScore=-1}};e([r({type:String,json:{write:!0}})],s.prototype,"key",void 0),e([r({type:String,json:{write:!0}})],s.prototype,"text",void 0),e([r({type:String,json:{read:{source:"detectedLanguage.language"},write:{target:"detectedLanguage.language"}}})],s.prototype,"detectedLanguage",void 0),e([r({type:Number,json:{read:{source:"detectedLanguage.score"},write:{target:"detectedLanguage.score"}}})],s.prototype,"detectedLanguageScore",void 0),e([r({type:Object,json:{write:!0}})],s.prototype,"translation",void 0),s=e([o("esri.rest.support.TranslateResult")],s);export{s 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.33/esri/copyright.txt for details.
4
4
  */
5
- let a;function e(){return a||(a=(async()=>{const a=await import("./arcadeUtils.js");return{arcade:a.arcade,arcadeUtils:a,Dictionary:a.Dictionary,Feature:a.arcadeFeature,Voxel:a.Voxel}})()),a}export{e as loadArcade};
5
+ let a;function e(){return a||(a=(async()=>{const[a,e,r]=await Promise.all([import("./arcadeUtils.js"),import("../arcade/batchExec.js"),import("../arcade/functions/aiServices.js")]);return{arcade:a.arcade,arcadeUtils:a,batchExec:e,aiServices:r,Dictionary:a.Dictionary,Feature:a.arcadeFeature,Voxel:a.Voxel}})()),a}export{e as loadArcade};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- const c="20250507",a="9508c1aac42a9f16acd5171386c474687ff3a78c";export{c as buildDate,a as commitHash};
5
+ const b="20250508",c="eb618188124186536f3182b94f6500d884057c24";export{b as buildDate,c as commitHash};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{AFillMeshWriter as e}from"../fill/AFillMeshWriter.js";import{DataType as t}from"../../../../../../webgl/enums.js";const r={createComputedParams:e=>e,optionalAttributes:{},attributes:{id:{type:t.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:t.UNSIGNED_BYTE,count:1},pos:{type:t.SHORT,count:2,pack:"position",packPrecisionFactor:10},inverseArea:{type:t.FLOAT,count:1,packTessellation:({inverseArea:e})=>e}}};class s extends e{constructor(){super(...arguments),this.vertexSpec=r}createTesselationParams(e,t){return{inverseArea:1/e.readGeometryArea()}}}export{s as DotDensityMeshWriter,r as dotDensityVertexSpec};
5
+ import{AFillMeshWriter as e}from"../fill/AFillMeshWriter.js";import{DataType as t}from"../../../../../../webgl/enums.js";const r={createComputedParams:e=>e,optionalAttributes:{},attributes:{id:{type:t.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:t.UNSIGNED_BYTE,count:1},pos:{type:t.SHORT,count:2,pack:"position",packPrecisionFactor:10},inverseArea:{type:t.FLOAT,count:1,packTessellation:({inverseArea:e})=>e}}};class s extends e{constructor(){super(...arguments),this.vertexSpec=r}createTesselationParams(e){return{inverseArea:1/e.readGeometryArea()}}}export{s as DotDensityMeshWriter,r as dotDensityVertexSpec};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../../../../../core/has.js";import{loadLibtess as e}from"../../../../../../../geometry/libtess.js";import{clipMarshall as t,triangulate as r,triangulateLibtess as s}from"../../../mesh/templates/templateUtils.js";import{MeshWriter as i}from"../mesh/MeshWriter.js";const o=100,n=has("featurelayer-fast-triangulation-enabled");class a extends i{async loadDependencies(){await Promise.all([super.loadDependencies(),e()])}_write(e,t,r){const s=r?.asOptimized()??t.readGeometryForDisplay(),i=this._clip(s);i&&(e.recordStart(this.instanceId,this.attributeLayout),this._writeGeometry(e,t,i),e.recordEnd())}_clip(e){if(!e)return null;const r=this.hasEffects;return t(e,r?256:8)}_writeGeometry(e,t,i){const a=i.maxLength>o,c=[],l=this.createTesselationParams(t,i);if(!a&&n&&r(c,i))return void(c.length&&this._writeVertices(e,t,i.coords,l,c));const d=s(i);this._writeVertices(e,t,d,l)}_writeVertices(e,t,r,s,i){const o=t.getDisplayId(),n=e.vertexCount(),a=this.hasEffects;let c=0;if(i)for(const l of i){const t=r[2*l],i=r[2*l+1];a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}else for(let l=0;l<r.length;l+=2){const t=Math.round(r[l]),i=Math.round(r[l+1]);a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}e.indexEnsureSize(c);for(let l=0;l<c;l++)e.indexWrite(l+n)}}export{a as AFillMeshWriter};
5
+ import has from"../../../../../../../core/has.js";import{loadLibtess as e}from"../../../../../../../geometry/libtess.js";import{clipMarshall as t,triangulate as r,triangulateLibtess as s}from"../../../mesh/templates/templateUtils.js";import{MeshWriter as i}from"../mesh/MeshWriter.js";const o=100,n=has("featurelayer-fast-triangulation-enabled");class a extends i{async loadDependencies(){await Promise.all([super.loadDependencies(),e()])}_write(e,t,r){const s=r?.asOptimized()??t.readGeometryForDisplay(),i=this._clip(s);i&&(e.recordStart(this.instanceId,this.attributeLayout),this._writeGeometry(e,t,i),e.recordEnd())}_clip(e){if(!e)return null;const r=this.hasEffects;return t(e,r?256:8)}_writeGeometry(e,t,i){const a=i.maxLength>o,c=[],l=this.createTesselationParams(t);if(!a&&n&&r(c,i))return void(c.length&&this._writeVertices(e,t,i.coords,l,c));const d=s(i);this._writeVertices(e,t,d,l)}_writeVertices(e,t,r,s,i){const o=t.getDisplayId(),n=e.vertexCount(),a=this.hasEffects;let c=0;if(i)for(const l of i){const t=r[2*l],i=r[2*l+1];a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}else for(let l=0;l<r.length;l+=2){const t=Math.round(r[l]),i=Math.round(r[l+1]);a&&e.recordBounds(t,i,0,0),this._writeVertex(e,o,t,i,s),c++}e.indexEnsureSize(c);for(let l=0;l<c;l++)e.indexWrite(l+n)}}export{a as AFillMeshWriter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{minMaxZoomPrecisionFactor as t}from"../../../definitions.js";import{AFillMeshWriter as o}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as r}from"./meshWriterUtils.js";import{DataType as s}from"../../../../../../webgl/enums.js";const i={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:s.SHORT,count:2,packPrecisionFactor:t,pack:({scaleInfo:t},{tileInfo:o})=>r(t,o)}},attributes:{id:{type:s.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:s.UNSIGNED_BYTE,count:1},pos:{type:s.SHORT,count:2,pack:"position",packPrecisionFactor:10},color:{type:s.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>e(t)}}};class c extends o{constructor(){super(...arguments),this.vertexSpec=i}createTesselationParams(t,o){return null}}export{c as FillMeshWriter,i as fillVertexSpec};
5
+ import{minMaxZoomPrecisionFactor as t}from"../../../definitions.js";import{AFillMeshWriter as o}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as r}from"./meshWriterUtils.js";import{DataType as s}from"../../../../../../webgl/enums.js";const i={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:s.SHORT,count:2,packPrecisionFactor:t,pack:({scaleInfo:t},{tileInfo:o})=>r(t,o)}},attributes:{id:{type:s.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:s.UNSIGNED_BYTE,count:1},pos:{type:s.SHORT,count:2,pack:"position",packPrecisionFactor:10},color:{type:s.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>e(t)}}};class c extends o{constructor(){super(...arguments),this.vertexSpec=i}createTesselationParams(t){return null}}export{c as FillMeshWriter,i as fillVertexSpec};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{SymbolUnits as t}from"../../../../../../../symbols/cim/enums.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as c}from"./meshWriterUtils.js";import{DataType as l}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:l.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=c(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=c(o.isDiscrete)),i}},tlbr:{count:4,type:l.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:l.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:l.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:l.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _preventEffectClipping(){return!0}createTesselationParams(t,e){return{gradientStats:n(e,this.evaluatedMeshParams)}}_write(t,e,r){const i=r?.asOptimized()??e.readGeometryForDisplay(),s=this._clip(i);if(!s)return;const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
5
+ import{SymbolUnits as t}from"../../../../../../../symbols/cim/enums.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as l}from"./meshWriterUtils.js";import{DataType as c}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=l(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=l(o.isDiscrete)),i}},tlbr:{count:4,type:c.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:c.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _preventEffectClipping(){return!0}createTesselationParams(t){return{gradientStats:n(this._unclippedGeometry,this.evaluatedMeshParams)}}_write(t,e,r){const i=r?.asOptimized()??e.readGeometryForDisplay();this._unclippedGeometry=i;const s=this._clip(i);if(!s)return void(this._unclippedGeometry=null);const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),this._unclippedGeometry=null,t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import r from"../../../../../core/Error.js";import{makeHandle as t}from"../../../../../core/handleUtils.js";import{destroyMaybe as n}from"../../../../../core/maybe.js";import o from"../../../../../core/Promise.js";import{on as i,watch as a}from"../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as u}from"../../../../../core/accessorSupport/decorators/subclass.js";import{FeatureLayerViewPerformanceInfo as l}from"../../FeatureLayerViewPerformanceInfo.js";import{Feature3DPipelineWorkerHandle as d}from"./Feature3DPipelineWorkerHandle.js";import{FeaturePipelineRenderManager as p}from"./rendering/FeaturePipelineRenderManager.js";import{emptyHighlightHandle as y}from"../../support/highlightUtils.js";import{LayerViewPerformanceInfo as m}from"../../support/LayerViewPerformanceInfo.js";import{UpdatePolicy as c}from"../../../webgl-engine/lib/UpdatePolicy.js";let h=class extends o{constructor(e){super(e),this._renderer=null,this.graphicsQuery={queryForSymbologySnapping:(e,t)=>{throw new r("featurelayer:unsupported-symbology-snapping","Symbology snapping not supported")},executeQuery:async(e,r)=>await this._workerHandle.executeQuery(e,r),executeQueryForIds:async(e,r)=>await this._workerHandle.executeQueryForIds(e,r),executeQueryForCount:async(e,r)=>await this._workerHandle.executeQueryForCount(e,r),executeQueryForExtent:async(e,r)=>await this._workerHandle.executeQueryForExtent(e,r),executeQueryForLatestObservations:async(e,r)=>await this._workerHandle.executeQueryForLatestObservations(e,r)},this.maximumNumberOfFeatures=1e3}initialize(){if("point"!==this.layerView.layer.geometryType)throw new r("featurelayer:unsupported-geometry-type",`${this.layerView.layer.geometryType} is not supported`);this.addResolvingPromise(this.setup())}destroy(){this.removeAllHandles(),this._workerHandle.destroy(),n(this._renderer)}async setup(){const e=this.layerView,{layer:t,view:n,uid:o}=e,{spatialReference:s,renderSpatialReference:u,resourceController:l,renderCoordsHelper:y,elevationProvider:m}=n,c=n.state.viewingMode;if(this._renderer=new p({view:n,layerViewUid:o}),"feature"!==t.type)throw new r("featurelayer:unsupported-layertype","Only FeatureLayer is supported");const h=new d({schedule:e=>l.immediate.schedule(e),layer:t,layerView:e,viewSpatialReference:s,renderSpatialReference:u,viewingMode:c,renderer:this._renderer,elevationProvider:m,renderCoordsHelper:y});this._workerHandle=await h.when(),this.addHandles([this.layerView.view.featureTiles.addClient(),i((()=>this.layerView.view.featureTiles.tiles),"change",(e=>{this._workerHandle.onTileTreeChange(e)}),{onListenerAdd:e=>this._workerHandle.onTileTreeChange({added:e.toArray(),removed:[]}),onListenerRemove:e=>this._workerHandle.onTileTreeChange({added:[],removed:e.toArray()})}),n.elevationProvider.on("elevation-change",(e=>this._workerHandle.onElevationChange(e))),a((()=>this.layerView.fullOpacity),(e=>this._workerHandle.onLayerViewOpacityChange(e)),{sync:!1}),a((()=>t.renderer),(e=>this._workerHandle.onRendererChange(e)),{sync:!1})])}get legendEnabled(){return!1}get hasAllFeatures(){return!1}get hasAllFeaturesInView(){return!1}get hasFullGeometries(){return!1}get symbologySnappingSupported(){return!1}get scaleVisibilitySuspended(){return!1}get suspendInfo(){return{}}get updating(){return this._workerHandle.updating}get dataUpdating(){return!1}get updatePolicy(){return c.ASYNC}get maximumNumberOfFeaturesExceeded(){return!1}get updatingProgressValue(){return 1}get usedMemory(){return this._renderer?.usedMemory??0}get unloadedMemory(){return 0}get ignoresMemoryFactor(){return!0}get totalFeatures(){return this._renderer?.totalFeatures??0}get performanceInfo(){const e=this.totalFeatures;return new l(new m(this.usedMemory,e,e,this.maximumNumberOfFeatures,0,null),e,e,this.maximumNumberOfFeaturesExceeded,"tiles","n/a")}get suspendResumeExtentMode(){return"computed"}forEachGraphic(e){}findGraphic(e){return null}highlight(e){return y}maskOccludee(e){return t()}async whenGraphicBounds(e,r){return null}computeAttachmentOrigin(e,r){return null}elevationAlignPointsInFeatures(e,t){throw new r("featurelayer:unsupported-elevation-alignment","Elevation alignment not supported")}async doRefresh(e){}setVisibility(e,r){}getMissingAttributesForFeature(e){return null}getHydratedGeometry(e){return null}};e([s()],h.prototype,"layerView",void 0),e([s()],h.prototype,"updating",null),e([s()],h.prototype,"totalFeatures",null),h=e([u("esri.views.3d.layers.graphics.pipeline.Feature3DPipeline")],h);export{h as Feature3DPipeline};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import r from"../../../../../core/Error.js";import{makeHandle as t}from"../../../../../core/handleUtils.js";import{destroyMaybe as n}from"../../../../../core/maybe.js";import o from"../../../../../core/Promise.js";import{on as i,watch as a}from"../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as u}from"../../../../../core/accessorSupport/decorators/subclass.js";import{FeatureLayerViewPerformanceInfo as l}from"../../FeatureLayerViewPerformanceInfo.js";import{Feature3DPipelineWorkerHandle as d}from"./Feature3DPipelineWorkerHandle.js";import{FeaturePipelineRenderManager as p}from"./rendering/FeaturePipelineRenderManager.js";import{emptyHighlightHandle as y}from"../../support/highlightUtils.js";import{LayerViewPerformanceInfo as m}from"../../support/LayerViewPerformanceInfo.js";import{UpdatePolicy as c}from"../../../webgl-engine/lib/UpdatePolicy.js";let h=class extends o{constructor(e){super(e),this._renderer=null,this.graphicsQuery={queryForSymbologySnapping:(e,t)=>{throw new r("featurelayer:unsupported-symbology-snapping","Symbology snapping not supported")},executeQuery:async(e,r)=>await this._workerHandle.executeQuery(e,r),executeQueryForIds:async(e,r)=>await this._workerHandle.executeQueryForIds(e,r),executeQueryForCount:async(e,r)=>await this._workerHandle.executeQueryForCount(e,r),executeQueryForExtent:async(e,r)=>await this._workerHandle.executeQueryForExtent(e,r),executeQueryForLatestObservations:async(e,r)=>await this._workerHandle.executeQueryForLatestObservations(e,r)},this.maximumNumberOfFeatures=1e3}initialize(){if("point"!==this.layerView.layer.geometryType)throw new r("featurelayer:unsupported-geometry-type",`${this.layerView.layer.geometryType} is not supported`);this.addResolvingPromise(this.setup())}destroy(){this.removeAllHandles(),this._workerHandle.destroy(),n(this._renderer)}async setup(){const e=this.layerView,{layer:t,view:n,uid:o}=e,{spatialReference:s,renderSpatialReference:u,resourceController:l,renderCoordsHelper:y,elevationProvider:m}=n,c=n.state.viewingMode;if(this._renderer=new p({view:n,layerViewUid:o}),"feature"!==t.type)throw new r("featurelayer:unsupported-layertype","Only FeatureLayer is supported");const h=new d({schedule:e=>l.immediate.schedule(e),layer:t,layerView:e,viewSpatialReference:s,renderSpatialReference:u,viewingMode:c,renderer:this._renderer,elevationProvider:m,renderCoordsHelper:y});this._workerHandle=await h.when(),this.addHandles([this.layerView.view.featureTiles.addClient(),i((()=>this.layerView.view.featureTiles.tiles),"change",(e=>{this._workerHandle.onTileTreeChange(e.target)}),{onListenerAdd:e=>this._workerHandle.onTileTreeChange(e),onListenerRemove:e=>this._workerHandle.onTileTreeChange(e)}),n.elevationProvider.on("elevation-change",(e=>this._workerHandle.onElevationChange(e))),a((()=>this.layerView.fullOpacity),(e=>this._workerHandle.onLayerViewOpacityChange(e)),{sync:!1}),a((()=>t.renderer),(e=>this._workerHandle.onRendererChange(e)),{sync:!1})])}get legendEnabled(){return!1}get hasAllFeatures(){return!1}get hasAllFeaturesInView(){return!1}get hasFullGeometries(){return!1}get symbologySnappingSupported(){return!1}get scaleVisibilitySuspended(){return!1}get suspendInfo(){return{}}get updating(){return this._workerHandle.updating}get dataUpdating(){return!1}get updatePolicy(){return c.ASYNC}get maximumNumberOfFeaturesExceeded(){return!1}get updatingProgressValue(){return 1}get usedMemory(){return this._renderer?.usedMemory??0}get unloadedMemory(){return 0}get ignoresMemoryFactor(){return!0}get totalFeatures(){return this._renderer?.totalFeatures??0}get performanceInfo(){const e=this.totalFeatures;return new l(new m(this.usedMemory,e,e,this.maximumNumberOfFeatures,0,null),e,e,this.maximumNumberOfFeaturesExceeded,"tiles","n/a")}get suspendResumeExtentMode(){return"computed"}forEachGraphic(e){}findGraphic(e){return null}highlight(e){return y}maskOccludee(e){return t()}async whenGraphicBounds(e,r){return null}computeAttachmentOrigin(e,r){return null}elevationAlignPointsInFeatures(e,t){throw new r("featurelayer:unsupported-elevation-alignment","Elevation alignment not supported")}async doRefresh(e){}setVisibility(e,r){}getMissingAttributesForFeature(e){return null}getHydratedGeometry(e){return null}};e([s()],h.prototype,"layerView",void 0),e([s()],h.prototype,"updating",null),e([s()],h.prototype,"totalFeatures",null),h=e([u("esri.views.3d.layers.graphics.pipeline.Feature3DPipeline")],h);export{h as Feature3DPipeline};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../../chunks/tslib.es6.js";import r from"../../../../../core/Promise.js";import{property as t}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{WorkerHandle as n}from"../../../../../core/workers/WorkerHandle.js";import a from"../../../../../geometry/Extent.js";import{clone as i}from"../../../../../geometry/support/aaBoundingRect.js";import s from"../../../../../rest/support/FeatureSet.js";import{ElevationContext as d}from"../ElevationContext.js";import{applyElevationAlignment as c}from"./utils.js";let l=class extends r{constructor(e){super(e),this.schedule=null,this._workerUpdating=!0}get updating(){return this._workerUpdating}initialize(){const{layer:e,layerView:r,viewSpatialReference:t,renderSpatialReference:o}=this,n=e.elevationInfo;this._elevationContext=d.fromElevationInfo(n),this._workerHandle=new u(this.schedule,{createTexture:async({data:e,parameters:r})=>({result:await this.renderer.createTexture(e,r),transferList:[]}),releaseTexture:async({uid:e})=>(await this.renderer.releaseTexture(e),y),createMaterial:async({materialJSON:e})=>(await this.renderer.createMaterial(e),y),destroyMaterial:async({materialId:e})=>(await this.renderer.destroyMaterial(e),y),createDirectRenderer:async({materialId:e})=>(await this.renderer.createDirectRenderer(e),y),destroyDirectRenderer:async({materialId:e})=>(await this.renderer.destroyDirectRenderer(e),y),createLoDRenderer:async({rendererId:e,lodRenderGeometry:r},t)=>(await this.renderer.createLoDRenderer(e,r,t?.signal??void 0),y),destroyLoDRenderer:async({rendererId:e},r)=>(await this.renderer.destroyLoDRenderer(e,r?.signal??void 0),y),dispatchRenderCommands:async({commands:e})=>(await this.renderer.executeRenderCommands(e),y),applyElevationAlignment:async({mapPoints:e})=>{const{viewSpatialReference:r,elevationProvider:t,renderCoordsHelper:o}=this,n=c(e,r,this._elevationContext,t,o);return{result:n,transferList:[n.buffer]}}}),this.addResolvingPromise((async()=>{await e.load();const a={url:e.parsedUrl?.path??"",baseQuery:e.createQuery().toJSON(),objectIdField:e.objectIdField,capabilities:e.capabilities,fieldIndex:e.fieldsIndex.toJSON(),timeInfo:e.timeInfo?.toJSON(),elevationInfo:n?.toJSON(),fullExtent:e.fullExtent?.toJSON(),renderer:e.renderer?.toJSON()},i={fullOpacity:r.fullOpacity};await this._workerHandle.invokeMethod("setup",{viewSpatialReference:t.toJSON(),renderSpatialReference:o.toJSON(),viewingMode:this.viewingMode,layerInfo:a,layerViewInfo:i})})()),this.addHandles(this._workerHandle.on("notify-updating",(({updating:e})=>{this._workerUpdating=e})))}onTileTreeChange({added:e,removed:r}){if(0===e.length&&0===r.length)return;const t=e.map(p),o=r.map(p);this._workerHandle.invokeMethod("onTileTreeChange",{added:t,removed:o})}onElevationChange(e){this._workerHandle.invokeMethod("onElevationChange",{context:e.context,spatialReference:e.spatialReference?.toJSON(),extent:i(e.extent)})}onLayerViewOpacityChange(e){this._workerHandle.invokeMethod("onLayerViewOpacityChange",e)}onRendererChange(e){const r=e?.toJSON();this._workerHandle.invokeMethod("onRendererChange",r)}async executeQuery(e,r){const t=await this._workerHandle.invokeMethod("executeQuery",e?.toJSON(),r),o=s.fromJSON(t);return this._ensureLayerOnFeatures(o),o}async executeQueryForIds(e,r){return await this._workerHandle.invokeMethod("executeQueryForIds",e?.toJSON(),r)}async executeQueryForCount(e,r){return await this._workerHandle.invokeMethod("executeQueryForCount",e?.toJSON(),r)}async executeQueryForExtent(e,r){const{count:t,extent:o}=await this._workerHandle.invokeMethod("executeQueryForExtent",e?.toJSON(),r);return{count:t,extent:a.fromJSON(o)}}async executeQueryForLatestObservations(e,r){const t=await this._workerHandle.invokeMethod("executeQueryForLatestObservations",e?.toJSON(),r),o=s.fromJSON(t);return this._ensureLayerOnFeatures(o),o}_ensureLayerOnFeatures(e){const{layer:r}=this;for(const t of e.features)t.layer=r,t.sourceLayer=r}};e([t()],l.prototype,"updating",null),e([t({constructOnly:!0})],l.prototype,"schedule",void 0),e([t({constructOnly:!0})],l.prototype,"layer",void 0),e([t({constructOnly:!0})],l.prototype,"layerView",void 0),e([t({constructOnly:!0})],l.prototype,"viewSpatialReference",void 0),e([t({constructOnly:!0})],l.prototype,"renderSpatialReference",void 0),e([t({constructOnly:!0})],l.prototype,"viewingMode",void 0),e([t({constructOnly:!0})],l.prototype,"renderer",void 0),e([t({constructOnly:!0})],l.prototype,"elevationProvider",void 0),e([t({constructOnly:!0})],l.prototype,"renderCoordsHelper",void 0),e([t()],l.prototype,"_workerUpdating",void 0),l=e([o("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorkerHandle")],l);class u extends n{constructor(e,r){super("Feature3DPipelineWorker","setup",{},e,{strategy:"dedicated",client:r})}}function p({id:e,lij:r,extent:t}){return{id:e,lij:r,extent:t}}const y={result:void 0};export{l as Feature3DPipelineWorkerHandle};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import r from"../../../../../core/Promise.js";import{property as t}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{WorkerHandle as n}from"../../../../../core/workers/WorkerHandle.js";import a from"../../../../../geometry/Extent.js";import{clone as i}from"../../../../../geometry/support/aaBoundingRect.js";import s from"../../../../../rest/support/FeatureSet.js";import{ElevationContext as d}from"../ElevationContext.js";import{applyElevationAlignment as c}from"./utils.js";let l=class extends r{constructor(e){super(e),this.schedule=null,this._workerUpdating=!0}get updating(){return this._workerUpdating}initialize(){const{layer:e,layerView:r,viewSpatialReference:t,renderSpatialReference:o}=this,n=e.elevationInfo;this._elevationContext=d.fromElevationInfo(n),this._workerHandle=new u(this.schedule,{createTexture:async({data:e,parameters:r})=>({result:await this.renderer.createTexture(e,r),transferList:[]}),releaseTexture:async({uid:e})=>(await this.renderer.releaseTexture(e),y),createMaterial:async({materialJSON:e})=>(await this.renderer.createMaterial(e),y),destroyMaterial:async({materialId:e})=>(await this.renderer.destroyMaterial(e),y),createDirectRenderer:async({materialId:e})=>(await this.renderer.createDirectRenderer(e),y),destroyDirectRenderer:async({materialId:e})=>(await this.renderer.destroyDirectRenderer(e),y),createLoDRenderer:async({rendererId:e,lodRenderGeometry:r},t)=>(await this.renderer.createLoDRenderer(e,r,t?.signal??void 0),y),destroyLoDRenderer:async({rendererId:e},r)=>(await this.renderer.destroyLoDRenderer(e,r?.signal??void 0),y),dispatchRenderCommands:async({commands:e})=>(await this.renderer.executeRenderCommands(e),y),applyElevationAlignment:async({mapPoints:e})=>{const{viewSpatialReference:r,elevationProvider:t,renderCoordsHelper:o}=this,n=c(e,r,this._elevationContext,t,o);return{result:n,transferList:[n.buffer]}}}),this.addResolvingPromise((async()=>{await e.load();const a={url:e.parsedUrl?.path??"",baseQuery:e.createQuery().toJSON(),objectIdField:e.objectIdField,capabilities:e.capabilities,fieldIndex:e.fieldsIndex.toJSON(),timeInfo:e.timeInfo?.toJSON(),elevationInfo:n?.toJSON(),fullExtent:e.fullExtent?.toJSON(),renderer:e.renderer?.toJSON()},i={fullOpacity:r.fullOpacity};await this._workerHandle.invokeMethod("setup",{viewSpatialReference:t.toJSON(),renderSpatialReference:o.toJSON(),viewingMode:this.viewingMode,layerInfo:a,layerViewInfo:i})})()),this.addHandles(this._workerHandle.on("notify-updating",(({updating:e})=>{this._workerUpdating=e})))}onTileTreeChange(e){this._workerHandle.invokeMethod("onTileTreeChange",{tiles:e.items.map(p)})}onElevationChange(e){this._workerHandle.invokeMethod("onElevationChange",{context:e.context,spatialReference:e.spatialReference?.toJSON(),extent:i(e.extent)})}onLayerViewOpacityChange(e){this._workerHandle.invokeMethod("onLayerViewOpacityChange",e)}onRendererChange(e){const r=e?.toJSON();this._workerHandle.invokeMethod("onRendererChange",r)}async executeQuery(e,r){const t=await this._workerHandle.invokeMethod("executeQuery",e?.toJSON(),r),o=s.fromJSON(t);return this._ensureLayerOnFeatures(o),o}async executeQueryForIds(e,r){return await this._workerHandle.invokeMethod("executeQueryForIds",e?.toJSON(),r)}async executeQueryForCount(e,r){return await this._workerHandle.invokeMethod("executeQueryForCount",e?.toJSON(),r)}async executeQueryForExtent(e,r){const{count:t,extent:o}=await this._workerHandle.invokeMethod("executeQueryForExtent",e?.toJSON(),r);return{count:t,extent:a.fromJSON(o)}}async executeQueryForLatestObservations(e,r){const t=await this._workerHandle.invokeMethod("executeQueryForLatestObservations",e?.toJSON(),r),o=s.fromJSON(t);return this._ensureLayerOnFeatures(o),o}_ensureLayerOnFeatures(e){const{layer:r}=this;for(const t of e.features)t.layer=r,t.sourceLayer=r}};e([t()],l.prototype,"updating",null),e([t({constructOnly:!0})],l.prototype,"schedule",void 0),e([t({constructOnly:!0})],l.prototype,"layer",void 0),e([t({constructOnly:!0})],l.prototype,"layerView",void 0),e([t({constructOnly:!0})],l.prototype,"viewSpatialReference",void 0),e([t({constructOnly:!0})],l.prototype,"renderSpatialReference",void 0),e([t({constructOnly:!0})],l.prototype,"viewingMode",void 0),e([t({constructOnly:!0})],l.prototype,"renderer",void 0),e([t({constructOnly:!0})],l.prototype,"elevationProvider",void 0),e([t({constructOnly:!0})],l.prototype,"renderCoordsHelper",void 0),e([t()],l.prototype,"_workerUpdating",void 0),l=e([o("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorkerHandle")],l);class u extends n{constructor(e,r){super("Feature3DPipelineWorker","setup",{},e,{strategy:"dedicated",client:r})}}function p({id:e,lij:r,extent:t}){return{id:e,lij:r,extent:t}}const y={result:void 0};export{l as Feature3DPipelineWorkerHandle};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../../chunks/tslib.es6.js";import e from"../../../../../core/Accessor.js";import{createTask as o}from"../../../../../core/asyncUtils.js";import has from"../../../../../core/has.js";import{throwIfAborted as s,throwIfNotAbortError as a}from"../../../../../core/promiseUtils.js";import i from"../../../../../core/ReactiveMap.js";import{property as r}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as n}from"../../../../../core/accessorSupport/decorators/subclass.js";import{fromExtent as l,intersects as c}from"../../../../../geometry/support/aaBoundingRect.js";import{TileAction as d,TileActionType as u}from"./TileActionSynchronizer.js";import{FeatureData as f}from"./featureData/FeatureData.js";let p=class extends e{constructor(t){super(t),this._updatingCount=0,this.extent=null,this._tileHandles=new i,this._wanted=new i}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updatingCount>0}get _boundingRect(){const{extent:t}=this;return null==t?null:l(t)}get _missingTiles(){const t=new Array,e=this._wanted,o=this._tileHandles;for(const s of e.values())null==o.get(s.id)?.featureData&&t.push(s);return t}async onTileTreeChange(t){++this._updatingCount;try{const{added:e,removed:o}=t,s=this._tileHandles,{_boundingRect:a}=this,i=null!=a?e.filter((t=>c(a,t.extent))):e,r=this._wanted,n=new Array;for(const{id:t}of o)r.delete(t);for(const t of i)r.set(t.id,t);const l=this._missingTiles;for(const t of o){const{id:e}=t;if(l.some((e=>h(e,t)||h(t,e))))continue;const o=s.get(e);null!=o&&n.push(this._removeTile(o))}for(const t of i)n.push(this._addTile(t));const d=await Promise.allSettled(n);for(const t of d)"rejected"===t.status&&console.error(t.reason)}finally{--this._updatingCount}}forEachTile(t){for(const e of this._tileHandles.values()){const o=e.featureData;null!=o&&t(o)}}async _removeTile(t){t.loadTask.abort(),this._tileHandles.delete(t.id),this._validate();const{featureData:e}=t;null!=e&&await this.synchronizer.enqueueActions([new d(t.id,u.REMOVE,e)])}async _addTile(t){const{_tileHandles:e}=this,i=e.get(t.id);if(null!=i){if(!_(i)||i.featureData.isFullyEnabled)return;return i.featureData.enableAll(),void await this._onTileLoad(i)}const r=new m(t,o((async e=>{const o=await this.loadTile(t,e);return s(e),new f(o)})));this._tileHandles.set(r.id,r);try{await r.loadTask.promise}catch(n){return void a(n)}w(r),await this._onTileLoad(r)}async _onTileLoad(t){const{_wanted:e,_tileHandles:o,_missingTiles:s}=this,a=t.descriptor,i=new Array,r=new Set;for(const n of o.values()){if(n===t)continue;const{descriptor:l,id:c}=n;if(e.has(c)||s.some((t=>h(t,l)||h(l,t)))){if(_(n)){if(h(a,l)){const t=n.featureData;for(const e of t.objectIds())r.add(e)}if(h(l,a)){const e=t.featureData,o=new Set(e.objectIds()),{featureData:s}=n;s.disableObjectIds(o),i.push(new d(c,u.UPDATE_VISIBILITY,s)),this._validateRemoval(s,o)}}}else{o.delete(c),n.loadTask.abort();const{featureData:t}=n;null!=t&&i.push(new d(c,u.REMOVE,t))}}r.size>0&&(t.featureData.disableObjectIds(r),this._validateRemoval(t.featureData,r)),this._validate(),i.push(new d(t.id,u.ADD,t.featureData)),await this.synchronizer.enqueueActions(i)}_validate(){if(!has("feature-pipeline-3d-test-validation"))return;const t=new Array;for(const e of this._tileHandles.values()){if(!_(e))continue;const{featureData:o}=e;t.push({featureData:o,objectIds:new Set(o.enabledObjectIds())})}for(let e=0;e<t.length;++e){const{featureData:o,objectIds:s}=t[e];for(let a=e+1;a<t.length;++a){const{featureData:e,objectIds:i}=t[a];for(const t of i)if(s.has(t))throw new Error(`${o.id} and ${e.id} both contain ${t}.`)}}}_validateRemoval(t,e){if(has("feature-pipeline-3d-test-validation"))for(const o of t.enabledObjectIds())if(e.has(o))throw new Error(`Failed to remove ${o} from ${t.id}!`)}};function h({lij:[t,e,o]},{lij:[s,a,i]}){const r=s-t;return r>=0&&e===a>>r&&o===i>>r}t([r()],p.prototype,"updating",null),t([r({constructOnly:!0})],p.prototype,"loadTile",void 0),t([r({constructOnly:!0})],p.prototype,"synchronizer",void 0),t([r()],p.prototype,"_updatingCount",void 0),t([r()],p.prototype,"extent",void 0),t([r()],p.prototype,"_boundingRect",null),t([r()],p.prototype,"_missingTiles",null),p=t([n("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],p);class m{constructor(t,e){this.descriptor=t,this.loadTask=e}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function _(t){return null!=t.featureData}function w(t){if(!_(t))throw new Error}export{p as Tile3DManager};
5
+ import{_ as e}from"../../../../../chunks/tslib.es6.js";import t from"../../../../../core/Accessor.js";import{createTask as s}from"../../../../../core/asyncUtils.js";import has from"../../../../../core/has.js";import{throwIfAborted as i,throwIfNotAbortError as o}from"../../../../../core/promiseUtils.js";import a from"../../../../../core/ReactiveMap.js";import{whenOnce as n}from"../../../../../core/reactiveUtils.js";import{waitTick as r}from"../../../../../core/scheduling.js";import{property as l}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as c}from"../../../../../core/accessorSupport/decorators/subclass.js";import{fromExtent as d,intersects as u}from"../../../../../geometry/support/aaBoundingRect.js";import{TileAction as h,TileActionType as f}from"./TileActionSynchronizer.js";import{FeatureData as p}from"./featureData/FeatureData.js";let _=class extends t{constructor(e){super(e),this.extent=null,this._tileHandles=new a,this._wanted=new a,this._updateRequested=!1,this._synchronizationTask=null,this._requestedTiles=new Array}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updateRequested||!(this._synchronizationTask?.finished??1)}get _boundingRect(){const{extent:e}=this;return null==e?null:d(e)}get _missingTiles(){const e=new Array,t=this._wanted,s=this._tileHandles;for(const i of t.values())null==s.get(i.id)?.featureData&&e.push(i);return e}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=s((async()=>{try{await n((()=>e?.finished??!0)),await r(),this._updateRequested=!1,await this._synchronizeTiles()}finally{this._synchronizationTask===t&&(this._synchronizationTask=null)}}));this._synchronizationTask=t}async _synchronizeTiles(){const e=this._requestedTiles,t=this._tileHandles,s=new Array;for(const u of e)t.has(u.id)||s.push(u);const i=new Array;for(const u of t.values()){const{id:t}=u;e.every((e=>e.id!==t))&&i.push(u.descriptor)}const o=this._tileHandles,{_boundingRect:a}=this,n=null!=a?s.filter((e=>u(a,e.extent))):s,r=this._wanted,l=new Array;for(const{id:u}of i)r.delete(u);for(const u of n)r.set(u.id,u);const c=this._missingTiles;for(const u of i){const{id:e}=u;if(c.some((e=>y(e,u)||y(u,e))))continue;const t=o.get(e);null!=t&&l.push(this._removeTile(t))}for(const u of n)l.push(this._addTile(u));const d=await Promise.allSettled(l);for(const u of d)"rejected"===u.status&&console.error(u.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const s=t.featureData;null!=s&&e(s)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;null!=t&&await this.synchronizer.enqueueActions([new h(e.id,f.REMOVE,t)])}async _addTile(e){const{_tileHandles:t}=this,a=t.get(e.id);if(null!=a){if(!w(a)||a.featureData.isFullyEnabled)return;return a.featureData.enableAll(),void await this._onTileLoad(a)}const n=new m(e,s((async t=>{const s=await this.loadTile(e,t);return i(t),new p(s)})));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(r){return void o(r)}T(n),await this._onTileLoad(n)}async _onTileLoad(e){const{_wanted:t,_tileHandles:s,_missingTiles:i}=this,o=e.descriptor,a=new Array,n=new Set;for(const r of s.values()){if(r===e)continue;const{descriptor:l,id:c}=r;if(t.has(c)||i.some((e=>y(e,l)||y(l,e)))){if(w(r)){if(y(o,l)){const e=r.featureData;for(const t of e.objectIds())n.add(t)}if(y(l,o)){const t=e.featureData,s=new Set(t.objectIds()),{featureData:i}=r;i.disableObjectIds(s),a.push(new h(c,f.UPDATE_VISIBILITY,i)),this._validateRemoval(i,s)}}}else{s.delete(c),r.loadTask.abort();const{featureData:e}=r;null!=e&&a.push(new h(c,f.REMOVE,e))}}n.size>0&&(e.featureData.disableObjectIds(n),this._validateRemoval(e.featureData,n)),this._validate(),a.push(new h(e.id,f.ADD,e.featureData)),await this.synchronizer.enqueueActions(a)}_validate(){if(!has("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!w(t))continue;const{featureData:s}=t;e.push({featureData:s,objectIds:new Set(s.enabledObjectIds())})}for(let t=0;t<e.length;++t){const{featureData:s,objectIds:i}=e[t];for(let o=t+1;o<e.length;++o){const{featureData:t,objectIds:a}=e[o];for(const e of a)if(i.has(e))throw new Error(`${s.id} and ${t.id} both contain ${e}.`)}}}_validateRemoval(e,t){if(has("feature-pipeline-3d-test-validation"))for(const s of e.enabledObjectIds())if(t.has(s))throw new Error(`Failed to remove ${s} from ${e.id}!`)}};function y({lij:[e,t,s]},{lij:[i,o,a]}){const n=i-e;return n>=0&&t===o>>n&&s===a>>n}e([l()],_.prototype,"updating",null),e([l({constructOnly:!0})],_.prototype,"loadTile",void 0),e([l({constructOnly:!0})],_.prototype,"synchronizer",void 0),e([l()],_.prototype,"extent",void 0),e([l()],_.prototype,"_boundingRect",null),e([l()],_.prototype,"_missingTiles",null),e([l()],_.prototype,"_updateRequested",void 0),e([l()],_.prototype,"_synchronizationTask",void 0),_=e([c("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],_);class m{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function w(e){return null!=e.featureData}function T(e){if(!w(e))throw new Error}export{_ as Tile3DManager};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as r}from"../../../../chunks/tslib.es6.js";import{property as t}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{interactingTimeout as o}from"../ViewStateManager.js";import{CameraController as s,State as a}from"./CameraController.js";import i from"../../webgl/RenderCamera.js";let n=class extends s{constructor(){super(...arguments),this.startCamera=new i,this.currentCamera=new i,this._lastInteraction=0}get isInteractive(){return performance.now()-this._lastInteraction<o}stepController(r,t){t.copyViewFrom(this.currentCamera),this.currentCamera.copyFrom(t)}onControllerStart(r){this.state=a.Running,this.startCamera.copyFrom(r),this.currentCamera.copyFrom(r)}onControllerEnd(r){r.copyViewFrom(this.currentCamera)}commitCamera(){this._lastInteraction=performance.now(),setTimeout((()=>this.notifyChange("isInteractive")),o),this.view.state.updateCamera((r=>this.stepController(0,r))),this.steppingFinished&&this.finishController()}};r([t({readOnly:!0})],n.prototype,"isInteractive",null),r([t()],n.prototype,"_lastInteraction",void 0),n=r([e("esri.views.3d.state.controllers.InteractiveController")],n);export{n as InteractiveController};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import{clock as r}from"../../../../core/clock.js";import{property as e}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import{interactingTimeout as i}from"../ViewStateManager.js";import{CameraController as s,State as a}from"./CameraController.js";import n from"../../webgl/RenderCamera.js";let c=class extends s{constructor(){super(...arguments),this.startCamera=new n,this.currentCamera=new n,this._isInteractive=!1,this._interactingTimeoutHandle=void 0}get isInteractive(){return this._isInteractive}stepController(t,r){r.copyViewFrom(this.currentCamera),this.currentCamera.copyFrom(r)}onControllerStart(t){this.state=a.Running,this.startCamera.copyFrom(t),this.currentCamera.copyFrom(t)}onControllerEnd(t){t.copyViewFrom(this.currentCamera)}commitCamera(){this._isInteractive=!0,this._interactingTimeoutHandle?.remove(),this._interactingTimeoutHandle=r.setTimeout((()=>{this._isInteractive=!1,this._interactingTimeoutHandle=void 0}),i),this.view.state.updateCamera((t=>this.stepController(0,t))),this.steppingFinished&&this.finishController()}};t([e({readOnly:!0})],c.prototype,"isInteractive",null),t([e()],c.prototype,"_isInteractive",void 0),c=t([o("esri.views.3d.state.controllers.InteractiveController")],c);export{c as InteractiveController};