@arcgis/core 5.2.0-next.164 → 5.2.0-next.165

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/Graphic.d.ts +47 -14
  2. package/PopupTemplate.js +1 -1
  3. package/WebScene.d.ts +3 -0
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/{97d6ef9e34a43ad2e556.js → 02e10f44edf911832c2a.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{97b5f4302fb867c829f4.js → 07f7177bfaf9de73bc25.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{612345f17f5eeb99ea8f.js → 0d9c4c6c571ce26d356b.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{12a7997a40c77f5c9160.js → 151e5799ede763a03ee2.js} +1 -1
  9. package/assets/esri/core/workers/chunks/196979cc6a765be3c5cd.js +1 -0
  10. package/assets/esri/core/workers/chunks/1ab59a97ffa49e9e1659.js +1 -0
  11. package/assets/esri/core/workers/chunks/{8715661a838361d4211a.js → 1b24a40c0fa197014873.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{83f29a159b8b5197e76a.js → 266c90d8d56a2da42fcf.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{b1d989b72203113a06fe.js → 2a36fe3f3f257a779a1b.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{fcaf9450642fcef83286.js → 3048e74e6246324ce6fc.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{95b82cbbe355266c65d7.js → 30af63b3b750142faadb.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{74137ffec5265628c33b.js → 36c780a9527c75b36725.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{6a0ec102962d2c7b4368.js → 40d803584eeade4df433.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{a546ec82ba149e12f7bf.js → 41773d858e212468db88.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{129e04d24ced77c9bb6d.js → 49b967d89d2841cea675.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{b59aaf30c7fe2c8d1aaa.js → 4b99b4cf729881e616bc.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{a09d2e1e2540921e4717.js → 4d3d7ec407ee5cd5f036.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{2c626f525f3483c03477.js → 548b8f74a6883e364931.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{25a3bd8bede2d07d3a54.js → 5af8fb4ec2c72697e35b.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{340256866f524cb069f6.js → 5d2f043ebe1051326c56.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{3f46acfda693c70abbdd.js → 61552b4b8111a8624d84.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{e653c81ffb3d818645dd.js → 632fdf1d95ad69109427.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{434a8ba841a59e0deab9.js → 67e533748435253aaba6.js} +1 -1
  28. package/assets/esri/core/workers/chunks/69d5f8ef78b9b8b3d33d.js +1 -0
  29. package/assets/esri/core/workers/chunks/{feb41abc03d677df6f73.js → 6b9961261241fdce0e94.js} +1 -1
  30. package/assets/esri/core/workers/chunks/6f897b4e7ddd1dd1672b.js +1 -0
  31. package/assets/esri/core/workers/chunks/{e251921bc5367258c4d2.js → 710b8251a59884aee31e.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{af349c7bc8ef41a0e1bd.js → 7748c2886d0122b40eeb.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{8a7b02037151767542f1.js → 7dbf4c7480bf9c72820d.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{1bca39e0e651426bdbb5.js → 7dfbc31f3b56728485a4.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{c19f238b55ff2893f7c2.js → 82a022cc21364c9a8539.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{5cb26bbaa08114aec5ce.js → 89cc1a5539b82fb46216.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{8ab57cb1bfd3dc8d3c2a.js → 8b8118ab56cc808b5a71.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{542e5640ea1b80ef801a.js → 9189dfe19a2a2ccd5173.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{f74ae0eff3f08978e607.js → 9f358c7b052cdc0ac06f.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{ee08ae5b73439a1ff666.js → a163c6005aba3378edaa.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{ec9a2425b4a498054a19.js → a17673e691ced46a90d3.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{72bd866df89b8d92e247.js → a43b33955aa78a2a8deb.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{46c5371c7a627537098c.js → a88f346786b04bd194dc.js} +6 -6
  44. package/assets/esri/core/workers/chunks/{092e311cb7aea92a6a26.js → acb265a22be5e12f38e5.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{9e8f012a56237fc8285f.js → aea44253c80493ef5755.js} +1 -1
  46. package/assets/esri/core/workers/chunks/b5b9d42e1f84ee82429c.js +1 -0
  47. package/assets/esri/core/workers/chunks/c046c4fc934bc6f54c69.js +1 -0
  48. package/assets/esri/core/workers/chunks/{c72a904e01dc8c17d992.js → c47d095434d09b5f10c6.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{226f862bbeb33fc7c597.js → c4b7111dcedd9d6e1c2a.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{81cad8d2f62a5f671c55.js → cb4db5489388559d6bd9.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{bbd44ac63d2a317d8ed9.js → cc794bb94ebc1cb66024.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{be308db5b61a7246edfe.js → cc94bf05b235e65291fc.js} +1 -1
  53. package/assets/esri/core/workers/chunks/d4af9faa5d901274fad2.js +1 -0
  54. package/assets/esri/core/workers/chunks/{fc5a36e54929e03efa86.js → dba5f44c4e4a3f075df2.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{1f43e06dcfe56229bb0f.js → debe45e792212682b304.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{8414ffd937c1099e0bbc.js → e6d10136bc08aef255ff.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{45fd2b456a6997584ca1.js → f8379cd45f750f28a3d8.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{709e019885822b1f6f3e.js → f905f1a1aa4c123cbe83.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{a2fcbc494333376192aa.js → f9c80e9fc349db4873e8.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{c070d2ddf290b4f92916.js → feb4f8c807bb0dca488f.js} +1 -1
  61. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  62. package/chunks/GlobalIllumination.glsl.js +15 -30
  63. package/config.js +1 -1
  64. package/core/workers/WorkerFallback.js +4 -2
  65. package/core/workers/workerFactory.js +1 -1
  66. package/core/workers/workers.js +4 -2
  67. package/form/elements/inputs.d.ts +126 -25
  68. package/form/elements/inputs.js +1 -1
  69. package/form/elements.d.ts +1 -0
  70. package/graphic/AnnotationFeatureGraphicOrigin.d.ts +49 -9
  71. package/graphic/BuildingGraphicOrigin.d.ts +49 -0
  72. package/graphic/CSVGraphicOrigin.d.ts +42 -9
  73. package/graphic/CatalogGraphicOrigin.d.ts +42 -9
  74. package/graphic/DimensionFeatureGraphicOrigin.d.ts +42 -9
  75. package/graphic/FeatureGraphicOrigin.d.ts +42 -9
  76. package/graphic/GeoJSONGraphicOrigin.d.ts +42 -9
  77. package/graphic/GeoRSSGraphicOrigin.d.ts +42 -9
  78. package/graphic/GraphicOrigin.d.ts +52 -12
  79. package/graphic/ImageryGraphicOrigin.d.ts +42 -9
  80. package/graphic/ImageryTileGraphicOrigin.d.ts +42 -9
  81. package/graphic/KMLGraphicOrigin.d.ts +47 -10
  82. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +49 -1
  83. package/graphic/LinkChartGraphicOrigin.d.ts +49 -1
  84. package/graphic/MapImageGraphicOrigin.d.ts +49 -1
  85. package/graphic/MapNotesGraphicOrigin.d.ts +48 -1
  86. package/graphic/OGCFeatureGraphicOrigin.d.ts +42 -9
  87. package/graphic/OrientedImageryGraphicOrigin.d.ts +42 -9
  88. package/graphic/ParquetGraphicOrigin.d.ts +42 -9
  89. package/graphic/PointCloudGraphicOrigin.d.ts +43 -0
  90. package/graphic/SceneGraphicOrigin.d.ts +43 -0
  91. package/graphic/SketchGraphicOrigin.d.ts +43 -0
  92. package/graphic/StreamGraphicOrigin.d.ts +43 -0
  93. package/graphic/SubtypeGroupGraphicOrigin.d.ts +49 -1
  94. package/graphic/TileGraphicOrigin.d.ts +49 -1
  95. package/graphic/VectorTileGraphicOrigin.d.ts +43 -14
  96. package/graphic/VoxelGraphicOrigin.d.ts +43 -0
  97. package/graphic/WCSGraphicOrigin.d.ts +43 -0
  98. package/graphic/WFSGraphicOrigin.d.ts +42 -9
  99. package/graphic/getGraphicOriginTitle.d.ts +21 -3
  100. package/kernel.js +1 -1
  101. package/layers/GaussianSplatLayer.d.ts +2 -1
  102. package/layers/ParquetLayer.d.ts +24 -1
  103. package/layers/ParquetLayer.js +1 -1
  104. package/layers/mixins/ReloadableLayer.js +1 -1
  105. package/layers/mixins/SublayersOwner.js +1 -1
  106. package/layers/orientedImagery/transformations/utils.js +1 -1
  107. package/layers/save/featureLayerUtils.js +1 -1
  108. package/layers/save/imageryUtils.js +1 -1
  109. package/layers/save/mapImageLayerUtils.js +1 -1
  110. package/layers/save/mediaLayerUtils.js +1 -1
  111. package/layers/save/parquetLayerUtils.js +2 -0
  112. package/layers/save/streamLayerUtils.js +1 -1
  113. package/layers/support/LabelClass.d.ts +8 -2
  114. package/layers/support/Sublayer.js +1 -1
  115. package/layers/support/SubtypeSublayer.js +1 -1
  116. package/layers/support/layerUtils.js +1 -1
  117. package/layers/support/layersMapping.js +1 -1
  118. package/package.json +2 -2
  119. package/popup/content.js +1 -1
  120. package/portal/schemas/definitions.js +1 -1
  121. package/portal/schemas/webScene.js +1 -1
  122. package/tables/elements.d.ts +1 -0
  123. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  124. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  125. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  126. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +5 -5
  127. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  128. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  129. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
  130. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  131. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  132. package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
  133. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  134. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  135. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  136. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  137. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  138. package/views/3d/webgl-engine/materials/internal/worldSizedRibbonLineIntersectionUtils.js +1 -1
  139. package/views/selection/SelectionOperation.js +1 -1
  140. package/views/selection/types.d.ts +43 -3
  141. package/views/support/layerViewUtils.js +1 -1
  142. package/views/support/selectionUtils.js +1 -1
  143. package/views/webgl/Texture.js +1 -1
  144. package/webdoc/support/webdocSaveUtils.js +1 -1
  145. package/widgets/OrientedImageryViewer/ImageMeasurementWorker.js +1 -1
  146. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  147. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  148. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  149. package/widgets/Sketch/SketchViewModel.js +1 -1
  150. package/widgets/support/SelectionList/GroupLayerItem.d.ts +6 -0
  151. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  152. package/widgets/support/SelectionList/ItemBase.js +1 -1
  153. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +6 -1
  154. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  155. package/widgets/support/SelectionToolbar.d.ts +8 -1
  156. package/widgets/support/SelectionToolbar.js +1 -1
  157. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  158. package/assets/esri/core/workers/chunks/1fe24ffcd88280d84fbe.js +0 -1
  159. package/assets/esri/core/workers/chunks/72071ea5de89720fbe42.js +0 -1
  160. package/assets/esri/core/workers/chunks/9de5ad77bc37ec142218.js +0 -1
  161. package/assets/esri/core/workers/chunks/b736046c6b4ede73ea46.js +0 -1
  162. package/assets/esri/core/workers/chunks/c19cd5a03b6d480fe53b.js +0 -1
  163. package/assets/esri/core/workers/chunks/d1f98c5249c487eb96f1.js +0 -1
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as ee}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as s}from"../core/object.js";import{throwIfAbortError as c}from"../core/promiseUtils.js";import{on as l}from"../core/reactiveUtils.js";import{getFilename as u}from"../core/urlUtils.js";import{property as d}from"../core/accessorSupport/decorators/property.js";import{reader as f}from"../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../core/accessorSupport/decorators/subclass.js";import{writer as m}from"../core/accessorSupport/decorators/writer.js";import{createTypeReader as h}from"../core/accessorSupport/extensions/serializableProperty/reader.js";import g from"../geometry/Extent.js";import _ from"../geometry/SpatialReference.js";import v from"../graphic/ParquetGraphicOrigin.js";import y from"./Layer.js";import{ParquetSource as b}from"./graphics/sources/ParquetSource.js";import{BlendLayer as x}from"./mixins/BlendLayer.js";import{CustomParametersMixin as S}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as C}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as w}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as T}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as E}from"./mixins/OperationalLayer.js";import{OrderedLayer as D}from"./mixins/OrderedLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as k}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as A}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as j,legendEnabled as M,popupEnabled as N}from"./support/commonProperties.js";import te from"./support/FeatureTemplate.js";import P from"./support/Field.js";import{defineFieldProperties as F}from"./support/fieldProperties.js";import{fixRendererFields as I}from"./support/fieldUtils.js";import L from"./support/GeometryEncodingLocation.js";import R from"./support/GeometryEncodingWkb.js";import z from"./support/LabelClass.js";import{reader as B}from"./support/labelingInfo.js";import V from"./support/ParquetFilesData.js";import{parquetGeometryTypeKebabDict as H}from"./support/parquetUtils.js";import U from"./support/PortalItemData.js";import{rendererTypes as W}from"../renderers/support/typeUtils.js";import G from"../rest/support/Query.js";import{createPopupTemplate as K}from"../support/popupUtils.js";import{utc as q}from"../time/constants.js";const J=F(),Y=`__OBJECTID`,X={key:`type`,base:null,typeMap:{files:V,"portal-item":U},errorContext:`parquet-data`},Z=h({types:X}),Q={types:{key:`type`,base:null,typeMap:{wkb:R,location:L}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};let $=class extends T(w(x(D(C(A(k(E(O(ee(S(n(y)))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new v(this),this.hasM=!1,this.hasZ=!1,this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=Y,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null}initialize(){this.addHandles(l(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){let t=this.loadFromPortal({supportedTypes:[`Parquet Feature Layer`],supportsData:!0},e).catch(c).then(()=>this._load(e));return this.addResolvingPromise(t),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return q}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==Y||e.type!==`oid`).map(e=>e.toJSON(r));s(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){I(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?u(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}readData(e,t,n){if(!(`itemId`in t&&t.itemId))return Z(e,t,n)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==`Parquet Feature Layer`){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new V({urls:this._normalizeUrls(e)})}refresh(e){super.refresh(e)}createPopupTemplate(e){return K(this,e)}createQuery(){let e=new G;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new b({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return G.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){this.portalItem?.url&&(this.data=new U({portalItem:this.portalItem.clone()})),this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),I(this.renderer,this.fieldsIndex),this.spatialReference??=_.WGS84}};e([d({readOnly:!0,json:{read:!1,write:!1}})],$.prototype,`capabilities`,null),e([d({json:{origins:{"web-scene":{write:!1}},write:!0}})],$.prototype,`charts`,void 0),e([d({type:String})],$.prototype,`copyright`,void 0),e([d({readOnly:!0})],$.prototype,`dateFieldsTimeZone`,null),e([d({readOnly:!0})],$.prototype,`defaultPopupTemplate`,null),e([d({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],$.prototype,`definitionExpression`,void 0),e([d({type:Boolean})],$.prototype,`returnM`,void 0),e([d({type:Boolean})],$.prototype,`returnZ`,void 0),e([d()],$.prototype,`displayOptimization`,void 0),e([d({type:[P],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],$.prototype,`fields`,void 0),e([m(`fields`)],$.prototype,`writeFields`,null),e([d(J.fieldsIndex)],$.prototype,`fieldsIndex`,void 0),e([d(Q)],$.prototype,`geometryEncoding`,void 0),e([d({type:g,json:{name:`extent`}})],$.prototype,`fullExtent`,void 0),e([d({type:H.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:H.read},write:{writer:H.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:H.read}}}}})],$.prototype,`geometryType`,void 0),e([d({readOnly:!0,clonable:!1})],$.prototype,`graphicOrigin`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],$.prototype,`hasM`,void 0),e([d({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],$.prototype,`hasZ`,void 0),e([d(j)],$.prototype,`labelsVisible`,void 0),e([d({type:[z],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:B},write:!0}})],$.prototype,`labelingInfo`,void 0),e([d(M)],$.prototype,`legendEnabled`,void 0),e([d()],$.prototype,`file`,void 0),e([d({type:String,readOnly:!0})],$.prototype,`objectIdField`,void 0),e([d({type:[`ParquetLayer`]})],$.prototype,`operationalLayerType`,void 0),e([d(J.outFields)],$.prototype,`outFields`,void 0),e([d(N)],$.prototype,`popupEnabled`,void 0),e([d({type:t,json:{name:`popupInfo`,write:!0}})],$.prototype,`popupTemplate`,void 0),e([d({types:W,json:{name:`layerDefinition.drawingInfo.renderer`,write:!0,origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],$.prototype,`renderer`,null),e([d({type:b,readOnly:!0,cast:null,json:{read:!1}})],$.prototype,`source`,void 0),e([d({type:_,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([d({type:[te]})],$.prototype,`templates`,void 0),e([d()],$.prototype,`title`,null),e([d({json:{read:!1},readOnly:!0})],$.prototype,`type`,void 0),e([d({types:X,json:{name:`source`,origins:{"web-map":{read:{source:`source`},write:{target:`source`,ignoreOrigin:!0}}}}})],$.prototype,`data`,void 0),e([f(`web-map`,`data`)],$.prototype,`readData`,null),e([m(`web-map`,`data`)],$.prototype,`writeData`,null),e([d({type:r.ofType(String),json:{read:!1,write:!1}})],$.prototype,`urls`,null),$=e([p(`esri.layers.ParquetLayer`)],$);export{$ as default};
2
+ import{__decorate as e}from"tslib";import t from"../PopupTemplate.js";import{ClonableMixin as n}from"../core/Clonable.js";import r from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import a from"../core/Error.js";import has from"../core/has.js";import o from"../core/Logger.js";import{MultiOriginJSONSupportMixin as ee}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as s}from"../core/object.js";import{debounce as c,throwIfAbortError as l}from"../core/promiseUtils.js";import{on as u}from"../core/reactiveUtils.js";import{getFilename as d}from"../core/urlUtils.js";import{property as f}from"../core/accessorSupport/decorators/property.js";import{reader as p}from"../core/accessorSupport/decorators/reader.js";import{subclass as m}from"../core/accessorSupport/decorators/subclass.js";import{writer as h}from"../core/accessorSupport/decorators/writer.js";import{createTypeReader as g}from"../core/accessorSupport/extensions/serializableProperty/reader.js";import _ from"../geometry/Extent.js";import v from"../geometry/SpatialReference.js";import te from"../graphic/ParquetGraphicOrigin.js";import y from"./Layer.js";import{ParquetSource as b}from"./graphics/sources/ParquetSource.js";import{BlendLayer as x}from"./mixins/BlendLayer.js";import{CustomParametersMixin as S}from"./mixins/CustomParametersMixin.js";import{DataSeriesLayer as C}from"./mixins/DataSeriesLayer.js";import{FeatureEffectLayer as w}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as T}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as E}from"./mixins/OperationalLayer.js";import{OrderedLayer as D}from"./mixins/OrderedLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as k}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as A}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as j,legendEnabled as M,popupEnabled as N}from"./support/commonProperties.js";import P from"./support/FeatureTemplate.js";import ne from"./support/Field.js";import{defineFieldProperties as F}from"./support/fieldProperties.js";import{fixRendererFields as I}from"./support/fieldUtils.js";import L from"./support/GeometryEncodingLocation.js";import R from"./support/GeometryEncodingWkb.js";import z from"./support/LabelClass.js";import{reader as B}from"./support/labelingInfo.js";import V from"./support/ParquetFilesData.js";import{parquetGeometryTypeKebabDict as H}from"./support/parquetUtils.js";import U from"./support/PortalItemData.js";import{rendererTypes as W}from"../renderers/support/typeUtils.js";import G from"../rest/support/Query.js";import{createPopupTemplate as K}from"../support/popupUtils.js";import{utc as q}from"../time/constants.js";const J=`Parquet Feature Layer`,Y=F(),X=`__OBJECTID`,Z={key:`type`,base:null,typeMap:{files:V,"portal-item":U},errorContext:`parquet-data`},re=g({types:Z}),ie={types:{key:`type`,base:null,typeMap:{wkb:R,location:L}},json:{name:`layerDefinition.geometryEncoding`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryEncoding`}}}}};function Q(e){return!!(e?.type===J&&e.url)}let $=class extends T(w(x(D(C(A(k(E(O(ee(S(n(y)))))))))))){constructor(e){super(e),this._emptyUrls=new r,this.charts=null,this.copyright=null,this.definitionExpression=null,this.returnM=void 0,this.returnZ=void 0,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new te(this),this.hasM=!1,this.hasZ=!1,this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=X,this.operationalLayerType=`ParquetLayer`,this.outFields=null,this.persistenceEnabled=!!has(`parquetlayer-persistence-enabled`),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.type=`parquet`,this.data=null,this._debouncedSaveOperations=c(async(e,t,n)=>{let{save:r,saveAs:i}=await import(`./save/parquetLayerUtils.js`);switch(e){case 0:return r(this,t);case 1:return i(this,n,t)}})}initialize(){this.addHandles(u(()=>this.source,`source-changed`,()=>{this.emit(`refresh`,{dataChanged:!0})}))}destroy(){this.source?.destroy()}async load(e){let t=this.loadFromPortal({supportedTypes:[J],supportsData:!0},e).catch(l).then(()=>this._load(e));return this.addResolvingPromise(t),this}get capabilities(){return this.source?.capabilities}get dateFieldsTimeZone(){return q}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,t,n,r){let i=e.filter(e=>e.name!==X||e.type!==`oid`).map(e=>e.toJSON(r));s(n,i,t)}get isTable(){return this.geometryEncoding==null&&this.displayOptimization==null}set renderer(e){I(e,this.fieldsIndex),this._set(`renderer`,e)}get title(){let e=this._get(`title`);if(e&&this.originOf(`title`)!==`defaults`)return e;switch(this.data?.type){case`files`:{let t=this.data.urls?.at(0);e=t?d(t,[`parquet`]):null;break}case`portal-item`:e=this.data.portalItem?.title}return e||`Parquet`}set title(e){this._set(`title`,e)}readData(e,t,n){if(!(`itemId`in t&&t.itemId))return re(e,t,n)}writeData(e,t,n,r){if(!e)return;if(e.type===`portal-item`&&e.portalItem?.type!==J){r.messages?.push(new a(`parquet-layer:unsupported-data`,`Portal item with type '${e.portalItem?.type}' is not supported in web maps`,{layer:this,itemId:e.portalItem?.id}));return}let i=e.write({},r);i&&(t.source=i)}get urls(){return this.data?.type===`files`?this.data.urls:this._emptyUrls}set urls(e){i(o.getLogger(this),`urls`,{replacement:`data`,version:`5.1`,warnOnce:!0}),this.data=new V({urls:this._normalizeUrls(e)})}refresh(e){super.refresh(e)}createPopupTemplate(e){return K(this,e)}createQuery(){let e=new G;return e.returnGeometry=!0,e.outFields=[`*`],e.where=this.definitionExpression||`1=1`,e}async createSource(e){let t=new b({layer:this});return await t.load(e),t}getFieldDomain(e,t){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,t){await this.load();let n=await this.source.queryFeatures(this._normalizeQuery(e),t),r=this.graphicOrigin;if(n?.features)for(let e of n.features)e.layer=e.sourceLayer=this,e.origin=r;return n}async queryObjectIds(e,t){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),t)}async queryFeatureCount(e,t){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),t)}async queryExtent(e,t){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),t)}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}async hasDataChanged(){if(this.data?.type===`portal-item`){let e=this.data.portalItem,t=e.modified?.getTime();if(await e.reload(),t===e.modified?.getTime())return!1}return await this.source.reload(null),!0}_normalizeQuery(e){return G.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new r(e):e??new r}async _load(e){Q(this.portalItem)&&(this.data=new U({portalItem:this.portalItem.clone()})),this.data?.type===`portal-item`&&await this.data.portalItem.load();let t=await this.createSource(e);this._set(`source`,t),this.read(t.sourceJSON,{origin:`service`}),[`fields`].forEach(e=>this.revertToOrigin(e,`service`)),I(this.renderer,this.fieldsIndex),this.spatialReference??=v.WGS84}};e([f({readOnly:!0,json:{read:!1,write:!1}})],$.prototype,`capabilities`,null),e([f({json:{origins:{"web-scene":{write:!1}},write:!0}})],$.prototype,`charts`,void 0),e([f({type:String})],$.prototype,`copyright`,void 0),e([f({readOnly:!0})],$.prototype,`dateFieldsTimeZone`,null),e([f({readOnly:!0})],$.prototype,`defaultPopupTemplate`,null),e([f({type:String,json:{name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],$.prototype,`definitionExpression`,void 0),e([f({type:Boolean})],$.prototype,`returnM`,void 0),e([f({type:Boolean})],$.prototype,`returnZ`,void 0),e([f()],$.prototype,`displayOptimization`,void 0),e([f({type:[ne],json:{name:`layerDefinition.fields`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:`fields`}}}})],$.prototype,`fields`,void 0),e([h(`fields`)],$.prototype,`writeFields`,null),e([f(Y.fieldsIndex)],$.prototype,`fieldsIndex`,void 0),e([f(ie)],$.prototype,`geometryEncoding`,void 0),e([f({type:_,json:{name:`extent`}})],$.prototype,`fullExtent`,void 0),e([f({type:H.apiValues,json:{name:`layerDefinition.geometryType`,read:{reader:H.read},write:{writer:H.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`geometryType`,reader:H.read}}}}})],$.prototype,`geometryType`,void 0),e([f({readOnly:!0,clonable:!1})],$.prototype,`graphicOrigin`,void 0),e([f({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],$.prototype,`hasM`,void 0),e([f({type:Boolean,json:{read:!1,write:!1,origins:{service:{read:!0}}}})],$.prototype,`hasZ`,void 0),e([f(j)],$.prototype,`labelsVisible`,void 0),e([f({type:[z],json:{name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:B},write:!0}})],$.prototype,`labelingInfo`,void 0),e([f(M)],$.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`],json:{origins:{"portal-item":{read:!1,write:!1}}}})],$.prototype,`listMode`,void 0),e([f()],$.prototype,`file`,void 0),e([f({type:String,readOnly:!0})],$.prototype,`objectIdField`,void 0),e([f({type:[`ParquetLayer`],json:{origins:{"portal-item":{name:`layerType`,write:{enabled:!0,ignoreOrigin:!0,isRequired:!0}}}}})],$.prototype,`operationalLayerType`,void 0),e([f(Y.outFields)],$.prototype,`outFields`,void 0),e([f(N)],$.prototype,`popupEnabled`,void 0),e([f({type:t,json:{name:`popupInfo`,write:!0}})],$.prototype,`popupTemplate`,void 0),e([f({types:W,json:{name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy(e,t){return{enabled:!0,ignoreOrigin:this.originIdOf(t)<3}}},origins:{service:{read:{source:`drawingInfo.renderer`}}}}})],$.prototype,`renderer`,null),e([f({type:b,readOnly:!0,cast:null,json:{read:!1}})],$.prototype,`source`,void 0),e([f({type:v,json:{name:`layerDefinition.spatialReference`,write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:`extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([f({type:[P]})],$.prototype,`templates`,void 0),e([f()],$.prototype,`title`,null),e([f({json:{read:!1},readOnly:!0})],$.prototype,`type`,void 0),e([f({types:Z,json:{name:`source`,write:{ignoreOrigin:!0,overridePolicy(e,t,n){let r=e?.type===`portal-item`&&Q(e.portalItem)?e.portalItem:null;return{enabled:r?.id==null||r.id!==n?.portalItem?.id,ignoreOrigin:!0}}}}})],$.prototype,`data`,void 0),e([p(`data`)],$.prototype,`readData`,null),e([h(`data`)],$.prototype,`writeData`,null),e([f({type:r.ofType(String),json:{read:!1,write:!1}})],$.prototype,`urls`,null),$=e([m(`esri.layers.ParquetLayer`)],$);export{$ as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{abortHandle as t}from"../../core/handleUtils.js";import{debounce as n,throwIfAbortError as r}from"../../core/promiseUtils.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{getOwningPortalUrl as o}from"../support/layerUtils.js";import s from"../../portal/Portal.js";import c from"../../portal/PortalItem.js";const l=`reload`,u=u=>{let d=u,f=class extends d{constructor(...e){super(...e),this._loadTimestamp=0,this._pendingReloadCount=0,this._serviceItemModified=null,this._debounceReload=n(async()=>{if(this.destroyed||!this.loaded||!this.canReload())return!1;let e=new AbortController;this.addHandles(t(e),l);try{let t=null,n;if(this.portalItem?.id&&this.portalItem.id===this.serviceItemId)n=await this.reloadFromPortal({supportedTypes:this.supportedPortalItemTypes},{signal:e.signal});else{let r=await this._shouldReloadFromServiceItem(e.signal);n=r.updated,t=r.modified}return n&&await this.reloadFromService(e.signal),e.signal.throwIfAborted(),t!=null&&(this._serviceItemModified=t),n}finally{this.removeHandles(l)}}),this.when().then(()=>{this._loadTimestamp=Date.now()},()=>{})}get reloading(){return this._pendingReloadCount>0}reload(){return this.destroyed||!this.loaded||!this.canReload()?Promise.resolve(!1):(this._pendingReloadCount++,this._debounceReload().finally(()=>{this._pendingReloadCount--}))}canReload(){return this.url!=null}async _shouldReloadFromServiceItem(e){let{serviceItemId:t,url:n}=this;if(!t||!n)return{modified:null,updated:!0};try{let r=await o(n,{signal:e});if(!r)return{modified:null,updated:!0};let i=new s({url:r}),a=new c({apiKey:this.apiKey,id:t,portal:i});await a.load({signal:e});let l=a.modified?.getTime();if(l==null)return{modified:null,updated:!0};let u=this._serviceItemModified;return{modified:l,updated:u==null?l>this._loadTimestamp:u<l}}catch(e){return r(e),{modified:null,updated:!0}}}};return e([i({clonable:!1})],f.prototype,`_pendingReloadCount`,void 0),e([i({readOnly:!0})],f.prototype,`reloading`,null),f=e([a(`esri.layers.mixins.ReloadableLayer`)],f),f};export{u as ReloadableLayer};
2
+ import{__decorate as e}from"tslib";import{abortHandle as t}from"../../core/handleUtils.js";import{debounce as n,throwIfAbortError as r}from"../../core/promiseUtils.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{getOwningPortalUrl as o}from"../support/layerUtils.js";import s from"../../portal/Portal.js";import c from"../../portal/PortalItem.js";const l=`reload`,u=u=>{let d=u,f=class extends d{constructor(...e){super(...e),this._loadTimestamp=0,this._pendingReloadCount=0,this._serviceItemModified=null,this._debounceReload=n(async()=>{if(this.destroyed||!this.loaded||!this.canReload())return!1;let e=new AbortController;this.addHandles(t(e),l);try{let t=null,n=!!this.portalItem?.id&&this.portalItem.id===this.serviceItemId,r=this.portalItem?.id?await this.reloadFromPortal({supportedTypes:this.supportedPortalItemTypes},{signal:e.signal}):!1,i;if(n)i=r;else{let n=await this._shouldReloadFromServiceItem(e.signal);i=n.updated,t=n.modified}return i&&await this.reloadFromService(e.signal),e.signal.throwIfAborted(),t!=null&&(this._serviceItemModified=t),i||r}finally{this.removeHandles(l)}}),this.when().then(()=>{this._loadTimestamp=Date.now()},()=>{})}get reloading(){return this._pendingReloadCount>0}reload(){return this.destroyed||!this.loaded||!this.canReload()?Promise.resolve(!1):(this._pendingReloadCount++,this._debounceReload().finally(()=>{this._pendingReloadCount--}))}canReload(){return this.url!=null}async _shouldReloadFromServiceItem(e){let{serviceItemId:t,url:n}=this;if(!t||!n)return{modified:null,updated:!0};try{let r=await o(n,{signal:e});if(!r)return{modified:null,updated:!0};let i=new s({url:r}),a=new c({apiKey:this.apiKey,id:t,portal:i});await a.load({signal:e});let l=a.modified?.getTime();if(l==null)return{modified:null,updated:!0};let u=this._serviceItemModified;return{modified:l,updated:u==null?l>this._loadTimestamp:u<l}}catch(e){return r(e),{modified:null,updated:!0}}}};return e([i({clonable:!1})],f.prototype,`_pendingReloadCount`,void 0),e([i({readOnly:!0})],f.prototype,`reloading`,null),f=e([a(`esri.layers.mixins.ReloadableLayer`)],f),f};export{u as ReloadableLayer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import n from"../../core/CollectionFlattener.js";import r from"../../core/Error.js";import i from"../../core/Logger.js";import{watch as a,sync as o}from"../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../core/accessorSupport/decorators.js";import{nameToId as l,idToName as u}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as d}from"../../core/accessorSupport/utils.js";import f from"../support/Sublayer.js";import{isSublayerOverhaul as p}from"../support/sublayerUtils.js";function m(e,t){let n=[],r={};return e&&e.forEach(e=>{let i=new f;if(i.read(e,t),r[i.id]=i,e.parentLayerId!=null&&e.parentLayerId!==-1){let t=r[e.parentLayerId];t.sublayers||=[],t.sublayers.unshift(i)}else n.unshift(i)}),n}const h=t.ofType(f);function g(e,t){e&&e.forEach(e=>{t(e),e.sublayers&&e.sublayers.length&&g(e.sublayers,t)})}const _=_=>{let v=_,y=class extends v{constructor(...e){super(...e),this.allSublayers=new n({getCollections:()=>[this.sublayers],getChildrenFunction(e){return e.sublayers}}),this.sublayersSourceJSON={2:{},3:{},4:{},5:{},6:{}},this.subtables=null,this.addHandles([a(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),o),a(()=>this.subtables,(e,t)=>this._handleSublayersChange(e,t),o)])}destroy(){this.allSublayers.destroy()}readSublayers(e,t){if(!t||!e)return;let{sublayersSourceJSON:n}=this,r=l(t.origin);if(r<2||(n[r]={context:t,visibleLayers:e.visibleLayers||n[r].visibleLayers,layers:e.layers||n[r].layers},r>2))return;this._set(`serviceSublayers`,this.createSublayersForOrigin(`service`).sublayers);let{sublayers:i,origin:a}=this.createSublayersForOrigin(`web-document`),o=d(this);o.setDefaultOrigin(a),this._set(`sublayers`,new h(i)),o.setDefaultOrigin(`user`)}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}createServiceSublayers(){return this.createSublayersForOrigin(`service`).sublayers}createSublayersForOrigin(e){let t,n=l(e===`web-document`?`web-map`:e),r=2,i=this.sublayersSourceJSON[2].layers,a=this.sublayersSourceJSON[2].context,o=null,s=[3,4,5].filter(e=>e<=n);for(let e of s){let t=this.sublayersSourceJSON[e];p(t.layers)&&(r=e,i=t.layers,a=t.context,t.visibleLayers&&(o={visibleLayers:t.visibleLayers,context:t.context}))}let c=[3,4,5].filter(e=>e>r&&e<=n),d=null;for(let e of c){let{layers:n,visibleLayers:r,context:i}=this.sublayersSourceJSON[e];n&&(d={layers:n,context:i},t??=e),r&&(o={visibleLayers:r,context:i})}let f=m(i,a),_=new Map,v=new Set;if(d)for(let e of d.layers)_.set(e.id,e);if(o?.visibleLayers)for(let e of o.visibleLayers)v.add(e);return g(f,e=>{d&&e.read(_.get(e.id),d.context),o&&e.read({defaultVisibility:v.has(e.id)},o.context)}),{origin:u(r),originWithPartialOverrides:t?u(t):null,sublayers:new h({items:f})}}read(e,t){super.read(e,t),this.readSublayers(e,t)}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeHandles(`sublayers-owner`)),e&&(e.forEach(e=>{e.parent=this,e.layer=this}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null})],`sublayers-owner`),this.type===`tile`&&this.addHandles(e.on(`before-changes`,e=>{i.getLogger(`esri.layers.TileLayer`).error(new r(`tilelayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{layer:this})),e.preventDefault()}),`sublayers-owner`))}};return e([s({readOnly:!0})],y.prototype,`allSublayers`,void 0),e([s({readOnly:!0})],y.prototype,`effectiveScaleRange`,void 0),e([s({readOnly:!0,type:t.ofType(f)})],y.prototype,`serviceSublayers`,void 0),e([s({value:null,type:h,json:{read:!1,write:{allowNull:!0,ignoreOrigin:!0}}})],y.prototype,`sublayers`,void 0),e([s({readOnly:!0})],y.prototype,`sublayersSourceJSON`,void 0),e([s({type:h,json:{read:{source:`tables`}}})],y.prototype,`subtables`,void 0),y=e([c(`esri.layers.mixins.SublayersOwner`)],y),y};export{_ as SublayersOwner,g as forEachSublayer};
2
+ import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import n from"../../core/CollectionFlattener.js";import r from"../../core/Error.js";import i from"../../core/Logger.js";import{watch as a,sync as o}from"../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../core/accessorSupport/decorators.js";import{nameToId as l,idToName as u}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as d}from"../../core/accessorSupport/utils.js";import f from"../support/Sublayer.js";import{isSublayerOverhaul as p}from"../support/sublayerUtils.js";function m(e,t){let n=[],r={};return e&&e.forEach(e=>{let i=new f;if(i.read(e,t),r[i.id]=i,e.parentLayerId!=null&&e.parentLayerId!==-1){let t=r[e.parentLayerId];t.sublayers||=[],t.sublayers.unshift(i)}else n.unshift(i)}),n}const h=t.ofType(f);function g(e,t){e&&e.forEach(e=>{t(e),e.sublayers&&e.sublayers.length&&g(e.sublayers,t)})}const _=_=>{let v=_,y=class extends v{constructor(...e){super(...e),this.allSublayers=new n({getCollections:()=>[this.sublayers],getChildrenFunction(e){return e.sublayers}}),this.sublayersSourceJSON={2:{},3:{},4:{},5:{},6:{}},this.subtables=null,this.addHandles([a(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),o),a(()=>this.subtables,(e,t)=>this._handleSublayersChange(e,t),o)])}destroy(){this.allSublayers.destroy()}readSublayers(e,t){if(!t||!e)return;let{sublayersSourceJSON:n}=this,r=l(t.origin);if(r<2||(n[r]={context:t,visibleLayers:e.visibleLayers||n[r].visibleLayers,layers:e.layers||n[r].layers},r>2))return;this._set(`serviceSublayers`,this.createSublayersForOrigin(`service`).sublayers);let{sublayers:i,origin:a}=this.createSublayersForOrigin(`web-document`),o=d(this);o.setDefaultOrigin(a),this._set(`sublayers`,new h(i)),o.setDefaultOrigin(`user`)}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}createServiceSublayers(){return this.createSublayersForOrigin(`service`).sublayers}createSublayersForOrigin(e){let t,n=l(e===`web-document`?`web-map`:e),r=2,i=this.sublayersSourceJSON[2].layers,a=this.sublayersSourceJSON[2].context,o=null,s=[3,4,5].filter(e=>e<=n);for(let e of s){let t=this.sublayersSourceJSON[e];p(t.layers)&&(r=e,i=t.layers,a=t.context,t.visibleLayers&&(o={visibleLayers:t.visibleLayers,context:t.context}))}let c=[3,4,5].filter(e=>e>r&&e<=n),d=null;for(let e of c){let{layers:n,visibleLayers:r,context:i}=this.sublayersSourceJSON[e];n&&(d={layers:n,context:i},t??=e),r&&(o={visibleLayers:r,context:i})}let f=m(i,a),_=new Map,v=new Set;if(d)for(let e of d.layers)_.set(e.id,e);if(o?.visibleLayers)for(let e of o.visibleLayers)v.add(e);return g(f,e=>{d&&e.read(_.get(e.id),d.context),o&&e.read({defaultVisibility:v.has(e.id)},o.context)}),{origin:u(r),originWithPartialOverrides:t?u(t):null,sublayers:new h({items:f})}}read(e,t){super.read(e,t),this.readSublayers(e,t)}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeHandles(`sublayers-owner`)),e&&(e.forEach(e=>{e.parent=this,e.layer=this}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null})],`sublayers-owner`),this.type===`tile`&&this.addHandles(e.on(`before-changes`,e=>{i.getLogger(`esri.layers.TileLayer`).error(new r(`tilelayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{layer:this})),e.preventDefault()}),`sublayers-owner`))}};return e([s({readOnly:!0})],y.prototype,`allSublayers`,void 0),e([s({readOnly:!0})],y.prototype,`effectiveScaleRange`,void 0),e([s({readOnly:!0})],y.prototype,`effectiveVisible`,void 0),e([s({readOnly:!0,type:t.ofType(f)})],y.prototype,`serviceSublayers`,void 0),e([s({value:null,type:h,json:{read:!1,write:{allowNull:!0,ignoreOrigin:!0}}})],y.prototype,`sublayers`,void 0),e([s({readOnly:!0})],y.prototype,`sublayersSourceJSON`,void 0),e([s({type:h,json:{read:{source:`tables`}}})],y.prototype,`subtables`,void 0),y=e([c(`esri.layers.mixins.SublayersOwner`)],y),y};export{_ as SublayersOwner,g as forEachSublayer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../../core/Error.js";import{rad2deg as t,deg2rad as n}from"../../../core/mathUtils.js";import{create as r}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as i,fromValues as a}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{zeros as o,create as s}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromArray as c}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{transpose as l,multiply as u}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{invertOrIdentity as d,mul as f}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{scale as p,sub as m,add as h}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{isSerializable as g}from"../../../core/support/jsonUtils.js";import _ from"../../../geometry/Point.js";import{projectAsync as v}from"../../../geometry/projectionUtils.js";import{earth as y}from"../../../geometry/support/Ellipsoid.js";import{isWebMercator as b}from"../../../geometry/support/spatialReferenceUtils.js";import{a as x}from"../../../chunks/vec3.js";import{isConstantElevation as S,ConstantElevation as C,isElevationSource as w}from"../core/ElevationSourceDefinitions.js";import{getMetersPerUnitOfSR as T}from"../core/utils.js";import{getElevationSampler as ee}from"./updateElevationUtils.js";import{isNumber as E}from"../../../support/guards.js";import{defaultImageSphereSize as D}from"../../../widgets/PanoramicViewer/constants.js";function O(e,t,n){let[r,a,o,s]=t,[c,l,u,p]=n;k(r,a,o,s);let m=k(c,l,u,p),h=A(r,a,o,s),g=A(c,l,u,p),_=d(i(),h),[v,y,b,x]=ne(e,f(i(),_,g));return[v/x,y/x,m?0:b/x]}function k(e,t,n,r){return e[2]===0&&t[2]===0&&n[2]===0&&r[2]===0&&(e[2]=t[2]=n[2]=r[2]=1,!0)}function te(e){return e===0?1:e}function ne(e,t){let[n,r,i]=e,a=[0,0,0,0];return a[0]=n*t[0]+r*t[1]+i*t[2]+t[3],a[1]=n*t[4]+r*t[5]+i*t[6]+t[7],a[2]=n*t[8]+r*t[9]+i*t[10]+t[11],a[3]=te(n*t[12]+r*t[13]+i*t[14]+t[15]),a}function A(e,t,n,r){let o=re(c([...r,1]),d(Array(16),a(e[0],t[0],n[0],0,e[1],t[1],n[1],0,e[2],t[2],n[2],0,1,1,1,1))),s=o[0],l=o[1],u=o[2],f=i();return f[0]=s*e[0],f[1]=l*t[0],f[2]=u*n[0],f[3]=0,f[4]=s*e[1],f[5]=l*t[1],f[6]=u*n[1],f[7]=0,f[8]=s*e[2],f[9]=l*t[2],f[10]=u*n[2],f[11]=0,f[12]=s,f[13]=l,f[14]=u,f[15]=1,f}function j(e,t,n,r,i=o()){return i[0]=e[0]+t[0]*n,i[1]=e[1]+t[1]*n,i[2]=e[2]+t[2]*(n/r),i}function M(e,t,n){let r=o();return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*(t/n),r}function N(e,t){let[n,r,i]=e,a=o();return a[0]=n*t[0]+r*t[3]+i*t[6],a[1]=n*t[1]+r*t[4]+i*t[7],a[2]=n*t[2]+r*t[5]+i*t[8],a}function re(e,t){let[n,r,i,a]=e,o=[,,,,];return o[0]=n*t[0]+r*t[1]+i*t[2]+a*t[3],o[1]=n*t[4]+r*t[5]+i*t[6]+a*t[7],o[2]=n*t[8]+r*t[9]+i*t[10]+a*t[11],o[3]=n*t[12]+r*t[13]+i*t[14]+a*t[15],o}function ie(t,i,a,o=!0){if(!Number.isFinite(t))throw new e(`InvalidRotationAngle`,`Please specify a valid angle for rotation`);let s=a*(o?n(t):t),c=Math.cos(s),l=Math.sin(s),u=r();switch(i){case 0:u[4]=c,u[5]=-l,u[7]=l,u[8]=c;break;case 1:u[0]=c,u[2]=l,u[6]=-l,u[8]=c;break;case 2:u[0]=c,u[1]=-l,u[3]=l,u[4]=c;break;default:throw new e(`InvalidRotationAxis`,`Please specify either 0, 1 or 2 for X, Y or Z axis respectively`)}return u}const P={HPR:[[2,-1],[0,1],[2,-1]],OPK:[[0,1],[1,1],[2,1]],YPR:[[0,-1],[1,-1],[2,-1]]};function F(t,n,i=!0){if(t?.length!==3||n?.length!==3)throw new e(`InvalidRotationAngles`,`Please specify three angles with config for rotation`);let a=r();for(let e=0;e<3;e++){let[r,o]=n[e],s=ie(t[e],r,o,i);u(a,s,a)}return a}function I(e,t=!0){return F(e,P.OPK,t)}function L(e,t=!0){return F(e,P.HPR,t)}function ae(e,t,r){let i=Math.sin(n(r)),a=Math.cos(n(r)),o=[[e,0],[e,t],[0,t]];o.forEach((e,t)=>{o[t]=[a*e[0]-i*e[1],i*e[0]+a*e[1]]});let s={xmin:Math.min(0,o[0][0],o[1][0],o[2][0]),xmax:Math.max(0,o[0][0],o[1][0],o[2][0]),ymin:Math.min(0,o[0][1],o[1][1],o[2][1]),ymax:Math.max(0,o[0][1],o[1][1],o[2][1])};return{hfov:Math.abs(s.xmax-s.xmin),vfov:Math.abs(s.ymax-s.ymin)}}function oe(e,r){let i=Number(e[0]),a=Number(e[1]),o=Number(e[2]),[s,c,l,u]=r,d=n(s),f=n(c),p=l/Math.sqrt(1-u*Math.sin(d)**2),m=i/p,h=a/p,g=o/p,_=Math.cos(d)-Math.sin(d)*h+Math.cos(d)*g,v=Math.sin(d)+Math.cos(d)*h+Math.sin(d)*g,y=Math.sqrt(_**2+m**2),b=u*p*Math.sin(d),x=(e,t=5)=>{if(t===0)return e;let n=x(e,t-1);return Math.atan(v/y-(b-u*(l/Math.sqrt(1-u*Math.sin(n)**2))*Math.sin(n))/(p*y))},S=x(d),C=Math.atan(i/(p*_))+f,w=t(S);return[t(C),w,i/(Math.cos(S)*Math.sin(C-f))-l/Math.sqrt(1-u*Math.sin(S)**2)]}function R(e,t,n){let r=360/t,i=180/n,a=e.x-t/2,o=e.y-n/2;return{heading:a*r,pitch:90-o*i}}function se(e,t,n,r,i=D/2){let{heading:a,pitch:o}=B(e,i),s=r?$(a,o,r):[a,o];return{heading:a,pitch:o,...z(s[0],s[1],t,n)}}function z(e,t,n,r){let i=360/n,a=180/r,o=e%360,s=o<-180?o+360:o>180?o-360:o;return{x:n/2+s/i,y:r-t/a}}function B(e,n){let r=t(Math.acos(-e.z/n));return{heading:t(Math.atan2(e.x,e.y)),pitch:r}}function V(e,t){return[Math.sin(n(e))*Math.sin(n(t)),Math.cos(n(e))*Math.sin(n(t)),Math.cos(n(180-t))]}function H(e,t,n,r=D/2){let i=n?$(e,t,n,!0):[e,t];return p(s(),V(i[0],i[1]),r)}function ce(e,t,n,r,i=D/2){let{heading:a,pitch:o}=R(e,t,n);return H(a,o,r,i)}async function le(e,n,r){let i=await v(n,e.spatialReference,r),a=t(Math.atan2(i.y-e.y,i.x-e.x));return a=a>=0&&a<=90?90-a:a>90&&a<=180?360-a+90:90+Math.abs(a),a}function ue(e,t,n){let r=Math.cos(n),i=Math.sin(n),a=[1,0,0,1,0,0],o=a[0]*r+a[2]*i,s=a[1]*r+a[3]*i,c=-a[0]*i+a[2]*r,l=-a[1]*i+a[3]*r;return a[0]=o,a[1]=s,a[2]=c,a[3]=l,[e*a[0]+t*a[2]+a[4],e*a[1]+t*a[3]+a[5]]}const de=e=>e.toArray(),U=(...e)=>e.some(e=>e);function fe(e,t){if(U(e.length===0,e.some(({x:e,y:t})=>U(e==null,t==null)),!t.hasZ))throw Error(`Input pixels must have x, y and camera location must have z value`)}function pe(e,t){if(e.some(e=>e.z==null)||t.z==null)throw Error(`Input points and camera location must have z value`)}function me(e){if(e?.length!==9)throw Error(`Rotation matrix is not provided or is not a valid 3x3 matrix`)}function he(e,t){return b(t)?1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e/y.radius))):1}const ge=e=>t=>new _({x:t[0],y:t[1],z:t[2],spatialReference:e});function _e(e,t,n,r){return[[-t,-t],[+t,-t],[+t,+t],[-t,+t]].map(([t,i])=>O(x(o(),n,[t,i,0]),r,e))}function W({a0:e,a1:t,a2:n,b0:r,b1:i,b2:a},o,s,c){let l=[e??o/2-.5,t,n??0,r??s/2-.5,i??0,a].map(ve);return c!=null&&G(l)?{affines:l,focalLength:c}:{affines:[o/2-.5,1,0,s/2-.5,0,-1]}}function ve(e,t){if(e==null)return null;let n=parseFloat(`${e}`);return isNaN(n)?null:n}function G(e){return e[1]!=null&&e[5]!=null}function ye(e,t,n){let{cameraHeight:r,cameraPitch:i,cameraRoll:a,elevation:o,farDistance:s,horizontalFieldOfView:c,location:l,verticalFieldOfView:u}=Q(e,e.location.spatialReference),d=o??(l.z??0)-r;return{...K(e,t,n),averageElevation:d,cameraPitch:i,cameraRoll:a??0,farDistance:s,horizontalFieldOfView:c,verticalFieldOfView:u}}function be(e,t,n,r){return X(r)?I([r.omega,r.phi,r.kappa]):Z(r)?L([r.heading,r.pitch,r.roll]):L([e,t,n??0])}function xe(e,t,n){let{cameraHeading:r,cameraHeight:i,farDistance:a,horizontalFieldOfView:o,location:s,verticalFieldOfView:c}=Q(e,e.location.spatialReference),l=(s.z??0)-i,u=-r,d=0,f=0;if(e?.matrix){let{matrix:t}=e;[d,f,u]=Ee(t)}return{averageElevation:l,cameraLocation:s,cameraHeading:r,farDistance:a,horizontalFieldOfView:o,imageHeight:n,imageWidth:t,verticalFieldOfView:c,horizonYaw:u,horizonPitch:d,horizonRoll:f}}function K(e,t,n){let{a0:r,a1:i,a2:a,b0:o,b1:s,b2:c,cameraHeading:l,cameraOrientation:u,cameraPitch:d,cameraRoll:f,focalLength:p,horizontalFieldOfView:m,location:h,matrix:g,principalX:_,principalY:v,radial:y,tangential:b,verticalFieldOfView:x}=e,{affines:S,focalLength:C}=W({a0:r,a1:i,a2:a,b0:o,b1:s,b2:c},t,n,p),w=g??be(l,d,f,u),T=_!=null&&v!=null?[_,v]:void 0;return{affineTransformations:u?.affineTransformations??S,cameraLocation:h.clone(),focalLength:u?.focalLength??C,horizontalFieldOfView:m,imageHeight:n,imageWidth:t,principalOffsetPoint:u?.principalOffsetPoint??T,radialDistortionCoefficients:u?.radialDistortionCoefficients??y,rotationMatrix:w,tangentialDistortionCoefficients:u?.tangentialDistortionCoefficients??b,verticalFieldOfView:x}}const q=e=>e!=null&&`elevationSample`in e&&e.elevationSample!=null,J=e=>w(e?.elevationSource)&&e?.extent!=null,Y=e=>S(e?.elevationSource),Se=async(e,t,n,r,i)=>{let a=T(e),o=t-n/a;return q(r)?r:Y(r)?(r.elevationSource=new C({constantElevation:r.elevationSource.constantElevation/a}),r):J(r)?{elevationSample:await ee({...g(r.elevationSource)?r.elevationSource.toJSON():r.elevationSource,extent:r.extent},i),elevationSource:new C({constantElevation:o})}:{averageGroundElevation:o,spatialReference:e}},Ce=e=>E(e?.heading)&&E(e?.pitch),we=(e,t)=>[[-e,-t],[e,-t],[e,t],[-e,t]];function Te(e){let{cameraLocation:t,farDistance:i,horizontalFieldOfView:a,rotationMatrix:s,scalingFactor:c,verticalFieldOfView:u}=e,d=r();l(d,s);let f=2*Math.tan(n(u)/2)*i*c,p=2*Math.tan(n(a)/2)*i*c,g=N([0,0,-1],d),_=j([t.x,t.y,t.z],g,e.farDistance*c,c),v=N([0,1,0],d),y=N([1,0,0],d),b=M(v,f/2,c),x=M(y,p/2,c),S=m(o(),b,x),C=h(o(),b,x);return[h(o(),_,S),h(o(),_,C),m(o(),_,S),m(o(),_,C)]}const X=e=>e?.type===2,Z=e=>e?.type===1;function Q(e,t,n=!0){let r=T(t),i=n?e.clone():e;return i.cameraHeight/=r,i.farDistance/=r,i.nearDistance/=r,S(i.elevationSource)&&(i.elevationSource.constantElevation/=r),i}function Ee(e){return[t(Math.asin(-e[6])),t(Math.atan(e[7]/e[8])),t(Math.atan2(e[3],e[0]))]}function $(e,t,n,r=!1){return De(V(e,t),n,r)}function De(e,n,i=!1){let a=i?l(r(),F(n,P.YPR)):F(n,P.YPR),o=e[0]*a[0]+e[1]*a[1]+e[2]*a[2],s=e[0]*a[3]+e[1]*a[4]+e[2]*a[5],c=e[0]*a[6]+e[1]*a[7]+e[2]*a[8],u=t(Math.acos(-c));return[t(Math.atan2(o,s)),u]}export{$ as adjustHorizonAngles,De as adjustHorizonAnglesVec3,Te as computeFarplaneVertices,ae as computeHFOVAndVFOV,_e as computeNewReferenceCoordinates,H as convertHeadingPitchToSphereVertex,z as convertOrientationToPixelLocation,ce as convertPixelLocationToSphereVertex,R as convertPixelToHeadingPitch,B as convertSphereVertexToOrientation,se as convertSphereVertexToPixelLocation,Q as convertToSRUnits,V as createMeshSpaceVector,F as createRotationMatrix,L as createRotationMatrixFromHPR,I as createRotationMatrixFromOPK,Ee as extractHorizonAngles,W as getAffinesAndFocalLength,xe as getImageToWorldPanoramicProperties,ye as getImageToWorldProperties,le as getInitialAngle,Se as getUpdateElevationProps,he as getWebMercatorScalingFactor,K as getWorldToImageProperties,Ce as hasAngles,Z as hasHeadingPitchRoll,X as hasOmegaPhiKappa,q as isUpdateElevationWithElevationSampler,J as isUpdateElevationWithElevationSource,Y as isUpdateUsingConstantElevation,G as isValidAffines,A as linearEquationSolve,oe as ltpToGeographic,U as or,de as pointToArray,O as projectiveTransform,we as reducerFn,ue as rotatePixel,j as scaleAndAddWithFactor,M as scaleWithFactor,N as transformMat3,re as transformMat4,fe as validatePixelsToTransform,pe as validatePointsToTransform,me as validateRotationMatrix,ge as vecToPoint};
2
+ import e from"../../../core/Error.js";import{deg2rad as t,rad2deg as n}from"../../../core/mathUtils.js";import{create as r}from"../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as i,fromValues as a}from"../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{zeros as o,create as s}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromArray as c}from"../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{multiply as l,transpose as u}from"../../../core/libs/gl-matrix-2/math/mat3.js";import{invertOrIdentity as d,mul as f}from"../../../core/libs/gl-matrix-2/math/mat4.js";import{scale as p,sub as m,add as h}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{isSerializable as g}from"../../../core/support/jsonUtils.js";import _ from"../../../geometry/Point.js";import{projectAsync as v}from"../../../geometry/projectionUtils.js";import{earth as y}from"../../../geometry/support/Ellipsoid.js";import{isWebMercator as b}from"../../../geometry/support/spatialReferenceUtils.js";import{a as x}from"../../../chunks/vec3.js";import{isConstantElevation as S,ConstantElevation as C,isElevationSource as w}from"../core/ElevationSourceDefinitions.js";import{getMetersPerUnitOfSR as T}from"../core/utils.js";import{getElevationSampler as ee}from"./updateElevationUtils.js";import{isNumber as E}from"../../../support/guards.js";import{defaultImageSphereSize as D}from"../../../widgets/PanoramicViewer/constants.js";function O(e,t,n){let[r,a,o,s]=t,[c,l,u,p]=n;k(r,a,o,s);let m=k(c,l,u,p),h=A(r,a,o,s),g=A(c,l,u,p),_=d(i(),h),[v,y,b,x]=ne(e,f(i(),_,g));return[v/x,y/x,m?0:b/x]}function k(e,t,n,r){return e[2]===0&&t[2]===0&&n[2]===0&&r[2]===0&&(e[2]=t[2]=n[2]=r[2]=1,!0)}function te(e){return e===0?1:e}function ne(e,t){let[n,r,i]=e,a=[0,0,0,0];return a[0]=n*t[0]+r*t[1]+i*t[2]+t[3],a[1]=n*t[4]+r*t[5]+i*t[6]+t[7],a[2]=n*t[8]+r*t[9]+i*t[10]+t[11],a[3]=te(n*t[12]+r*t[13]+i*t[14]+t[15]),a}function A(e,t,n,r){let o=re(c([...r,1]),d(Array(16),a(e[0],t[0],n[0],0,e[1],t[1],n[1],0,e[2],t[2],n[2],0,1,1,1,1))),s=o[0],l=o[1],u=o[2],f=i();return f[0]=s*e[0],f[1]=l*t[0],f[2]=u*n[0],f[3]=0,f[4]=s*e[1],f[5]=l*t[1],f[6]=u*n[1],f[7]=0,f[8]=s*e[2],f[9]=l*t[2],f[10]=u*n[2],f[11]=0,f[12]=s,f[13]=l,f[14]=u,f[15]=1,f}function j(e,t,n,r,i=o()){return i[0]=e[0]+t[0]*n,i[1]=e[1]+t[1]*n,i[2]=e[2]+t[2]*(n/r),i}function M(e,t,n){let r=o();return r[0]=e[0]*t,r[1]=e[1]*t,r[2]=e[2]*(t/n),r}function N(e,t){let[n,r,i]=e,a=o();return a[0]=n*t[0]+r*t[3]+i*t[6],a[1]=n*t[1]+r*t[4]+i*t[7],a[2]=n*t[2]+r*t[5]+i*t[8],a}function re(e,t){let[n,r,i,a]=e,o=[,,,,];return o[0]=n*t[0]+r*t[1]+i*t[2]+a*t[3],o[1]=n*t[4]+r*t[5]+i*t[6]+a*t[7],o[2]=n*t[8]+r*t[9]+i*t[10]+a*t[11],o[3]=n*t[12]+r*t[13]+i*t[14]+a*t[15],o}function ie(n,i,a,o=!0){if(!Number.isFinite(n))throw new e(`InvalidRotationAngle`,`Please specify a valid angle for rotation`);let s=a*(o?t(n):n),c=Math.cos(s),l=Math.sin(s),u=r();switch(i){case 0:u[4]=c,u[5]=-l,u[7]=l,u[8]=c;break;case 1:u[0]=c,u[2]=l,u[6]=-l,u[8]=c;break;case 2:u[0]=c,u[1]=-l,u[3]=l,u[4]=c;break;default:throw new e(`InvalidRotationAxis`,`Please specify either 0, 1 or 2 for X, Y or Z axis respectively`)}return u}const P={HPR:[[2,-1],[0,1],[2,-1]],OPK:[[0,1],[1,1],[2,1]],YPR:[[0,-1],[1,-1],[2,-1]]};function F(t,n,i=!0){if(t?.length!==3||n?.length!==3)throw new e(`InvalidRotationAngles`,`Please specify three angles with config for rotation`);let a=r();for(let e=0;e<3;e++){let[r,o]=n[e],s=ie(t[e],r,o,i);l(a,s,a)}return a}function I(e,t=!0){return F(e,P.OPK,t)}function L(e,t=!0){return F(e,P.HPR,t)}function ae(e,n,r){let i=Math.sin(t(r)),a=Math.cos(t(r)),o=[[e,0],[e,n],[0,n]];o.forEach((e,t)=>{o[t]=[a*e[0]-i*e[1],i*e[0]+a*e[1]]});let s={xmin:Math.min(0,o[0][0],o[1][0],o[2][0]),xmax:Math.max(0,o[0][0],o[1][0],o[2][0]),ymin:Math.min(0,o[0][1],o[1][1],o[2][1]),ymax:Math.max(0,o[0][1],o[1][1],o[2][1])};return{hfov:Math.abs(s.xmax-s.xmin),vfov:Math.abs(s.ymax-s.ymin)}}function oe(e,r){let i=Number(e[0]),a=Number(e[1]),o=Number(e[2]),[s,c,l,u]=r,d=t(s),f=t(c),p=l/Math.sqrt(1-u*Math.sin(d)**2),m=i/p,h=a/p,g=o/p,_=Math.cos(d)-Math.sin(d)*h+Math.cos(d)*g,v=Math.sin(d)+Math.cos(d)*h+Math.sin(d)*g,y=Math.sqrt(_**2+m**2),b=u*p*Math.sin(d),x=(e,t=5)=>{if(t===0)return e;let n=x(e,t-1);return Math.atan(v/y-(b-u*(l/Math.sqrt(1-u*Math.sin(n)**2))*Math.sin(n))/(p*y))},S=x(d),C=Math.atan(i/(p*_))+f,w=n(S);return[n(C),w,i/(Math.cos(S)*Math.sin(C-f))-l/Math.sqrt(1-u*Math.sin(S)**2)]}function R(e,t,n){let r=360/t,i=180/n,a=e.x-t/2,o=e.y-n/2;return{heading:a*r,pitch:90-o*i}}function se(e,t,n,r,i=D/2){let{heading:a,pitch:o}=B(e,i),s=r?$(a,o,r):[a,o];return{heading:a,pitch:o,...z(s[0],s[1],t,n)}}function z(e,t,n,r){let i=360/n,a=180/r,o=e%360,s=o<-180?o+360:o>180?o-360:o;return{x:n/2+s/i,y:r-t/a}}function B(e,t){let r=n(Math.acos(-e.z/t));return{heading:n(Math.atan2(e.x,e.y)),pitch:r}}function V(e,n){return[Math.sin(t(e))*Math.sin(t(n)),Math.cos(t(e))*Math.sin(t(n)),Math.cos(t(180-n))]}function H(e,t,n,r=D/2){let i=n?$(e,t,n,!0):[e,t];return p(s(),V(i[0],i[1]),r)}function ce(e,t,n,r,i=D/2){let{heading:a,pitch:o}=R(e,t,n);return H(a,o,r,i)}async function le(e,t,r){let i=await v(t,e.spatialReference,r),a=n(Math.atan2(i.y-e.y,i.x-e.x));return a=a>=0&&a<=90?90-a:a>90&&a<=180?360-a+90:90+Math.abs(a),a}function ue(e,t,n){let r=Math.cos(n),i=Math.sin(n),a=[1,0,0,1,0,0],o=a[0]*r+a[2]*i,s=a[1]*r+a[3]*i,c=-a[0]*i+a[2]*r,l=-a[1]*i+a[3]*r;return a[0]=o,a[1]=s,a[2]=c,a[3]=l,[e*a[0]+t*a[2]+a[4],e*a[1]+t*a[3]+a[5]]}const de=e=>e.toArray(),U=(...e)=>e.some(e=>e);function fe(e,t){if(U(e.length===0,e.some(({x:e,y:t})=>U(e==null,t==null)),!t.hasZ))throw Error(`Input pixels must have x, y and camera location must have z value`)}function pe(e,t){if(e.some(e=>e.z==null)||t.z==null)throw Error(`Input points and camera location must have z value`)}function me(e){if(e?.length!==9)throw Error(`Rotation matrix is not provided or is not a valid 3x3 matrix`)}function he(e,t){return b(t)?1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e/y.radius))):1}const ge=e=>t=>new _({x:t[0],y:t[1],z:t[2],spatialReference:e});function _e(e,t,n,r){return[[-t,-t],[+t,-t],[+t,+t],[-t,+t]].map(([t,i])=>O(x(o(),n,[t,i,0]),r,e))}function W({a0:e,a1:t,a2:n,b0:r,b1:i,b2:a},o,s,c){let l=[e??o/2-.5,t,n??0,r??s/2-.5,i??0,a].map(ve);return c!=null&&G(l)?{affines:l,focalLength:c}:{affines:[o/2-.5,1,0,s/2-.5,0,-1]}}function ve(e,t){if(e==null)return null;let n=parseFloat(`${e}`);return isNaN(n)?null:n}function G(e){return e[1]!=null&&e[5]!=null}function ye(e,t,n){let{cameraHeight:r,cameraPitch:i,cameraRoll:a,elevation:o,farDistance:s,horizontalFieldOfView:c,location:l,verticalFieldOfView:u}=Q(e,e.location.spatialReference),d=o??(l.z??0)-r;return{...K(e,t,n),averageElevation:d,cameraPitch:i,cameraRoll:a??0,farDistance:s,horizontalFieldOfView:c,verticalFieldOfView:u}}function be(e,t,n,r){return X(r)?I([r.omega,r.phi,r.kappa]):Z(r)?L([r.heading,r.pitch,r.roll]):L([e,t,n??0])}function xe(e,t,n){let{cameraHeading:r,cameraHeight:i,farDistance:a,horizontalFieldOfView:o,location:s,verticalFieldOfView:c}=Q(e,e.location.spatialReference),l=(s.z??0)-i,u=-r,d=0,f=0;if(e?.matrix){let{matrix:t}=e;[d,f,u]=Ee(t)}return{averageElevation:l,cameraLocation:s,cameraHeading:r,farDistance:a,horizontalFieldOfView:o,imageHeight:n,imageWidth:t,verticalFieldOfView:c,horizonYaw:u,horizonPitch:d,horizonRoll:f}}function K(e,t,n){let{a0:r,a1:i,a2:a,b0:o,b1:s,b2:c,cameraHeading:l,cameraOrientation:u,cameraPitch:d,cameraRoll:f,focalLength:p,horizontalFieldOfView:m,location:h,matrix:g,principalX:_,principalY:v,radial:y,tangential:b,verticalFieldOfView:x}=e,{affines:S,focalLength:C}=W({a0:r,a1:i,a2:a,b0:o,b1:s,b2:c},t,n,p),w=g??be(l,d,f,u),T=_!=null&&v!=null?[_,v]:void 0;return{affineTransformations:u?.affineTransformations??S,cameraLocation:h.clone(),focalLength:u?.focalLength??C,horizontalFieldOfView:m,imageHeight:n,imageWidth:t,principalOffsetPoint:u?.principalOffsetPoint??T,radialDistortionCoefficients:u?.radialDistortionCoefficients??y,rotationMatrix:w,tangentialDistortionCoefficients:u?.tangentialDistortionCoefficients??b,verticalFieldOfView:x}}const q=e=>e!=null&&`elevationSample`in e&&e.elevationSample!=null,J=e=>w(e?.elevationSource)&&e?.extent!=null,Y=e=>S(e?.elevationSource),Se=async(e,t,n,r,i)=>{let a=T(e),o=t-n/a;return q(r)?r:Y(r)?(r.elevationSource=new C({constantElevation:r.elevationSource.constantElevation/a}),r):J(r)?{elevationSample:await ee({...g(r.elevationSource)?r.elevationSource.toJSON():r.elevationSource,extent:r.extent},i),elevationSource:new C({constantElevation:o})}:{averageGroundElevation:o,spatialReference:e}},Ce=e=>E(e?.heading)&&E(e?.pitch),we=(e,t)=>[[-e,-t],[e,-t],[e,t],[-e,t]];function Te(e){let{cameraLocation:n,farDistance:i,horizontalFieldOfView:a,rotationMatrix:s,scalingFactor:c,verticalFieldOfView:l}=e,d=r();u(d,s);let f=2*Math.tan(t(l)/2)*i*c,p=2*Math.tan(t(a)/2)*i*c,g=N([0,0,-1],d),_=j([n.x,n.y,n.z],g,e.farDistance*c,c),v=N([0,1,0],d),y=N([1,0,0],d),b=M(v,f/2,c),x=M(y,p/2,c),S=m(o(),b,x),C=h(o(),b,x);return[h(o(),_,S),h(o(),_,C),m(o(),_,S),m(o(),_,C)]}const X=e=>e?.type===2,Z=e=>e?.type===1;function Q(e,t,n=!0){let r=T(t),i=n?e.clone():e;return i.cameraHeight/=r,i.farDistance/=r,i.nearDistance/=r,S(i.elevationSource)&&(i.elevationSource.constantElevation/=r),i}function Ee(e){return[n(Math.asin(-e[6])),n(Math.atan(e[7]/e[8])),n(Math.atan2(e[3],e[0]))]}function $(e,t,n,r=!1){return De(V(e,t),n,r)}function De(e,t,i=!1){let a=i?u(r(),F(t,P.YPR)):F(t,P.YPR),o=e[0]*a[0]+e[1]*a[1]+e[2]*a[2],s=e[0]*a[3]+e[1]*a[4]+e[2]*a[5],c=e[0]*a[6]+e[1]*a[7]+e[2]*a[8],l=n(Math.acos(-c));return[n(Math.atan2(o,s)),l]}export{$ as adjustHorizonAngles,De as adjustHorizonAnglesVec3,Te as computeFarplaneVertices,ae as computeHFOVAndVFOV,_e as computeNewReferenceCoordinates,H as convertHeadingPitchToSphereVertex,z as convertOrientationToPixelLocation,ce as convertPixelLocationToSphereVertex,R as convertPixelToHeadingPitch,B as convertSphereVertexToOrientation,se as convertSphereVertexToPixelLocation,Q as convertToSRUnits,V as createMeshSpaceVector,F as createRotationMatrix,L as createRotationMatrixFromHPR,I as createRotationMatrixFromOPK,Ee as extractHorizonAngles,W as getAffinesAndFocalLength,xe as getImageToWorldPanoramicProperties,ye as getImageToWorldProperties,le as getInitialAngle,Se as getUpdateElevationProps,he as getWebMercatorScalingFactor,K as getWorldToImageProperties,Ce as hasAngles,Z as hasHeadingPitchRoll,X as hasOmegaPhiKappa,q as isUpdateElevationWithElevationSampler,J as isUpdateElevationWithElevationSource,Y as isUpdateUsingConstantElevation,G as isValidAffines,A as linearEquationSolve,oe as ltpToGeographic,U as or,de as pointToArray,O as projectiveTransform,we as reducerFn,ue as rotatePixel,j as scaleAndAddWithFactor,M as scaleWithFactor,N as transformMat3,re as transformMat4,fe as validatePixelsToTransform,pe as validatePointsToTransform,me as validateRotationMatrix,ge as vecToPoint};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{isSome as e,equals as t,difference as n}from"../../core/arrayUtils.js";import r from"../../core/Error.js";import{updateOrigins as i}from"../../core/accessorSupport/originUtils.js";import{saveAs as a,save as o,getLayerJSON as s,getPortalItem as c,addItem as l,ensureLayerConfig as u,ensureItemConfig as d,setCommonItemProperties as f,validateItemType as ee,createErrorMessage as p}from"./utils.js";import{parse as m}from"../support/arcgisLayerUrl.js";import{fetchFeatureServiceWithAllResources as te,getFeatureServiceItemLayerType as h,getLayerModuleTypeStrict as g}from"../support/fetchService.js";import _ from"../../portal/Portal.js";import ne from"../../portal/PortalItem.js";import{createForItemWrite as re}from"../../portal/support/jsonContext.js";import{getWGS84ExtentForItem as v,toggleTypeKeyword as y,typeKeyword as b,removeTypeKeyword as ie,hasTypeKeyword as ae}from"../../portal/support/portalItemUtils.js";const x=`Feature Service`,S=`feature-layer-utils`,C=`${S}-save`,w=`${S}-save-as`,T=`${S}-saveall`,E=`${S}-saveall-as`;function D(e){let t=e?.type;return(t===`feature`||t===`subtype-group`||t===`oriented-imagery`||t===`dimension-feature`||t===`annotation-feature`)&&e?.source?.type===`feature-layer`}function O(e){return{isValid:D(e)&&(`dynamicDataSource`in e?!e.dynamicDataSource:!0),errorMessage:`Feature layer should be a layer or table in a map or feature service`}}function k(e,t){let n=re(e,`portal-item`);return t?.isTable&&(n.layerContainerType=`tables`),n}function A(e){let t=k(e),n=k(e);return n.layerContainerType=`tables`,{forLayers:t,forTables:n}}function j(e){let t=[],n=[];for(let{layer:r,layerJSON:i}of e)oe(r)?n.push(i):t.push(i);return{layers:t,tables:n}}function oe(e,t){return e.isTable}function M(e){return j([e])}async function N(e,t){return/\/\d+\/?$/.test(e.url)?M(t[0]):P(t,e)}async function P(e,t){if(e.reverse(),!t)return j(e);let n=await F(t,e);for(let t of e)G(t.layer,t.layerJSON,n);return R(n,e),n}async function F(e,t){let n=await e.fetchData(`json`),r;if(!I(n)||ae(e,b.HOSTED_SERVICE))r=!0;else if(q(n))return n;else r=!1;n??={},L(n);let{layer:{url:i,customParameters:a,apiKey:o}}=t[0];return await V(n,{url:i??``,customParameters:a,apiKey:o},t.map(e=>e.layer.layerId),r),n}function I(e){return!!(e&&Array.isArray(e.layers)&&Array.isArray(e.tables))}function L(e){e.layers??=[],e.tables??=[]}function R(e,t){let n=[],r=[];for(let{layer:e}of t){let{isTable:t,layerId:i}=e;t?r.push(i):n.push(i)}z(e.layers,n),z(e.tables,r)}function z(e,n){if(e.length<2)return;let r=[];for(let{id:t}of e)r.push(t);t(r.sort(B),n.slice().sort(B))&&e.sort((e,t)=>{let r=n.indexOf(e.id),i=n.indexOf(t.id);return r<i?-1:+(r>i)})}function B(e,t){return e<t?-1:+(e>t)}async function V(e,t,n,r){let{url:i,customParameters:a,apiKey:o}=t,{serviceJSON:s,layersJSON:c}=await te(i,{customParameters:a,apiKey:o});if(!r){J(e,s);return}let l=H(e.layers,s.layers,n),u=H(e.tables,s.tables,n);e.layers=l.itemResources,e.tables=u.itemResources,J(e,s),await U(e,[...l.added,...u.added],i,c?[...c.layers,...c.tables]:[])}function H(e,t,r){let i=n(e,t,(e,t)=>e.id===t.id);e=e.filter(e=>!i.removed.some(t=>t.id===e.id));let a=i.added;for(let{id:t}of a)e.push({id:t});return{itemResources:e,added:a.filter(({id:e})=>!r.includes(e))}}async function U(e,t,n,r){let i=await W(t),a=[];for(let{id:e,type:o}of t){let t=i.get(o);t&&a.push(new t({url:n,layerId:e,sourceJSON:r.find(({id:t})=>t===e)}))}await Promise.allSettled(a.map(e=>e.load()));for(let t of a){let{layerId:n,loaded:r}=t;if(!r||!(`defaultPopupTemplate`in t)||!t.defaultPopupTemplate)continue;let i={id:n,popupInfo:t.defaultPopupTemplate.toJSON()};G(t,t.operationalLayerType===`ArcGISFeatureLayer`?i:{...i,layerType:t.operationalLayerType},e)}}async function W(e){let t=new Set,n=[];for(let{type:r}of e){let e=g(r);if(e&&!t.has(r))switch(t.add(r),e){case`AnnotationFeatureLayer`:n.push(import(`../AnnotationFeatureLayer.js`).then(e=>e.default));break;case`CatalogLayer`:n.push(import(`../CatalogLayer.js`).then(e=>e.default));break;case`DimensionFeatureLayer`:n.push(import(`../DimensionFeatureLayer.js`).then(e=>e.default));break;case`FeatureLayer`:n.push(import(`../FeatureLayer.js`).then(e=>e.default));break;case`OrientedImageryLayer`:n.push(import(`../OrientedImageryLayer.js`).then(e=>e.default))}}let r=await Promise.all(n),i=new Map;return Array.from(t).forEach((e,t)=>{i.set(e,r[t])}),i}function G(e,t,n){e.isTable?K(n.tables,t):K(n.layers,t)}function K(e,t){let n=e.findIndex(({id:e})=>e===t.id);n===-1?e.push(t):e[n]=t}function q(e){return[...e.layers,...e.tables].every(e=>`layerType`in e&&!!e.layerType)}function J(e,t){let n=e.layers??[],r=e.tables??[],i=[...t.layers??[],...t.tables??[]];for(let e of[...n,...r]){let{id:t}=e;if(`layerType`in e&&e.layerType)continue;let n=i.find(({id:e})=>e===t);if(!n)continue;let a=h(n.type,r.includes(e));a&&se(e,a)&&ce(a)&&(e.layerType=a)}}function se(e,t){return t!==`ArcGISFeatureLayer`&&t!==`Table`}function ce(e){return e!==`ArcGISFeatureLayer`&&e!==`Table`}function Y(e,t){if(!e.length)throw new r(`${t}:missing-parameters`,`'layers' array should contain at least one feature layer`)}function le(e,t){let n=e.map(e=>e.portalItem.id);if(new Set(n).size>1)throw new r(`${t}:invalid-parameters`,`All layers in the 'layers' array should be loaded from the same portal item`)}function X(e,t){let n=e.map(e=>e.layerId);if(new Set(n).size!==n.length)throw new r(`${t}:invalid-parameters`,`'layers' array should contain only one instance each of layer or table in a feature service`)}async function ue(e){Y(e,T),await Promise.all(e.map(e=>e.load()));for(let t of e)u(t,T,O),d({layer:t,itemType:x,errorNamePrefix:T});le(e,T),X(e,T)}function de(e){if(!(`layerType`in e))return!!e.charts?.length;switch(e.layerType){case`CatalogLayer`:return!!e.footprintLayer?.charts?.length;case`OrientedImageryLayer`:return!!e.charts?.length;case`SubtypeGroupLayer`:return!!e.layers.some(e=>!!e.charts?.length);case`SubtypeGroupTable`:return!!e.tables.some(e=>!!e.charts?.length)}return!1}function Z(e,t){let n=0,r=0,i=0,a=0,o=0,s=0,c=0;for(let e of[...t.layers,...t.tables])if(de(e)&&c++,`layerType`in e)switch(e.layerType){case`CatalogLayer`:n++;break;case`OrientedImageryLayer`:r++;break;case`ParcelLayer`:o++;break;case`SubtypeGroupLayer`:i++;break;case`SubtypeGroupTable`:a++;break;case`UtilityNetworkLayer`:s++}y(e,b.CATALOG_LAYER,n>0),y(e,b.ORIENTED_IMAGERY_LAYER,r>0),y(e,b.PARCEL_FABRIC,o>0),y(e,b.SUBTYPE_GROUP_LAYER,i>0),y(e,b.SUBTYPE_GROUP_TABLE,a>0),y(e,b.UTILITY_NETWORK,s>0),y(e,b.CHARTS,c>0)}function Q(e,t,n){ie(t,b.METADATA),y(t,b.MULTI_LAYER,e.length>1),y(t,b.SINGLE_LAYER,e.length===1),y(t,b.TABLE,n.tables.length>0&&n.layers.length===0),Z(t,n)}function $(e,t,n){Z(t,n)}async function fe(e,t,n){let{url:r,layerId:i,title:a,fullExtent:o,isTable:s}=e;t.url=(m(r)?.serverType===`FeatureServer`?r:`${r}/${i}`)??null,t.title||=a,t.extent=null,!s&&o!=null&&(t.extent=await v(o)),Q([e],t,n)}function pe(e,t,n){for(let t of e){let i=t.parsedUrl.path,a=m(i);if(!a?.url.path)throw new r(`${n}:invalid-parameters`,p(t,`has unsupported url pattern: ${i}`),{layer:t});let o=a?.serverType;if(o!==`FeatureServer`&&o!==`MapServer`)throw new r(`${n}:invalid-parameters`,p(t,`has unsupported server type: ${o}`),{layer:t});if(o===`MapServer`&&e.length>1)throw new r(`${n}:invalid-parameters`,`Only one layer or table in a map service can be saved`)}let i=m(e[0].parsedUrl.path)?.url.path;if(!e.every(e=>m(e.parsedUrl.path)?.url.path===i))throw new r(`${n}:invalid-parameters`,`'layers' array should only contain layers or tables that belong to the same feature service`);if(t&&m(t.url)?.url.path!==i)throw new r(`${n}:invalid-parameters`,`'sourcePortalItem.url' and 'layers' should belong to the same service`)}async function me(e,t){let n=t?ne.from(t):null;n&&(n.portal??=_.getDefault()),Y(e,E),await Promise.all([...e.map(e=>e.load()),n?.load()]),n&&ee({item:n,itemType:x,errorNamePrefix:E});for(let t of e)u(t,E,O);return pe(e,n,E),X(e,E),n}function he(e,t){Z(e,t),f(e)}async function ge(t,n,r){let i=0;for(let{isTable:e}of t)e||i++;let a=t[0].parsedUrl.path,o=m(a);if(n.url=o?.serverType===`FeatureServer`?o.url.path:a,n.title||=o.title,n.extent=null,i>0){let r=t.map(e=>e.fullExtent).filter(e).reduce((e,t)=>e.clone().union(t));r&&(n.extent=await v(r))}Q(t,n,r),f(n)}async function _e(e,t){return o({layer:e,itemType:x,validateLayer:O,createJSONContext:t=>k(t,e),createItemData:(e,t)=>N(t,[e]),errorNamePrefix:C,setItemProperties:$},t)}async function ve(e,t){await ue(e);let n=e[0].portalItem,r=A(n),a=await Promise.all(e.map(e=>s(e,e.isTable?r.forTables:r.forLayers,t))),o=await N(n,e.map((e,t)=>({layer:e,layerJSON:a[t]})));return he(n,o),await n.update({data:o}),await Promise.all(e.slice(1).map(e=>e.portalItem.reload())),i(r.forLayers),i(r.forTables),n.clone()}async function ye(e,t,n){return a({layer:e,itemType:x,validateLayer:O,createJSONContext:t=>k(t,e),createItemData:(e,t)=>Promise.resolve(M(e)),errorNamePrefix:w,newItem:t,setItemProperties:fe},n)}async function be(e,t,n){let r=await me(e,n?.sourcePortalItem),a=c({itemType:x,errorNamePrefix:E,newItem:t}),o=A(a),u=await Promise.all(e.map(e=>s(e,e.isTable?o.forTables:o.forLayers,n))),d=await P(e.map((e,t)=>({layer:e,layerJSON:u[t]})),r);await ge(e,a,d),await l(a,d,n);for(let t of e)t.portalItem=a.clone();return i(o.forLayers),i(o.forTables),a}export{_e as save,ve as saveAll,be as saveAllAs,ye as saveAs};
2
+ import{equals as e,difference as t,isSome as n}from"../../core/arrayUtils.js";import r from"../../core/Error.js";import{updateOrigins as i}from"../../core/accessorSupport/originUtils.js";import{saveAs as a,save as o,getLayerJSON as s,getPortalItem as c,addItem as l,ensureLayerConfig as u,ensureItemConfig as d,setCommonItemProperties as f,validateItemType as ee,createErrorMessage as p}from"./utils.js";import{parse as m}from"../support/arcgisLayerUrl.js";import{fetchFeatureServiceWithAllResources as te,getFeatureServiceItemLayerType as h,getLayerModuleTypeStrict as g}from"../support/fetchService.js";import _ from"../../portal/Portal.js";import v from"../../portal/PortalItem.js";import{createForItemWrite as ne}from"../../portal/support/jsonContext.js";import{getWGS84ExtentForItem as y,removeTypeKeyword as re,typeKeyword as b,toggleTypeKeyword as x,hasTypeKeyword as ie}from"../../portal/support/portalItemUtils.js";const S=`Feature Service`,C=`feature-layer-utils`,ae=`${C}-save`,w=`${C}-save-as`,T=`${C}-saveall`,E=`${C}-saveall-as`;function D(e){let t=e?.type;return(t===`feature`||t===`subtype-group`||t===`oriented-imagery`||t===`dimension-feature`||t===`annotation-feature`)&&e?.source?.type===`feature-layer`}function O(e){return{isValid:D(e)&&(`dynamicDataSource`in e?!e.dynamicDataSource:!0),errorMessage:`Feature layer should be a layer or table in a map or feature service`}}function k(e,t){let n=ne(e,`portal-item`);return t?.isTable&&(n.layerContainerType=`tables`),n}function A(e){let t=k(e),n=k(e);return n.layerContainerType=`tables`,{forLayers:t,forTables:n}}function j(e){let t=[],n=[];for(let{layer:r,layerJSON:i}of e)oe(r)?n.push(i):t.push(i);return{layers:t,tables:n}}function oe(e,t){return e.isTable}function M(e){return j([e])}async function N(e,t){return/\/\d+\/?$/.test(e.url)?M(t[0]):P(t,e)}async function P(e,t){if(e.reverse(),!t)return j(e);let n=await F(t,e);for(let t of e)G(t.layer,t.layerJSON,n);return R(n,e),n}async function F(e,t){let n=await e.fetchData(`json`),r;if(!I(n)||ie(e,b.HOSTED_SERVICE))r=!0;else if(q(n))return n;else r=!1;n??={},L(n);let{layer:{url:i,customParameters:a,apiKey:o}}=t[0];return await V(n,{url:i??``,customParameters:a,apiKey:o},t.map(e=>e.layer.layerId),r),n}function I(e){return!!(e&&Array.isArray(e.layers)&&Array.isArray(e.tables))}function L(e){e.layers??=[],e.tables??=[]}function R(e,t){let n=[],r=[];for(let{layer:e}of t){let{isTable:t,layerId:i}=e;t?r.push(i):n.push(i)}z(e.layers,n),z(e.tables,r)}function z(t,n){if(t.length<2)return;let r=[];for(let{id:e}of t)r.push(e);e(r.sort(B),n.slice().sort(B))&&t.sort((e,t)=>{let r=n.indexOf(e.id),i=n.indexOf(t.id);return r<i?-1:+(r>i)})}function B(e,t){return e<t?-1:+(e>t)}async function V(e,t,n,r){let{url:i,customParameters:a,apiKey:o}=t,{serviceJSON:s,layersJSON:c}=await te(i,{customParameters:a,apiKey:o});if(!r){J(e,s);return}let l=H(e.layers,s.layers,n),u=H(e.tables,s.tables,n);e.layers=l.itemResources,e.tables=u.itemResources,J(e,s),await U(e,[...l.added,...u.added],i,c?[...c.layers,...c.tables]:[])}function H(e,n,r){let i=t(e,n,(e,t)=>e.id===t.id);e=e.filter(e=>!i.removed.some(t=>t.id===e.id));let a=i.added;for(let{id:t}of a)e.push({id:t});return{itemResources:e,added:a.filter(({id:e})=>!r.includes(e))}}async function U(e,t,n,r){let i=await W(t),a=[];for(let{id:e,type:o}of t){let t=i.get(o);t&&a.push(new t({url:n,layerId:e,sourceJSON:r.find(({id:t})=>t===e)}))}await Promise.allSettled(a.map(e=>e.load()));for(let t of a){let{layerId:n,loaded:r}=t;if(!r||!(`defaultPopupTemplate`in t)||!t.defaultPopupTemplate)continue;let i={id:n,popupInfo:t.defaultPopupTemplate.toJSON()};G(t,t.operationalLayerType===`ArcGISFeatureLayer`?i:{...i,layerType:t.operationalLayerType},e)}}async function W(e){let t=new Set,n=[];for(let{type:r}of e){let e=g(r);if(e&&!t.has(r))switch(t.add(r),e){case`AnnotationFeatureLayer`:n.push(import(`../AnnotationFeatureLayer.js`).then(e=>e.default));break;case`CatalogLayer`:n.push(import(`../CatalogLayer.js`).then(e=>e.default));break;case`DimensionFeatureLayer`:n.push(import(`../DimensionFeatureLayer.js`).then(e=>e.default));break;case`FeatureLayer`:n.push(import(`../FeatureLayer.js`).then(e=>e.default));break;case`OrientedImageryLayer`:n.push(import(`../OrientedImageryLayer.js`).then(e=>e.default))}}let r=await Promise.all(n),i=new Map;return Array.from(t).forEach((e,t)=>{i.set(e,r[t])}),i}function G(e,t,n){e.isTable?K(n.tables,t):K(n.layers,t)}function K(e,t){let n=e.findIndex(({id:e})=>e===t.id);n===-1?e.push(t):e[n]=t}function q(e){return[...e.layers,...e.tables].every(e=>`layerType`in e&&!!e.layerType)}function J(e,t){let n=e.layers??[],r=e.tables??[],i=[...t.layers??[],...t.tables??[]];for(let e of[...n,...r]){let{id:t}=e;if(`layerType`in e&&e.layerType)continue;let n=i.find(({id:e})=>e===t);if(!n)continue;let a=h(n.type,r.includes(e));a&&se(e,a)&&ce(a)&&(e.layerType=a)}}function se(e,t){return t!==`ArcGISFeatureLayer`&&t!==`Table`}function ce(e){return e!==`ArcGISFeatureLayer`&&e!==`Table`}function Y(e,t){if(!e.length)throw new r(`${t}:missing-parameters`,`'layers' array should contain at least one feature layer`)}function le(e,t){let n=e.map(e=>e.portalItem.id);if(new Set(n).size>1)throw new r(`${t}:invalid-parameters`,`All layers in the 'layers' array should be loaded from the same portal item`)}function X(e,t){let n=e.map(e=>e.layerId);if(new Set(n).size!==n.length)throw new r(`${t}:invalid-parameters`,`'layers' array should contain only one instance each of layer or table in a feature service`)}async function ue(e){Y(e,T),await Promise.all(e.map(e=>e.load()));for(let t of e)u(t,T,O),d({layer:t,itemType:S,errorNamePrefix:T});le(e,T),X(e,T)}function de(e){if(!(`layerType`in e))return!!e.charts?.length;switch(e.layerType){case`CatalogLayer`:return!!e.footprintLayer?.charts?.length;case`OrientedImageryLayer`:return!!e.charts?.length;case`SubtypeGroupLayer`:return!!e.layers.some(e=>!!e.charts?.length);case`SubtypeGroupTable`:return!!e.tables.some(e=>!!e.charts?.length)}return!1}function Z(e,t){let n=0,r=0,i=0,a=0,o=0,s=0,c=0;for(let e of[...t.layers,...t.tables])if(de(e)&&c++,`layerType`in e)switch(e.layerType){case`CatalogLayer`:n++;break;case`OrientedImageryLayer`:r++;break;case`ParcelLayer`:o++;break;case`SubtypeGroupLayer`:i++;break;case`SubtypeGroupTable`:a++;break;case`UtilityNetworkLayer`:s++}x(e,b.CATALOG_LAYER,n>0),x(e,b.ORIENTED_IMAGERY_LAYER,r>0),x(e,b.PARCEL_FABRIC,o>0),x(e,b.SUBTYPE_GROUP_LAYER,i>0),x(e,b.SUBTYPE_GROUP_TABLE,a>0),x(e,b.UTILITY_NETWORK,s>0),x(e,b.CHARTS,c>0)}function Q(e,t,n){re(t,b.METADATA),x(t,b.MULTI_LAYER,e.length>1),x(t,b.SINGLE_LAYER,e.length===1),x(t,b.TABLE,n.tables.length>0&&n.layers.length===0),Z(t,n)}function $(e,t,n){Z(t,n)}async function fe(e,t,n){let{url:r,layerId:i,title:a,fullExtent:o,isTable:s}=e;t.url=(m(r)?.serverType===`FeatureServer`?r:`${r}/${i}`)??null,t.title||=a,t.extent=null,!s&&o!=null&&(t.extent=await y(o)),Q([e],t,n)}function pe(e,t,n){for(let t of e){let i=t.parsedUrl.path,a=m(i);if(!a?.url.path)throw new r(`${n}:invalid-parameters`,p(t,`has unsupported url pattern: ${i}`),{layer:t});let o=a?.serverType;if(o!==`FeatureServer`&&o!==`MapServer`)throw new r(`${n}:invalid-parameters`,p(t,`has unsupported server type: ${o}`),{layer:t});if(o===`MapServer`&&e.length>1)throw new r(`${n}:invalid-parameters`,`Only one layer or table in a map service can be saved`)}let i=m(e[0].parsedUrl.path)?.url.path;if(!e.every(e=>m(e.parsedUrl.path)?.url.path===i))throw new r(`${n}:invalid-parameters`,`'layers' array should only contain layers or tables that belong to the same feature service`);if(t&&m(t.url)?.url.path!==i)throw new r(`${n}:invalid-parameters`,`'sourcePortalItem.url' and 'layers' should belong to the same service`)}async function me(e,t){let n=t?v.from(t):null;n&&(n.portal??=_.getDefault()),Y(e,E),await Promise.all([...e.map(e=>e.load()),n?.load()]),n&&ee({item:n,itemType:S,errorNamePrefix:E});for(let t of e)u(t,E,O);return pe(e,n,E),X(e,E),n}function he(e,t){Z(e,t),f(e)}async function ge(e,t,r){let i=0;for(let{isTable:t}of e)t||i++;let a=e[0].parsedUrl.path,o=m(a);if(t.url=o?.serverType===`FeatureServer`?o.url.path:a,t.title||=o.title,t.extent=null,i>0){let r=e.map(e=>e.fullExtent).filter(n).reduce((e,t)=>e.clone().union(t));r&&(t.extent=await y(r))}Q(e,t,r),f(t)}async function _e(e,t){return o({layer:e,itemType:S,validateLayer:O,createJSONContext:t=>k(t,e),createItemData:(e,t)=>N(t,[e]),errorNamePrefix:ae,setItemProperties:$},t)}async function ve(e,t){await ue(e);let n=e[0].portalItem,r=A(n),a=await Promise.all(e.map(e=>s(e,e.isTable?r.forTables:r.forLayers,t))),o=await N(n,e.map((e,t)=>({layer:e,layerJSON:a[t]})));return he(n,o),await n.update({data:o}),await Promise.all(e.slice(1).map(e=>e.portalItem.reload())),i(r.forLayers),i(r.forTables),n.clone()}async function ye(e,t,n){return a({layer:e,itemType:S,validateLayer:O,createJSONContext:t=>k(t,e),createItemData:(e,t)=>Promise.resolve(M(e)),errorNamePrefix:w,newItem:t,setItemProperties:fe},n)}async function be(e,t,n){let r=await me(e,n?.sourcePortalItem),a=c({itemType:S,errorNamePrefix:E,newItem:t}),o=A(a),u=await Promise.all(e.map(e=>s(e,e.isTable?o.forTables:o.forLayers,n))),d=await P(e.map((e,t)=>({layer:e,layerJSON:u[t]})),r);await ge(e,a,d),await l(a,d,n);for(let t of e)t.portalItem=a.clone();return i(o.forLayers),i(o.forTables),a}export{_e as save,ve as saveAll,be as saveAllAs,ye as saveAs};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getPrimaryRasters as e}from"../raster/datasets/datasetUtils.js";import{saveAs as t,save as n}from"./utils.js";import{toggleTypeKeyword as r,typeKeyword as i,getWGS84ExtentForItem as a,removeTypeKeyword as o}from"../../portal/support/portalItemUtils.js";const s=`Image Service`;function c(t){if(t.type===`imagery`||t.type===`wcs`)return{isValid:!0};let{raster:n}=t,r=e(n)[0];return{isValid:r?.datasetFormat===`RasterTileServer`&&(r.tileType===`Raster`||r.tileType===`Map`),errorMessage:`imagery tile layer should be created from a tiled image service.`}}function l(e){let t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}function u(e,t){r(t,i.CHARTS,!!e.charts?.length)}async function d(e,t){let{parsedUrl:n,title:s,fullExtent:c}=e;t.url=n.path,t.title||=s;try{t.extent=await a(c)}catch{t.extent=void 0}o(t,i.METADATA),r(t,i.TILED_IMAGERY,e.type===`imagery-tile`),r(t,i.CHARTS,!!e.charts?.length)}async function f(e,t){let r=e.type===`imagery`?`imagery-layer-save`:e.type===`imagery-tile`?`imagery-tile-layer-save`:`wcs-layer-save`,i={layer:e,itemType:e.type===`wcs`?`WCS`:s,validateLayer:c,createItemData:l,errorNamePrefix:r,setItemProperties:u};return n(i,t)}async function p(e,n,r){let i=e.type===`imagery`?`imagery-layer-save-as`:e.type===`imagery-tile`?`imagery-tile-layer-save-as`:`wcs-layer-save-as`,a={layer:e,itemType:e.type===`wcs`?`WCS`:s,validateLayer:c,createItemData:l,errorNamePrefix:i,newItem:n,setItemProperties:d};return t(a,r)}export{f as save,p as saveAs};
2
+ import{getPrimaryRasters as e}from"../raster/datasets/datasetUtils.js";import{saveAs as t,save as n}from"./utils.js";import{getWGS84ExtentForItem as r,removeTypeKeyword as i,toggleTypeKeyword as a,typeKeyword as o}from"../../portal/support/portalItemUtils.js";const s=`Image Service`;function c(t){if(t.type===`imagery`||t.type===`wcs`)return{isValid:!0};let{raster:n}=t,r=e(n)[0];return{isValid:r?.datasetFormat===`RasterTileServer`&&(r.tileType===`Raster`||r.tileType===`Map`),errorMessage:`imagery tile layer should be created from a tiled image service.`}}function l(e){let t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}function u(e,t){a(t,o.CHARTS,!!e.charts?.length)}async function d(e,t){let{parsedUrl:n,title:s,fullExtent:c}=e;t.url=n.path,t.title||=s;try{t.extent=await r(c)}catch{t.extent=void 0}i(t,o.METADATA),a(t,o.TILED_IMAGERY,e.type===`imagery-tile`),a(t,o.CHARTS,!!e.charts?.length)}async function f(e,t){let r=e.type===`imagery`?`imagery-layer-save`:e.type===`imagery-tile`?`imagery-tile-layer-save`:`wcs-layer-save`,i={layer:e,itemType:e.type===`wcs`?`WCS`:s,validateLayer:c,createItemData:l,errorNamePrefix:r,setItemProperties:u};return n(i,t)}async function p(e,n,r){let i=e.type===`imagery`?`imagery-layer-save-as`:e.type===`imagery-tile`?`imagery-tile-layer-save-as`:`wcs-layer-save-as`,a={layer:e,itemType:e.type===`wcs`?`WCS`:s,validateLayer:c,createItemData:l,errorNamePrefix:i,newItem:n,setItemProperties:d};return t(a,r)}export{f as save,p as saveAs};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{saveAs as e,save as t}from"./utils.js";import{getWGS84ExtentForItem as n,removeTypeKeyword as r,typeKeyword as i,addTypeKeyword as a,toggleTypeKeyword as o}from"../../portal/support/portalItemUtils.js";const s=`Map Service`;function c(e){return{isValid:e.type===`map-image`&&!e.sourceJSON?.tileInfo,errorMessage:`Layer.type should be 'map-image' and reference a dynamic (non-cached) map service`}}function l(e){let t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}function u(e,t){f(e,t)}async function d(e,t){let{parsedUrl:a,title:o,fullExtent:s}=e;t.url=a.path,t.title||=o,t.extent=s?await n(s):null,r(t,i.METADATA),f(e,t)}function f(e,t){a(t,i.DYNAMIC);let n=e.sublayers?.length??0;o(t,i.MULTI_LAYER,n>1),o(t,i.SINGLE_LAYER,n===1)}async function p(e,n){return t({layer:e,itemType:s,validateLayer:c,createItemData:l,errorNamePrefix:`map-image-layer-save`,setItemProperties:u},n)}async function m(t,n,r){return e({layer:t,itemType:s,validateLayer:c,createItemData:l,errorNamePrefix:`map-image-layer-save-as`,newItem:n,setItemProperties:d},r)}export{p as save,m as saveAs};
2
+ import{saveAs as e,save as t}from"./utils.js";import{getWGS84ExtentForItem as n,removeTypeKeyword as r,addTypeKeyword as i,typeKeyword as a,toggleTypeKeyword as o}from"../../portal/support/portalItemUtils.js";const s=`Map Service`;function c(e){return{isValid:e.type===`map-image`&&!e.sourceJSON?.tileInfo,errorMessage:`Layer.type should be 'map-image' and reference a dynamic (non-cached) map service`}}function l(e){let t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}function u(e,t){f(e,t)}async function d(e,t){let{parsedUrl:i,title:o,fullExtent:s}=e;t.url=i.path,t.title||=o,t.extent=s?await n(s):null,r(t,a.METADATA),f(e,t)}function f(e,t){i(t,a.DYNAMIC);let n=e.sublayers?.length??0;o(t,a.MULTI_LAYER,n>1),o(t,a.SINGLE_LAYER,n===1)}async function p(e,n){return t({layer:e,itemType:s,validateLayer:c,createItemData:l,errorNamePrefix:`map-image-layer-save`,setItemProperties:u},n)}async function m(t,n,r){return e({layer:t,itemType:s,validateLayer:c,createItemData:l,errorNamePrefix:`map-image-layer-save-as`,newItem:n,setItemProperties:d},r)}export{p as save,m as saveAs};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{saveAs as e,save as t}from"./utils.js";import{createForItemWrite as n}from"../../portal/support/jsonContext.js";import{getWGS84ExtentForItem as r,removeTypeKeyword as i,typeKeyword as a}from"../../portal/support/portalItemUtils.js";import{saveResources as o}from"../../webdoc/support/resourceUtils.js";const s=`Media Layer`,c=[`media-layer:unsupported-source`];function l(e){return{isValid:e.type===`media`,errorMessage:`Layer.type should be 'media'`}}function u(e){return n(e,`portal-item`,{withResources:!0})}function d(e){return Promise.resolve(e.layerJSON)}async function f(e,t){t.extent=e.fullExtent?await r(e.fullExtent):null}async function p(e,t){t.title||=e.title,await f(e,t),i(t,a.METADATA)}async function m(e,n){return t({layer:e,itemType:s,validateLayer:l,createJSONContext:e=>u(e),createItemData:d,errorNamePrefix:`media-layer-save`,supplementalUnsupportedErrors:c,setItemProperties:f,saveResources:(t,n)=>o(e.resourceReferences,n)},n)}async function h(t,n,r){return e({layer:t,itemType:s,validateLayer:l,createJSONContext:e=>u(e),createItemData:d,errorNamePrefix:`media-layer-save-as`,supplementalUnsupportedErrors:c,newItem:n,setItemProperties:p,saveResources:(e,n)=>o(t.resourceReferences,n)},r)}export{m as save,h as saveAs};
2
+ import{saveAs as e,save as t}from"./utils.js";import{createForItemWrite as n}from"../../portal/support/jsonContext.js";import{removeTypeKeyword as r,getWGS84ExtentForItem as i,typeKeyword as a}from"../../portal/support/portalItemUtils.js";import{saveResources as o}from"../../webdoc/support/resourceUtils.js";const s=`Media Layer`,c=[`media-layer:unsupported-source`];function l(e){return{isValid:e.type===`media`,errorMessage:`Layer.type should be 'media'`}}function u(e){return n(e,`portal-item`,{withResources:!0})}function d(e){return Promise.resolve(e.layerJSON)}async function f(e,t){t.extent=e.fullExtent?await i(e.fullExtent):null}async function p(e,t){t.title||=e.title,await f(e,t),r(t,a.METADATA)}async function m(e,n){return t({layer:e,itemType:s,validateLayer:l,createJSONContext:e=>u(e),createItemData:d,errorNamePrefix:`media-layer-save`,supplementalUnsupportedErrors:c,setItemProperties:f,saveResources:(t,n)=>o(e.resourceReferences,n)},n)}async function h(t,n,r){return e({layer:t,itemType:s,validateLayer:l,createJSONContext:e=>u(e),createItemData:d,errorNamePrefix:`media-layer-save-as`,supplementalUnsupportedErrors:c,newItem:n,setItemProperties:p,saveResources:(e,n)=>o(t.resourceReferences,n)},r)}export{m as save,h as saveAs};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{saveAs as e,save as t}from"./utils.js";import{getWGS84ExtentForItem as n,removeTypeKeyword as r,typeKeyword as i}from"../../portal/support/portalItemUtils.js";const a=`Parquet Feature Layer`;function o(e){return{isValid:e.type===`parquet`,errorMessage:`Layer.type should be 'parquet'`}}function s(e){let t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}async function c(e,t){let{title:a,fullExtent:o}=e;t.title||=a,t.extent=o?await n(o):null,r(t,i.METADATA)}async function l(e,n){return t({layer:e,itemType:a,validateLayer:o,createItemData:s,errorNamePrefix:`parquet-layer-save`},n)}async function u(t,n,r){return e({layer:t,itemType:a,validateLayer:o,createItemData:s,errorNamePrefix:`parquet-layer-save-as`,newItem:n,setItemProperties:c},r)}export{l as save,u as saveAs};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{saveAs as e,save as t}from"./utils.js";import{getWGS84ExtentForItem as n,removeTypeKeyword as r,typeKeyword as i,addTypeKeyword as a}from"../../portal/support/portalItemUtils.js";const o=`Stream Service`;function s(e){return{isValid:e.type===`stream`&&!!e.url&&!e.webSocketUrl,errorMessage:`Stream layer should be created using a url to a stream service`}}function c(e){let t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}async function l(e,t){let{parsedUrl:o,title:s,fullExtent:c}=e;t.url=o.path,t.title||=s,t.extent=null,c!=null&&(t.extent=await n(c)),r(t,i.METADATA),a(t,i.SINGLE_LAYER)}async function u(e,n){return t({layer:e,itemType:o,additionalItemType:`Feed`,validateLayer:s,createItemData:c,errorNamePrefix:`stream-layer-save`},n)}async function d(t,n,r){return e({layer:t,itemType:o,validateLayer:s,createItemData:c,errorNamePrefix:`stream-layer-save-as`,newItem:n,setItemProperties:l},r)}export{u as save,d as saveAs};
2
+ import{saveAs as e,save as t}from"./utils.js";import{getWGS84ExtentForItem as n,removeTypeKeyword as r,addTypeKeyword as i,typeKeyword as a}from"../../portal/support/portalItemUtils.js";const o=`Stream Service`;function s(e){return{isValid:e.type===`stream`&&!!e.url&&!e.webSocketUrl,errorMessage:`Stream layer should be created using a url to a stream service`}}function c(e){let t=e.layerJSON;return Promise.resolve(t&&Object.keys(t).length?t:null)}async function l(e,t){let{parsedUrl:o,title:s,fullExtent:c}=e;t.url=o.path,t.title||=s,t.extent=null,c!=null&&(t.extent=await n(c)),r(t,a.METADATA),i(t,a.SINGLE_LAYER)}async function u(e,n){return t({layer:e,itemType:o,additionalItemType:`Feed`,validateLayer:s,createItemData:c,errorNamePrefix:`stream-layer-save`},n)}async function d(t,n,r){return e({layer:t,itemType:o,validateLayer:s,createItemData:c,errorNamePrefix:`stream-layer-save-as`,newItem:n,setItemProperties:l},r)}export{u as save,d as saveAs};
@@ -72,9 +72,12 @@ export interface LabelClassProperties extends Partial<Pick<LabelClass, "allowOve
72
72
  */
73
73
  repeatLabelDistance?: number | string | null;
74
74
  /**
75
- * Defines the symbol used for rendering the label. If not set, the default symbol will be used. See the example
75
+ * Defines the symbol used for rendering the label. If not set, the default [TextSymbol](/references/core/symbols/TextSymbol/) will be used. See the example
76
76
  * below.
77
77
  *
78
+ * To add callouts to a label in 2D, use the [CIMSymbol](/references/core/symbols/CIMSymbol) class with the [CIMTextSymbol](/references/core/symbols/cim/types/#CIMTextSymbol) and its associated [callout](/references/core/symbols/cim/types/#CIMTextSymbol-callout) properties.
79
+ * See the [labeling guide](/labeling/) for more information.
80
+ *
78
81
  * @example
79
82
  * // If not set, this default symbol will be used
80
83
  * labelClass.symbol = {
@@ -385,9 +388,12 @@ export default class LabelClass extends JSONSupport {
385
388
  get repeatLabelDistance(): number | null | undefined;
386
389
  set repeatLabelDistance(value: number | string | null | undefined);
387
390
  /**
388
- * Defines the symbol used for rendering the label. If not set, the default symbol will be used. See the example
391
+ * Defines the symbol used for rendering the label. If not set, the default [TextSymbol](/references/core/symbols/TextSymbol/) will be used. See the example
389
392
  * below.
390
393
  *
394
+ * To add callouts to a label in 2D, use the [CIMSymbol](/references/core/symbols/CIMSymbol) class with the [CIMTextSymbol](/references/core/symbols/cim/types/#CIMTextSymbol) and its associated [callout](/references/core/symbols/cim/types/#CIMTextSymbol-callout) properties.
395
+ * See the [labeling guide](/labeling/) for more information.
396
+ *
391
397
  * @example
392
398
  * // If not set, this default symbol will be used
393
399
  * labelClass.symbol = {
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import n from"../../request.js";import r from"../../core/Collection.js";import i from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import c from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as d}from"../../core/urlUtils.js";import{property as f,cast as p,subclass as m}from"../../core/accessorSupport/decorators.js";import{ensureInteger as ee,ensureType as te,Integer as h,ensureClass as g}from"../../core/accessorSupport/ensureType.js";import{nameToId as ne}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as _}from"../../core/accessorSupport/utils.js";import v from"../../geometry/Extent.js";import y from"../../geometry/SpatialReference.js";import{joinScaleRanges as b}from"../../geometry/support/scaleUtils.js";import{featureGeometryTypeKebabDictionary as x}from"../../geometry/support/typeUtils.js";import S from"../../graphic/MapImageGraphicOrigin.js";import C from"../../graphic/TileGraphicOrigin.js";import w from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as re}from"../mixins/OrderedLayer.js";import ie from"./EditFieldsInfo.js";import{getFeatureType as ae}from"./featureLayerUtils.js";import oe from"./FeatureType.js";import se from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as E}from"./fieldUtils.js";import D from"./LabelClass.js";import{validateLabelingInfo as O}from"./labelingInfo.js";import k from"./LayerFloorInfo.js";import A from"./OrderByInfo.js";import j from"./Relationship.js";import{getFeatureLayerCapabilities as M}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as N,rendererTypes as P}from"../../renderers/support/typeUtils.js";import{parseUrl as F}from"../../rest/utils.js";import I from"../../rest/layerSources/DynamicDataLayer.js";import L from"../../rest/layerSources/DynamicMapLayer.js";import R from"../../rest/layerSources/DynamicWorkspaceLayer.js";import z from"../../rest/support/AttachmentQuery.js";import ce from"../../rest/support/Query.js";import{createPopupTemplate as B}from"../../support/popupUtils.js";import{isSymbol3D as V}from"../../symbols/support/typeUtils.js";import H from"../../tables/AttributeTableTemplate.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as W}from"../../core/accessorSupport/decorators/writer.js";var G;function K(e){return e?.type===`esriSMS`}function q(e,t,n){let r=n.minimumWritableOrigin||n.origin;return r?e.originIdOf(t)>=ne(r):!1}function J(e,t,n){let r=q(this,t,n);return{ignoreOrigin:!0,allowNull:r,enabled:n?n.layer?.type===`map-image`&&(n.writeSublayerStructure||r):!1}}function Y(e,t,n){return{enabled:n?n.layer?.type===`tile`&&(q(this,t,n)||this._isOverridden(t)):!1}}function X(e,t,n){return{ignoreOrigin:!0,enabled:n&&n.writeSublayerStructure||!1}}function Z(e,t,n){return{ignoreOrigin:!0,enabled:n?.writeSublayerStructure?this.originIdOf(t)>2:!1}}function Q(e,t,n){return{ignoreOrigin:!0,enabled:n?n.writeSublayerStructure||q(this,t,n):!1}}let le=0;const ue=new Set([`layer`,`parent`,`loaded`,`loadStatus`,`loadError`,`loadWarnings`]);let $=class extends l(a(s)){static{G=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.editFieldsInfo=null,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.uniqueIdFields=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,t){t=t.layerDefinition||t;let{attachment:n,operations:{supportsQuery:r,supportsQueryAttachments:i},query:{supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s,relativeTimeBinWindow:c},data:{supportsAttachment:l},queryRelated:u}=M(t,this.url);return{attachment:{supportsOrderByFields:n?.supportsOrderByFields??!1,supportsResize:n?.supportsResize??!1,supportsTypeWildcard:n?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!t.canModifyLayer},operations:{supportsQuery:r,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{relativeTimeBinWindow:c,supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s},queryRelated:u}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer(`definitionExpression`,e)}get effectiveScaleRange(){let e=this._get(`effectiveScaleRange`),{maxScale:t,minScale:n,parent:r}=this,i={minScale:n,maxScale:t};return r?.effectiveScaleRange!==void 0&&b(i,r.effectiveScaleRange),e&&e.minScale===i.minScale&&e.maxScale===i.maxScale?e:i}get effectiveUniqueIdFields(){return this.uniqueIdFields?[...this.uniqueIdFields]:this.objectIdField?[this.objectIdField]:[]}readMaxScaleRange(e,t){return t=t.layerDefinition||t,{minScale:t.minScale??0,maxScale:t.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer(`floorInfo`,e)}readGlobalIdFieldFromService(e,t){if(t=t.layerDefinition||t,t.globalIdField)return t.globalIdField;if(t.fields){for(let e of t.fields)if(e.type===`esriFieldTypeGlobalID`)return e.name}}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case`tile`:return new C(this.layer,this);case`map-image`:return new S(this.layer,this)}}get id(){return this._get(`id`)??le++}set id(e){if(this._get(`id`)!==e){if(this.layer?.capabilities?.exportMap?.supportsDynamicLayers===!1){this._logLockedError(`id`,`capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'`);return}this._set(`id`,e)}}readIsTable(e,t){return t.type===`Table`}set labelingInfo(e){this._setAndNotifyLayer(`labelingInfo`,e)}writeLabelingInfo(e,t,n,r){e&&e.length&&(t.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},r))}})}set labelsVisible(e){this._setAndNotifyLayer(`labelsVisible`,e)}set layer(e){this._set(`layer`,e),this.sublayers?.forEach(t=>t.layer=e)}set listMode(e){this._set(`listMode`,e)}get loaded(){return super.loaded}set minScale(e){this._setAndNotifyLayer(`minScale`,e)}readMinScale(e,t){return t.minScale||t.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer(`maxScale`,e)}readMaxScale(e,t){return t.maxScale||t.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,t){return t=t.layerDefinition||t,t.objectIdField?t.objectIdField:t.fields?.find(e=>e.type===`esriFieldTypeOID`)?.name}set opacity(e){this._setAndNotifyLayer(`opacity`,e)}readOpacity(e,t){let{layerDefinition:n}=t;return 1-(n?.transparency??n?.drawingInfo?.transparency??0)*.01}writeOpacity(e,t,n,r){t.layerDefinition={drawingInfo:{transparency:100-e*100}}}set orderBy(e){this._setAndNotifyLayer(`orderBy`,e)}writeParent(e,t){t.parentLayerId=!this.parent||this.parent===this.layer?-1:ee(this.parent.id)}get queryTask(){if(!this.layer)return null;let{capabilities:e,fieldsIndex:t,layer:n,uniqueIdFields:r,url:i}=this,{spatialReference:a}=n,o=`gdbVersion`in n?n.gdbVersion:void 0,s=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF,c=e?.operations?.supportsQueryAttachments??!1,l=e?.query?.relativeTimeBinWindow??0;return new w({fieldsIndex:t,gdbVersion:o,pbfSupported:s,queryAttachmentsSupported:c,relativeTimeBinWindow:l,sourceSpatialReference:a,uniqueIdFields:r,url:i})}set renderer(e){if(E(e,this.fieldsIndex),e){for(let t of e.symbols)if(V(t)){c.getLogger(this).warn(`Sublayer renderer should use 2D symbols`);break}}this._setAndNotifyLayer(`renderer`,e)}get source(){return this._get(`source`)||new L({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer(`source`,e)}get sublayers(){return this._get(`sublayers`)}set sublayers(e){this._handleSublayersChange(e,this._get(`sublayers`)),this._set(`sublayers`,e)}castSublayers(e){return te(r.ofType(G),e)}writeSublayers(e,t,n){this.sublayers?.length&&(t[n]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,t){return t.layerDefinition?.name??t.name}readTypeIdField(e,t){t=t.layerDefinition||t;let n=t.typeIdField;if(n&&t.fields){n=n.toLowerCase();let e=t.fields.find(e=>e.name.toLowerCase()===n);e&&(n=e.name)}return n}readUniqueIdFields(e,t){return t.layerDefinition?.uniqueIdInfo?.OIDFieldContainsHashValue?t.layerDefinition.uniqueIdInfo.fields:null}get url(){let e=this.layer?.parsedUrl??this._lastParsedUrl,t=this.source;if(!e)return null;if(this._lastParsedUrl=e,t?.type===`map-layer`)return`${e.path}/${t.mapLayerId}`;let n={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${d(n)}`}set url(e){this._overrideIfSome(`url`,e)}set visible(e){this._setAndNotifyLayer(`visible`,e)}writeVisible(e,t,n,r){t[n]=this.getAtOrigin(`defaultVisibility`,`service`)||e}clone(){let{store:e}=_(this),t=new G;return _(t).store=e.clone(ue),this.commitProperty(`url`),t._lastParsedUrl=this._lastParsedUrl,t}createPopupTemplate(e){return B(this,e)}createQuery(){return new ce({returnGeometry:!0,where:this.definitionExpression||`1=1`})}async createFeatureLayer(){if(this.sublayers)return null;let e=(await import(`../FeatureLayer.js`)).default,{layer:t,url:n}=this,r;if(n&&this.originIdOf(`url`)>2)r=new e({url:n});else if(t?.parsedUrl){let n=t.parsedUrl;r=new e({url:n.path}),n&&this.source&&(this.source.type===`map-layer`?r.layerId=this.source.mapLayerId:r.dynamicDataSource=this.source)}else throw new i(`createFeatureLayer:missing-information`,`Cannot create a FeatureLayer without a url or a parent layer`);return t?.refreshInterval!=null&&(r.refreshInterval=t.refreshInterval),this.definitionExpression&&(r.definitionExpression=this.definitionExpression),this.floorInfo&&(r.floorInfo=o(this.floorInfo)),this.originIdOf(`labelingInfo`)>2&&(r.labelingInfo=o(this.labelingInfo)),this.originIdOf(`labelsVisible`)>0&&(r.labelsVisible=this.labelsVisible),this.originIdOf(`legendEnabled`)>0&&(r.legendEnabled=this.legendEnabled),this.originIdOf(`visible`)>0&&(r.visible=this.visible),this.originIdOf(`minScale`)>0&&(r.minScale=this.minScale),this.originIdOf(`maxScale`)>0&&(r.maxScale=this.maxScale),this.originIdOf(`opacity`)>0&&(r.opacity=this.opacity),this.originIdOf(`popupTemplate`)>0&&(r.popupTemplate=o(this.popupTemplate)),this.originIdOf(`renderer`)>2&&(r.renderer=o(this.renderer)),this.source?.type===`data-layer`&&(r.dynamicDataSource=this.source.clone()),this.originIdOf(`title`)>0&&(r.title=this.title),t?.type===`map-image`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),t?.type===`tile`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),r}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return ae(this.types,this.typeIdField,e)}getFieldDomain(e,t){let n=t?.feature,r=this.getFeatureType(n);if(r){let t=r.domains&&r.domains[e];if(t&&t.type!==`inherited`)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){await this.load();let n=z.from(e),r=this.capabilities;if(!r?.data?.supportsAttachment)throw new i(`queryAttachments:not-supported`,`this layer doesn't support attachments`);let{attachmentTypes:a,objectIds:o,globalIds:s,num:c,size:l,start:u,where:d}=n;if(!r?.operations?.supportsQueryAttachments){let e=a?.length>0,t=s?.length>0,r=l?.length>0;if(e||t||r||c||u||d)throw new i(`queryAttachments:option-not-supported`,`when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported`,n)}if(!(o?.length||s?.length||d))throw new i(`queryAttachments:invalid-query`,`'objectIds', 'globalIds', or 'where' are required to perform attachment query`,n);return!r?.attachment?.supportsOrderByFields&&n.orderByFields?.length&&(n=n.clone(),n.orderByFields=null),this.queryTask.executeAttachmentQuery(n,t)}async queryFeatureCount(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatureCount:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatureCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryFeatures(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatures:not-supported`,`this layer has no url.`);let n=await this.queryTask.execute(e,{...t,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(n?.features){let e=this.graphicOrigin;for(let t of n.features)t.sourceLayer=this,t.origin=e}return n}async queryObjectIds(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryObjectIds:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryObjectIds:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeatures(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryRelatedFeatures:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support queries.`);if(!this.capabilities.queryRelated.supportsCount)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support query related counts.`);if(!this.url)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async reload(e){if(this.loadStatus===`not-loaded`)return this.load(e).then(()=>{});let{layer:t,url:r}=this;if(!t&&!r)throw new i(`sublayer:missing-layer`,`Sublayer can't be loaded without being part of a layer`,{sublayer:this});let a=t?await t.fetchSublayerInfo(this,e):(await n(r,{query:{f:`json`},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:`service`,layer:t,url:F(r)}))}toExportImageJSON(e){let t={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:`mapLayer`}},n=u(e,this.definitionExpression);n!=null&&(t.definitionExpression=n);let r=[`renderer`,`labelingInfo`,`opacity`,`labelsVisible`].reduce((e,t)=>(e[t]=this.originIdOf(t),e),{});if(Object.keys(r).some(e=>r[e]>2)){let e=t.drawingInfo={};if(r.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),r.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&r.labelingInfo>2){if(!this.labelingInfo)e.showLabels=!1;else{!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&c.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 t=this.labelingInfo;this.geometryType!=null&&(t=O(this.labelingInfo,x.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=t.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:`service`,layer:this.layer}))}}r.opacity>2&&(e.transparency=100-this.opacity*100),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf(`orderBy`)>2&&(t.orderBy=this.orderBy?.map(e=>e.toJSON())??null),t}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||(e.style===`esriSMSX`||e.style===`esriSMSCross`)&&(e.color=e.outline?.color?e.outline.color:[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,t){if(e){let n=(`uniqueValueInfos`in e?e.uniqueValueInfos:`classBreakInfos`in e?e.classBreakInfos:null)??[];for(let e of n)K(e.symbol)&&t(e.symbol);`symbol`in e&&K(e.symbol)&&t(e.symbol),`defaultSymbol`in e&&K(e.defaultSymbol)&&t(e.defaultSymbol)}}_setAndNotifyLayer(e,t){let n=this.layer,r=this._get(e),i,a;switch(e){case`definitionExpression`:case`floorInfo`:i=`supportsSublayerDefinitionExpression`;break;case`minScale`:case`maxScale`:case`visible`:i=`supportsSublayerVisibility`;break;case`labelingInfo`:case`labelsVisible`:case`opacity`:case`renderer`:case`source`:i=`supportsDynamicLayers`,a=`supportsModification`;break;case`orderBy`:i=`supportsSublayerOrderBy`,a=`supportsModification`}let o=_(this).getDefaultOrigin();if(o!==`service`){if(i&&this.layer?.capabilities?.exportMap?.[i]===!1){this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${i}'`);return}if(a&&this.capabilities?.exportMap[a]===!1){this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`);return}}if(e===`source`&&this.loadStatus!==`not-loaded`){this._logLockedError(e,`'source' can't be changed after calling sublayer.load()`);return}this._set(e,t),o!==`service`&&r!==t&&n?.emit&&n.emit(`sublayer-update`,{propertyName:e,target:this})}_handleSublayersChange(e,t){t&&(t.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??!0)||(c.getLogger(this).error(new i(`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,t){let{layer:n,declaredClass:r}=this;c.getLogger(r).error(new i(`sublayer:locked`,`Property '${String(e)}' can't be changed on Sublayer from the layer '${n?.id}'`,{reason:t,sublayer:this,layer:n}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===Z||e===X||e===J,isTileImageLayerOverridePolicy:e=>e===Y}}};e([f({type:H,json:{name:`attributeTableInfo`,write:{overridePolicy:J},origins:{"web-scene":{write:!1}}}})],$.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`capabilities`,void 0),e([U(`service`,`capabilities`,[`layerDefinition.canModifyLayer`,`layerDefinition.capabilities`])],$.prototype,`readCapabilities`,null),e([f()],$.prototype,`defaultPopupTemplate`,null),e([f({type:String,value:null,json:{name:`layerDefinition.definitionExpression`,write:{allowNull:!0,overridePolicy:J}}})],$.prototype,`definitionExpression`,null),e([f({readOnly:!0,type:ie,json:{origins:{service:{read:{source:`layerDefinition.editFieldsInfo`}}}}})],$.prototype,`editFieldsInfo`,void 0),e([f({readOnly:!0})],$.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,type:[String]})],$.prototype,`effectiveUniqueIdFields`,null),e([U(`service`,`maxScaleRange`,[`minScale`,`maxScale`])],$.prototype,`readMaxScaleRange`,null),e([f({type:[se],json:{origins:{service:{read:{source:`layerDefinition.fields`}}}}})],$.prototype,`fields`,void 0),e([f({readOnly:!0})],$.prototype,`fieldsIndex`,null),e([f({type:k,value:null,json:{name:`layerDefinition.floorInfo`,read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`,overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`floorInfo`,null),e([f({type:v,json:{read:{source:`layerDefinition.extent`}}})],$.prototype,`fullExtent`,void 0),e([f({type:x.apiValues,json:{origins:{service:{name:`layerDefinition.geometryType`,read:{reader:x.read}}}}})],$.prototype,`geometryType`,void 0),e([f({type:String})],$.prototype,`globalIdField`,void 0),e([U(`service`,`globalIdField`,[`layerDefinition.globalIdField`,`layerDefinition.fields`])],$.prototype,`readGlobalIdFieldFromService`,null),e([f({readOnly:!0})],$.prototype,`graphicOrigin`,null),e([f({type:h,json:{write:{ignoreOrigin:!0}}})],$.prototype,`id`,null),e([f({readOnly:!0})],$.prototype,`isTable`,void 0),e([U(`service`,`isTable`,[`type`])],$.prototype,`readIsTable`,null),e([f({value:null,type:[D],json:{read:{source:`layerDefinition.drawingInfo.labelingInfo`},write:{target:`layerDefinition.drawingInfo.labelingInfo`,overridePolicy:Z}}})],$.prototype,`labelingInfo`,null),e([W(`labelingInfo`)],$.prototype,`writeLabelingInfo`,null),e([f({type:Boolean,value:!0,json:{read:{source:`layerDefinition.drawingInfo.showLabels`},write:{target:`layerDefinition.drawingInfo.showLabels`,overridePolicy:X}}})],$.prototype,`labelsVisible`,null),e([f({value:null})],$.prototype,`layer`,null),e([f({type:String,json:{write:{overridePolicy:Y}}})],$.prototype,`layerItemId`,void 0),e([f({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:`showLegend`},write:{target:`showLegend`,overridePolicy:Q}}})],$.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`,`hide-children`],value:`show`,json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],$.prototype,`listMode`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`minScale`,null),e([U(`minScale`,[`minScale`,`layerDefinition.minScale`])],$.prototype,`readMinScale`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`maxScale`,null),e([U(`maxScale`,[`maxScale`,`layerDefinition.maxScale`])],$.prototype,`readMaxScale`,null),e([f()],$.prototype,`objectIdField`,void 0),e([U(`service`,`objectIdField`,[`layerDefinition.objectIdField`,`layerDefinition.fields`])],$.prototype,`readObjectIdFieldFromService`,null),e([f({type:Number,value:1,json:{write:{target:`layerDefinition.drawingInfo.transparency`,overridePolicy:X}}})],$.prototype,`opacity`,null),e([U(`opacity`,[`layerDefinition.drawingInfo.transparency`,`layerDefinition.transparency`])],$.prototype,`readOpacity`,null),e([W(`opacity`)],$.prototype,`writeOpacity`,null),e([f({value:null,type:[A],json:{name:`layerDefinition.orderBy`,read:{reader:re},write:{overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`orderBy`,null),e([f({json:{type:h,write:{target:`parentLayerId`,writerEnsuresNonNull:!0,overridePolicy:X}}})],$.prototype,`parent`,void 0),e([W(`parent`)],$.prototype,`writeParent`,null),e([f({type:Boolean,value:!0,json:{read:{source:`disablePopup`,reader(e,t){return!t.disablePopup}},write:{target:`disablePopup`,overridePolicy:Q,writer(e,t,n){t[n]=!e}}}})],$.prototype,`popupEnabled`,void 0),e([f({type:t,json:{read:{source:`popupInfo`},write:{target:`popupInfo`,overridePolicy:Q}}})],$.prototype,`popupTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`queryTask`,null),e([f({type:[j],readOnly:!0,json:{origins:{service:{read:{source:`layerDefinition.relationships`}}}}})],$.prototype,`relationships`,void 0),e([f({types:P,value:null,json:{name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z},origins:{"web-scene":{types:N,name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z}}}}})],$.prototype,`renderer`,null),e([f({types:{key:`type`,base:null,typeMap:{"data-layer":I,"map-layer":L,"workspace-layer":R}},cast(e){if(e){if(`mapLayerId`in e)return g(L,e);if(`dataSource`in e)return g(I,e);if(`workspaceId`in e&&`layerId`in e)return g(R,e)}return e},json:{name:`layerDefinition.source`,types:{key:`type`,base:null,typeMap:{"data-layer":I,"map-layer":L}},write:{overridePolicy:X}}})],$.prototype,`source`,null),e([f()],$.prototype,`sourceJSON`,void 0),e([f({type:y,json:{origins:{service:{read:{source:`layerDefinition.extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([f({value:null,json:{type:[h],write:{target:`subLayerIds`,allowNull:!0,overridePolicy:X}}})],$.prototype,`sublayers`,null),e([p(`sublayers`)],$.prototype,`castSublayers`,null),e([W(`sublayers`)],$.prototype,`writeSublayers`,null),e([f({type:String,json:{name:`name`,write:{overridePolicy:Q}}})],$.prototype,`title`,void 0),e([U(`service`,`title`,[`name`,`layerDefinition.name`])],$.prototype,`readTitle`,null),e([f({type:String})],$.prototype,`typeIdField`,void 0),e([f({json:{read:!1},readOnly:!0,value:`sublayer`})],$.prototype,`type`,void 0),e([U(`typeIdField`,[`layerDefinition.typeIdField`])],$.prototype,`readTypeIdField`,null),e([f({type:[oe],json:{origins:{service:{read:{source:`layerDefinition.types`}}}}})],$.prototype,`types`,void 0),e([f({type:[String],readOnly:!0})],$.prototype,`uniqueIdFields`,void 0),e([U(`service`,`uniqueIdFields`,[`layerDefinition.uniqueIdInfo.OIDFieldContainsHashValue`,`layerDefinition.uniqueIdInfo.fields`])],$.prototype,`readUniqueIdFields`,null),e([f({type:String,json:{name:`layerUrl`,write:{overridePolicy:Y}}})],$.prototype,`url`,null),e([f({type:Boolean,value:!0,json:{read:{source:`defaultVisibility`},write:{target:`defaultVisibility`,overridePolicy:X}}})],$.prototype,`visible`,null),e([W(`visible`)],$.prototype,`writeVisible`,null),$=G=e([m(`esri.layers.support.Sublayer`)],$);export{$ as default};
2
+ import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import n from"../../request.js";import r from"../../core/Collection.js";import i from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import c from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as d}from"../../core/urlUtils.js";import{property as f,cast as p,subclass as m}from"../../core/accessorSupport/decorators.js";import{ensureInteger as ee,ensureType as te,Integer as h,ensureClass as g}from"../../core/accessorSupport/ensureType.js";import{nameToId as ne}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as _}from"../../core/accessorSupport/utils.js";import v from"../../geometry/Extent.js";import y from"../../geometry/SpatialReference.js";import{joinScaleRanges as b}from"../../geometry/support/scaleUtils.js";import{featureGeometryTypeKebabDictionary as x}from"../../geometry/support/typeUtils.js";import S from"../../graphic/MapImageGraphicOrigin.js";import C from"../../graphic/TileGraphicOrigin.js";import w from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as re}from"../mixins/OrderedLayer.js";import ie from"./EditFieldsInfo.js";import{getFeatureType as ae}from"./featureLayerUtils.js";import oe from"./FeatureType.js";import se from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as E}from"./fieldUtils.js";import D from"./LabelClass.js";import{validateLabelingInfo as O}from"./labelingInfo.js";import k from"./LayerFloorInfo.js";import A from"./OrderByInfo.js";import j from"./Relationship.js";import{getFeatureLayerCapabilities as M}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as N,rendererTypes as P}from"../../renderers/support/typeUtils.js";import{parseUrl as F}from"../../rest/utils.js";import I from"../../rest/layerSources/DynamicDataLayer.js";import L from"../../rest/layerSources/DynamicMapLayer.js";import R from"../../rest/layerSources/DynamicWorkspaceLayer.js";import z from"../../rest/support/AttachmentQuery.js";import ce from"../../rest/support/Query.js";import{createPopupTemplate as B}from"../../support/popupUtils.js";import{isSymbol3D as V}from"../../symbols/support/typeUtils.js";import H from"../../tables/AttributeTableTemplate.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as W}from"../../core/accessorSupport/decorators/writer.js";var G;function K(e){return e?.type===`esriSMS`}function q(e,t,n){let r=n.minimumWritableOrigin||n.origin;return r?e.originIdOf(t)>=ne(r):!1}function J(e,t,n){let r=q(this,t,n);return{ignoreOrigin:!0,allowNull:r,enabled:n?n.layer?.type===`map-image`&&(n.writeSublayerStructure||r):!1}}function Y(e,t,n){return{enabled:n?n.layer?.type===`tile`&&(q(this,t,n)||this._isOverridden(t)):!1}}function X(e,t,n){return{ignoreOrigin:!0,enabled:n&&n.writeSublayerStructure||!1}}function Z(e,t,n){return{ignoreOrigin:!0,enabled:n?.writeSublayerStructure?this.originIdOf(t)>2:!1}}function Q(e,t,n){return{ignoreOrigin:!0,enabled:n?n.writeSublayerStructure||q(this,t,n):!1}}let le=0;const ue=new Set([`layer`,`parent`,`loaded`,`loadStatus`,`loadError`,`loadWarnings`]);let $=class extends l(a(s)){static{G=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.editFieldsInfo=null,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.uniqueIdFields=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,t){t=t.layerDefinition||t;let{attachment:n,operations:{supportsQuery:r,supportsQueryAttachments:i},query:{supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s,relativeTimeBinWindow:c},data:{supportsAttachment:l},queryRelated:u}=M(t,this.url);return{attachment:{supportsOrderByFields:n?.supportsOrderByFields??!1,supportsResize:n?.supportsResize??!1,supportsTypeWildcard:n?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!t.canModifyLayer},operations:{supportsQuery:r,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{relativeTimeBinWindow:c,supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s},queryRelated:u}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer(`definitionExpression`,e)}get effectiveScaleRange(){let e=this._get(`effectiveScaleRange`),{maxScale:t,minScale:n,parent:r}=this,i={minScale:n,maxScale:t};return r?.effectiveScaleRange!==void 0&&b(i,r.effectiveScaleRange),e&&e.minScale===i.minScale&&e.maxScale===i.maxScale?e:i}get effectiveUniqueIdFields(){return this.uniqueIdFields?[...this.uniqueIdFields]:this.objectIdField?[this.objectIdField]:[]}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}readMaxScaleRange(e,t){return t=t.layerDefinition||t,{minScale:t.minScale??0,maxScale:t.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer(`floorInfo`,e)}readGlobalIdFieldFromService(e,t){if(t=t.layerDefinition||t,t.globalIdField)return t.globalIdField;if(t.fields){for(let e of t.fields)if(e.type===`esriFieldTypeGlobalID`)return e.name}}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case`tile`:return new C(this.layer,this);case`map-image`:return new S(this.layer,this)}}get id(){return this._get(`id`)??le++}set id(e){if(this._get(`id`)!==e){if(this.layer?.capabilities?.exportMap?.supportsDynamicLayers===!1){this._logLockedError(`id`,`capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'`);return}this._set(`id`,e)}}readIsTable(e,t){return t.type===`Table`}set labelingInfo(e){this._setAndNotifyLayer(`labelingInfo`,e)}writeLabelingInfo(e,t,n,r){e&&e.length&&(t.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},r))}})}set labelsVisible(e){this._setAndNotifyLayer(`labelsVisible`,e)}set layer(e){this._set(`layer`,e),this.sublayers?.forEach(t=>t.layer=e)}set listMode(e){this._set(`listMode`,e)}get loaded(){return super.loaded}set minScale(e){this._setAndNotifyLayer(`minScale`,e)}readMinScale(e,t){return t.minScale||t.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer(`maxScale`,e)}readMaxScale(e,t){return t.maxScale||t.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,t){return t=t.layerDefinition||t,t.objectIdField?t.objectIdField:t.fields?.find(e=>e.type===`esriFieldTypeOID`)?.name}set opacity(e){this._setAndNotifyLayer(`opacity`,e)}readOpacity(e,t){let{layerDefinition:n}=t;return 1-(n?.transparency??n?.drawingInfo?.transparency??0)*.01}writeOpacity(e,t,n,r){t.layerDefinition={drawingInfo:{transparency:100-e*100}}}set orderBy(e){this._setAndNotifyLayer(`orderBy`,e)}writeParent(e,t){t.parentLayerId=!this.parent||this.parent===this.layer?-1:ee(this.parent.id)}get queryTask(){if(!this.layer)return null;let{capabilities:e,fieldsIndex:t,layer:n,uniqueIdFields:r,url:i}=this,{spatialReference:a}=n,o=`gdbVersion`in n?n.gdbVersion:void 0,s=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF,c=e?.operations?.supportsQueryAttachments??!1,l=e?.query?.relativeTimeBinWindow??0;return new w({fieldsIndex:t,gdbVersion:o,pbfSupported:s,queryAttachmentsSupported:c,relativeTimeBinWindow:l,sourceSpatialReference:a,uniqueIdFields:r,url:i})}set renderer(e){if(E(e,this.fieldsIndex),e){for(let t of e.symbols)if(V(t)){c.getLogger(this).warn(`Sublayer renderer should use 2D symbols`);break}}this._setAndNotifyLayer(`renderer`,e)}get source(){return this._get(`source`)||new L({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer(`source`,e)}get sublayers(){return this._get(`sublayers`)}set sublayers(e){this._handleSublayersChange(e,this._get(`sublayers`)),this._set(`sublayers`,e)}castSublayers(e){return te(r.ofType(G),e)}writeSublayers(e,t,n){this.sublayers?.length&&(t[n]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,t){return t.layerDefinition?.name??t.name}readTypeIdField(e,t){t=t.layerDefinition||t;let n=t.typeIdField;if(n&&t.fields){n=n.toLowerCase();let e=t.fields.find(e=>e.name.toLowerCase()===n);e&&(n=e.name)}return n}readUniqueIdFields(e,t){return t.layerDefinition?.uniqueIdInfo?.OIDFieldContainsHashValue?t.layerDefinition.uniqueIdInfo.fields:null}get url(){let e=this.layer?.parsedUrl??this._lastParsedUrl,t=this.source;if(!e)return null;if(this._lastParsedUrl=e,t?.type===`map-layer`)return`${e.path}/${t.mapLayerId}`;let n={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${d(n)}`}set url(e){this._overrideIfSome(`url`,e)}set visible(e){this._setAndNotifyLayer(`visible`,e)}writeVisible(e,t,n,r){t[n]=this.getAtOrigin(`defaultVisibility`,`service`)||e}clone(){let{store:e}=_(this),t=new G;return _(t).store=e.clone(ue),this.commitProperty(`url`),t._lastParsedUrl=this._lastParsedUrl,t}createPopupTemplate(e){return B(this,e)}createQuery(){return new ce({returnGeometry:!0,where:this.definitionExpression||`1=1`})}async createFeatureLayer(){if(this.sublayers)return null;let e=(await import(`../FeatureLayer.js`)).default,{layer:t,url:n}=this,r;if(n&&this.originIdOf(`url`)>2)r=new e({url:n});else if(t?.parsedUrl){let n=t.parsedUrl;r=new e({url:n.path}),n&&this.source&&(this.source.type===`map-layer`?r.layerId=this.source.mapLayerId:r.dynamicDataSource=this.source)}else throw new i(`createFeatureLayer:missing-information`,`Cannot create a FeatureLayer without a url or a parent layer`);return t?.refreshInterval!=null&&(r.refreshInterval=t.refreshInterval),this.definitionExpression&&(r.definitionExpression=this.definitionExpression),this.floorInfo&&(r.floorInfo=o(this.floorInfo)),this.originIdOf(`labelingInfo`)>2&&(r.labelingInfo=o(this.labelingInfo)),this.originIdOf(`labelsVisible`)>0&&(r.labelsVisible=this.labelsVisible),this.originIdOf(`legendEnabled`)>0&&(r.legendEnabled=this.legendEnabled),this.originIdOf(`visible`)>0&&(r.visible=this.visible),this.originIdOf(`minScale`)>0&&(r.minScale=this.minScale),this.originIdOf(`maxScale`)>0&&(r.maxScale=this.maxScale),this.originIdOf(`opacity`)>0&&(r.opacity=this.opacity),this.originIdOf(`popupTemplate`)>0&&(r.popupTemplate=o(this.popupTemplate)),this.originIdOf(`renderer`)>2&&(r.renderer=o(this.renderer)),this.source?.type===`data-layer`&&(r.dynamicDataSource=this.source.clone()),this.originIdOf(`title`)>0&&(r.title=this.title),t?.type===`map-image`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),t?.type===`tile`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),r}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return ae(this.types,this.typeIdField,e)}getFieldDomain(e,t){let n=t?.feature,r=this.getFeatureType(n);if(r){let t=r.domains&&r.domains[e];if(t&&t.type!==`inherited`)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){await this.load();let n=z.from(e),r=this.capabilities;if(!r?.data?.supportsAttachment)throw new i(`queryAttachments:not-supported`,`this layer doesn't support attachments`);let{attachmentTypes:a,objectIds:o,globalIds:s,num:c,size:l,start:u,where:d}=n;if(!r?.operations?.supportsQueryAttachments){let e=a?.length>0,t=s?.length>0,r=l?.length>0;if(e||t||r||c||u||d)throw new i(`queryAttachments:option-not-supported`,`when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported`,n)}if(!(o?.length||s?.length||d))throw new i(`queryAttachments:invalid-query`,`'objectIds', 'globalIds', or 'where' are required to perform attachment query`,n);return!r?.attachment?.supportsOrderByFields&&n.orderByFields?.length&&(n=n.clone(),n.orderByFields=null),this.queryTask.executeAttachmentQuery(n,t)}async queryFeatureCount(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatureCount:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatureCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryFeatures(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatures:not-supported`,`this layer has no url.`);let n=await this.queryTask.execute(e,{...t,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(n?.features){let e=this.graphicOrigin;for(let t of n.features)t.sourceLayer=this,t.origin=e}return n}async queryObjectIds(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryObjectIds:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryObjectIds:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeatures(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryRelatedFeatures:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support queries.`);if(!this.capabilities.queryRelated.supportsCount)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support query related counts.`);if(!this.url)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async reload(e){if(this.loadStatus===`not-loaded`)return this.load(e).then(()=>{});let{layer:t,url:r}=this;if(!t&&!r)throw new i(`sublayer:missing-layer`,`Sublayer can't be loaded without being part of a layer`,{sublayer:this});let a=t?await t.fetchSublayerInfo(this,e):(await n(r,{query:{f:`json`},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:`service`,layer:t,url:F(r)}))}toExportImageJSON(e){let t={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:`mapLayer`}},n=u(e,this.definitionExpression);n!=null&&(t.definitionExpression=n);let r=[`renderer`,`labelingInfo`,`opacity`,`labelsVisible`].reduce((e,t)=>(e[t]=this.originIdOf(t),e),{});if(Object.keys(r).some(e=>r[e]>2)){let e=t.drawingInfo={};if(r.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),r.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&r.labelingInfo>2){if(!this.labelingInfo)e.showLabels=!1;else{!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&c.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 t=this.labelingInfo;this.geometryType!=null&&(t=O(this.labelingInfo,x.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=t.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:`service`,layer:this.layer}))}}r.opacity>2&&(e.transparency=100-this.opacity*100),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf(`orderBy`)>2&&(t.orderBy=this.orderBy?.map(e=>e.toJSON())??null),t}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||(e.style===`esriSMSX`||e.style===`esriSMSCross`)&&(e.color=e.outline?.color?e.outline.color:[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,t){if(e){let n=(`uniqueValueInfos`in e?e.uniqueValueInfos:`classBreakInfos`in e?e.classBreakInfos:null)??[];for(let e of n)K(e.symbol)&&t(e.symbol);`symbol`in e&&K(e.symbol)&&t(e.symbol),`defaultSymbol`in e&&K(e.defaultSymbol)&&t(e.defaultSymbol)}}_setAndNotifyLayer(e,t){let n=this.layer,r=this._get(e),i,a;switch(e){case`definitionExpression`:case`floorInfo`:i=`supportsSublayerDefinitionExpression`;break;case`minScale`:case`maxScale`:case`visible`:i=`supportsSublayerVisibility`;break;case`labelingInfo`:case`labelsVisible`:case`opacity`:case`renderer`:case`source`:i=`supportsDynamicLayers`,a=`supportsModification`;break;case`orderBy`:i=`supportsSublayerOrderBy`,a=`supportsModification`}let o=_(this).getDefaultOrigin();if(o!==`service`){if(i&&this.layer?.capabilities?.exportMap?.[i]===!1){this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${i}'`);return}if(a&&this.capabilities?.exportMap[a]===!1){this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`);return}}if(e===`source`&&this.loadStatus!==`not-loaded`){this._logLockedError(e,`'source' can't be changed after calling sublayer.load()`);return}this._set(e,t),o!==`service`&&r!==t&&n?.emit&&n.emit(`sublayer-update`,{propertyName:e,target:this})}_handleSublayersChange(e,t){t&&(t.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??!0)||(c.getLogger(this).error(new i(`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,t){let{layer:n,declaredClass:r}=this;c.getLogger(r).error(new i(`sublayer:locked`,`Property '${String(e)}' can't be changed on Sublayer from the layer '${n?.id}'`,{reason:t,sublayer:this,layer:n}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===Z||e===X||e===J,isTileImageLayerOverridePolicy:e=>e===Y}}};e([f({type:H,json:{name:`attributeTableInfo`,write:{overridePolicy:J},origins:{"web-scene":{write:!1}}}})],$.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`capabilities`,void 0),e([U(`service`,`capabilities`,[`layerDefinition.canModifyLayer`,`layerDefinition.capabilities`])],$.prototype,`readCapabilities`,null),e([f()],$.prototype,`defaultPopupTemplate`,null),e([f({type:String,value:null,json:{name:`layerDefinition.definitionExpression`,write:{allowNull:!0,overridePolicy:J}}})],$.prototype,`definitionExpression`,null),e([f({readOnly:!0,type:ie,json:{origins:{service:{read:{source:`layerDefinition.editFieldsInfo`}}}}})],$.prototype,`editFieldsInfo`,void 0),e([f({readOnly:!0})],$.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,type:[String]})],$.prototype,`effectiveUniqueIdFields`,null),e([f({readOnly:!0})],$.prototype,`effectiveVisible`,null),e([U(`service`,`maxScaleRange`,[`minScale`,`maxScale`])],$.prototype,`readMaxScaleRange`,null),e([f({type:[se],json:{origins:{service:{read:{source:`layerDefinition.fields`}}}}})],$.prototype,`fields`,void 0),e([f({readOnly:!0})],$.prototype,`fieldsIndex`,null),e([f({type:k,value:null,json:{name:`layerDefinition.floorInfo`,read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`,overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`floorInfo`,null),e([f({type:v,json:{read:{source:`layerDefinition.extent`}}})],$.prototype,`fullExtent`,void 0),e([f({type:x.apiValues,json:{origins:{service:{name:`layerDefinition.geometryType`,read:{reader:x.read}}}}})],$.prototype,`geometryType`,void 0),e([f({type:String})],$.prototype,`globalIdField`,void 0),e([U(`service`,`globalIdField`,[`layerDefinition.globalIdField`,`layerDefinition.fields`])],$.prototype,`readGlobalIdFieldFromService`,null),e([f({readOnly:!0})],$.prototype,`graphicOrigin`,null),e([f({type:h,json:{write:{ignoreOrigin:!0}}})],$.prototype,`id`,null),e([f({readOnly:!0})],$.prototype,`isTable`,void 0),e([U(`service`,`isTable`,[`type`])],$.prototype,`readIsTable`,null),e([f({value:null,type:[D],json:{read:{source:`layerDefinition.drawingInfo.labelingInfo`},write:{target:`layerDefinition.drawingInfo.labelingInfo`,overridePolicy:Z}}})],$.prototype,`labelingInfo`,null),e([W(`labelingInfo`)],$.prototype,`writeLabelingInfo`,null),e([f({type:Boolean,value:!0,json:{read:{source:`layerDefinition.drawingInfo.showLabels`},write:{target:`layerDefinition.drawingInfo.showLabels`,overridePolicy:X}}})],$.prototype,`labelsVisible`,null),e([f({value:null})],$.prototype,`layer`,null),e([f({type:String,json:{write:{overridePolicy:Y}}})],$.prototype,`layerItemId`,void 0),e([f({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:`showLegend`},write:{target:`showLegend`,overridePolicy:Q}}})],$.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`,`hide-children`],value:`show`,json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],$.prototype,`listMode`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`minScale`,null),e([U(`minScale`,[`minScale`,`layerDefinition.minScale`])],$.prototype,`readMinScale`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`maxScale`,null),e([U(`maxScale`,[`maxScale`,`layerDefinition.maxScale`])],$.prototype,`readMaxScale`,null),e([f()],$.prototype,`objectIdField`,void 0),e([U(`service`,`objectIdField`,[`layerDefinition.objectIdField`,`layerDefinition.fields`])],$.prototype,`readObjectIdFieldFromService`,null),e([f({type:Number,value:1,json:{write:{target:`layerDefinition.drawingInfo.transparency`,overridePolicy:X}}})],$.prototype,`opacity`,null),e([U(`opacity`,[`layerDefinition.drawingInfo.transparency`,`layerDefinition.transparency`])],$.prototype,`readOpacity`,null),e([W(`opacity`)],$.prototype,`writeOpacity`,null),e([f({value:null,type:[A],json:{name:`layerDefinition.orderBy`,read:{reader:re},write:{overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`orderBy`,null),e([f({json:{type:h,write:{target:`parentLayerId`,writerEnsuresNonNull:!0,overridePolicy:X}}})],$.prototype,`parent`,void 0),e([W(`parent`)],$.prototype,`writeParent`,null),e([f({type:Boolean,value:!0,json:{read:{source:`disablePopup`,reader(e,t){return!t.disablePopup}},write:{target:`disablePopup`,overridePolicy:Q,writer(e,t,n){t[n]=!e}}}})],$.prototype,`popupEnabled`,void 0),e([f({type:t,json:{read:{source:`popupInfo`},write:{target:`popupInfo`,overridePolicy:Q}}})],$.prototype,`popupTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`queryTask`,null),e([f({type:[j],readOnly:!0,json:{origins:{service:{read:{source:`layerDefinition.relationships`}}}}})],$.prototype,`relationships`,void 0),e([f({types:P,value:null,json:{name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z},origins:{"web-scene":{types:N,name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z}}}}})],$.prototype,`renderer`,null),e([f({types:{key:`type`,base:null,typeMap:{"data-layer":I,"map-layer":L,"workspace-layer":R}},cast(e){if(e){if(`mapLayerId`in e)return g(L,e);if(`dataSource`in e)return g(I,e);if(`workspaceId`in e&&`layerId`in e)return g(R,e)}return e},json:{name:`layerDefinition.source`,types:{key:`type`,base:null,typeMap:{"data-layer":I,"map-layer":L}},write:{overridePolicy:X}}})],$.prototype,`source`,null),e([f()],$.prototype,`sourceJSON`,void 0),e([f({type:y,json:{origins:{service:{read:{source:`layerDefinition.extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([f({value:null,json:{type:[h],write:{target:`subLayerIds`,allowNull:!0,overridePolicy:X}}})],$.prototype,`sublayers`,null),e([p(`sublayers`)],$.prototype,`castSublayers`,null),e([W(`sublayers`)],$.prototype,`writeSublayers`,null),e([f({type:String,json:{name:`name`,write:{overridePolicy:Q}}})],$.prototype,`title`,void 0),e([U(`service`,`title`,[`name`,`layerDefinition.name`])],$.prototype,`readTitle`,null),e([f({type:String})],$.prototype,`typeIdField`,void 0),e([f({json:{read:!1},readOnly:!0,value:`sublayer`})],$.prototype,`type`,void 0),e([U(`typeIdField`,[`layerDefinition.typeIdField`])],$.prototype,`readTypeIdField`,null),e([f({type:[oe],json:{origins:{service:{read:{source:`layerDefinition.types`}}}}})],$.prototype,`types`,void 0),e([f({type:[String],readOnly:!0})],$.prototype,`uniqueIdFields`,void 0),e([U(`service`,`uniqueIdFields`,[`layerDefinition.uniqueIdInfo.OIDFieldContainsHashValue`,`layerDefinition.uniqueIdInfo.fields`])],$.prototype,`readUniqueIdFields`,null),e([f({type:String,json:{name:`layerUrl`,write:{overridePolicy:Y}}})],$.prototype,`url`,null),e([f({type:Boolean,value:!0,json:{read:{source:`defaultVisibility`},write:{target:`defaultVisibility`,overridePolicy:X}}})],$.prototype,`visible`,null),e([W(`visible`)],$.prototype,`writeVisible`,null),$=G=e([m(`esri.layers.support.Sublayer`)],$);export{$ as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import{ClonableMixin as n}from"../../core/Clonable.js";import r from"../../core/Error.js";import{IdentifiableMixin as i}from"../../core/Identifiable.js";import{clone as a}from"../../core/lang.js";import{Loadable as o}from"../../core/Loadable.js";import s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{setDeepValue as u}from"../../core/object.js";import{sqlAnd as d}from"../../core/sql.js";import{property as f,subclass as p}from"../../core/accessorSupport/decorators.js";import{excludeTables as m}from"../../core/accessorSupport/layerContainerType.js";import h from"../../form/FormTemplate.js";import ee from"../../geometry/SpatialReference.js";import{joinScaleRanges as te}from"../../geometry/support/scaleUtils.js";import ne from"../../graphic/SubtypeGroupGraphicOrigin.js";import{labelsVisible as re,legendEnabled as ie,minScale as ae,maxScale as oe,popupEnabled as g}from"./commonProperties.js";import{createQuery as _,computeDomainFromSubtypes as v}from"./featureLayerUtils.js";import y from"./FeatureTemplate.js";import b from"./FieldConfiguration.js";import{popupTemplateWithFieldConfigurations as x,fieldConfigurationsFromPopupTemplate as S,fieldConfigurationsFromFields as C}from"./fieldConfigUtils.js";import{defineFieldProperties as w}from"./fieldProperties.js";import{fixRendererFields as T}from"./fieldUtils.js";import se from"./LabelClass.js";import{reader as E}from"./labelingInfo.js";import{rendererReader as D,supportedRendererTypes as O}from"./subtypeGroupLayerUtils.js";import k from"./TitleCreator.js";import A from"../../renderers/SimpleRenderer.js";import j from"../../rest/support/AttachmentQuery.js";import M from"../../rest/support/Query.js";import{createPopupTemplate as N}from"../../support/popupUtils.js";import{defaultPolygonSymbol2D as P,defaultPolylineSymbol2D as F,defaultPointSymbol2D as I}from"../../symbols/support/defaults.js";import L from"../../tables/AttributeTableTemplate.js";import{writer as R}from"../../core/accessorSupport/decorators/writer.js";import{reader as z}from"../../core/accessorSupport/decorators/reader.js";const B=w();let V=0;function H(e,t){let n=e.json.write;return typeof n!=`object`&&(n=e.json.write={}),n.ignoreOrigin=!0,t?.spatialOnly&&(n.layerContainerTypes=m),e}function U(e){let t={write:{ignoreOrigin:!0}};return e?.name&&(t.name=e.name),typeof t.write==`object`&&(e?.spatialOnly&&(t.write.layerContainerTypes=m),e?.target&&(t.write.target=e.target)),t}function W(e){return new A({symbol:G(e)})}function G(e){switch(e){case`point`:case`multipoint`:return I.clone();case`polyline`:return F.clone();case`polygon`:case`multipatch`:return P.clone();default:return null}}function ce(e,t){return t?e?.type===`unique-value`&&e.field!=null&&e.field.toLowerCase()===t.toLowerCase()&&!e.field2&&!e.field3&&!e.valueExpression:!1}function K(e){return J(e,`user`)===e}function q(e){return J(e,`service`)}function le(e){return J(e,`portal-item`)}function J(e,t){return(e.parent?.getAtOrigin(`sublayers`,t))?.find(({subtypeCode:t})=>t===e.subtypeCode)}function Y(e,t){return e==null?null:t.subtypes?.find(t=>t.code===e)}function ue(e,t){let n=t.geometryType,r=null;switch(n){case`esriGeometryPoint`:case`esriGeometryMultipoint`:r=`point`;break;case`esriGeometryPolyline`:r=`line`;break;case`esriGeometryPolygon`:case`esriGeometryMultiPatch`:r=`polygon`;break;default:t.type,r=null}let i={},a=Y(e,t);if(a!=null){let{defaultValues:e}=a;for(let t in e)i[t]=e[t]}return i[t.subtypeField]=e,new y({name:`New Feature`,drawingTool:r,prototype:{attributes:i}})}let X=class extends l(n(i(o))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.graphicOrigin=new ne(this),this.id=`${Date.now().toString(16)}-subtype-sublayer-${V++}`,this.type=`subtype-sublayer`,this.labelsVisible=!0,this.labelingInfo=null,this.layerType=`ArcGISFeatureLayer`,this.legendEnabled=!0,this.listMode=`show`,this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.visible=!0}load(e){return T(this.renderer,this.fieldsIndex),Promise.resolve(this)}get _titleCreator(){let e=this._get(`_titleCreator`);return c(e),new k({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,displayField:this.parent?.displayField??``,fields:this.fields,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){let{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._override(`fieldConfigurations`,e),!this.parent?.loaded)return;let t=x(this,e);t&&this._set(`popupTemplate`,t)}get fieldConfigurations(){return this._isOverridden(`fieldConfigurations`)?this._get(`fieldConfigurations`):S(this)||null}writeFieldOverrides(e,t,n){let{fields:r,parent:i}=this,o;if(r){o=[];let e=0;r.forEach(({name:t,alias:n,editable:r,visible:a})=>{if(!a)return;let s=i?.fields?.find(e=>e.name===t);if(!s)return;let c={name:t},l=!1;n!==s.alias&&(c.alias=n,l=!0),r!==s.editable&&(c.editable=r,l=!0),o.push(c),l&&e++}),e===0&&o.length===r.length&&(o=null)}else o=a(e);o?.length&&u(n,o,t)}get fields(){let{parent:e,fieldOverrides:t,subtypeCode:n}=this,r=e?.fields;if(!e||!r?.length)return null;let{subtypes:i,subtypeField:a}=e,o=i?.find(e=>e.code===n),s=o?.defaultValues,c=o?.domains,l=[];for(let e of r){let r=e.clone(),{name:i}=r,o=t?.find(e=>e.name===i);if(r.visible=!t?.length||!!o,o){let{alias:e,editable:t}=o;e&&(r.alias=e),t===!1&&(r.editable=!1)}let u=s?.[i]??null;r.defaultValue=i===a?n:u;let d=c?.[i]??null;r.domain=i===a?null:d?d.type===`inherited`?r.domain:d.clone():null,l.push(r)}return l}get floorInfo(){return this.parent?.floorInfo}get isTable(){return!!this.parent?.isTable}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?this.parent.globalIdField:(s.getLogger(this).error($(`globalIdField`)),null)}get effectiveScaleRange(){let e=this._get(`effectiveScaleRange`),{maxScale:t,minScale:n,parent:r}=this,i={minScale:n,maxScale:t};return r?.effectiveScaleRange!==void 0&&te(i,r.effectiveScaleRange),e&&e.minScale===i.minScale&&e.maxScale===i.maxScale?e:i}get objectIdField(){return this.parent||s.getLogger(this).error($(`objectIdField`)),this.parent?.objectIdField}writePopupTemplate(e,t,n,r){e&&(t[n]=e.toJSON({...r,writeFieldFormat:!0}))}get defaultPopupTemplate(){return this.createPopupTemplate()}get relationships(){return this.parent?.relationships}set renderer(e){T(e,this.fieldsIndex),this._override(`renderer`,e)}get renderer(){if(this._isOverridden(`renderer`))return this._get(`renderer`);let{parent:e}=this;return e&&!e.isTable&&e.geometryType!==`mesh`?(K(this)?a(q(this)?.renderer):null)??W(e.geometryType):null}readRendererFromService(e,t,n){if(t.type===`Table`)return null;let r=t.drawingInfo?.renderer,i=D(r,t,n),a,{subtypeCode:o}=this;if(o!=null&&ce(i,t.subtypeField)){let e=i.uniqueValueInfos?.find(({value:e})=>(e=typeof e==`number`?String(e):e,e===String(o)));e&&(a=new A({symbol:e.symbol}))}else i?.type===`simple`&&!i.visualVariables?.length&&(a=i);return a}readRenderer(e,t,n){let r=t?.layerDefinition?.drawingInfo?.renderer;if(r)return D(r,t,n)||void 0}get spatialReference(){return this.parent?.spatialReference??ee.WGS84}get subtypeField(){return this.parent?.subtypeField}get templates(){return this._isOverridden(`templates`)?this._get(`templates`):a(K(this)?q(this)?.templates:le(this)?.templates||q(this)?.templates)}set templates(e){this._override(`templates`,e)}readTemplatesFromService(e,t){return[ue(this.subtypeCode,t)]}get title(){return this._isOverridden(`title`)?this._get(`title`):(K(this)?q(this):null)?.title}set title(e){this._override(`title`,e)}readTitleFromService(e,t){let n=Y(this.subtypeCode,t);return n==null?null:n.name}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t,n){let{parent:i}=this;if(!i)throw $(`addAttachment`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:addAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return i.addAttachment(e,t,n)}async updateAttachment(e,t,n,i){let{parent:a}=this;if(!a)throw $(`updateAttachment`);if(e.getAttribute(a.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:updateAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return a.updateAttachment(e,t,n,i)}async deleteAttachments(e,t,n){let{parent:i}=this;if(!i)throw $(`deleteAttachments`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:deleteAttachments`,`The feature provided does not belong to this SubtypeSublayer`);return i.deleteAttachments(e,t,n)}async applyEdits(e,t){if(!this.parent)throw $(`applyEdits`);return this.parent.applyEdits(e,t)}createFieldConfigurations(){return C(this)}createPopupTemplate(e){let t=this,{parent:n,fields:r,title:i}=this;if(n){let{displayField:e,editFieldsInfo:a,objectIdField:o}=n;t={displayField:e,editFieldsInfo:a,fields:r,objectIdField:o,title:i}}return N(t,e)}createQuery(){if(!this.parent)throw $(`createQuery`);let e=_(this.parent),t=`${this.parent.subtypeField}=${this.subtypeCode}`;return e.where=d(t,this.parent.definitionExpression),e}getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains&&this.parent){let t=v(this.parent,e);if(t)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){let n=await this.load();if(!n.parent)throw $(`queryAttachments`);let r=e instanceof j?e.clone():new j(e);return r.where=Q(r.where,n.parent.subtypeField,n.subtypeCode),n.parent.queryAttachments(r,t)}async queryFeatureCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatureCount`);return n.parent.queryFeatureCount(Z(n.parent,n,e),t)}async queryFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatures`);return n.parent.queryFeatures(Z(n.parent,n,e),t)}async queryObjectIds(e,t){let n=await this.load();if(!n.parent)throw $(`queryObjectIds`);return n.parent.queryObjectIds(Z(n.parent,n,e),t)}async queryRelatedFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeatures`);return n.parent.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeaturesCount`);return n.parent.queryRelatedFeaturesCount(e,t)}_getLayerDomain(e){let t=this.fieldsIndex.get(e);return t?t.domain:null}};e([f({clonable:!1,readOnly:!0})],X.prototype,`_titleCreator`,null),e([f({type:L,json:U({name:`attributeTableInfo`})})],X.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`capabilities`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`effectiveCapabilities`,null),e([f({json:U()})],X.prototype,`charts`,void 0),e([f({type:Boolean,nonNullable:!0,json:U({name:`enableEditing`})})],X.prototype,`editingEnabled`,void 0),e([f({type:Boolean,readOnly:!0})],X.prototype,`effectiveEditingEnabled`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`elevationInfo`,null),e([f({clonable:!1,readOnly:!0})],X.prototype,`featureTitleFields`,null),e([f({type:[b],json:{name:`layerDefinition.fieldConfigurations`,write:{ignoreOrigin:!0}}})],X.prototype,`fieldConfigurations`,null),e([f({json:{name:`layerDefinition.fieldOverrides`,origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],X.prototype,`fieldOverrides`,void 0),e([R(`fieldOverrides`)],X.prototype,`writeFieldOverrides`,null),e([f({...B.fields,readOnly:!0,json:{read:!1}})],X.prototype,`fields`,null),e([f(B.fieldsIndex)],X.prototype,`fieldsIndex`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`floorInfo`,null),e([f({type:h,json:U({name:`formInfo`})})],X.prototype,`formTemplate`,void 0),e([f({readOnly:!0,clonable:!1})],X.prototype,`graphicOrigin`,void 0),e([f({type:String,clonable:!1,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`id`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`isTable`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`geometryType`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`globalIdField`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`type`,void 0),e([f(H(a(re)))],X.prototype,`labelsVisible`,void 0),e([f({type:[se],json:{name:`layerDefinition.drawingInfo.labelingInfo`,origins:{service:{read:!1}},read:{reader:E},write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`labelingInfo`,void 0),e([f({type:[`ArcGISFeatureLayer`],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`layerType`,void 0),e([f(H(a(ie)))],X.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`]})],X.prototype,`listMode`,void 0),e([f((()=>{let e=a(ae);return e.json.origins.service.read=!1,H(e,{spatialOnly:!0})})())],X.prototype,`minScale`,void 0),e([f((()=>{let e=a(oe);return e.json.origins.service.read=!1,H(e,{spatialOnly:!0})})())],X.prototype,`maxScale`,void 0),e([f({readOnly:!0})],X.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`objectIdField`,null),e([f({type:Number,range:{min:0,max:1},nonNullable:!0,json:U({spatialOnly:!0})})],X.prototype,`opacity`,void 0),e([f({clonable:!1})],X.prototype,`parent`,void 0),e([f(H(a(g)))],X.prototype,`popupEnabled`,void 0),e([f({type:t,json:U({name:`popupInfo`})})],X.prototype,`popupTemplate`,void 0),e([R(`popupTemplate`)],X.prototype,`writePopupTemplate`,null),e([f({readOnly:!0})],X.prototype,`defaultPopupTemplate`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`relationships`,null),e([f({types:O,json:U({target:`layerDefinition.drawingInfo.renderer`,spatialOnly:!0})})],X.prototype,`renderer`,null),e([z(`service`,`renderer`,[`drawingInfo.renderer`,`subtypeField`,`type`])],X.prototype,`readRendererFromService`,null),e([z(`renderer`,[`layerDefinition.drawingInfo.renderer`])],X.prototype,`readRenderer`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`spatialReference`,null),e([f({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`subtypeCode`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`subtypeField`,null),e([f({type:[y],json:U({name:`layerDefinition.templates`})})],X.prototype,`templates`,null),e([z(`service`,`templates`,[`geometryType`,`subtypeField`,`subtypes`,`type`])],X.prototype,`readTemplatesFromService`,null),e([f({type:String,json:U()})],X.prototype,`title`,null),e([z(`service`,`title`,[`subtypes`])],X.prototype,`readTitleFromService`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`url`,null),e([f({readOnly:!0})],X.prototype,`userHasUpdateItemPrivileges`,null),e([f({type:Boolean,nonNullable:!0,json:U({name:`visibility`,spatialOnly:!0})})],X.prototype,`visible`,void 0),X=e([p(`esri.layers.support.SubtypeSublayer`)],X);const Z=(e,t,n)=>{if(!n)return t.createQuery();let r=M.from(n);return r.where=Q(r.where,e.subtypeField,t.subtypeCode),r},Q=(e,t,n)=>{let r=RegExp(`${t}\\s*=\\s*\\d+`),i=`${t}=${n}`,a=e??``;return r.test(a)?a.replace(r,i):d(i,a)},$=e=>new r(`subtype-sublayer:parent-missing`,`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`);export{X as default};
2
+ import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import{ClonableMixin as n}from"../../core/Clonable.js";import r from"../../core/Error.js";import{IdentifiableMixin as i}from"../../core/Identifiable.js";import{clone as a}from"../../core/lang.js";import{Loadable as o}from"../../core/Loadable.js";import s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{setDeepValue as u}from"../../core/object.js";import{sqlAnd as d}from"../../core/sql.js";import{property as f,subclass as p}from"../../core/accessorSupport/decorators.js";import{excludeTables as m}from"../../core/accessorSupport/layerContainerType.js";import h from"../../form/FormTemplate.js";import ee from"../../geometry/SpatialReference.js";import{joinScaleRanges as te}from"../../geometry/support/scaleUtils.js";import ne from"../../graphic/SubtypeGroupGraphicOrigin.js";import{labelsVisible as re,legendEnabled as ie,minScale as ae,maxScale as oe,popupEnabled as g}from"./commonProperties.js";import{createQuery as _,computeDomainFromSubtypes as v}from"./featureLayerUtils.js";import y from"./FeatureTemplate.js";import b from"./FieldConfiguration.js";import{popupTemplateWithFieldConfigurations as x,fieldConfigurationsFromPopupTemplate as S,fieldConfigurationsFromFields as C}from"./fieldConfigUtils.js";import{defineFieldProperties as w}from"./fieldProperties.js";import{fixRendererFields as T}from"./fieldUtils.js";import se from"./LabelClass.js";import{reader as E}from"./labelingInfo.js";import{rendererReader as D,supportedRendererTypes as O}from"./subtypeGroupLayerUtils.js";import k from"./TitleCreator.js";import A from"../../renderers/SimpleRenderer.js";import j from"../../rest/support/AttachmentQuery.js";import M from"../../rest/support/Query.js";import{createPopupTemplate as N}from"../../support/popupUtils.js";import{defaultPolygonSymbol2D as P,defaultPolylineSymbol2D as F,defaultPointSymbol2D as I}from"../../symbols/support/defaults.js";import L from"../../tables/AttributeTableTemplate.js";import{writer as R}from"../../core/accessorSupport/decorators/writer.js";import{reader as z}from"../../core/accessorSupport/decorators/reader.js";const B=w();let V=0;function H(e,t){let n=e.json.write;return typeof n!=`object`&&(n=e.json.write={}),n.ignoreOrigin=!0,t?.spatialOnly&&(n.layerContainerTypes=m),e}function U(e){let t={write:{ignoreOrigin:!0}};return e?.name&&(t.name=e.name),typeof t.write==`object`&&(e?.spatialOnly&&(t.write.layerContainerTypes=m),e?.target&&(t.write.target=e.target)),t}function W(e){return new A({symbol:G(e)})}function G(e){switch(e){case`point`:case`multipoint`:return I.clone();case`polyline`:return F.clone();case`polygon`:case`multipatch`:return P.clone();default:return null}}function ce(e,t){return t?e?.type===`unique-value`&&e.field!=null&&e.field.toLowerCase()===t.toLowerCase()&&!e.field2&&!e.field3&&!e.valueExpression:!1}function K(e){return J(e,`user`)===e}function q(e){return J(e,`service`)}function le(e){return J(e,`portal-item`)}function J(e,t){return(e.parent?.getAtOrigin(`sublayers`,t))?.find(({subtypeCode:t})=>t===e.subtypeCode)}function Y(e,t){return e==null?null:t.subtypes?.find(t=>t.code===e)}function ue(e,t){let n=t.geometryType,r=null;switch(n){case`esriGeometryPoint`:case`esriGeometryMultipoint`:r=`point`;break;case`esriGeometryPolyline`:r=`line`;break;case`esriGeometryPolygon`:case`esriGeometryMultiPatch`:r=`polygon`;break;default:t.type,r=null}let i={},a=Y(e,t);if(a!=null){let{defaultValues:e}=a;for(let t in e)i[t]=e[t]}return i[t.subtypeField]=e,new y({name:`New Feature`,drawingTool:r,prototype:{attributes:i}})}let X=class extends l(n(i(o))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.graphicOrigin=new ne(this),this.id=`${Date.now().toString(16)}-subtype-sublayer-${V++}`,this.type=`subtype-sublayer`,this.labelsVisible=!0,this.labelingInfo=null,this.layerType=`ArcGISFeatureLayer`,this.legendEnabled=!0,this.listMode=`show`,this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.visible=!0}load(e){return T(this.renderer,this.fieldsIndex),Promise.resolve(this)}get _titleCreator(){let e=this._get(`_titleCreator`);return c(e),new k({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,displayField:this.parent?.displayField??``,fields:this.fields,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){let{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._override(`fieldConfigurations`,e),!this.parent?.loaded)return;let t=x(this,e);t&&this._set(`popupTemplate`,t)}get fieldConfigurations(){return this._isOverridden(`fieldConfigurations`)?this._get(`fieldConfigurations`):S(this)||null}writeFieldOverrides(e,t,n){let{fields:r,parent:i}=this,o;if(r){o=[];let e=0;r.forEach(({name:t,alias:n,editable:r,visible:a})=>{if(!a)return;let s=i?.fields?.find(e=>e.name===t);if(!s)return;let c={name:t},l=!1;n!==s.alias&&(c.alias=n,l=!0),r!==s.editable&&(c.editable=r,l=!0),o.push(c),l&&e++}),e===0&&o.length===r.length&&(o=null)}else o=a(e);o?.length&&u(n,o,t)}get fields(){let{parent:e,fieldOverrides:t,subtypeCode:n}=this,r=e?.fields;if(!e||!r?.length)return null;let{subtypes:i,subtypeField:a}=e,o=i?.find(e=>e.code===n),s=o?.defaultValues,c=o?.domains,l=[];for(let e of r){let r=e.clone(),{name:i}=r,o=t?.find(e=>e.name===i);if(r.visible=!t?.length||!!o,o){let{alias:e,editable:t}=o;e&&(r.alias=e),t===!1&&(r.editable=!1)}let u=s?.[i]??null;r.defaultValue=i===a?n:u;let d=c?.[i]??null;r.domain=i===a?null:d?d.type===`inherited`?r.domain:d.clone():null,l.push(r)}return l}get floorInfo(){return this.parent?.floorInfo}get isTable(){return!!this.parent?.isTable}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?this.parent.globalIdField:(s.getLogger(this).error($(`globalIdField`)),null)}get effectiveScaleRange(){let e=this._get(`effectiveScaleRange`),{maxScale:t,minScale:n,parent:r}=this,i={minScale:n,maxScale:t};return r?.effectiveScaleRange!==void 0&&te(i,r.effectiveScaleRange),e&&e.minScale===i.minScale&&e.maxScale===i.maxScale?e:i}get effectiveVisible(){return this.visible&&(this.parent?.effectiveVisible??!0)}get objectIdField(){return this.parent||s.getLogger(this).error($(`objectIdField`)),this.parent?.objectIdField}writePopupTemplate(e,t,n,r){e&&(t[n]=e.toJSON({...r,writeFieldFormat:!0}))}get defaultPopupTemplate(){return this.createPopupTemplate()}get relationships(){return this.parent?.relationships}set renderer(e){T(e,this.fieldsIndex),this._override(`renderer`,e)}get renderer(){if(this._isOverridden(`renderer`))return this._get(`renderer`);let{parent:e}=this;return e&&!e.isTable&&e.geometryType!==`mesh`?(K(this)?a(q(this)?.renderer):null)??W(e.geometryType):null}readRendererFromService(e,t,n){if(t.type===`Table`)return null;let r=t.drawingInfo?.renderer,i=D(r,t,n),a,{subtypeCode:o}=this;if(o!=null&&ce(i,t.subtypeField)){let e=i.uniqueValueInfos?.find(({value:e})=>(e=typeof e==`number`?String(e):e,e===String(o)));e&&(a=new A({symbol:e.symbol}))}else i?.type===`simple`&&!i.visualVariables?.length&&(a=i);return a}readRenderer(e,t,n){let r=t?.layerDefinition?.drawingInfo?.renderer;if(r)return D(r,t,n)||void 0}get spatialReference(){return this.parent?.spatialReference??ee.WGS84}get subtypeField(){return this.parent?.subtypeField}get templates(){return this._isOverridden(`templates`)?this._get(`templates`):a(K(this)?q(this)?.templates:le(this)?.templates||q(this)?.templates)}set templates(e){this._override(`templates`,e)}readTemplatesFromService(e,t){return[ue(this.subtypeCode,t)]}get title(){return this._isOverridden(`title`)?this._get(`title`):(K(this)?q(this):null)?.title}set title(e){this._override(`title`,e)}readTitleFromService(e,t){let n=Y(this.subtypeCode,t);return n==null?null:n.name}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t,n){let{parent:i}=this;if(!i)throw $(`addAttachment`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:addAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return i.addAttachment(e,t,n)}async updateAttachment(e,t,n,i){let{parent:a}=this;if(!a)throw $(`updateAttachment`);if(e.getAttribute(a.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:updateAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return a.updateAttachment(e,t,n,i)}async deleteAttachments(e,t,n){let{parent:i}=this;if(!i)throw $(`deleteAttachments`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:deleteAttachments`,`The feature provided does not belong to this SubtypeSublayer`);return i.deleteAttachments(e,t,n)}async applyEdits(e,t){if(!this.parent)throw $(`applyEdits`);return this.parent.applyEdits(e,t)}createFieldConfigurations(){return C(this)}createPopupTemplate(e){let t=this,{parent:n,fields:r,title:i}=this;if(n){let{displayField:e,editFieldsInfo:a,objectIdField:o}=n;t={displayField:e,editFieldsInfo:a,fields:r,objectIdField:o,title:i}}return N(t,e)}createQuery(){let{parent:e}=this;if(!e)throw $(`createQuery`);let t=_(e),n=`${e.fieldsIndex.get(e.subtypeField)?.name||e.subtypeField}=${this.subtypeCode}`;return t.where=d(n,e.definitionExpression),t}getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains&&this.parent){let t=v(this.parent,e);if(t)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){let n=await this.load();if(!n.parent)throw $(`queryAttachments`);let r=e instanceof j?e.clone():new j(e);return r.where=Q(r.where,n.parent.subtypeField,n.subtypeCode),n.parent.queryAttachments(r,t)}async queryFeatureCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatureCount`);return n.parent.queryFeatureCount(Z(n.parent,n,e),t)}async queryFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatures`);return n.parent.queryFeatures(Z(n.parent,n,e),t)}async queryObjectIds(e,t){let n=await this.load();if(!n.parent)throw $(`queryObjectIds`);return n.parent.queryObjectIds(Z(n.parent,n,e),t)}async queryRelatedFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeatures`);return n.parent.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeaturesCount`);return n.parent.queryRelatedFeaturesCount(e,t)}_getLayerDomain(e){let t=this.fieldsIndex.get(e);return t?t.domain:null}};e([f({clonable:!1,readOnly:!0})],X.prototype,`_titleCreator`,null),e([f({type:L,json:U({name:`attributeTableInfo`})})],X.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`capabilities`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`effectiveCapabilities`,null),e([f({json:U()})],X.prototype,`charts`,void 0),e([f({type:Boolean,nonNullable:!0,json:U({name:`enableEditing`})})],X.prototype,`editingEnabled`,void 0),e([f({type:Boolean,readOnly:!0})],X.prototype,`effectiveEditingEnabled`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`elevationInfo`,null),e([f({clonable:!1,readOnly:!0})],X.prototype,`featureTitleFields`,null),e([f({type:[b],json:{name:`layerDefinition.fieldConfigurations`,write:{ignoreOrigin:!0}}})],X.prototype,`fieldConfigurations`,null),e([f({json:{name:`layerDefinition.fieldOverrides`,origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],X.prototype,`fieldOverrides`,void 0),e([R(`fieldOverrides`)],X.prototype,`writeFieldOverrides`,null),e([f({...B.fields,readOnly:!0,json:{read:!1}})],X.prototype,`fields`,null),e([f(B.fieldsIndex)],X.prototype,`fieldsIndex`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`floorInfo`,null),e([f({type:h,json:U({name:`formInfo`})})],X.prototype,`formTemplate`,void 0),e([f({readOnly:!0,clonable:!1})],X.prototype,`graphicOrigin`,void 0),e([f({type:String,clonable:!1,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`id`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`isTable`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`geometryType`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`globalIdField`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`type`,void 0),e([f(H(a(re)))],X.prototype,`labelsVisible`,void 0),e([f({type:[se],json:{name:`layerDefinition.drawingInfo.labelingInfo`,origins:{service:{read:!1}},read:{reader:E},write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`labelingInfo`,void 0),e([f({type:[`ArcGISFeatureLayer`],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`layerType`,void 0),e([f(H(a(ie)))],X.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`]})],X.prototype,`listMode`,void 0),e([f((()=>{let e=a(ae);return e.json.origins.service.read=!1,H(e,{spatialOnly:!0})})())],X.prototype,`minScale`,void 0),e([f((()=>{let e=a(oe);return e.json.origins.service.read=!1,H(e,{spatialOnly:!0})})())],X.prototype,`maxScale`,void 0),e([f({readOnly:!0})],X.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0})],X.prototype,`effectiveVisible`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`objectIdField`,null),e([f({type:Number,range:{min:0,max:1},nonNullable:!0,json:U({spatialOnly:!0})})],X.prototype,`opacity`,void 0),e([f({clonable:!1})],X.prototype,`parent`,void 0),e([f(H(a(g)))],X.prototype,`popupEnabled`,void 0),e([f({type:t,json:U({name:`popupInfo`})})],X.prototype,`popupTemplate`,void 0),e([R(`popupTemplate`)],X.prototype,`writePopupTemplate`,null),e([f({readOnly:!0})],X.prototype,`defaultPopupTemplate`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`relationships`,null),e([f({types:O,json:U({target:`layerDefinition.drawingInfo.renderer`,spatialOnly:!0})})],X.prototype,`renderer`,null),e([z(`service`,`renderer`,[`drawingInfo.renderer`,`subtypeField`,`type`])],X.prototype,`readRendererFromService`,null),e([z(`renderer`,[`layerDefinition.drawingInfo.renderer`])],X.prototype,`readRenderer`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`spatialReference`,null),e([f({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`subtypeCode`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`subtypeField`,null),e([f({type:[y],json:U({name:`layerDefinition.templates`})})],X.prototype,`templates`,null),e([z(`service`,`templates`,[`geometryType`,`subtypeField`,`subtypes`,`type`])],X.prototype,`readTemplatesFromService`,null),e([f({type:String,json:U()})],X.prototype,`title`,null),e([z(`service`,`title`,[`subtypes`])],X.prototype,`readTitleFromService`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`url`,null),e([f({readOnly:!0})],X.prototype,`userHasUpdateItemPrivileges`,null),e([f({type:Boolean,nonNullable:!0,json:U({name:`visibility`,spatialOnly:!0})})],X.prototype,`visible`,void 0),X=e([p(`esri.layers.support.SubtypeSublayer`)],X);const Z=(e,t,n)=>{if(!n)return t.createQuery();let r=M.from(n);return r.where=Q(r.where,e.subtypeField,t.subtypeCode),r},Q=(e,t,n)=>{let r=RegExp(`${t}\\s*=\\s*\\d+`),i=`${t}=${n}`,a=e??``;return r.test(a)?a.replace(r,i):d(i,a)},$=e=>new r(`subtype-sublayer:parent-missing`,`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`);export{X as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{id as e}from"../../kernel.js";import t from"../../request.js";import n from"../../core/Collection.js";import"../../core/urlUtils.js";import{isLayerFromCatalog as r}from"../catalog/catalogUtils.js";import{isBasemap as i}from"../../support/userTypeGuards/isBasemap.js";function a(e,t){return typeof e==`object`&&!!e&&`type`in e&&e.type===t}function o(e){return y(e)||g(e)}function s(e){return a(e,`feature`)}function c(e){return e?.type===`gaussian-splat`}function l(e){return a(e,`oriented-imagery`)}function u(e){return a(e,`catalog-footprint`)}function d(e){return a(e,`graphics`)}function f(e){return a(e,`map-image`)}function p(e){return a(e,`map-notes`)&&`sublayers`in e}function m(e){return a(e,`knowledge-graph`)&&`layers`in e}function h(e){return a(e,`knowledge-graph-sublayer`)}function ee(e){return a(e,`link-chart`)&&`layers`in e}function g(e){return a(e,`scene`)}function _(e){return a(e,`subtype-group`)&&`sublayers`in e}function v(e){return e?.type===`subtype-sublayer`}function y(e){let t=e?.type;return t===`imagery-tile`||t===`tile`||t===`open-street-map`||t===`vector-tile`||t===`web-tile`||t===`wmts`}function te(e){let t=e?.type;return t===`base-tile`||t===`tile`||t===`elevation`||t===`imagery-tile`||t===`base-elevation`||t===`open-street-map`||t===`wcs`||t===`web-tile`||t===`wmts`||t===`vector-tile`}function b(e){return e?.type===`group`}function x(e){let t=e.parent;return b(t)&&t.tables.includes(e)}const S={Point:`SceneLayer`,"3DObject":`SceneLayer`,IntegratedMesh:`IntegratedMeshLayer`,PointCloud:`PointCloudLayer`,Building:`BuildingSceneLayer`};function C(e){let t=e?.type;return t===`building-scene`||t===`integrated-mesh`||t===`point-cloud`||t===`scene`}function w(e){return e.type===`integrated-mesh`||e.type===`integrated-mesh-3dtiles`}function T(e){return e.type===`integrated-mesh-3dtiles`}function E(e){let t=e?.type;return t===`integrated-mesh-3dtiles`||t===`gaussian-splat`}function D(e){return e?.type===`voxel`}function O(e){return e?.type===`imagery-tile`}function k(e,t){return i(e?.parent)&&e.parent[t].includes(e)}function A(e){return k(e,`baseLayers`)}function j(e){return k(e,`referenceLayers`)}function M(e){return e?.type===`feature`&&!e.url&&e.source?.type===`memory`}function N(e){let t=e?.type;return(t===`feature`||t===`subtype-group`||t===`oriented-imagery`||t===`annotation-feature`||t===`dimension-feature`)&&e?.source?.type===`feature-layer`}function P(e){return e?.type===`feature`&&e.source?.type===`feature-layer`}function F(e){return typeof e==`object`&&!!e&&`featureReduction`in e}function I(e){return u(e)||s(e)&&P(e)||l(e)||v(e)}function L(e){let t=e?.type;return t===`binning`||t===`cluster`}function R(e,t){if(!I(e))return;let n=t?.graphic,r=`featureReduction`in e?e.featureReduction:null;if(n){if(n.isAggregate){let e=n.origin;return e&&`featureReductionProvider`in e&&r?L(r)?r:null:void 0}return e}return t?.checkFeatureReduction&&r?L(r)?r:null:e}function z(e){let t=/[:;]/,n=[],r=!1;if(e&&(e.forEach((e,i)=>{n.push([i,e]),!r&&t.test(e)&&(r=!0)}),n.length>0)){let e;if(r){let t={};n.forEach(e=>{t[e[0]]=e[1]}),e=JSON.stringify(t)}else{let t=[];n.forEach(e=>{t.push(e[0]+`:`+e[1])}),e=t.join(`;`)}return e}return null}function B(e){if(!e)return;let t=[];if(e.forEach((e,n)=>{t.push(`"`+n+`":`+JSON.stringify(e))}),t.length)return`{`+t.join(`,`)+`}`}function V(e){if(e.activeLayer){let t=e.activeLayer.tileMatrixSet;if(t)return t;let n=e.activeLayer.tileMatrixSets;if(n)return n}return null}async function H(n,r){let i=e?.findServerInfo(n);if(i?.currentVersion!=null)return i.owningSystemUrl||null;let a=n.toLowerCase().indexOf(`/rest/services`);if(a===-1)return null;let o=`${n.slice(0,a)}/rest/info`,s=r==null?null:r.signal,{data:c}=await t(o,{query:{f:`json`},responseType:`json`,signal:s});return c?.owningSystemUrl||null}function U(e){if(!(`capabilities`in e))return!1;switch(e.type){case`annotation-feature`:case`catalog`:case`catalog-footprint`:case`csv`:case`dimension-feature`:case`feature`:case`geojson`:case`imagery`:case`knowledge-graph-sublayer`:case`ogc-feature`:case`oriented-imagery`:case`parquet`:case`scene`:case`sublayer`:case`subtype-group`:case`subtype-sublayer`:case`wfs`:return!0;default:return!1}}function W(e){return typeof e==`object`&&!!e&&`isTable`in e&&!!e.isTable}function G(e){return U(e)?`effectiveCapabilities`in e?e.effectiveCapabilities:e.capabilities:null}function K(e){if(!(`editingEnabled`in e))return!1;switch(e.type){case`csv`:case`feature`:case`geojson`:case`oriented-imagery`:case`scene`:case`subtype-group`:case`subtype-sublayer`:case`knowledge-graph-sublayer`:return!0;default:return!1}}function q(e){return K(e)?`effectiveEditingEnabled`in e?e.effectiveEditingEnabled:e.editingEnabled:!1}function J(e){return e?(`subtypes`in e?e.subtypes:_(e.parent)?e.parent.subtypes:[])??[]:[]}function Y(e){return(e.type===`imagery`||e.type===`imagery-tile`)&&e.renderer?.type===`flow`}function X(e){let t=new n;for(let n of e.allLayers.concat(e.allTables))r(n)||x(n)||n.type===`annotation-feature`||n.type===`dimension-feature`||(`charts`in n&&t.push(n),n.type===`subtype-group`&&t.push(...n.sublayers));return t}function Z(e,t){return null}function Q(e){return null}function $(e){return!e||e.type===`Feature Service`&&!e.sourceUrl}function ne(e,t){if(!t||!$(e))return;let n=Z(e.url);n&&(e.url=n)}export{ne as applyPreferredHostToPortalItem,q as getEffectiveEditingEnabled,G as getEffectiveLayerCapabilities,R as getFieldConfigurationsContainer,X as getLayersWithChartSupport,H as getOwningPortalUrl,Q as getPreferredHost,Z as getPreferredUrl,J as getSubtypesFromLayer,V as getTileMaxtrixSetFromActiveLayer,E as is3DTilesLayer,A as isBaseLayer,o as isBasemap3DSupportedLayer,y as isBasemapSupportedTiledLayer,M as isFeatureCollectionLayer,s as isFeatureLayer,P as isFeatureServiceLayer,c as isGaussianSplatLayer,d as isGraphicsLayer,b as isGroupLayer,O as isImageryTileLayer,T as isIntegratedMesh3DTilesLayer,w as isIntegratedMeshLayer,m as isKnowledgeGraphLayer,h as isKnowledgeGraphSublayer,U as isLayerWithFeatureCapabilities,N as isLayerWithFeatureLayerSource,Y as isLayerWithFlowRenderer,ee as isLinkChartLayer,f as isMapImageLayer,p as isMapNotesLayer,$ as isPreferredUrlApplicable,j as isReferenceLayer,g as isSceneLayer,C as isSceneServiceLayer,_ as isSubtypeGroupLayer,v as isSubtypeSublayer,W as isTable,te as isTiledLayer,D as isVoxelLayer,S as sceneServiceLayerTypeToClassName,z as serializeLayerDefinitions,B as serializeTimeOptions,F as supportsFeatureReduction,I as supportsFieldConfiguration};
2
+ import{id as e}from"../../kernel.js";import t from"../../request.js";import n from"../../core/Collection.js";import"../../core/urlUtils.js";import{isLayerFromCatalog as r}from"../catalog/catalogUtils.js";import{isBasemap as i}from"../../support/userTypeGuards/isBasemap.js";function a(e,t){return typeof e==`object`&&!!e&&`type`in e&&e.type===t}function o(e){return b(e)||g(e)}function s(e){return a(e,`feature`)}function c(e){return e?.type===`gaussian-splat`}function l(e){return a(e,`oriented-imagery`)}function u(e){return a(e,`catalog-footprint`)}function d(e){return a(e,`graphics`)}function ee(e){return a(e,`map-image`)}function f(e){return a(e,`map-notes`)&&`sublayers`in e}function p(e){return a(e,`knowledge-graph`)&&`layers`in e}function m(e){return a(e,`knowledge-graph-sublayer`)}function h(e){return a(e,`link-chart`)&&`layers`in e}function g(e){return a(e,`scene`)}function _(e){return a(e,`sublayer`)}function v(e){return a(e,`subtype-group`)&&`sublayers`in e}function y(e){return e?.type===`subtype-sublayer`}function b(e){let t=e?.type;return t===`imagery-tile`||t===`tile`||t===`open-street-map`||t===`vector-tile`||t===`web-tile`||t===`wmts`}function x(e){let t=e?.type;return t===`base-tile`||t===`tile`||t===`elevation`||t===`imagery-tile`||t===`base-elevation`||t===`open-street-map`||t===`wcs`||t===`web-tile`||t===`wmts`||t===`vector-tile`}function S(e){return e?.type===`group`}function C(e){let t=e.parent;return S(t)&&t.tables.includes(e)}const w={Point:`SceneLayer`,"3DObject":`SceneLayer`,IntegratedMesh:`IntegratedMeshLayer`,PointCloud:`PointCloudLayer`,Building:`BuildingSceneLayer`};function T(e){let t=e?.type;return t===`building-scene`||t===`integrated-mesh`||t===`point-cloud`||t===`scene`}function E(e){return e.type===`integrated-mesh`||e.type===`integrated-mesh-3dtiles`}function D(e){return e.type===`integrated-mesh-3dtiles`}function O(e){let t=e?.type;return t===`integrated-mesh-3dtiles`||t===`gaussian-splat`}function k(e){return e?.type===`voxel`}function A(e){return e?.type===`imagery-tile`}function j(e,t){return i(e?.parent)&&e.parent[t].includes(e)}function M(e){return j(e,`baseLayers`)}function N(e){return j(e,`referenceLayers`)}function P(e){return e?.type===`feature`&&!e.url&&e.source?.type===`memory`}function F(e){let t=e?.type;return(t===`feature`||t===`subtype-group`||t===`oriented-imagery`||t===`annotation-feature`||t===`dimension-feature`)&&e?.source?.type===`feature-layer`}function I(e){return e?.type===`feature`&&e.source?.type===`feature-layer`}function te(e){return typeof e==`object`&&!!e&&`featureReduction`in e}function L(e){return u(e)||s(e)&&I(e)||l(e)||y(e)}function R(e){let t=e?.type;return t===`binning`||t===`cluster`}function z(e,t){if(!L(e))return;let n=t?.graphic,r=`featureReduction`in e?e.featureReduction:null;if(n){if(n.isAggregate){let e=n.origin;return e&&`featureReductionProvider`in e&&r?R(r)?r:null:void 0}return e}return t?.checkFeatureReduction&&r?R(r)?r:null:e}function B(e){let t=/[:;]/,n=[],r=!1;if(e&&(e.forEach((e,i)=>{n.push([i,e]),!r&&t.test(e)&&(r=!0)}),n.length>0)){let e;if(r){let t={};n.forEach(e=>{t[e[0]]=e[1]}),e=JSON.stringify(t)}else{let t=[];n.forEach(e=>{t.push(e[0]+`:`+e[1])}),e=t.join(`;`)}return e}return null}function V(e){if(!e)return;let t=[];if(e.forEach((e,n)=>{t.push(`"`+n+`":`+JSON.stringify(e))}),t.length)return`{`+t.join(`,`)+`}`}function H(e){if(e.activeLayer){let t=e.activeLayer.tileMatrixSet;if(t)return t;let n=e.activeLayer.tileMatrixSets;if(n)return n}return null}async function U(n,r){let i=e?.findServerInfo(n);if(i?.currentVersion!=null)return i.owningSystemUrl||null;let a=n.toLowerCase().indexOf(`/rest/services`);if(a===-1)return null;let o=`${n.slice(0,a)}/rest/info`,s=r==null?null:r.signal,{data:c}=await t(o,{query:{f:`json`},responseType:`json`,signal:s});return c?.owningSystemUrl||null}function W(e){if(!(`capabilities`in e))return!1;switch(e.type){case`annotation-feature`:case`catalog`:case`catalog-footprint`:case`csv`:case`dimension-feature`:case`feature`:case`geojson`:case`imagery`:case`knowledge-graph-sublayer`:case`ogc-feature`:case`oriented-imagery`:case`parquet`:case`scene`:case`sublayer`:case`subtype-group`:case`subtype-sublayer`:case`wfs`:return!0;default:return!1}}function G(e){return typeof e==`object`&&!!e&&`isTable`in e&&!!e.isTable}function K(e){return W(e)?`effectiveCapabilities`in e?e.effectiveCapabilities:e.capabilities:null}function q(e){if(!(`editingEnabled`in e))return!1;switch(e.type){case`csv`:case`feature`:case`geojson`:case`oriented-imagery`:case`scene`:case`subtype-group`:case`subtype-sublayer`:case`knowledge-graph-sublayer`:return!0;default:return!1}}function J(e){return q(e)?`effectiveEditingEnabled`in e?e.effectiveEditingEnabled:e.editingEnabled:!1}function Y(e){return e?(`subtypes`in e?e.subtypes:v(e.parent)?e.parent.subtypes:[])??[]:[]}function X(e){return(e.type===`imagery`||e.type===`imagery-tile`)&&e.renderer?.type===`flow`}function Z(e){let t=new n;for(let n of e.allLayers.concat(e.allTables))r(n)||C(n)||n.type===`annotation-feature`||n.type===`dimension-feature`||(`charts`in n&&t.push(n),n.type===`subtype-group`&&t.push(...n.sublayers));return t}function Q(e,t){return null}function ne(e){return null}function $(e){return!e||e.type===`Feature Service`&&!e.sourceUrl}function re(e,t){if(!t||!$(e))return;let n=Q(e.url);n&&(e.url=n)}export{re as applyPreferredHostToPortalItem,J as getEffectiveEditingEnabled,K as getEffectiveLayerCapabilities,z as getFieldConfigurationsContainer,Z as getLayersWithChartSupport,U as getOwningPortalUrl,ne as getPreferredHost,Q as getPreferredUrl,Y as getSubtypesFromLayer,H as getTileMaxtrixSetFromActiveLayer,O as is3DTilesLayer,M as isBaseLayer,o as isBasemap3DSupportedLayer,b as isBasemapSupportedTiledLayer,P as isFeatureCollectionLayer,s as isFeatureLayer,I as isFeatureServiceLayer,c as isGaussianSplatLayer,d as isGraphicsLayer,S as isGroupLayer,A as isImageryTileLayer,D as isIntegratedMesh3DTilesLayer,E as isIntegratedMeshLayer,p as isKnowledgeGraphLayer,m as isKnowledgeGraphSublayer,W as isLayerWithFeatureCapabilities,F as isLayerWithFeatureLayerSource,X as isLayerWithFlowRenderer,h as isLinkChartLayer,ee as isMapImageLayer,f as isMapNotesLayer,$ as isPreferredUrlApplicable,N as isReferenceLayer,g as isSceneLayer,T as isSceneServiceLayer,_ as isSublayer,v as isSubtypeGroupLayer,y as isSubtypeSublayer,G as isTable,x as isTiledLayer,k as isVoxelLayer,w as sceneServiceLayerTypeToClassName,B as serializeLayerDefinitions,V as serializeTimeOptions,te as supportsFeatureReduction,L as supportsFieldConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import has from"../../core/has.js";const e={ArcGISImageServiceLayer:`ImageryLayer`,ArcGISImageServiceVectorLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,BingMapsAerial:`BingMapsLayer`,BingMapsHybrid:`BingMapsLayer`,BingMapsRoad:`BingMapsLayer`,OpenStreetMap:`OpenStreetMapLayer`,VectorTileLayer:`VectorTileLayer`,WCS:`WCSLayer`,WMS:`WMSLayer`,WebTiledLayer:`WebTileLayer`},t={ArcGISAnnotationLayer:`AnnotationFeatureLayer`,ArcGISDimensionLayer:`DimensionFeatureLayer`,ArcGISFeatureLayer:`FeatureLayer`,ArcGISImageServiceLayer:`ImageryLayer`,ArcGISImageServiceVectorLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISStreamLayer:`StreamLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,ArcGISVideoLayer:`VideoLayer`,BingMapsAerial:`BingMapsLayer`,BingMapsHybrid:`BingMapsLayer`,BingMapsRoad:`BingMapsLayer`,CatalogLayer:`CatalogLayer`,CSV:`CSVLayer`,GeoJSON:`GeoJSONLayer`,GeoRSS:`GeoRSSLayer`,GroupLayer:`GroupLayer`,KML:`KMLLayer`,KnowledgeGraphLayer:`KnowledgeGraphLayer`,MediaLayer:`MediaLayer`,OGCFeatureLayer:`OGCFeatureLayer`,OrientedImageryLayer:`OrientedImageryLayer`,get ParquetLayer(){return has(`parquetlayer-persistence-enabled`)?`ParquetLayer`:`UnsupportedLayer`},SubtypeGroupLayer:`SubtypeGroupLayer`,VectorTileLayer:`VectorTileLayer`,WCS:`WCSLayer`,WFS:`WFSLayer`,WMS:`WMSLayer`,WebTiledLayer:`WebTileLayer`},n={ArcGISFeatureLayer:`FeatureLayer`,SubtypeGroupTable:`SubtypeGroupLayer`},r={ArcGISImageServiceLayer:`UnsupportedLayer`,ArcGISMapServiceLayer:`UnsupportedLayer`,ArcGISSceneServiceLayer:`SceneLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,OpenStreetMap:`OpenStreetMapLayer`,VectorTileLayer:`VectorTileLayer`,WCS:`UnsupportedLayer`,WMS:`UnsupportedLayer`,WebTiledLayer:`WebTileLayer`},i={IntegratedMesh3DTilesLayer:`IntegratedMesh3DTilesLayer`},a={ArcGISTiledElevationServiceLayer:`ElevationLayer`,RasterDataElevationLayer:`UnsupportedLayer`},o={ArcGISDimensionLayer:`DimensionLayer`,ArcGISFeatureLayer:`FeatureLayer`,ArcGISImageServiceLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISSceneServiceLayer:`SceneLayer`,ArcGISTiledElevationServiceLayer:`ElevationLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,BuildingSceneLayer:`BuildingSceneLayer`,CSV:`CSVLayer`,CatalogLayer:`CatalogLayer`,GaussianSplatLayer:`GaussianSplatLayer`,GeoJSON:`GeoJSONLayer`,GroupLayer:`GroupLayer`,IntegratedMesh3DTilesLayer:`IntegratedMesh3DTilesLayer`,IntegratedMeshLayer:`IntegratedMeshLayer`,KML:`KMLLayer`,LineOfSightLayer:`LineOfSightLayer`,MediaLayer:`MediaLayer`,OGCFeatureLayer:`OGCFeatureLayer`,Object3DTilesLayer:`UnsupportedLayer`,OrientedImageryLayer:`OrientedImageryLayer`,PointCloudLayer:`PointCloudLayer`,RasterDataLayer:`UnsupportedLayer`,VectorTileLayer:`VectorTileLayer`,ViewshedLayer:`ViewshedLayer`,Voxel:`VoxelLayer`,WCS:`WCSLayer`,WFS:`WFSLayer`,WMS:`WMSLayer`,WebTiledLayer:`WebTileLayer`},s={ArcGISFeatureLayer:`FeatureLayer`},c={...t,LinkChartLayer:`LinkChartLayer`},l=e,u=n,d={ArcGISAnnotationLayer:`AnnotationFeatureLayer`,ArcGISDimensionLayer:`DimensionFeatureLayer`,ArcGISFeatureLayer:`FeatureLayer`,ArcGISImageServiceLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISSceneServiceLayer:`SceneLayer`,ArcGISStreamLayer:`StreamLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,BuildingSceneLayer:`BuildingSceneLayer`,IntegratedMesh3DTilesLayer:`IntegratedMesh3DTilesLayer`,IntegratedMeshLayer:`IntegratedMeshLayer`,MediaLayer:`MediaLayer`,OrientedImageryLayer:`OrientedImageryLayer`,PointCloudLayer:`PointCloudLayer`,SubtypeGroupLayer:`SubtypeGroupLayer`,WCS:`WCSLayer`},f=n;function p(d){switch(d.origin){case`web-scene`:switch(d.layerContainerType){case`basemap-base-layers`:return r;case`basemap-ground-layers`:return i;case`ground`:return a;case`tables`:return s;default:return o}case`link-chart`:switch(d.layerContainerType){case`basemap-base-layers`:return l;case`tables`:return u;default:return c}default:switch(d.layerContainerType){case`basemap-base-layers`:return e;case`tables`:return n;case`ground`:case`basemap-ground-layers`:return;default:return t}}}function m(e,t){if(!t)return`UnknownLayer`;if(t===`DefaultTileLayer`){let t=`UnknownLayer`;switch(e.origin){case`web-scene`:switch(e.layerContainerType){case`operational-layers`:case`basemap-base-layers`:t=`TileLayer`;break;case`ground`:t=`ElevationLayer`}break;default:switch(e.layerContainerType){case`basemap-base-layers`:case`operational-layers`:t=`TileLayer`}}return t}return p(e)?.[t]??`UnknownLayer`}function h(e){switch(e.origin){case`portal-item`:switch(e.layerContainerType){case`basemap-base-layers`:case`ground`:case`basemap-ground-layers`:return;case`tables`:return f;default:return d}default:return p(e)}}function g(e,t,n){if(!e?.origin)return!1;switch(e.origin){case`web-map`:case`link-chart`:if(e.layerContainerType===`operational-layers`&&t===`ArcGISDimensionLayer`&&n!==`dimension-feature`)return!1;break;case`web-scene`:if(e.layerContainerType===`operational-layers`)switch(t){case`ArcGISDimensionLayer`:if(n!==`dimension`)return!1;break;case`ArcGISTiledElevationServiceLayer`:return!1}break;case`portal-item`:if(t===`ArcGISDimensionLayer`&&n!==`dimension-feature`)return!1}let r=h(e)?.[t];return r!=null&&r!==`UnknownLayer`&&r!==`UnsupportedLayer`}export{m as getLayerModuleForContextAndType,g as isLayerSupportedForWriteContext,p as layerTypeMapForReadContext};
2
+ import has from"../../core/has.js";const e={ArcGISImageServiceLayer:`ImageryLayer`,ArcGISImageServiceVectorLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,BingMapsAerial:`BingMapsLayer`,BingMapsHybrid:`BingMapsLayer`,BingMapsRoad:`BingMapsLayer`,OpenStreetMap:`OpenStreetMapLayer`,VectorTileLayer:`VectorTileLayer`,WCS:`WCSLayer`,WMS:`WMSLayer`,WebTiledLayer:`WebTileLayer`},t={ArcGISAnnotationLayer:`AnnotationFeatureLayer`,ArcGISDimensionLayer:`DimensionFeatureLayer`,ArcGISFeatureLayer:`FeatureLayer`,ArcGISImageServiceLayer:`ImageryLayer`,ArcGISImageServiceVectorLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISStreamLayer:`StreamLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,ArcGISVideoLayer:`VideoLayer`,BingMapsAerial:`BingMapsLayer`,BingMapsHybrid:`BingMapsLayer`,BingMapsRoad:`BingMapsLayer`,CatalogLayer:`CatalogLayer`,CSV:`CSVLayer`,GeoJSON:`GeoJSONLayer`,GeoRSS:`GeoRSSLayer`,GroupLayer:`GroupLayer`,KML:`KMLLayer`,KnowledgeGraphLayer:`KnowledgeGraphLayer`,MediaLayer:`MediaLayer`,OGCFeatureLayer:`OGCFeatureLayer`,OrientedImageryLayer:`OrientedImageryLayer`,get ParquetLayer(){return has(`parquetlayer-persistence-enabled`)?`ParquetLayer`:`UnsupportedLayer`},SubtypeGroupLayer:`SubtypeGroupLayer`,VectorTileLayer:`VectorTileLayer`,WCS:`WCSLayer`,WFS:`WFSLayer`,WMS:`WMSLayer`,WebTiledLayer:`WebTileLayer`},n={ArcGISFeatureLayer:`FeatureLayer`,SubtypeGroupTable:`SubtypeGroupLayer`},r={ArcGISImageServiceLayer:`UnsupportedLayer`,ArcGISMapServiceLayer:`UnsupportedLayer`,ArcGISSceneServiceLayer:`SceneLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,OpenStreetMap:`OpenStreetMapLayer`,VectorTileLayer:`VectorTileLayer`,WCS:`UnsupportedLayer`,WMS:`UnsupportedLayer`,WebTiledLayer:`WebTileLayer`},i={IntegratedMesh3DTilesLayer:`IntegratedMesh3DTilesLayer`},a={ArcGISTiledElevationServiceLayer:`ElevationLayer`,RasterDataElevationLayer:`UnsupportedLayer`},o={ArcGISDimensionLayer:`DimensionLayer`,ArcGISFeatureLayer:`FeatureLayer`,ArcGISImageServiceLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISSceneServiceLayer:`SceneLayer`,ArcGISTiledElevationServiceLayer:`ElevationLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,ArcGISTiledMapServiceLayer:`TileLayer`,BuildingSceneLayer:`BuildingSceneLayer`,CSV:`CSVLayer`,CatalogLayer:`CatalogLayer`,GaussianSplatLayer:`GaussianSplatLayer`,GeoJSON:`GeoJSONLayer`,GroupLayer:`GroupLayer`,IntegratedMesh3DTilesLayer:`IntegratedMesh3DTilesLayer`,IntegratedMeshLayer:`IntegratedMeshLayer`,KML:`KMLLayer`,LineOfSightLayer:`LineOfSightLayer`,MediaLayer:`MediaLayer`,OGCFeatureLayer:`OGCFeatureLayer`,Object3DTilesLayer:`UnsupportedLayer`,OrientedImageryLayer:`OrientedImageryLayer`,PointCloudLayer:`PointCloudLayer`,RasterDataLayer:`UnsupportedLayer`,VectorTileLayer:`VectorTileLayer`,ViewshedLayer:`ViewshedLayer`,Voxel:`VoxelLayer`,WCS:`WCSLayer`,WFS:`WFSLayer`,WMS:`WMSLayer`,WebTiledLayer:`WebTileLayer`},s={ArcGISFeatureLayer:`FeatureLayer`},c={...t,LinkChartLayer:`LinkChartLayer`},l=e,u=n,d={ArcGISAnnotationLayer:`AnnotationFeatureLayer`,ArcGISDimensionLayer:`DimensionFeatureLayer`,ArcGISFeatureLayer:`FeatureLayer`,ArcGISImageServiceLayer:`ImageryLayer`,ArcGISMapServiceLayer:`MapImageLayer`,ArcGISSceneServiceLayer:`SceneLayer`,ArcGISStreamLayer:`StreamLayer`,ArcGISTiledImageServiceLayer:`ImageryTileLayer`,BuildingSceneLayer:`BuildingSceneLayer`,IntegratedMesh3DTilesLayer:`IntegratedMesh3DTilesLayer`,IntegratedMeshLayer:`IntegratedMeshLayer`,MediaLayer:`MediaLayer`,OrientedImageryLayer:`OrientedImageryLayer`,ParquetLayer:`ParquetLayer`,PointCloudLayer:`PointCloudLayer`,SubtypeGroupLayer:`SubtypeGroupLayer`,WCS:`WCSLayer`},f=n;function p(d){switch(d.origin){case`web-scene`:switch(d.layerContainerType){case`basemap-base-layers`:return r;case`basemap-ground-layers`:return i;case`ground`:return a;case`tables`:return s;default:return o}case`link-chart`:switch(d.layerContainerType){case`basemap-base-layers`:return l;case`tables`:return u;default:return c}default:switch(d.layerContainerType){case`basemap-base-layers`:return e;case`tables`:return n;case`ground`:case`basemap-ground-layers`:return;default:return t}}}function m(e,t){if(!t)return`UnknownLayer`;if(t===`DefaultTileLayer`){let t=`UnknownLayer`;switch(e.origin){case`web-scene`:switch(e.layerContainerType){case`operational-layers`:case`basemap-base-layers`:t=`TileLayer`;break;case`ground`:t=`ElevationLayer`}break;default:switch(e.layerContainerType){case`basemap-base-layers`:case`operational-layers`:t=`TileLayer`}}return t}return p(e)?.[t]??`UnknownLayer`}function h(e){switch(e.origin){case`portal-item`:switch(e.layerContainerType){case`basemap-base-layers`:case`ground`:case`basemap-ground-layers`:return;case`tables`:return f;default:return d}default:return p(e)}}function g(e,t,n){if(!e?.origin)return!1;switch(e.origin){case`web-map`:case`link-chart`:if(e.layerContainerType===`operational-layers`&&t===`ArcGISDimensionLayer`&&n!==`dimension-feature`)return!1;break;case`web-scene`:if(e.layerContainerType===`operational-layers`)switch(t){case`ArcGISDimensionLayer`:if(n!==`dimension`)return!1;break;case`ArcGISTiledElevationServiceLayer`:return!1}break;case`portal-item`:if(t===`ArcGISDimensionLayer`&&n!==`dimension-feature`)return!1}let r=h(e)?.[t];return r!=null&&r!==`UnknownLayer`&&r!==`UnsupportedLayer`}export{m as getLayerModuleForContextAndType,g as isLayerSupportedForWriteContext,p as layerTypeMapForReadContext};