@vertigis/arcgis-extensions 53.4.1 → 53.5.0
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.
- package/AppConfig.schema.json +7 -0
- package/README.md +0 -1
- package/data/ArcGISServiceTableExtension.js +1 -1
- package/data/Feature.js +1 -1
- package/data/FeatureList.js +1 -1
- package/data/FeatureSettings.d.ts +1 -0
- package/data/FeatureSettings.js +1 -1
- package/data/FeatureSourceBase.d.ts +1 -0
- package/data/FeatureSourceBase.js +1 -1
- package/data/FieldExtension.d.ts +1 -0
- package/data/FieldExtension.js +1 -1
- package/data/PopupContentExtension.d.ts +1 -0
- package/data/PopupContentExtension.js +1 -1
- package/data/Schema.d.ts +4 -0
- package/data/Schema.js +1 -1
- package/data/_TableExtension.d.ts +6 -1
- package/data/_TableExtension.js +1 -1
- package/docs/html/assets/highlight.css +6 -6
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/Entity.EntityBase.html +4 -3
- package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +4 -3
- package/docs/html/classes/data_Attachment.Attachment.html +4 -3
- package/docs/html/classes/data_Feature.Feature.html +4 -3
- package/docs/html/classes/data_FeatureList.FeatureList.html +13 -34
- package/docs/html/classes/data_FeatureSettings.FeatureSettings.html +6 -4
- package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +7 -6
- package/docs/html/classes/data_FeatureSourceBase.RelationshipCollection.html +13 -34
- package/docs/html/classes/data_FeatureStream.FeatureStream.html +4 -3
- package/docs/html/classes/data_FieldExtension.FieldExtension.html +7 -6
- package/docs/html/classes/data_PopupContentExtension.PopupContentExtension.html +6 -5
- package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +4 -3
- package/docs/html/classes/data_Schema.Schema.html +7 -4
- package/docs/html/classes/data_TaskSettings.TaskSettings.html +6 -4
- package/docs/html/classes/data__TableExtension.TableExtension.html +4 -3
- package/docs/html/classes/data__TableExtension.TableFeatureSettings.html +6 -4
- package/docs/html/classes/data__TableExtension.TableSchema.html +8 -5
- package/docs/html/classes/layer_preset_LayerPreset.LayerPreset.html +4 -3
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +13 -34
- package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +5 -7
- package/docs/html/classes/mapping_Bookmark.Bookmark.html +4 -3
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +7 -4
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +7 -4
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +5 -8
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +7 -4
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerFeatureSettings.html +6 -4
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +7 -4
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +5 -8
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +5 -8
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +5 -8
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +5 -8
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +5 -8
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +7 -4
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +7 -4
- package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +5 -8
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +5 -8
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +5 -8
- package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +5 -7
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +5 -8
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +14 -35
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +5 -8
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +5 -8
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +5 -8
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +5 -8
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_MapConstraints.MapConstraints.html +6 -4
- package/docs/html/classes/mapping_MapExtension.MapExtension.html +12 -7
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +5 -8
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +5 -8
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +7 -4
- package/docs/html/classes/mapping_MediaLayerExtension.MediaLayerExtension.html +5 -8
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +5 -8
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +5 -8
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +5 -8
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +7 -4
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +5 -8
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +5 -8
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +7 -4
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +5 -8
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +13 -34
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +7 -4
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +13 -34
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +7 -4
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +5 -8
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +5 -8
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +5 -8
- package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +5 -8
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +5 -8
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +4 -6
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +5 -8
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +5 -8
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +5 -8
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +7 -4
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +7 -4
- package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +14 -35
- package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +14 -35
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +4 -6
- package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +7 -4
- package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +13 -34
- package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +16 -37
- package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +16 -37
- package/docs/html/classes/menus_Menu.Menu.html +4 -3
- package/docs/html/classes/menus_MenuItem.MenuItem.html +4 -3
- package/docs/html/classes/support_FormatSettings.FormatSettings.html +6 -4
- package/docs/html/classes/support_HandlesMixin.HandlesMixin.html +5 -0
- package/docs/html/classes/support_InitializableBase.InitializableBase.html +10 -9
- package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +15 -35
- package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +15 -35
- package/docs/html/classes/support_Settings.Settings.html +10 -8
- package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +13 -34
- package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +3 -2
- package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +3 -2
- package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +4 -3
- package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +4 -3
- package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +4 -3
- package/docs/html/classes/tasks_query_QueryService.QueryService.html +4 -3
- package/docs/html/classes/tasks_search_SearchService.SearchService.html +4 -3
- package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +6 -4
- package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +16 -36
- package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +13 -34
- package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +13 -34
- package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +8 -6
- package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +15 -35
- package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +6 -4
- package/docs/html/classes/utilities__ReferenceCountedHandle.default.html +3 -1
- package/docs/html/functions/support_HandlesMixin.handles.html +4 -0
- package/docs/html/functions/support_observableUtils.observable-1.html +3 -3
- package/docs/html/functions/support_observableUtils.onWatch.html +1 -1
- package/docs/html/functions/support_observableUtils.watch.html +1 -1
- package/docs/html/functions/support_observableUtils.watchEach.html +1 -1
- package/docs/html/functions/utilities__layers.groundsAreEquivalent.html +4 -0
- package/docs/html/functions/utilities_checkArg.checkArg.html +1 -1
- package/docs/html/interfaces/data_Feature.PresentableAttributes.html +6 -4
- package/docs/html/interfaces/data_support_attachments.AttachmentEnabledLayer.html +1 -1
- package/docs/html/interfaces/utilities_CollectionProxy.CollectionProxyOptions.html +4 -0
- package/docs/html/modules/support_HandlesMixin.html +3 -0
- package/docs/html/modules/utilities_CollectionProxy.html +1 -0
- package/docs/html/modules/utilities__layers.html +1 -0
- package/docs/html/modules.html +1 -0
- package/docs/html/variables/version.version.html +1 -1
- package/mapping/ArcGISSublayerExtension.js +1 -1
- package/mapping/BasemapExtension.d.ts +4 -6
- package/mapping/BasemapExtension.js +1 -1
- package/mapping/BuildingComponentSublayerExtension.d.ts +1 -0
- package/mapping/BuildingComponentSublayerExtension.js +1 -1
- package/mapping/BuildingSceneLayerExtension.d.ts +1 -1
- package/mapping/BuildingSceneLayerExtension.js +1 -1
- package/mapping/CSVLayerExtension.js +1 -1
- package/mapping/FeatureLayerExtension.js +1 -1
- package/mapping/FeatureLayerExtensionBase.d.ts +1 -0
- package/mapping/FeatureLayerExtensionBase.js +1 -1
- package/mapping/GeoJSONLayerExtension.js +1 -1
- package/mapping/GeoRSSLayerExtension.js +1 -1
- package/mapping/GraphicsLayerExtension.js +1 -1
- package/mapping/GroundExtension.d.ts +0 -6
- package/mapping/GroundExtension.js +1 -1
- package/mapping/GroupLayerExtension.d.ts +1 -0
- package/mapping/GroupLayerExtension.js +1 -1
- package/mapping/ImageryLayerExtension.js +1 -1
- package/mapping/MapExtension.d.ts +18 -0
- package/mapping/MapExtension.js +1 -1
- package/mapping/MapNotesSublayerExtension.js +1 -1
- package/mapping/PointCloudLayerExtension.js +1 -1
- package/mapping/RouteLayerExtension.js +1 -1
- package/mapping/SceneLayerExtension.js +1 -1
- package/mapping/StreamLayerExtension.d.ts +1 -0
- package/mapping/StreamLayerExtension.js +1 -1
- package/mapping/SubtypeGroupLayerExtension.d.ts +2 -1
- package/mapping/SubtypeGroupLayerExtension.js +1 -1
- package/mapping/SubtypeSublayerExtension.d.ts +2 -0
- package/mapping/SubtypeSublayerExtension.js +1 -1
- package/mapping/WFSLayerExtension.js +1 -1
- package/mapping/WMTSLayerExtension.js +1 -1
- package/mapping/_LayerExtension.d.ts +5 -7
- package/mapping/_LayerExtension.js +1 -1
- package/mapping/_SublayerExtension.d.ts +14 -6
- package/mapping/_SublayerExtension.js +1 -1
- package/mapping/support/ArrayWrappedCollection.js +1 -1
- package/mapping/support/_LayerExtensionCollection.d.ts +1 -0
- package/mapping/support/_LayerExtensionCollection.js +1 -1
- package/mapping/support/_SublayerExtensionCollection.d.ts +1 -0
- package/mapping/support/_SublayerExtensionCollection.js +1 -1
- package/package.json +1 -1
- package/support/HandlesMixin.d.ts +27 -0
- package/support/HandlesMixin.js +1 -0
- package/support/InitializableBase.d.ts +1 -1
- package/support/InitializableBase.js +1 -1
- package/support/Settings.d.ts +2 -2
- package/support/Settings.js +1 -1
- package/utilities/CollectionProxy.d.ts +22 -3
- package/utilities/CollectionProxy.js +1 -1
- package/utilities/MapTransformCollection.js +1 -1
- package/utilities/ObservableMap.d.ts +1 -1
- package/utilities/ObservableMap.js +1 -1
- package/utilities/ReadOnlyMap.js +1 -1
- package/utilities/_ReferenceCountedHandle.d.ts +4 -0
- package/utilities/_ReferenceCountedHandle.js +1 -1
- package/utilities/_layers.d.ts +10 -1
- package/utilities/_layers.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Basemap from "@arcgis/core/Basemap";
|
|
2
2
|
import Collection from "@arcgis/core/core/Collection";
|
|
3
|
-
import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
|
|
4
3
|
import type { EntityBaseProperties } from "../Entity.js";
|
|
5
4
|
import { EntityBase } from "../Entity.js";
|
|
6
5
|
import type { TaskSettingsProperties } from "../data/TaskSettings.js";
|
|
@@ -103,6 +102,10 @@ export declare class BasemapExtension<T extends BasemapExtensionProperties = Bas
|
|
|
103
102
|
* BasemapExtension creation.
|
|
104
103
|
*/
|
|
105
104
|
static factory: BasemapExtensionFactory;
|
|
105
|
+
/**
|
|
106
|
+
* Handle group key for watches that depend on the current basemap instance.
|
|
107
|
+
*/
|
|
108
|
+
private static readonly _setBasemapWatchHandlesKey;
|
|
106
109
|
/**
|
|
107
110
|
* Whether this basemap should be included in a basemap picker.
|
|
108
111
|
*/
|
|
@@ -129,11 +132,6 @@ export declare class BasemapExtension<T extends BasemapExtensionProperties = Bas
|
|
|
129
132
|
* @inheritDoc
|
|
130
133
|
*/
|
|
131
134
|
protected readonly _itemType: string;
|
|
132
|
-
/**
|
|
133
|
-
* A set of watch handles that get cleaned up when the class instance is
|
|
134
|
-
* destroyed.
|
|
135
|
-
*/
|
|
136
|
-
protected readonly _watchHandles: Map<string, ResourceHandle[]>;
|
|
137
135
|
private _iconUrl;
|
|
138
136
|
private _mapExtension;
|
|
139
137
|
private _basemap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;import{__decorate as s}from"tslib";import a from"@arcgis/core/Basemap";import t from"@arcgis/core/core/Collection";import{ArgumentError as i}from"../ArgumentError.js";import{EntityBase as r}from"../Entity.js";import{InvalidOperationError as n}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{TaskSettings as p}from"../data/TaskSettings.js";import{applyJsonToBasemap as m,
|
|
1
|
+
var e;import{__decorate as s}from"tslib";import a from"@arcgis/core/Basemap";import t from"@arcgis/core/core/Collection";import{ArgumentError as i}from"../ArgumentError.js";import{EntityBase as r}from"../Entity.js";import{InvalidOperationError as n}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{TaskSettings as p}from"../data/TaskSettings.js";import{applyJsonToBasemap as m,basemapToJson as h,jsonToBasemap as c}from"../json/BasemapJson.js";import{}from"../json/BasemapLayerJson.js";import{serializable as l}from"../support/Serializable.js";import{notifyChange as d,onWatch as y,watch as _}from"../support/observableUtils.js";import{basemapsAreEquivalent as b,createStandardBasemap as f,getStandardBasemapId as E,getStandardBasemapThumbnailUrl as x}from"../utilities/basemaps.js";import{checkArg as u}from"../utilities/checkArg.js";import{load as L}from"../utilities/esri.js";import{find as B}from"../utilities/iterable.js";import{layersAreEquivalent as g}from"../utilities/layers.js";import{getLogger as w}from"../utilities/log.js";import{isBasemap as z}from"../utilities/mapping.js";import{onCollectionPropertyChange as P}from"../utilities/watch.js";import{_assignLayerExtensions as j}from"./_LayerExtension.js";import{LayerExtensionCollectionBase as M}from"./support/_LayerExtensionCollection.js";const S=w("BasemapExtension");export const defaultBasemapExtensionFactory={create:e=>new U(e)};let U=class extends r{static{e=this}get basemap(){return this._basemap}get mapExtension(){return this._mapExtension}get baseLayerExtensions(){return this._baseLayerExtensions}get referenceLayerExtensions(){return this._referenceLayerExtensions}get iconUrl(){return this._basemap?.thumbnailUrl||this._iconUrl}set iconUrl(e){this._iconUrl=e,this._basemap&&(this._basemap.thumbnailUrl=e)}static factory=defaultBasemapExtensionFactory;static _setBasemapWatchHandlesKey="basemap-extension-set-basemap-watch-handles";included=!0;description;onClick;isSeries;taskSettings;_itemType=o.BASEMAP_EXTENSION;_iconUrl;_mapExtension;_basemap;_baseLayerExtensions;_referenceLayerExtensions;_deferredBasemapProperties;_createBackingBasemapPromise;constructor(e){super(e);const s=e||{};this._baseLayerExtensions=new k(this),this._referenceLayerExtensions=new v(this),this.taskSettings=this._createTaskSettings(),this.taskSettings.enableSearch=!1,this.taskSettings.enableQuery=!1,this.taskSettings.enableIdentify=!1;let{basemap:t}=s;!t&&s.baseMap&&(t=s.baseMap,w("geocortex.api.mapping.BasemapExtension").warn("BasemapExtension.properties 'baseMap' should be 'basemap'")),z(t)?this._setBasemap(t):t?this._deferredBasemapProperties=t:this._setBasemap(new a)}static create(s){if(!e.factory)throw new n("Cannot create BasemapExtension: no BasemapExtension factory has been registered.");return e.factory.create(s)}_setMapExtension(e){this.mapExtension!==e&&(this._mapExtension=e,d(this,"mapExtension"),this._baseLayerExtensions.onMapExtensionChanged(),this._referenceLayerExtensions.onMapExtensionChanged())}async _switchBasemap(e){if(e===this.basemap)return;u("newBasemap",e).isNotMissing().satisfies((e=>!this.basemap||b(this.basemap,e)),"Basemaps must have compatible layers."),this._deferredBasemapProperties=void 0;const s=new Map,a=new Map;if(this.basemap&&(this.basemap.baseLayers.forEach((e=>{s.set(e,this.baseLayerExtensions.forLayer(e))})),this.basemap.referenceLayers.forEach((e=>{a.set(e,this.referenceLayerExtensions.forLayer(e))}))),await L(this.basemap),this.basemap){const s=h(this.basemap);s.baseMapLayers?.length||delete s.baseMapLayers,await m(s,e)}this._setBasemap(e);const t=[];for(const e of this.basemap.baseLayers.toArray()){const a=B(s.entries(),(([s])=>g(s,e)));a&&t.push((async()=>{const s=a[1];await(s._switchLayer?.(e)),this._baseLayerExtensions._register(s)})())}for(const e of this.basemap.referenceLayers.toArray()){const s=B(a.entries(),(([s])=>g(s,e)));s&&t.push((async()=>{const a=s[1];await(a._switchLayer?.(e)),this._referenceLayerExtensions._register(a)})())}this.isInitialized&&t.push(this._initializeChildren()),await Promise.all(t)}async _createBackingBasemap(){if(this._deferredBasemapProperties)return this._createBackingBasemapPromise=this._createBackingBasemapPromise??(async()=>{if("string"==typeof this._deferredBasemapProperties)this._setBasemap(await f(this._deferredBasemapProperties));else{const e=await c(this._deferredBasemapProperties);this._setBasemap(e)}})(),this._createBackingBasemapPromise}_createTaskSettings(){return new p}_getSerializableProperties(){return{...super._getSerializableProperties(),description:"initial",included:{serializeModes:["initial"],default:!0},iconUrl:{serializeModes:["initial"]},onClick:"initial",isSeries:"initial",basemap:{serializeModes:["initial","project"],serialize:()=>this._serializeBasemap(),isDefault:e=>JSON.stringify(e)===JSON.stringify(new a),deserialize:e=>{if(z(e)){if(e!==this.basemap)throw new i("properties.basemap","Property 'basemap' is read-only.")}else if("string"==typeof e){if((!this._basemap||e!==this._basemap.id)&&this._deferredBasemapProperties!==e)throw new i("properties.basemap","Property 'basemap' is read-only.")}else if(this._basemap)return m(e,this.basemap)}},baseLayerExtensions:{serializeModes:["initial","project"],deserialize:e=>{j(this.baseLayerExtensions,e)}},referenceLayerExtensions:{serializeModes:["initial","project"],deserialize:e=>{j(this.referenceLayerExtensions,e)}},taskSettings:{serialize:!1}}}async _onInitialize(){await this._createBackingBasemap(),await L(this.basemap),this.basemap.baseLayers||(this.basemap.baseLayers=new t),this.basemap.referenceLayers||(this.basemap.referenceLayers=new t),this._baseLayerExtensions.onParentInitialized(),this._referenceLayerExtensions.onParentInitialized(),this.mapExtension&&this.basemap&&(this.mapExtension.map.basemap=this.basemap)}async _postInitialize(){await super._postInitialize(),this._deferredBasemapProperties=void 0,this._handles.add([P(this,"basemap.baseLayers",(async e=>{const s=(e.added??[]).map((e=>this.baseLayerExtensions.forLayer(e)));await Promise.all(s.map((e=>e.initialize())))})),P(this,"basemap.referenceLayers",(async e=>{const s=(e.added??[]).map((e=>this.referenceLayerExtensions.forLayer(e)));await Promise.all(s.map((e=>e.initialize())))}))])}_onBaseLayerAddedPostInitialize=async e=>this._onLayerAddedPostInitialize(e);_onReferenceLayerAddedPostInitialize=async e=>this._onLayerAddedPostInitialize(e);async _onDestroy(){const e=new Set([...this.baseLayerExtensions,...this.referenceLayerExtensions]);this._setMapExtension(void 0),await Promise.all([...e].map((e=>e.destroy()))),this._baseLayerExtensions.destroy(),this._referenceLayerExtensions.destroy(),await super._onDestroy()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.baseLayerExtensions,yield this.referenceLayerExtensions}_onLayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(s){S.error({message:`Error occurred while initializing layer extension for layer '${e.title??e.layer.id??e.id}'.`,error:s})}};_setBasemap(s){this._basemap=s;const a=!!this._iconUrl;if(this._iconUrl&&(this.basemap.thumbnailUrl=this._iconUrl,this._iconUrl=void 0),this._handles.remove(e._setBasemapWatchHandlesKey),this._handles.add(y(this,"iconUrl",(()=>_(this,"basemap.thumbnailUrl",(()=>d(this,"iconUrl")),{sync:!0}))),e._setBasemapWatchHandlesKey),!a){const e=E(this._basemap);if(e){const s=x(e);s&&this.iconUrl!==s&&(this.iconUrl=s)}}d(this,"basemap")}_serializeBasemap(){if(this._deferredBasemapProperties)return this._deferredBasemapProperties;const e=this.basemap?h(this.basemap):void 0;if(!e)return;e.baseMapLayers?.forEach((e=>{"WMS"!==e.layerType&&delete e.layers}));const s=this.baseLayerExtensions.filter((e=>e&&!e.layer));if(s.length>0){const a=s.toArray().map((e=>{const{layer:s}=e.toJSON();return s}));e.baseMapLayers.concat(a)}const a=this.referenceLayerExtensions.filter((e=>e&&!e.layer));if(a.length>0){const s=a.toArray().map((e=>{const{layer:s}=e.toJSON();return s.isReference=!0,s}));e.baseMapLayers.concat(s)}return e}};U=e=s([l],U);export{U as BasemapExtension};class k extends M{get _mapExtension(){return this._parent.mapExtension}constructor(e){super(e,"basemap.baseLayers")}add(e,s){return u("layerX",e).isNotMissing(),e.basemapExtension&&e.basemapExtension!==this._parent&&e.basemapExtension.baseLayerExtensions.remove(e),e._setBasemapExtension(this._parent),super.add(e,s)}_onAdded(e){super._onAdded(e),e._setBasemapExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setBasemapExtension(void 0)}}class v extends M{get _mapExtension(){return this._parent.mapExtension}constructor(e){super(e,"basemap.referenceLayers")}add(e,s){return u("layerX",e).isNotMissing(),e.basemapExtension&&e.basemapExtension!==this._parent&&e.basemapExtension.referenceLayerExtensions.remove(e),e._setBasemapExtension(this._parent),super.add(e,s)}_onAdded(e){super._onAdded(e),e._setBasemapExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setBasemapExtension(void 0)}}
|
|
@@ -67,6 +67,7 @@ export declare class BuildingComponentSublayerSchema extends BuildingSublayerSch
|
|
|
67
67
|
protected _sublayerExtension: BuildingComponentSublayerExtension;
|
|
68
68
|
private readonly _fieldCollection;
|
|
69
69
|
constructor(layerExtension: BuildingComponentSublayerExtension);
|
|
70
|
+
destroy(): void;
|
|
70
71
|
get primaryKeyField(): string;
|
|
71
72
|
set primaryKeyField(value: string);
|
|
72
73
|
get geometryType(): GeometryType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{applyJsonToSublayer as i}from"../json/SublayerJson.js";import{serializable as s}from"../support/Serializable.js";import{notifyChange as r,onWatch as a,watch as l}from"../support/observableUtils.js";import{ReadOnlyCollection as n}from"../utilities/ReadOnlyCollection.js";import{isBuildingComponentSublayer as o}from"../utilities/_layers.js";import{BuildingSublayerExtension as u,BuildingSublayerSchema as p}from"./BuildingSublayerExtension.js";import{SublayerExtension as d}from"./_SublayerExtension.js";import{ArrayWrappedCollection as y}from"./support/ArrayWrappedCollection.js";import{ExtensionBaseLayerListSettings as
|
|
1
|
+
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{applyJsonToSublayer as i}from"../json/SublayerJson.js";import{serializable as s}from"../support/Serializable.js";import{notifyChange as r,onWatch as a,watch as l}from"../support/observableUtils.js";import{ReadOnlyCollection as n}from"../utilities/ReadOnlyCollection.js";import{isBuildingComponentSublayer as o}from"../utilities/_layers.js";import{BuildingSublayerExtension as u,BuildingSublayerSchema as p}from"./BuildingSublayerExtension.js";import{SublayerExtension as d}from"./_SublayerExtension.js";import{ArrayWrappedCollection as y}from"./support/ArrayWrappedCollection.js";import{ExtensionBaseLayerListSettings as c}from"./support/LayerListSettings.js";import{PopupTemplateFeatureSettings as h}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields as b}from"./support/layers.js";const m=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!0}),_="This schema property is read-only.";let f=class extends u{_enableClientSideData;_capabilitiesField;constructor(e){super(e),this._capabilitiesField=m}get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.sublayer?.renderer}get sublayer(){return super.sublayer}get hasFeatures(){return!0}get canChangeDefinitionExpression(){return!0}get _layerView(){return this.sublayer&&this.layerExtension?._layerView?.sublayerViews?.find((e=>e.sublayer===this.sublayer))}_createSublayerExtension(e){return d.factory.create(e,"BuildingComponentSublayer")}async _createSublayer(e){const t=new((await import("@arcgis/core/layers/buildingSublayers/BuildingComponentSublayer")).default);return await i(e,t),t}_isSupportedSublayer(e){return o(e)}_createSchema(){return new g(this)}_getSerializableProperties(){return{...super._getSerializableProperties(),enableClientSideData:{serializeModes:["initial"],default:!1}}}_capabilities(){return this._capabilitiesField}async _onInitialize(){await super._onInitialize(),this._capabilitiesField={...m,supportsQuery:!!this.sublayer.capabilities?.data},this._updateClientSideFields(),this._handles.add(l(this,"sublayer",(()=>{this._updateClientSideFields()}),{sync:!0}))}async _postInitialize(){await super._postInitialize(),this.sublayer.fields?.length||l(this.sublayer,"fields",(async()=>{const{popupTemplate:e}=this.featureSettings;await Promise.all(this.schema.fieldExtensions.toArray().map((e=>e.initialize()))),!e.title&&this.schema.displayField&&(e.title=`{${this.schema.displayField}}`),this.featureSettings._isDefaultPopupTemplate&&!this.featureSettings.popupTemplate.fieldInfos?.length&&(this.featureSettings.popupTemplate.fieldInfos=this.schema.createAllFieldInfos())}),{once:!0})}_createLayerListSettings(e){return new C(e,this)}_watchSublayerProperties(){this._handles.add([a(this,"effectiveMinScale",(()=>l(this.sublayer,"layer.minScale",(()=>r(this,"effectiveMinScale")),{sync:!0}))),a(this,"effectiveMaxScale",(()=>l(this.sublayer,"layer.maxScale",(()=>r(this,"effectiveMaxScale")),{sync:!0})))])}_createFeatureSettings(){return new S(this)}_updateClientSideFields(){this.sublayer&&this._enableClientSideData&&b(this.sublayer,this.featureSettings.outFields)}};f=e([s],f);export{f as BuildingComponentSublayerExtension};let S=class extends h{};S=e([s],S);let g=class extends p{_fieldCollection;constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),r(this,"_fields")}destroy(){this._fieldCollection.destroy(),super.destroy()}get _fields(){return this._fieldCollection}get primaryKeyField(){return this._sublayerExtension.sublayer?.objectIdField}set primaryKeyField(e){throw new t(_)}get geometryType(){return this._sublayerExtension.sublayer?.geometryType}set geometryType(e){throw new t(_)}_createFieldCollection(){return new n(new y({parent:this._sublayerExtension,targetProperty:"sublayer",arrayProperty:"fields"}),{destroyBackingCollection:!0})}};g=e([s],g);export{g as BuildingComponentSublayerSchema};let C=class extends c{get _layerSupportsHideChildren(){return!1}get _esriLayer(){return this._extension.sublayer}get _listModePath(){return"sublayer.listMode"}get _supportsChildren(){return!1}};C=e([s],C);
|
|
@@ -9,7 +9,7 @@ import type { BuildingSceneLayerJson } from "../json/BuildingSceneLayerJson.js";
|
|
|
9
9
|
import type { InitializableCollection } from "../support/InitializableCollectionProxy.js";
|
|
10
10
|
import type { PropertyDefs } from "../support/Serializable.js";
|
|
11
11
|
import type { BuildingSublayerExtension, BuildingSublayerExtensionProperties } from "./BuildingSublayerExtension.js";
|
|
12
|
-
import type { LayerExtensionProperties,
|
|
12
|
+
import type { LayerExtensionProperties, LayerExtensionSchemaPropertyBinding, LayerProperties } from "./_LayerExtension.js";
|
|
13
13
|
import { LayerExtension, LayerExtensionSchema } from "./_LayerExtension.js";
|
|
14
14
|
import { SublayerExtensionCollectionBase } from "./support/_SublayerExtensionCollection.js";
|
|
15
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{serializable as t}from"../support/Serializable.js";import{watchEach as s}from"../support/observableUtils.js";import{isBuildingSceneLayer as i}from"../utilities/_layers.js";import{flatten as a}from"../utilities/array.js";import{checkArg as l}from"../utilities/checkArg.js";import{LayerExtension as o,LayerExtensionSchema as n}from"./_LayerExtension.js";import{SublayerExtension as y}from"./_SublayerExtension.js";import{SublayerExtensionCollectionBase as u}from"./support/_SublayerExtensionCollection.js";const p="SublayerExtension collection for BuildingLayerExtension is readonly";let d=class extends o{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_deferredSublayerProperties;constructor(e){super(e),this.
|
|
1
|
+
import{__decorate as e}from"tslib";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{serializable as t}from"../support/Serializable.js";import{watchEach as s}from"../support/observableUtils.js";import{isBuildingSceneLayer as i}from"../utilities/_layers.js";import{flatten as a}from"../utilities/array.js";import{checkArg as l}from"../utilities/checkArg.js";import{LayerExtension as o,LayerExtensionSchema as n}from"./_LayerExtension.js";import{SublayerExtension as y}from"./_SublayerExtension.js";import{SublayerExtensionCollectionBase as u}from"./support/_SublayerExtensionCollection.js";const p="SublayerExtension collection for BuildingLayerExtension is readonly";let d=class extends o{get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_deferredSublayerProperties;constructor(e){super(e),this._handles.add(s(this,"layer.allSublayers.[].outFields",(()=>{this.layer.outFields=[...new Set(a(this.layer.allSublayers.toArray().filter((e=>"building-component"===e.type)).map((e=>e.outFields?e.outFields.includes("*")?e.fields?.map((e=>e.name))??[]:e.outFields:[]))))]})))}_createSublayerExtension(e){return y.factory.create(e)}_applyLayerProperties(e,r){return l("layerJson",e).isNotMissing(),l("layerJson.layerType",e.layerType).satisfies((e=>!e||"BuildingSceneLayer"===e)),l("layer",r).isNotMissing().satisfies(i),super._applyLayerProperties(e,r)}async _onInitialize(){await super._onInitialize(),this._deferredSublayerProperties&&(this.assignProperties({layer:{layerType:"BuildingSceneLayer",sublayers:this._deferredSublayerProperties}}),this._deferredSublayerProperties=void 0)}_createSublayerExtensionCollection(){return new h(this)}_isSupportedLayer(e){return i(e)}_createSchema(){return new c(this)}async _applyPortalItemProperties(e){if("Scene Service"!==e.type)throw new Error(`Cannot create Scene Layer from Portal item that has type: ${e.type}`);if(!e.typeKeywords.includes("Building"))throw new Error("Cannot create building scene layer from Portal item that does not reference a building scene layer.");this.layer.url=e.url||this.layer.url}_capabilities(){return{...super._capabilities(),supportsStandardizedQueries:!0}}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"BuildingSceneLayer"},deserialize:r=>{if(this._toPropertyDef(e.layer).deserialize(r),r&&!i(r)&&r.sublayers&&!this.layer?.sublayers){this._deferredSublayerProperties=this._deferredSublayerProperties||[];for(const e of r.sublayers){const r=this._deferredSublayerProperties.findIndex((r=>r.title===e.title));r>=0?this._deferredSublayerProperties[r]={...this._deferredSublayerProperties[r],...e}:this._deferredSublayerProperties.push({...e})}}}}}}};d=e([t],d);export{d as BuildingSceneLayerExtension};let c=class extends n{_getPropertyBindings(){return{spatialReference:"spatialReference"}}_setSetting(e,t){if(this._layerBindings.has(e))throw new r("This schema property is read-only.");super._setSetting(e,t)}};c=e([t],c);export{c as BuildingSceneLayerReadOnlySchema};class h extends u{constructor(e){super(e,"layer.sublayers"),this._layerExtension=e}add(e,t){if(l("sublayerX",e).isNotMissing(),e.sublayer&&this._parent.layer.sublayers&&!this._parent.layer.sublayers.includes(e.sublayer))throw new r(p);return super.add(e,t)}removeAt(e){throw new r(p)}reorder(e,t){throw new r(p)}reverse(){throw new r(p)}sort(e){throw new r(p)}splice(e,t,...s){throw new r(p)}_createSublayerExtension(e){return this._parent._createSublayerExtension(e)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{layerToJson as r}from"../json/LayerJson.js";import{serializable as t}from"../support/Serializable.js";import{notifyChange as i}from"../support/observableUtils.js";import{ReadOnlyCollection as
|
|
1
|
+
import{__decorate as e}from"tslib";import{layerToJson as r}from"../json/LayerJson.js";import{serializable as t}from"../support/Serializable.js";import{notifyChange as i}from"../support/observableUtils.js";import{ReadOnlyCollection as s}from"../utilities/ReadOnlyCollection.js";import{isCSVLayer as n}from"../utilities/_layers.js";import{LayerExtension as o,LayerExtensionSchema as a}from"./_LayerExtension.js";import{ArrayWrappedCollection as l}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as p}from"./support/PopupTemplateFeatureSettings.js";let y=class extends o{get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get layer(){return super.layer}get canChangeLabels(){return!0}get canChangeRenderer(){return!0}get canChangeDefinitionExpression(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:t}=r(this.layer),{definitionExpression:i,drawingInfo:s}=t??{};return i&&(e.layerDefinition={...e.layerDefinition,definitionExpression:i}),s&&(e.layerDefinition={...e.layerDefinition,drawingInfo:s}),e}_capabilities(){return{...super._capabilities(),supportsStandardizedQueries:!0}}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"CSV"}}}}_isSupportedLayer(e){return n(e)}_createFeatureSettings(){return new p(this)}_createSchema(){return new d(this)}};y=e([t],y);export{y as CSVLayerExtension};let d=class extends a{_fieldsCollection;constructor(e){super(e),this._fieldsCollection=new s(new l({parent:e,targetProperty:"layer",arrayProperty:"fields"}),{destroyBackingCollection:!0}),i(this,"_fields")}get _fields(){return this._fieldsCollection}destroy(){this._fieldsCollection.destroy(),super.destroy()}_getPropertyBindings(){return{displayField:"displayField",spatialReference:"spatialReference",geometryType:"geometryType"}}};d=e([t],d);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import r from"@arcgis/core/layers/support/FeatureType.js";import
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import r from"@arcgis/core/layers/support/FeatureType.js";import a from"@arcgis/core/rest/support/AttachmentQuery.js";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{toAttachment as s}from"../data/Attachment.js";import{addAttachment as l,deleteAttachments as o}from"../data/support/attachments.js";import{_isFeatureCollection as n}from"../json/FeatureLayerJson.js";import{applyJsonToLayer as u}from"../json/LayerJson.js";import{DefaultArcGISRequestHelper as p}from"../support/ArcGISRequestHelper.js";import{serializable as y}from"../support/Serializable.js";import{ArcGISRelationshipCollection as d}from"../support/_ArcGISRelationshipCollection.js";import{applyEdits as h}from"../support/_featureEdit.js";import{notifyChange as c,watch as m}from"../support/observableUtils.js";import{getGdbVersion as _}from"../utilities/_version.js";import{isFeatureLayerExtension as f,isSubtypeGroupLayerExtension as b}from"../utilities/extensions.js";import{isFeatureLayer as S}from"../utilities/layers.js";import{isNumeric as j}from"../utilities/number.js";import{isEmpty as w}from"../utilities/object.js";import{FeatureLayerExtensionBase as C,FeatureLayerReadOnlySchema as I}from"./FeatureLayerExtensionBase.js";import{addOutFields as g}from"./support/layers.js";const F="Cannot use feature layer that has a source collection and no url.";let D=class extends C{attachmentTypes;get enableClientSideData(){return void 0===this._enableClientSideData?"cluster"===this.layer?.featureReduction?.type:this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get renderer(){return this.layer?.renderer}get canChangeLabels(){return!0}_enableClientSideData;async _addAttachment(e,t){return l(e,this.layer,t,{attachmentTypes:this.attachmentTypes})}async _deleteAttachments(e,t){return o(e,this.layer,t)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,attachmentTypes:["initial"],requestHelper:{...this._toPropertyDef(e.requestHelper),default:new p({batchLayerRequests:!1})},enableClientSideData:{serializeModes:["initial"],isDefault:e=>e===!("cluster"!==this.layer?.featureReduction?.type)}}}_isSupportedLayer(e){return super._isSupportedLayer(e)&&!t.isCollection(e.source)}async _getAttachments(e){if(!this.layer?.capabilities?.data?.supportsAttachment)return[];const t=+e.primaryKey,r=this.layer?.gdbVersion??_(this.layer?.customParameters),i=new a({objectIds:[t]}),l=await this.layer.queryAttachments(i);return l?.[t]?.length?l[t].map((e=>s(e,{gdbVersion:r}))):[]}async _addFeatures(e,t){await h({adds:e},this.layer,t)}async _updateFeatures(e,t){await h({updates:e},this.layer,t)}async _deleteFeatures(e,t){await h({deletes:e},this.layer,t)}_createRelationships(){return new L(this)}_createSchema(){return new I(this)}async _onInitialize(){if(this.layer&&!this._isSupportedLayer(this.layer))throw new i(F);await super._onInitialize(),await this.relationships.initialize(),this._updateClientSideFields(),this._handles.add(m(this,"layer",(()=>{this._updateClientSideFields()}),{sync:!0})),this._addSubtypeDomains(),c(this,"capabilities")}_applyLayerProperties(e,t){if(n(e))throw new i(F);return super._applyLayerProperties(e,t)}async _applyPortalItemProperties(e){if("Feature Service"!==e.type)throw new Error(`Cannot create Feature Layer from Portal item that has type: ${e.type}`);let{url:t}=e;t.match(".*MapServer/\\d{1,}/?$")||t.match(".*FeatureServer/\\d{1,}/?$")||(t=`${t}/0`),this.layer.url=t||this.layer.url;const r=await e.fetchData();if(r?.layers){const e=r.layers.find((e=>e.id===this.layer.layerId));if(e){const{id:t,...r}=e;await u(r,this.layer)}}}_addSubtypeDomains(){if(!this.layer?.subtypes)return;this.layer.typeIdField=this.layer.typeIdField||this.layer.subtypeField,this.layer.types=this.layer.types??[];const e=!this.layer.types.length;this.layer.subtypes.forEach((t=>{const a=this.layer.types.find((e=>e.id===t.code));a&&w(a.domains)?a.domains=t.domains:!a&&e&&this.layer.types.push(new r({id:t.code,domains:t.domains,name:t.name}))}))}_updateClientSideFields(){this.layer&&this._enableClientSideData&&g(this.layer,this.featureSettings.outFields)}};D=e([y],D);export{D as FeatureLayerExtension};class L extends d{get _sourceUrl(){if(this._source.layer?.url)return j(this._source.layer.layerId)?`${this._source.layer.url}/${this._source.layer.layerId}`:this._source.layer.url}get _sourceLayerId(){return this._source.layer?this._source.layer.layerId:void 0}_findRelatedSource(e){if(!this._source.mapExtension||!this._source.layer?.url)return;const t=this._source.mapExtension.allLayerExtensions.initializedItems.find((t=>(f(t)||b(t))&&t.layer.url===this._source.layer.url&&t.layer.layerId===e));return t||this._source.mapExtension.tableExtensions.initializedItems.find((t=>S(t.table)&&t.table.url===this._source.layer.url&&t.table.layerId===e))}}
|
|
@@ -60,6 +60,7 @@ export declare class FeatureLayerSchema extends LayerExtensionSchema {
|
|
|
60
60
|
private readonly _typesCollection;
|
|
61
61
|
constructor(layerExtension: LayerExtension);
|
|
62
62
|
get types(): Collection<FeatureType>;
|
|
63
|
+
destroy(): void;
|
|
63
64
|
/**
|
|
64
65
|
* Creates the backing collection for fields.
|
|
65
66
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{TaskSettings as r}from"../data/TaskSettings.js";import{supportsAttachmentEditing as i}from"../data/support/attachments.js";import{_isGraphicsLayerJson as s}from"../json/FeatureLayerJson.js";import{layerToJson as
|
|
1
|
+
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{TaskSettings as r}from"../data/TaskSettings.js";import{supportsAttachmentEditing as i}from"../data/support/attachments.js";import{_isGraphicsLayerJson as s}from"../json/FeatureLayerJson.js";import{layerToJson as o}from"../json/LayerJson.js";import{serializable as a}from"../support/Serializable.js";import{notifyChange as n}from"../support/observableUtils.js";import{ReadOnlyCollection as l}from"../utilities/ReadOnlyCollection.js";import{isCSVLayer as p,isFeatureLayer as y,isGraphicsLayer as c,isStreamLayer as d}from"../utilities/_layers.js";import{checkArg as u}from"../utilities/checkArg.js";import{parse as m}from"../utilities/format/number.js";import{LayerExtension as g,LayerExtensionSchema as h,ERR_SCHEMA_READ_ONLY as _}from"./_LayerExtension.js";import{ArrayWrappedCollection as f}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as S}from"./support/PopupTemplateFeatureSettings.js";export class FeatureLayerExtensionBase extends g{get hasFeatures(){return!0}get layer(){return super.layer}get renderer(){return this.layer?.renderer}get canChangeDefinitionExpression(){return!0}get canChangeRenderer(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:t,showLabels:r}=o(this.layer),{definitionExpression:i,drawingInfo:s}=t??{};return i&&(e.layerDefinition={...e.layerDefinition,definitionExpression:i}),s&&(e.layerDefinition={...e.layerDefinition,drawingInfo:s}),void 0!==r&&(e.showLabels=r),e}async*_getFeatures(e,t){const r=this.layer.createQuery();r.objectIds=e.map((e=>m(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry,yield*(await import("../support/_query.js")).executeQuery(r,this,this.layer,t.cancelToken)}_applyLayerProperties(e,t){return u("properties",e).isNotMissing(),u("properties.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e||"ArcGISStreamLayer"===e||"CSV"===e)),u("layer",t).isNotMissing().satisfies((e=>y(e)||d(e)||p(e)||c(e))),u("properties",e).satisfies((e=>!s(e))),super._applyLayerProperties(e,t)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISFeatureLayer"}}}}_createSchema(){return new x(this)}_isSupportedLayer(e){return y(e)}_createFeatureSettings(){return new b(this)}_createTaskSettings(){return new E(this)}_capabilities(){const e=i(this.layer);return this.layer?.capabilities?.operations?{...this.layer.capabilities.operations,supportsAttachmentEditing:e,supportsStandardizedQueries:this.layer.capabilities?.query?.supportsStandardizedQueriesOnly}:{...super._capabilities(),supportsAttachmentEditing:e}}}let b=class extends S{get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.layer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};b=e([a],b);let x=class extends h{_fieldCollection;_typesCollection;constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._typesCollection=this._createTypeCollection(),n(this,"_fields")}get types(){return this._typesCollection}get _fields(){return this._fieldCollection}destroy(){this._fieldCollection.destroy(),this._typesCollection.destroy(),super.destroy()}_createFieldCollection(){return new f({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"fields"})}_createTypeCollection(){return new f({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"types"})}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField",typeIdField:"typeIdField"}}};x=e([a],x);export{x as FeatureLayerSchema};let C=class extends x{_setSetting(e,r){if(this._layerBindings.has(e))throw new t(_);super._setSetting(e,r)}_createFieldCollection(){return new l(super._createFieldCollection(),{destroyBackingCollection:!0})}_createTypeCollection(){return new l(super._createTypeCollection(),{destroyBackingCollection:!0})}};C=e([a],C);export{C as FeatureLayerReadOnlySchema};let E=class extends r{_layerExtension;constructor(e,t){super(t),this._layerExtension=e}get enableEditing(){return this._getSetting("enableEditing",this._layerExtension.layer?.editingEnabled??!0)}set enableEditing(e){this._setSetting("enableEditing",e)}};E=e([a],E);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{TaskSettings as t}from"../data/TaskSettings.js";import{layerToJson as r}from"../json/LayerJson.js";import{serializable as i}from"../support/Serializable.js";import{notifyChange as
|
|
1
|
+
import{__decorate as e}from"tslib";import{TaskSettings as t}from"../data/TaskSettings.js";import{layerToJson as r}from"../json/LayerJson.js";import{serializable as i}from"../support/Serializable.js";import{notifyChange as s}from"../support/observableUtils.js";import{ReadOnlyCollection as n}from"../utilities/ReadOnlyCollection.js";import{isGeoJSONLayer as a}from"../utilities/_layers.js";import{LayerExtension as l,LayerExtensionSchema as o}from"./_LayerExtension.js";import{ArrayWrappedCollection as p}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as y}from"./support/PopupTemplateFeatureSettings.js";let d=class extends l{get renderer(){return this.layer?.renderer}get hasFeatures(){return!0}get layer(){return super.layer}get canChangeLabels(){return!0}get canChangeRenderer(){return!0}get canChangeDefinitionExpression(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:t}=r(this.layer),{definitionExpression:i,drawingInfo:s}=t??{};return i&&(e.layerDefinition={...e.layerDefinition,definitionExpression:i}),s&&(e.layerDefinition={...e.layerDefinition,drawingInfo:s}),e}_capabilities(){return{...super._capabilities(),supportsStandardizedQueries:!0}}async _onInitialize(){await super._onInitialize(),this.layer&&!this.layer.displayField&&(this.layer.displayField=this.layer.objectIdField)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"GeoJSON"}}}}_isSupportedLayer(e){return a(e)}_createFeatureSettings(){return new y(this)}_createTaskSettings(){return new g(this)}_createSchema(){return new u(this)}};d=e([i],d);export{d as GeoJSONLayerExtension};let u=class extends o{_fieldsCollection;constructor(e){super(e),this._fieldsCollection=new n(new p({parent:e,targetProperty:"layer",arrayProperty:"fields"}),{destroyBackingCollection:!0}),s(this,"_fields")}destroy(){this._fieldsCollection.destroy(),super.destroy()}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField"}}get _fields(){return this._fieldsCollection}};u=e([i],u);let g=class extends t{_layerExtension;constructor(e,t){super(t),this._layerExtension=e}get enableEditing(){return this._getSetting("enableEditing",this._layerExtension.layer?.editingEnabled??!0)}set enableEditing(e){this._setSetting("enableEditing",e)}};g=e([i],g);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/config";import r from"@arcgis/core/core/Collection";import s from"@arcgis/core/geometry/SpatialReference";import{jsonToLayer as i}from"../json/LayerJson.js";import{serializable as o}from"../support/Serializable.js";import{notifyChange as a,watch as l}from"../support/observableUtils.js";import{ReadOnlyCollection as n}from"../utilities/ReadOnlyCollection.js";import{isGeoRssLayer as p}from"../utilities/_layers.js";import{map as u}from"../utilities/promise.js";import{caseInsensitiveEquals as c}from"../utilities/string.js";import{FeatureCollectionLayerExtension as y}from"./FeatureCollectionLayerExtension.js";import{LayerExtension as f,LayerExtensionSchema as m}from"./_LayerExtension.js";export const DEFAULT_GEO_RSS_UTILITY="https://utility.arcgis.com/sharing/rss";let _=class extends f{get layer(){return super.layer}get _featureLayerExtensions(){return this._featureLayerXCache}_featureLayerXCache=[];get hasFeatures(){return!0}_capabilities(){return Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!0})}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"GeoRSS"}}}}_isSupportedLayer(e){return p(e)}_createSchema(){return new d(this)}async _initializeLayer(){t.geoRSSServiceUrl||(t.geoRSSServiceUrl=DEFAULT_GEO_RSS_UTILITY)}async _onInitialize(){await super._onInitialize(),this.layer.featureCollections&&(this._featureLayerXCache=await u(this.layer.featureCollections,(async e=>{const t={layerType:"ArcGISFeatureLayer",featureCollection:{layers:[e]}};return new y({layer:await i(t)})})),a(this,"_featureLayerExtensions"))}};_=e([o],_);export{_ as GeoRSSLayerExtension};let d=class extends m{_fieldsCollection;constructor(e){super(e),this._fieldsCollection=new h(e),a(this,"_fields")}destroy(){this._fieldsCollection.destroy(),super.destroy()}_getPropertyBindings(){return{spatialReference:{value:s.WGS84}}}get _fields(){return this._fieldsCollection}};d=e([o],d);class h extends n{layerExtension;get _collection(){if(!this.layerExtension?.layer)return new r;let e=new r;return this.layerExtension._featureLayerExtensions.forEach((t=>{const r=t.layer.fields.filter((t=>!e.some((e=>this._fieldsEqual(t,e)))));e=e.concat(r)})),e}constructor(e){super(),this.layerExtension=e,this._handles.add(l(e,"_featureLayerExtensions",(()=>this.emit("after-changes")),{sync:!0}))}_fieldsEqual(e,t){return!(!c(e.alias,t.alias)||!c(e.name,t.name)||e.type!==t.type)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{generateId as r}from"../Entity.js";import{_isGraphicsLayerJson as t,GRAPHICS_LAYER_ID as a}from"../json/FeatureLayerJson.js";import{applyJsonToLayer as s}from"../json/LayerJson.js";import{serializable as i}from"../support/Serializable.js";import{watch as o}from"../support/observableUtils.js";import{isGraphicsLayer as l}from"../utilities/_layers.js";import{checkArg as p}from"../utilities/checkArg.js";import{LayerExtension as
|
|
1
|
+
import{__decorate as e}from"tslib";import{generateId as r}from"../Entity.js";import{_isGraphicsLayerJson as t,GRAPHICS_LAYER_ID as a}from"../json/FeatureLayerJson.js";import{applyJsonToLayer as s}from"../json/LayerJson.js";import{serializable as i}from"../support/Serializable.js";import{watch as o}from"../support/observableUtils.js";import{isGraphicsLayer as l}from"../utilities/_layers.js";import{checkArg as p}from"../utilities/checkArg.js";import{LayerExtension as n}from"./_LayerExtension.js";export const GRAPHICS_LAYER_TYPE="graphics-layer";let y=class extends n{get hasFeatures(){return!0}get layer(){return super.layer}constructor(e){super(e),this.layer&&this.layer._fields&&this.schema?.fields&&(this.schema.fields.removeAll(),this.schema.fields.addMany(this.layer._fields))}async _onInitialize(){return this._handles.add(o(this,"layer",(e=>{e._fields&&this.schema?.fields&&(this.schema.fields.removeAll(),this.schema.fields.addMany(e._fields))}))),super._onInitialize()}_applyLayerProperties(e,r){return e.hasOwnProperty("featureCollection")&&p("layerJson",e).satisfies(t),super._applyLayerProperties(e,r)}async*_getFeatures(e,r){const t=this.schema.primaryKeyField;if(!t)return;const a=this.layer.graphics.filter((r=>e.includes(r.attributes[t]))),{toFeature:s}=await import("../data/Feature.js");yield*a.map((e=>s(e,{source:this}))).toArray()}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{id:a+r(),layerType:"ArcGISFeatureLayer"}}}}_isSupportedLayer(e){return l(e)}async _applyPortalItemProperties(e){if("Feature Collection"!==e.type)throw new Error(`Cannot create Graphics Layer from Portal item that has type: ${e.type}`);const r=await e.fetchData();if(!t({layerType:"ArcGISFeatureLayer",featureCollection:r}))throw new Error("Cannot create Graphics Layer from Portal item that contains a non graphics layer feature collection");return s({layerType:"ArcGISFeatureLayer",featureCollection:r},this.layer)}_capabilities(){return this.layer?.graphics?{supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!0,supportsUpdate:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!0}:super._capabilities()}_getSerializableLayerType(){return"graphics-layer"}_getSerializableRefLayerProperties(){return this.layer.featureCollectionType?{featureCollectionType:this.layer.featureCollectionType}:{}}};y=e([i],y);export{y as GraphicsLayerExtension};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import EsriGround from "@arcgis/core/Ground";
|
|
2
2
|
import type Collection from "@arcgis/core/core/Collection";
|
|
3
|
-
import type { ResourceHandle } from "@arcgis/core/core/Handles.js";
|
|
4
3
|
import type { EntityBaseProperties } from "../Entity.js";
|
|
5
4
|
import { EntityBase } from "../Entity.js";
|
|
6
5
|
import type { TaskSettingsProperties } from "../data/TaskSettings.js";
|
|
@@ -82,11 +81,6 @@ export declare class GroundExtension extends EntityBase<GroundExtensionPropertie
|
|
|
82
81
|
* @inheritDoc
|
|
83
82
|
*/
|
|
84
83
|
protected readonly _itemType: string;
|
|
85
|
-
/**
|
|
86
|
-
* A set of watch handles that get cleaned up when the class instance is
|
|
87
|
-
* destroyed.
|
|
88
|
-
*/
|
|
89
|
-
protected readonly _watchHandles: ResourceHandle[];
|
|
90
84
|
private _mapExtension;
|
|
91
85
|
private _ground;
|
|
92
86
|
private readonly _layerExtensions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;import{__decorate as t}from"tslib";import r from"@arcgis/core/Ground";import{ArgumentError as i}from"../ArgumentError.js";import{EntityBase as s}from"../Entity.js";import{InvalidOperationError as n}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{TaskSettings as a}from"../data/TaskSettings.js";import{DEFAULT_ELEVATION_ID as d,DEFAULT_ELEVATION_TITLE as
|
|
1
|
+
var e;import{__decorate as t}from"tslib";import r from"@arcgis/core/Ground";import{ArgumentError as i}from"../ArgumentError.js";import{EntityBase as s}from"../Entity.js";import{InvalidOperationError as n}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{TaskSettings as a}from"../data/TaskSettings.js";import{DEFAULT_ELEVATION_ID as d,DEFAULT_ELEVATION_TITLE as l,DEFAULT_ELEVATION_URL as u,_createDefaultElevationService as p,applyJsonToGround as h}from"../json/GroundJson.js";import{serializable as m}from"../support/Serializable.js";import{notifyChange as _}from"../support/observableUtils.js";import{checkArg as g}from"../utilities/checkArg.js";import{load as y}from"../utilities/esri.js";import{getLogger as f}from"../utilities/log.js";import{deepClone as c}from"../utilities/object.js";import{onCollectionPropertyChange as E}from"../utilities/watch.js";import{_assignLayerExtensions as x}from"./_LayerExtension.js";import{LayerExtensionCollectionBase as G}from"./support/_LayerExtensionCollection.js";const w=f("GroundExtension");export const defaultGroundExtensionFactory={create:e=>new z(e)};function P(e){return"esri.Ground"===e?.declaredClass}let z=class extends s{static{e=this}get ground(){return this._ground}get mapExtension(){return this._mapExtension}get layerExtensions(){return this._layerExtensions}static factory=defaultGroundExtensionFactory;taskSettings;_itemType=o.GROUND_EXTENSION;_mapExtension;_ground;_layerExtensions;_deferredGroundProperties;constructor(e){super(e),this._layerExtensions=new j(this),this.taskSettings=this._createTaskSettings(),this.taskSettings.enableSearch=!1,this.taskSettings.enableQuery=!1,this.taskSettings.enableIdentify=!1;const{ground:t}=e??{};P(t)?this._setGround(t):t?this._deferredGroundProperties=t:this._setGround(new r)}static isDefaultGround(e){if(!e.layers.length)return!0;if(1!==e.layers.length)return!1;const t=e.layers.getItemAt(0);return t.url===u&&t.id===d&&t.title===l}static create(t){if(!e.factory)throw new n("Cannot create GroundExtension: no GroundExtension factory has been registered.");return e.factory.create(t)}_setMapExtension(e){this.mapExtension!==e&&(this._mapExtension=e,_(this,"mapExtension"),this._layerExtensions.onMapExtensionChanged())}_resolveGround(){if(this._ground||!this._deferredGroundProperties||!this.mapExtension)return;const{ground:e}=this.mapExtension.map;this._setGround(e),this.assignProperties({ground:this._deferredGroundProperties}),this._deferredGroundProperties=void 0}_createTaskSettings(){return new a}_getSerializableProperties(){return{...super._getSerializableProperties(),ground:{serializeModes:["initial"],serialize:t=>this.ground&&("all"===t||!e.isDefaultGround(this.ground)&&this.ground.layers.length)?this.mapExtension?{$ref:"map.ground"}:this.ground.toJSON():this._deferredGroundProperties?c(this._deferredGroundProperties):void 0,isDefault:e=>!e||!e.layers?.length&&!e.$ref,deserialize:t=>{if(P(t)){if(t!==this.ground)throw new i("properties.ground","Property 'ground' is read-only.")}else if("world-elevation"===t){if(!this._ground||!e.isDefaultGround(this._ground))throw new i("properties.ground","Property 'ground' is read-only.")}else if(this._ground&&t)return h(t,this._ground)}},layerExtensions:{serialize:!1,deserialize:e=>{x(this.layerExtensions,e)}},taskSettings:{serialize:!1}}}async _onInitialize(){if(this.ground||this._deferredGroundProperties&&("world-elevation"===this._deferredGroundProperties?this._setGround(new r({layers:[await p()]})):this._deferredGroundProperties.$ref||this._setGround((await import("@arcgis/core/Ground")).default.fromJSON(this._deferredGroundProperties))),this._resolveGround(),!this._ground&&!this._mapExtension)throw new n("Cannot resolve Ground reference: missing parent map extension.");await y(this.ground),this._layerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this._handles.add(E(this,"ground.layers",(async e=>{const t=(e.added??[]).map((e=>this.layerExtensions.forLayer(e)));await Promise.all(t.map(this._onLayerAddedPostInitialize));const r=(e.removed??[]).map((e=>this._layerExtensions._forLayer(e)));await Promise.all(r.map((e=>e.destroy()))),r.forEach((e=>this.layerExtensions.remove(e)))})))}_onLayerAddedPostInitialize=async e=>{try{await e.initialize()}catch(t){w.error({message:`Error occurred while initializing layer extension for layer '${e.title??e.layer.id??e.id}'.`,error:t})}};async _onDestroy(){await Promise.all(this.layerExtensions.map((e=>e.destroy()))),this._setMapExtension(void 0),this._layerExtensions.destroy(),await super._onDestroy()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.layerExtensions}_setGround(e){this._ground=e,this.mapExtension&&(this.mapExtension.map.ground=e),_(this,"ground")}};z=e=t([m],z);export{z as GroundExtension};class j extends G{get _mapExtension(){return this._parent.mapExtension}constructor(e){super(e,"ground.layers")}add(e,t){return g("layerX",e).isNotMissing(),e.groundExtension&&e.groundExtension!==this._parent&&e.groundExtension.layerExtensions.remove(e),e._setGroundExtension(this._parent),super.add(e,t)}_onRemoved(e){super._onRemoved(e),e._setGroundExtension(void 0)}}
|
|
@@ -34,6 +34,7 @@ export declare class GroupLayerExtension<TProps extends LayerExtensionProperties
|
|
|
34
34
|
*/
|
|
35
35
|
protected readonly _layerExtensions: TColl;
|
|
36
36
|
private _visibilityModeField;
|
|
37
|
+
private _isSwitchingGroupLayer;
|
|
37
38
|
get layer(): GroupLayer;
|
|
38
39
|
/**
|
|
39
40
|
* The layer extensions associated with each layer of the group layer.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import{serializable as t}from"../support/Serializable.js";import{notifyChange as s,onWatch as r,watch as a,watchEach as n}from"../support/observableUtils.js";import{isGroupLayer as o,layersAreEquivalent as l}from"../utilities/_layers.js";import{checkArg as y}from"../utilities/checkArg.js";import{
|
|
1
|
+
import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import{serializable as t}from"../support/Serializable.js";import{notifyChange as s,onWatch as r,watch as a,watchEach as n}from"../support/observableUtils.js";import{isGroupLayer as o,layersAreEquivalent as l}from"../utilities/_layers.js";import{checkArg as y}from"../utilities/checkArg.js";import{getLogger as h}from"../utilities/log.js";import{onCollectionPropertyChange as d}from"../utilities/watch.js";import{_assignLayerExtensions as c,LayerExtension as p}from"./_LayerExtension.js";import{ExtensionBaseLayerListSettings as _}from"./support/LayerListSettings.js";import{LayerExtensionCollectionBase as u}from"./support/_LayerExtensionCollection.js";const x=h("GroupLayerExtension");let m=class extends p{_layerExtensions;_visibilityModeField;_isSwitchingGroupLayer=!1;get layer(){return super.layer}get layerExtensions(){return this._layerExtensions}get supportsSublayers(){return!0}get visibilityMode(){return this.layer?this.layer.visibilityMode:this._visibilityModeField||"independent"}set visibilityMode(e){this._visibilityModeField=e,this.layer&&(this.layer.visibilityMode=e)}get effectiveFullExtent(){return this.layerExtensions.initializedItems.length?this.layerExtensions.initializedItems.toArray().map((e=>e.layer.fullExtent)).reduce(((e,i)=>e?i?e.clone().union(i):e:i)):void 0}get effectiveMinScale(){const e=this.layerExtensions.initializedItems.map((e=>e.effectiveMinScale||1/0)).toArray(),i=Math.max(...e);return isFinite(i)?i:0}get effectiveMaxScale(){const e=this.layerExtensions.initializedItems.map((e=>e.effectiveMaxScale)).toArray(),i=Math.min(...e);return isFinite(i)?i:0}constructor(e){super(e),this._layerExtensions=this._createLayerExtensionCollection(),this._handles.add([r(this,"effectiveMinScale",(()=>n(this.layerExtensions,"[].effectiveMinScale",(()=>s(this,"effectiveMinScale")),{sync:!0}))),r(this,"effectiveMaxScale",(()=>n(this.layerExtensions,"[].effectiveMaxScale",(()=>s(this,"effectiveMaxScale")),{sync:!0}))),a(this,"layer",(()=>{this.layer&&void 0!==this._visibilityModeField&&(this.layer.visibilityMode=this._visibilityModeField)}))])}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();return!e||this.dynamicallyAddedLayer||(e.layers=this.layerExtensions.toArray().filter((e=>e.layer)).map((e=>e._getProjectWebmapJSON()))),e}_setMapExtension(e){this.mapExtension!==e&&(super._setMapExtension(e),this._layerExtensions.onMapExtensionChanged())}async _switchLayer(e){if(e===this.layer)return;this._isSwitchingGroupLayer=!0;const i=new Map;this.layer&&this.layer.layers.forEach((e=>{i.set(e,this.layerExtensions.forLayer(e))})),await super._switchLayer(e);const t=[],s=new Set(i.keys());if(this.layer)for(const e of this.layer.layers.toArray()){const r=Array.from(s).filter((i=>l(i,e)));if(1!==r.length)continue;const a=r[0],n=i.get(a);n&&(s.delete(a),t.push((async()=>{await n._switchLayer(e),this.layerExtensions._register(n)})()))}const r=Array.from(s).map((e=>i.get(e))).filter((e=>!!e));t.push(...r.map((async e=>{this._layerExtensions._detach(e),await e.destroy()}))),await Promise.all(t),this.isInitialized&&await this._initializeChildren(),this._isSwitchingGroupLayer=!1}_getSerializableProperties(){const e=super._getSerializableProperties(),i={...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"GroupLayer"}},layerExtensions:{serializeModes:["initial","project"],deserialize:e=>{c(this.layerExtensions,e)}},visibilityMode:{...this._toPropertyDef(e.visibilityMode),isDefault:()=>void 0===this._visibilityModeField}};return delete i.visibilityMode.default,i}async _onInitialize(){await super._onInitialize(),this.layer.layers||(this.layer.layers=new i),this._layerExtensions.onParentInitialized()}async _postInitialize(){await super._postInitialize(),this._handles.add(d(this,"layer.layers",(async e=>{if(this._isSwitchingGroupLayer)return;const i=(e.added??[]).map((e=>this.layerExtensions.forLayer(e)));await Promise.all(i.map(this._onLayerAddedPostInitialize));const t=(e.removed??[]).map((e=>this._layerExtensions._forLayer(e)));await Promise.all(t.map((e=>e.destroy()))),t.forEach((e=>this.layerExtensions.remove(e)))})))}_onLayerAddedPostInitialize=async e=>{if(!this._isSwitchingGroupLayer)try{await e.initialize()}catch(i){x.error({message:`Error occurred while initializing layer extension for layer '${e.title??e.layer.id??e.id}'.`,error:i})}};async _onDestroy(){await Promise.all(this.layerExtensions.toArray().map((e=>e.destroy()))),this._layerExtensions.destroy(),await super._onDestroy()}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.layerExtensions}_isSupportedLayer(e){return o(e)}_createLayerExtensionCollection(){return new GroupLayerExtensionCollection(this)}_createLayerListSettings(e){return new f(e,this)}};m=e([t],m);export{m as GroupLayerExtension};let f=class extends _{get _layerSupportsHideChildren(){return!0}get _esriLayer(){return this._extension.layer}get _listModePath(){return"layer.listMode"}get _supportsChildren(){return!0}};f=e([t],f);export class GroupLayerExtensionCollection extends u{get _mapExtension(){return this._parent.mapExtension}constructor(e){super(e,"layer.layers")}add(e,i){return y("layerX",e).isNotMissing(),e.parentLayerExtension&&e.parentLayerExtension!==this._parent&&e.parentLayerExtension.layerExtensions.remove(e),e._setParentLayerExtension(this._parent),super.add(e,i)}_onAdded(e){super._onAdded(e),e._setParentLayerExtension(this._parent)}_onRemoved(e){super._onRemoved(e),e._setParentLayerExtension(void 0)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as
|
|
1
|
+
var e;import{__decorate as t}from"tslib";import r from"@arcgis/core/core/Collection";import{layerToJson as i}from"../json/LayerJson.js";import{serializable as a}from"../support/Serializable.js";import{notifyChange as s,watch as l}from"../support/observableUtils.js";import{ReadOnlyCollection as o}from"../utilities/ReadOnlyCollection.js";import{isImageryLayer as n}from"../utilities/_layers.js";import{getAllFieldInfos as p}from"../utilities/esri.js";import{LayerExtension as u,LayerExtensionSchema as d}from"./_LayerExtension.js";import{ArrayWrappedCollection as y}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as c}from"./support/PopupTemplateFeatureSettings.js";const h="Raster.";let f=class extends u{get hasFeatures(){return!0}get capabilities(){return this._layerCapabilities?this._layerCapabilities:this._capabilities()}get layer(){return super.layer}includeCatalogItems=!0;get hasRasterAttributeTable(){return this._hasRasterAttributeTable}get canChangeDefinitionExpression(){return!0}_layerCapabilities;_hasRasterAttributeTable;_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:t}=i(this.layer),{definitionExpression:r,drawingInfo:a}=t??{};return r&&(e.layerDefinition={...e.layerDefinition,definitionExpression:r}),a&&(e.layerDefinition={...e.layerDefinition,drawingInfo:a}),e}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISImageServiceLayer"}},includeCatalogItems:{serializeModes:["initial"],default:!0}}}async _onInitialize(){await super._onInitialize();const e=await this.requestHelper.request(this.layer.url,{query:{f:"json"}});if(!e?.data)throw new Error(`Response to request for url ${this.layer.url} was invalid`);const{data:t}=e;if(t.capabilities){const e=t.capabilities.split(",").map((e=>e.trim()));this._layerCapabilities={supportsAdd:e.includes("Create"),supportsUpdate:e.includes("Update"),supportsDelete:e.includes("Delete"),supportsEditing:e.includes("Editing"),supportsQuery:e.includes("Catalog"),supportsStandardizedQueries:t.useStandardizedQueries,supportsAttachmentEditing:!1}}this._hasRasterAttributeTable=t.hasRasterAttributeTable}async _applyPortalItemProperties(e){if("Image Service"!==e.type)throw new Error(`Cannot create Imagery Layer from Portal item that has type: ${e.type}`);if(e.typeKeywords.includes("Elevation 3D Layer"))throw new Error("Cannot create Imagery Layer from Portal item that references an Elevation layer");e.url&&(this.layer.url=e.url)}_isSupportedLayer(e){return n(e)}_createSchema(){return new _(this)}_createFeatureSettings(){return new m(this)}};f=t([a],f);export{f as ImageryLayerExtension};let m=class extends c{get _defaultOutFields(){if(null==this.popupTemplate)return["*"];const e=p(this.popupTemplate),t=this.featureSource?.schema?.primaryKeyField;if(e&&t){return super._defaultOutFields.filter((e=>!e.startsWith(h)))}return["*"]}};m=t([a],m);let _=class extends d{static{e=this}static _loadStatusWatchKey="imagery-layer-schema-load-status-watch";_fieldsCollection;constructor(t){super(t),this._fieldsCollection=new o(new y({parent:t,targetProperty:"layer",arrayProperty:"fields"}),{destroyBackingCollection:!0}),s(this,"_fields"),this._handles.add(l(this._layerExtension,"layer.loadStatus",(()=>{"loaded"===this._layerExtension.layer?.loadStatus&&(s(this,"_fields"),this._handles.remove(e._loadStatusWatchKey))}),{sync:!0}),e._loadStatusWatchKey)}destroy(){this._fieldsCollection.destroy(),super.destroy()}get _fields(){return new o(this._fieldsCollection?.concat(this._rasterFields())??new r)}_getPropertyBindings(){return{primaryKeyField:{property:"objectIdField",readonly:!0},spatialReference:{property:"spatialReference",readonly:!0},geometryType:{value:"polygon"}}}_rasterFields(){const{layer:e}=this._layerExtension;return"loaded"!==this._layerExtension.layer?.loadStatus?new r:new r(e?.rasterFields?.filter((e=>e.name.startsWith(h))))}};_=e=t([a],_);
|
|
@@ -198,6 +198,14 @@ export interface MapExtensionEvents extends InitializableBaseEvents {
|
|
|
198
198
|
* Extends the capabilities of an Esri Map object.
|
|
199
199
|
*/
|
|
200
200
|
export declare class MapExtension extends EntityBase<MapExtensionProperties> {
|
|
201
|
+
/**
|
|
202
|
+
* Handle group key for listeners on the current 2D map instance.
|
|
203
|
+
*/
|
|
204
|
+
private static readonly _mapEventHandlesKey;
|
|
205
|
+
/**
|
|
206
|
+
* Handle group key for listeners on the current 3D scene instance.
|
|
207
|
+
*/
|
|
208
|
+
private static readonly _sceneEventHandlesKey;
|
|
201
209
|
/**
|
|
202
210
|
* @deprecated Do not directly reference this property. Use EventNames and
|
|
203
211
|
* EventTypes helpers from @arcgis/core/Evented.
|
|
@@ -327,6 +335,10 @@ export declare class MapExtension extends EntityBase<MapExtensionProperties> {
|
|
|
327
335
|
* The layer extensions associated with each layer of the map.
|
|
328
336
|
*/
|
|
329
337
|
get layerExtensions(): LayerExtensionCollection;
|
|
338
|
+
/**
|
|
339
|
+
* Indicates that the extension is in the process of switching maps.
|
|
340
|
+
*/
|
|
341
|
+
get isSwitchingMap(): boolean;
|
|
330
342
|
/**
|
|
331
343
|
* The table extensions associated with each table in the map.
|
|
332
344
|
*/
|
|
@@ -342,6 +354,10 @@ export declare class MapExtension extends EntityBase<MapExtensionProperties> {
|
|
|
342
354
|
* @inheritDoc
|
|
343
355
|
*/
|
|
344
356
|
protected readonly _itemType: string;
|
|
357
|
+
/**
|
|
358
|
+
* Indicates that the extension is in the process of switching maps.
|
|
359
|
+
*/
|
|
360
|
+
protected _isSwitchingMap: boolean;
|
|
345
361
|
/**
|
|
346
362
|
* The underlying WebMap instance created from
|
|
347
363
|
* {@link mapping/MapExtension!MapExtension.webMap}.
|
|
@@ -434,6 +450,7 @@ export declare class MapExtension extends EntityBase<MapExtensionProperties> {
|
|
|
434
450
|
*/
|
|
435
451
|
setWebScene(webScene: WebSceneLike | undefined): Promise<void>;
|
|
436
452
|
getDefaults(): MapExtensionProperties;
|
|
453
|
+
protected _onDestroy(): Promise<void>;
|
|
437
454
|
/**
|
|
438
455
|
* Creates the 3D scene from the webScene if it's not already created.
|
|
439
456
|
*/
|
|
@@ -468,6 +485,7 @@ export declare class MapExtension extends EntityBase<MapExtensionProperties> {
|
|
|
468
485
|
protected _onInitialize(): Promise<void>;
|
|
469
486
|
protected _postInitialize(): Promise<void>;
|
|
470
487
|
protected _initializableChildCollections(): IterableIterator<Collection<InitializableBase>>;
|
|
488
|
+
private _preserveBasemapAndGround;
|
|
471
489
|
private _initMapFromProperties;
|
|
472
490
|
private _setMap;
|
|
473
491
|
private _onBasemapChange;
|