@vertigis/arcgis-extensions 49.8.1 → 50.0.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 +23 -6
- package/Hyperlink.d.ts +3 -1
- package/Hyperlink.js +1 -1
- package/data/ArcGISServiceTableExtension.js +1 -1
- package/data/Feature.d.ts +1 -3
- package/data/Feature.js +1 -1
- package/data/FeatureSet.d.ts +40 -2
- package/data/FeatureSet.js +1 -1
- package/data/FeatureSettings.js +1 -1
- package/data/FeatureSourceBase.d.ts +22 -27
- package/data/FeatureSourceBase.js +1 -1
- package/data/FieldExtension.d.ts +0 -3
- package/data/FieldExtension.js +1 -1
- package/data/PopupContentExtension.js +1 -1
- package/data/Schema.js +1 -1
- package/data/_Relationship.d.ts +1 -2
- package/data/_TableExtension.d.ts +1 -1
- package/data/_TableExtension.js +1 -1
- package/docs/html/assets/highlight.css +38 -10
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/Entity.EntityBase.html +12 -74
- package/docs/html/classes/Hyperlink.Hyperlink.html +10 -72
- package/docs/html/classes/LanguageResources.LanguageResources.html +36 -30
- package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +35 -97
- package/docs/html/classes/data_Attachment.Attachment.html +12 -74
- package/docs/html/classes/data_Feature.Feature.html +16 -76
- package/docs/html/classes/data_FeatureList.FeatureList.html +73 -17
- package/docs/html/classes/data_FeatureSet.FeatureSet.html +39 -33
- package/docs/html/classes/data_FeatureSettings.FeatureSettings.html +11 -71
- package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +35 -98
- package/docs/html/classes/data_FeatureSourceBase.RelationshipCollection.html +72 -16
- package/docs/html/classes/data_FeatureStream.FeatureStream.html +13 -75
- package/docs/html/classes/data_FieldExtension.FieldExtension.html +13 -75
- package/docs/html/classes/data_PopupContentExtension.PopupContentExtension.html +13 -75
- package/docs/html/classes/data_RelationshipBase.RelationshipBase.html +37 -31
- package/docs/html/classes/data_Schema.Schema.html +13 -73
- package/docs/html/classes/data_TaskSettings.TaskSettings.html +12 -72
- package/docs/html/classes/data__TableExtension.TableExtension.html +34 -96
- package/docs/html/classes/data__TableExtension.TableFeatureSettings.html +11 -71
- package/docs/html/classes/data__TableExtension.TableSchema.html +15 -75
- package/docs/html/classes/layer_preset_LayerPreset.LayerPreset.html +14 -76
- package/docs/html/classes/layer_preset_LayerPresetSettings.LayerPresetSetting.html +36 -30
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerRelationshipCollection.html +72 -16
- package/docs/html/classes/mapping_BasemapExtension.BasemapExtension.html +14 -76
- package/docs/html/classes/mapping_Bookmark.Bookmark.html +12 -74
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +13 -73
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerFeatureSettings.html +11 -53
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +35 -97
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +35 -97
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +35 -97
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +35 -97
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +35 -97
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +13 -73
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +13 -73
- package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GroundExtension.GroundExtension.html +13 -75
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +35 -97
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtensionCollection.html +74 -23
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +35 -97
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +35 -97
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +35 -97
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +35 -97
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapConstraints.MapConstraints.html +12 -72
- package/docs/html/classes/mapping_MapExtension.MapExtension.html +13 -75
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +13 -73
- package/docs/html/classes/mapping_MediaLayerExtension.MediaLayerExtension.html +35 -97
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +35 -97
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +35 -97
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +35 -97
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +13 -73
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +35 -97
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +35 -97
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +13 -73
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +35 -97
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerRelationshipCollection.html +72 -16
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +13 -73
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerRelationshipCollection.html +72 -16
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +13 -73
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +35 -97
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +35 -97
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WFSLayerExtension.WFSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +35 -97
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +35 -97
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +35 -97
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +35 -97
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +13 -73
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +13 -73
- package/docs/html/classes/mapping__LayerExtensionCollectionImpl.LayerExtensionCollectionImpl.html +74 -23
- package/docs/html/classes/mapping__SublayerExtension.SubSublayerExtensionCollection.html +74 -23
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +35 -97
- package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +13 -73
- package/docs/html/classes/mapping_support_ArrayWrappedCollection.ArrayWrappedCollection.html +72 -16
- package/docs/html/classes/mapping_support_LayerListSettings.ExtensionBaseLayerListSettings.html +9 -71
- package/docs/html/classes/mapping_support_LayerListSettings.LayerListSettings.html +10 -72
- package/docs/html/classes/mapping_support__LayerExtensionCollection.LayerExtensionCollectionBase.html +77 -26
- package/docs/html/classes/mapping_support__SublayerExtensionCollection.SublayerExtensionCollectionBase.html +77 -26
- package/docs/html/classes/menus_Menu.Menu.html +13 -75
- package/docs/html/classes/menus_MenuItem.MenuItem.html +13 -75
- package/docs/html/classes/support_FormatSettings.FormatSettings.html +12 -72
- package/docs/html/classes/support_InitializableBase.InitializableBase.html +21 -83
- package/docs/html/classes/support_InitializableCollectionProxy.InitializableCollectionProxy.html +73 -17
- package/docs/html/classes/support_Observable.Observable.html +27 -26
- package/docs/html/classes/support_ReadOnlyInitializableCollection.ReadOnlyInitializableCollection.html +73 -17
- package/docs/html/classes/support_Serializable.SerializableBase.html +38 -32
- package/docs/html/classes/support_Settings.Settings.html +15 -75
- package/docs/html/classes/support__ArcGISRelationshipCollection.ArcGISRelationshipCollection.html +72 -16
- package/docs/html/classes/support_observableUtils.ObservableMixin.html +3 -0
- package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +35 -97
- package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +33 -95
- package/docs/html/classes/tasks_identify_IdentifyService.IdentifyService.html +11 -73
- package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +36 -30
- package/docs/html/classes/tasks_query_QueryBasedRelationship.QueryBasedRelationship.html +36 -30
- package/docs/html/classes/tasks_query_QueryService.QueryService.html +11 -73
- package/docs/html/classes/tasks_search_SearchService.SearchService.html +12 -74
- package/docs/html/classes/utilities_CaseInsensitiveObservableMap.CaseInsensitiveObservableMap.html +24 -27
- package/docs/html/classes/utilities_CollectionProxy.CollectionProxy.html +73 -17
- package/docs/html/classes/utilities_CopyOnWriteCollection.CopyOnWriteCollection.html +72 -16
- package/docs/html/classes/utilities_MapTransformCollection.MapTransformCollection.html +72 -16
- package/docs/html/classes/utilities_ObservableMap.ObservableMap.html +26 -32
- package/docs/html/classes/utilities_ObservableSet.ObservableSet.html +38 -32
- package/docs/html/classes/utilities_ObservableWeakSet.ObservableWeakSet.html +44 -42
- package/docs/html/classes/utilities_ReadOnlyCollection.ReadOnlyCollection.html +72 -16
- package/docs/html/classes/utilities_ReadOnlyMap.ReadOnlyMap.html +23 -29
- package/docs/html/classes/utilities_format_date.DateFormatter.html +37 -31
- package/docs/html/classes/utilities_format_number.NumberFormatter.html +37 -31
- package/docs/html/classes/utilities_format_time.TimeFormatter.html +37 -31
- package/docs/html/functions/support_Observable.deprecatedGetPropertyPath.html +7 -0
- package/docs/html/functions/support_Observable.deprecatedNotifyChange.html +5 -0
- package/docs/html/functions/support_Observable.deprecatedSet.html +9 -0
- package/docs/html/functions/support_Observable.deprecatedWatch.html +9 -0
- package/docs/html/functions/support_Observable.deprecatedWatchProperty.html +14 -0
- package/docs/html/functions/support_Observable.getPropertyByPath.html +3 -2
- package/docs/html/functions/support_observableUtils.createIHandle.html +8 -0
- package/docs/html/functions/support_observableUtils.notifyChange.html +8 -0
- package/docs/html/functions/support_observableUtils.observable-1.html +31 -0
- package/docs/html/functions/support_observableUtils.onWatch.html +14 -0
- package/docs/html/functions/support_observableUtils.once.html +11 -0
- package/docs/html/functions/support_observableUtils.watch.html +24 -0
- package/docs/html/functions/support_observableUtils.watchEach.html +33 -0
- package/docs/html/functions/support_observableUtils.watchEvent.html +12 -0
- package/docs/html/functions/support_observableUtils.when.html +9 -0
- package/docs/html/functions/support_observableUtils.whenOnce.html +9 -0
- package/docs/html/functions/utilities__layer_preset.createFlattenedLayerXList.html +5 -0
- package/docs/html/functions/utilities__layer_preset.createRef.html +5 -0
- package/docs/html/functions/utilities__layer_preset.getBackingLayer.html +6 -0
- package/docs/html/functions/utilities__layer_preset.isIterable.html +4 -0
- package/docs/html/functions/utilities__layer_preset.isLayerRefEqual.html +5 -0
- package/docs/html/functions/utilities__layer_preset.isSublayerRefEqual.html +7 -0
- package/docs/html/functions/utilities__layer_preset.toMapExtension.html +4 -0
- package/docs/html/functions/utilities_checkArg.checkArg.html +1 -1
- package/docs/html/functions/utilities_watch.onCollectionPropertyChange.html +6 -1
- package/docs/html/functions/utilities_watch.watchCollectionPropertyEach.html +5 -4
- package/docs/html/functions/utilities_watch.watchEach.html +8 -6
- package/docs/html/hierarchy.html +1 -1
- package/docs/html/interfaces/data_ArcGISServiceTableExtension.ArcGISServiceTableExtensionProperties.html +1 -1
- package/docs/html/interfaces/data_Feature.PresentableAttributes.html +24 -30
- package/docs/html/interfaces/data_Schema.SchemaProperties.html +2 -2
- package/docs/html/interfaces/data__Relationship.Relationship-1.html +35 -29
- package/docs/html/interfaces/data__TableExtension.TableExtensionProperties.html +1 -1
- package/docs/html/interfaces/json_AnnotationLayerJson.AnnotationLayerJson.html +2 -2
- package/docs/html/interfaces/json_BasemapLayerJson.BasemapLayerJsonBase.html +2 -2
- package/docs/html/interfaces/json_BingLayerJson.BingLayerJson.html +2 -2
- package/docs/html/interfaces/json_BuildingSceneLayerJson.BuildingSceneLayerJson.html +2 -2
- package/docs/html/interfaces/json_CSVLayerJson.CSVLayerJson.html +2 -2
- package/docs/html/interfaces/json_FeatureLayerJson.FeatureLayerJson.html +2 -2
- package/docs/html/interfaces/json_GeoJSONLayerJson.GeoJSONLayerJson.html +2 -2
- package/docs/html/interfaces/json_GeoRSSLayerJson.GeoRSSLayerJson.html +2 -2
- package/docs/html/interfaces/json_GroupLayerJson.GroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_ImageServiceLayerJson.ImageServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_ImageServiceVectorLayerJson.ImageServiceVectorLayerJson.html +2 -2
- package/docs/html/interfaces/json_IntegratedMeshLayerJson.IntegratedMeshLayerJson.html +2 -2
- package/docs/html/interfaces/json_ItemJson.ItemJson.html +2 -2
- package/docs/html/interfaces/json_KMLLayerJson.KMLLayerJson.html +2 -2
- package/docs/html/interfaces/json_LayerJson.LayerJsonBase.html +2 -2
- package/docs/html/interfaces/json_MapServiceLayerJson.MapServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_MediaLayerJson.MediaLayerJson.html +2 -2
- package/docs/html/interfaces/json_OpenStreetMapLayerJson.OpenStreetMapLayerJson.html +2 -2
- package/docs/html/interfaces/json_OperationalLayerJson.OperationalLayerJsonBase.html +2 -2
- package/docs/html/interfaces/json_PointCloudLayerJson.PointCloudLayerJson.html +2 -2
- package/docs/html/interfaces/json_RasterDataElevationLayerJson.RasterDataElevationLayerJson.html +2 -2
- package/docs/html/interfaces/json_SceneLayerJson.SceneLayerJson.html +2 -2
- package/docs/html/interfaces/json_StreamLayerJson.StreamLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeGroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeGroupLayerJson.SubtypeSubtypeGroupLayerJson.html +2 -2
- package/docs/html/interfaces/json_SubtypeSublayerJson.SubtypeSublayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledElevationServiceLayerJson.TiledElevationServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledImageServiceLayerJson.TiledImageServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_TiledMapServiceLayerJson.TiledMapServiceLayerJson.html +2 -2
- package/docs/html/interfaces/json_VectorTileLayerJson.VectorTileLayerJson.html +2 -2
- package/docs/html/interfaces/json_WFSLayerJson.WFSLayerJson.html +2 -2
- package/docs/html/interfaces/json_WMSLayerJson.WMSLayerJson.html +2 -2
- package/docs/html/interfaces/json_WebTileLayerJson.WebTileLayerJson.html +2 -2
- package/docs/html/interfaces/mapping_ArcGISSublayerExtension.ArcGISSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_BuildingSceneLayerExtension.BuildingSceneLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_BuildingSublayerExtension.BuildingSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_CSVLayerExtension.CSVLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ElevationLayerExtension.ElevationLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_FeatureLayerExtension.FeatureLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerBaseProperties.html +2 -2
- package/docs/html/interfaces/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBaseProperties.html +1 -1
- package/docs/html/interfaces/mapping_GeoJSONLayerExtension.GeoJSONLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GeoRSSLayerExtension.GeoRSSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GraphicsLayerExtension.GraphicsLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_GroupLayerExtension.GroupLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ImageryLayerExtension.ImageryLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_ImageryTileLayerExtension.ImageryTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_KMLLayerExtension.KMLLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_KMLSublayerExtension.KMLSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapExtension.MapExtensionProperties.html +3 -3
- package/docs/html/interfaces/mapping_MapImageLayerExtension.MapImageLayerExtensionProperties.html +4 -4
- package/docs/html/interfaces/mapping_MapImageSublayerExtension.MapImageSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapNotesLayerExtension.MapNotesLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_MediaLayerExtension.MediaLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_PointCloudLayerExtension.PointCloudLayerProperties.html +2 -2
- package/docs/html/interfaces/mapping_RouteLayerExtension.RouteLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SceneLayerExtension.SceneLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_StreamLayerExtension.StreamLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_SubtypeSublayerExtension.SubtypeSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_TileLayerExtension.TileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_TileSublayerExtension.TileSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_VectorTileLayerExtension.VectorTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WFSLayerExtension.WFSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMSLayerExtension.WMSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMSSublayerExtension.WMSSublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WMTSLayerExtension.WMTSLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_WebTileLayerExtension.WebTileLayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping__LayerExtension.LayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping__SublayerExtension.SublayerExtensionProperties.html +1 -1
- package/docs/html/interfaces/mapping_support_ArrayWrappedCollection.ArrayWrappedCollectionProperties.html +3 -3
- package/docs/html/interfaces/support_InitializableBase.Initializable.html +1 -1
- package/docs/html/interfaces/support_Observable.IDeprecatedObservable.html +57 -0
- package/docs/html/interfaces/support_Serializable.Serializable.html +60 -5
- package/docs/html/interfaces/support_esri.SublayerLike.html +2 -29
- package/docs/html/interfaces/support_observableUtils.IHandle.html +9 -0
- package/docs/html/interfaces/support_observableUtils.WatchEachOptions.html +29 -0
- package/docs/html/interfaces/support_observableUtils.WatchOptions.html +26 -0
- package/docs/html/interfaces/utilities_collection.AfterItemChangeEvent.html +4 -0
- package/docs/html/modules/support_Observable.html +8 -2
- package/docs/html/modules/support_esri.html +4 -3
- package/docs/html/modules/support_observableUtils.html +20 -0
- package/docs/html/modules/utilities_ObservableWeakSet.html +1 -1
- package/docs/html/modules/utilities__layer_preset.html +8 -0
- package/docs/html/modules/utilities_collection.html +1 -0
- package/docs/html/modules/utilities_layer_preset.html +7 -0
- package/docs/html/modules/utilities_layers.html +3 -2
- package/docs/html/modules/utilities_watch.html +4 -4
- package/docs/html/modules.html +3 -0
- package/docs/html/types/support_esri.CollectionAfterEvent.html +1 -0
- package/docs/html/types/support_esri.CollectionAfterItemEvent.html +1 -1
- package/docs/html/types/support_esri.CollectionEvent.html +1 -0
- package/docs/html/types/support_esri.CollectionItemEvent.html +1 -0
- package/docs/html/types/support_observableUtils.Observable.html +5 -0
- package/docs/html/types/support_observableUtils.ObservablePropertyPath.html +9 -0
- package/docs/html/types/support_observableUtils.TargetTypeFromPath.html +14 -0
- package/docs/html/types/support_observableUtils.ValueTypeFromPath.html +14 -0
- package/docs/html/types/support_observableUtils.WhenOptions.html +7 -0
- package/docs/html/types/utilities_watch.WatchCallback.html +3 -0
- package/docs/html/variables/version.version.html +1 -1
- package/layer-preset/LayerPreset.d.ts +1 -1
- package/layer-preset/LayerPreset.js +1 -1
- package/mapping/ArcGISSublayerExtension.js +1 -1
- package/mapping/BasemapExtension.d.ts +1 -1
- package/mapping/BasemapExtension.js +1 -1
- package/mapping/BuildingComponentSublayerExtension.js +1 -1
- package/mapping/CSVLayerExtension.js +1 -1
- package/mapping/FeatureLayerExtension.js +1 -1
- 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.js +1 -1
- package/mapping/GroupLayerExtension.js +1 -1
- package/mapping/ImageryLayerExtension.js +1 -1
- package/mapping/KMLLayerExtension.js +1 -1
- package/mapping/MapExtension.d.ts +1 -1
- 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.js +1 -1
- package/mapping/SubtypeGroupLayerExtension.js +1 -1
- package/mapping/SubtypeSublayerExtension.js +1 -1
- package/mapping/WFSLayerExtension.js +1 -1
- package/mapping/WMTSLayerExtension.js +1 -1
- package/mapping/_LayerExtension.js +1 -1
- package/mapping/_SublayerExtension.d.ts +1 -1
- package/mapping/_SublayerExtension.js +1 -1
- package/mapping/support/ArrayWrappedCollection.d.ts +3 -3
- package/mapping/support/ArrayWrappedCollection.js +1 -1
- package/mapping/support/LayerListSettings.d.ts +3 -1
- package/mapping/support/LayerListSettings.js +1 -1
- package/mapping/support/PopupTemplateFeatureSettings.js +1 -1
- package/mapping/support/_LayerExtensionCollection.d.ts +19 -4
- package/mapping/support/_LayerExtensionCollection.js +1 -1
- package/mapping/support/_SublayerExtensionCollection.d.ts +19 -4
- package/mapping/support/_SublayerExtensionCollection.js +1 -1
- package/package.json +1 -1
- package/portal/BuildingSceneLayer.js +1 -1
- package/portal/SubtypeGroupLayer.js +1 -1
- package/portal/WMSLayer.js +1 -1
- package/support/InitializableBase.d.ts +12 -3
- package/support/InitializableBase.js +1 -1
- package/support/InitializeError.js +1 -1
- package/support/Observable.d.ts +164 -14
- package/support/Observable.js +1 -1
- package/support/Serializable.d.ts +40 -3
- package/support/Serializable.js +1 -1
- package/support/Settings.d.ts +6 -7
- package/support/Settings.js +1 -1
- package/support/esri.d.ts +6 -52
- package/support/observableUtils.d.ts +560 -0
- package/support/observableUtils.js +1 -0
- package/tasks/geocoding/ArcGISGeocoder.js +1 -1
- package/tasks/query/ClientSideQueryProvider.js +1 -1
- package/utilities/CollectionProxy.d.ts +54 -23
- package/utilities/CollectionProxy.js +1 -1
- package/utilities/MapTransformCollection.js +1 -1
- package/utilities/ObservableMap.d.ts +35 -4
- package/utilities/ObservableMap.js +1 -1
- package/utilities/ObservableSet.d.ts +44 -3
- package/utilities/ObservableSet.js +1 -1
- package/utilities/ObservableWeakSet.d.ts +3 -0
- package/utilities/ReadOnlyMap.d.ts +15 -2
- package/utilities/ReadOnlyMap.js +1 -1
- package/utilities/_layer-preset.d.ts +65 -0
- package/utilities/_layer-preset.js +1 -0
- package/utilities/collection.d.ts +9 -0
- package/utilities/collection.js +1 -1
- package/utilities/layer-preset.d.ts +1 -0
- package/utilities/layer-preset.js +1 -0
- package/utilities/layers.d.ts +1 -1
- package/utilities/layers.js +1 -1
- package/utilities/watch.d.ts +25 -7
- package/utilities/watch.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/docs/html/interfaces/support_esri.AccessorLike.html +0 -29
- package/docs/html/types/support_esri.WatchCallback.html +0 -3
package/data/FieldExtension.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;import{__decorate as
|
|
1
|
+
var e;import{__decorate as i}from"tslib";import t from"@arcgis/core/layers/support/Field";import{EntityBase as s}from"../Entity.js";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{isFieldExtension as o,ItemType as f}from"../ItemType.js";import{FormatSettings as a}from"../support/FormatSettings.js";import{serializable as n}from"../support/Serializable.js";import{notifyChange as d,onWatch as l,watch as m}from"../support/observableUtils.js";import{isField as h}from"../utilities/esri.js";import{isArcadeExpressionField as _}from"../utilities/field.js";import{esriFormatToGeocortexFormat as p}from"../utilities/format/date.js";import{NumberFormat as F}from"../utilities/format/formats.js";import{esriFormatToGeocortexFormat as c}from"../utilities/format/time.js";import{deepClone as u}from"../utilities/object.js";import{caseInsensitiveEquals as g}from"../utilities/string.js";export const _fieldExtensionMap=new WeakMap;let I=e=class extends s{get field(){return this._field}get schema(){return this._schema}get fieldInfo(){if(this._fieldInfo)return this._fieldInfo;if(!this.field?.name)return;const e=this._schema?._featureSettings?.popupTemplate,i=e?.fieldInfos||[];return this._fieldInfo=i.find((e=>g(e.fieldName,this.field.name))),this._fieldInfo}format="{0}";formatSettings=new S(this);searchable=!0;_itemType=f.FIELD_EXTENSION;_field;_fieldInfo;_schema;_deferredFieldProperties;_originalRef;constructor(e){super(e);const{field:i}=e??{};h(i)?this._setField(i):"string"==typeof i?this._deferredFieldProperties={$ref:i}:i?i.$ref?this._deferredFieldProperties=i:this._setField(t.fromJSON(i)):this._setField(new t),l(this,"fieldInfo",(()=>m(this,"schema._featureSettings.featureSource",(()=>d(this,"fieldInfo")),{sync:!0}))),m(this,"schema._featureSettings",(e=>{this.formatSettings.parent=e?e.formatSettings:void 0}),{sync:!0})}static matchesRef(e,i){return o(e)?g(e.field?.name??e._deferredFieldProperties?.$ref,i.$ref??i.name):g(e.name,i.$ref??i.name)}_switchField(e){e&&this._field!==e&&(this._field=e,_fieldExtensionMap.set(e,this))}_setSchema(e){this._schema=e,this._resolveField(),d(this,"schema"),d(this,"fieldInfo")}_resolveField(){if(this._field||!this._deferredFieldProperties||!this._schema)return;const i=this._schema.fields.find((i=>e.matchesRef(i,this._deferredFieldProperties)));i&&(this._setField(i),this.assignProperties({field:this._deferredFieldProperties}),this._originalRef=this._deferredFieldProperties.$ref,delete this._deferredFieldProperties,_fieldExtensionMap.set(i,this))}_getSerializableProperties(){return{...super._getSerializableProperties(),field:{serializeModes:["initial"],serialize:()=>this.field?this._originalRef?{$ref:this._originalRef}:this._schema?.fields.includes(this._field)&&this.field.name?{$ref:this.field.name}:this.field.toJSON():this._deferredFieldProperties?u(this._deferredFieldProperties):void 0,deserialize:e=>{if(h(e)&&e!==this.field)throw new Error("Property 'field' is read-only.")}},searchable:{serializeModes:["initial"],isDefault:e=>e!==_(this._field?.name)},format:{serializeModes:["initial"],default:"{0}"},formatSettings:"initial"}}async _onInitialize(){if(this._resolveField(),!this._field){const e=this._deferredFieldProperties.$ref;throw this._schema?new r(`Field not found with name: ${e}. Field does not exist.`):new r(`Field not found with name: ${e}. Field does not have a parent schema.`)}}_setField(e){this._field=e,_(this._field?.name)&&(this.searchable=!1),d(this,"field"),d(this,"fieldInfo")}};I=e=i([n],I);export{I as FieldExtension};let S=class extends a{fieldExtension;constructor(e,i){super(i),this.fieldExtension=e,l(this,"dateFormat",(()=>m(this.fieldExtension,"fieldInfo.format.dateFormat",(()=>d(this,"dateFormat")),{sync:!0}))),l(this,"timeFormat",(()=>m(this.fieldExtension,"fieldInfo.format.dateFormat",(()=>d(this,"timeFormat")),{sync:!0}))),l(this,"fractionalDigits",(()=>m(this.fieldExtension,"fieldInfo.format.places",(()=>d(this,"fractionalDigits")),{sync:!0}))),l(this,"numberFormat",(()=>m(this.fieldExtension,"fieldInfo.format.digitSeparator",(()=>d(this,"numberFormat")),{sync:!0})))}get fractionalDigits(){const e=this.fieldExtension.fieldInfo?.format?.places;return!this.isModified("fractionalDigits")&&this.useFieldInfo&&e?e:this._getSetting("fractionalDigits")}set fractionalDigits(e){this._setSetting("fractionalDigits",e)}get numberFormat(){const e=this.fieldExtension.fieldInfo?.format?.digitSeparator;return!this.isModified("numberFormat")&&this.useFieldInfo&&e?e?F.NUMBER:F.FIXED_POINT:this._getSetting("numberFormat")}set numberFormat(e){this._setSetting("numberFormat",e)}get dateFormat(){const e=this.fieldExtension.fieldInfo?.format?.dateFormat;return!this.isModified("dateFormat")&&this.useFieldInfo&&e?p(e):this._getSetting("dateFormat")}set dateFormat(e){this._setSetting("dateFormat",e)}get timeFormat(){const e=this.fieldExtension.fieldInfo?.format?.dateFormat;return!this.isModified("timeFormat")&&this.useFieldInfo&&e&&"time-only"===this.fieldExtension.field.type?c(e):this._getSetting("timeFormat")}set timeFormat(e){this._setSetting("timeFormat",e)}};S=i([n],S);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var t;import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import n from"@arcgis/core/popup/content/Content.js";import{EntityBase as r}from"../Entity.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{jsonToContent as p}from"../json/PopupInfoJson.js";import{serializable as a}from"../support/Serializable.js";import{
|
|
1
|
+
var t;import{__decorate as e}from"tslib";import i from"@arcgis/core/core/Collection";import n from"@arcgis/core/popup/content/Content.js";import{EntityBase as r}from"../Entity.js";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{ItemType as o}from"../ItemType.js";import{jsonToContent as p}from"../json/PopupInfoJson.js";import{serializable as a}from"../support/Serializable.js";import{notifyChange as f}from"../support/observableUtils.js";import{compare as d}from"../utilities/array.js";import{isCustomContent as u,isExpressionContent as h,isPopupContent as l,isTextContent as _}from"../utilities/esri.js";import{deepClone as m}from"../utilities/object.js";export const _popupContentExtensionMap=new WeakMap;let c=t=class extends r{get content(){return this._content}get featureSettings(){return this._featureSettings}_deferredContentProperties;visibleInSummary;summaryHiddenFields=new i;_itemType=o.POPUP_CONTENT_EXTENSION;_content;_featureSettings;_originalRef;get _index(){return Array.isArray(this.featureSettings?.popupTemplate?.content)?this.featureSettings.popupTemplate.content.indexOf(this.content):-1}constructor(t){super(t);const{content:e,visibleInSummary:i}=t??{};l(e)?this._setContent(e):"string"==typeof e?this._deferredContentProperties={$ref:e}:e?e.$ref?this._deferredContentProperties=e:this._setContent(p(e)):this._setContent(new n),this.visibleInSummary=i??this._getDefaultSummaryVisibility()}static matchesRef(e,i,n){const r=e.map(((e,i)=>y(e,e instanceof t&&e._index>=0?e._index:i))),s=r[i],{type:o,index:p,title:a,text:f}=n.$ref;if(o!==s.type)return!1;if("text"===o&&f===s.text)return!0;if(a&&a===s.title)return!0;if("number"==typeof p&&p===s.index)return!0;return 1===r.map(((t,e)=>t.type===o?t.index:void 0)).filter((t=>"number"==typeof t)).length}_switchContent(t){t&&this._content!==t&&(this._content=t,this._originalRef=y(t,this._index),_popupContentExtensionMap.set(t,this),f(this,"content"))}_setFeatureSettings(t){this._featureSettings=t,this._resolveContent(),f(this,"featureSettings")}_resolveContent(){if(this._content||!this._deferredContentProperties||!this._featureSettings)return;const e=this._featureSettings._popupContent.find(((e,i)=>t.matchesRef(this.featureSettings._popupContent.toArray(),i,this._deferredContentProperties)));e&&(this._setContent(e),this.assignProperties({content:this._deferredContentProperties}),this._originalRef={...this._deferredContentProperties.$ref},delete this._deferredContentProperties,_popupContentExtensionMap.set(e,this))}_getSerializableProperties(){return{...super._getSerializableProperties(),content:{serializeModes:["initial"],serialize:()=>this.content?this._originalRef?{$ref:this._originalRef}:this._featureSettings?._popupContent.includes(this._content)?{$ref:y(this.content,this._index)}:this.content?.toJSON():this._deferredContentProperties?m(this._deferredContentProperties):void 0,deserialize:t=>{if(l(t)&&t!==this.content)throw new Error("Property 'popupContent' is read-only.")}},visibleInSummary:{serializeModes:["initial"],isDefault:(t,e)=>t===this._getDefaultSummaryVisibility()},summaryHiddenFields:{serializeModes:["initial"],serialize:()=>this.summaryHiddenFields.toArray(),deserialize:t=>{d(this.summaryHiddenFields,t,{onMatch:(t,e,i,n)=>{this.summaryHiddenFields.reorder(t,n)},onMissing:t=>{this.summaryHiddenFields.remove(t)},onNew:t=>{this.summaryHiddenFields.add(t)}})}}}}async _onInitialize(){if(this._resolveContent(),!this._content){const t=this._deferredContentProperties.$ref;throw this._featureSettings?new s(`PopupContent not found with reference: ${JSON.stringify(t)}. PopupContent does not exist.`):new s(`PopupContent not found with reference: ${JSON.stringify(t)}. PopupContent does not have a parent featureSettings.`)}}_setContent(t){this._content=t,f(this,"content")}_getDefaultSummaryVisibility(){return"text"===(this.content?.type??this._deferredContentProperties?.type??this._deferredContentProperties?.$ref?.type)}};c=t=e([a],c);export{c as PopupContentExtension};function y(t,e){const i=t instanceof c?t.content:t;if(!i)return t._deferredContentProperties?.$ref;const n={type:i.type};return e>=0&&(n.index=e),h(i)?n.title=i.expressionInfo.title:_(i)?n.text=i.text:u(i)||(n.title=i.title),n}
|
package/data/Schema.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e;import{__decorate as i}from"tslib";import t from"@arcgis/core/PopupTemplate";import s from"@arcgis/core/core/Collection";import o from"@arcgis/core/layers/support/FeatureType";import n from"@arcgis/core/layers/support/Field";import l from"@arcgis/core/popup/FieldInfo";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{isFieldExtension as d}from"../ItemType.js";import{jsonToGeometryType as a}from"../json/GeometryJson.js";import{InitializableCollectionProxy as h}from"../support/InitializableCollectionProxy.js";import{filterJSONProperties as m,isDefault as p,serializable as f,shouldExcludeDefaults as c}from"../support/Serializable.js";import{Settings as _}from"../support/Settings.js";import{CaseInsensitiveObservableMap as u}from"../utilities/CaseInsensitiveObservableMap.js";import{CollectionProxy as g}from"../utilities/CollectionProxy.js";import y from"../utilities/_ReferenceCountedHandle.js";import{checkArg as F}from"../utilities/checkArg.js";import{compare as x}from"../utilities/collection.js";import{isFeatureType as v,isField as b}from"../utilities/esri.js";import{fieldWithArcadeXRegex as T,fieldWithRelationshipRegex as S,getArcadeExpressionFromField as w}from"../utilities/field.js";import{isValidTimeZone as I,ERR_TIME_ZONE_INVALID as z}from"../utilities/format/date.js";import{objectKeys as N}from"../utilities/object.js";import{caseInsensitiveEquals as C}from"../utilities/string.js";import{onCollectionPropertyChange as E}from"../utilities/watch.js";import{_fieldExtensionMap as j,FieldExtension as k}from"./FieldExtension.js";const A=new Map;A.set("objectid","oid"),A.set("oid","oid"),A.set("fid","oid"),A.set("shape","geometry"),A.set("shape__length","double"),A.set("shape_length","double"),A.set("shape__area","double"),A.set("shape_area","double"),A.set("area","double"),A.set("perimeter","double"),A.set("length","double"),A.set("fnode_","double"),A.set("tnode_","double"),A.set("lpoly_","double"),A.set("rpoly_","double"),A.set("cover_","integer"),A.set("cover_id","integer"),A.set("idtic","integer"),A.set("xtic","double"),A.set("ytic","double"),A.set("xmin","double"),A.set("ymin","double"),A.set("xmax","double"),A.set("ymax","double"),A.set("arc_","double"),A.set("subclass_","integer"),A.set("subclass_id","integer"),A.set("routelink","integer"),A.set("arclink","integer"),A.set("f_meas","double"),A.set("t_meas","double"),A.set("f_pos","double"),A.set("t_pos","double"),A.set("f_meas","double"),A.set("globalid","global-id"),A.set("guid","guid");export{T as fieldWithArcadeXRegex,S as fieldWithRelationshipRegex};const M=new WeakMap;let L=e=class extends _{fieldExtensions;fields;get spatialReference(){return this._getSetting("spatialReference")}set spatialReference(e){this._setSetting("spatialReference",e)}get primaryKeyField(){const e=this._getSetting("primaryKeyField");if(!e){const e=this.fields.filter((e=>"oid"===e.type));if(1===e.length)return e.getItemAt(0).name}return e}set primaryKeyField(e){this._setSetting("primaryKeyField",e)}get displayField(){return this._getSetting("displayField",this.primaryKeyField)}set displayField(e){!this._featureSettings?.popupTemplate||this._featureSettings.popupTemplate.title&&this._featureSettings.popupTemplate.title!==`{${this.displayField}}`||(this._featureSettings.popupTemplate.title=`{${e}}`),this._setSetting("displayField",e)}get geometryType(){return this._getSetting("geometryType")}set geometryType(e){this._setSetting("geometryType",e)}get hasGeometry(){return void 0!==this.geometryType&&null!==this.geometryType}get timeZone(){return this._getSetting("timeZone","UTC")}set timeZone(e){F("timeZone",e).satisfies((e=>I(e)),z(e)),this._setSetting("timeZone",e)}get typeIdField(){return this._getSetting("typeIdField")}set typeIdField(e){this._setSetting("typeIdField",e)}get types(){return this._getCollectionSetting("types")}get _fields(){return this._getCollectionSetting("_fields")}_featureSettings;_alwaysSerializeFieldExtensions;constructor(e){super(e),this.fieldExtensions=new O(this),this.fields=new R(this)}static createFieldInfoFromField(e){let i=!0;const t=e.name.toLowerCase();return("oid"===e.type||"geometry"===e.type||A.has(t)&&A.get(t)===e.type)&&(i=!1),new l({visible:i,fieldName:e.name,format:void 0,label:e.alias,stringFieldOption:void 0,tooltip:void 0,isEditable:e.editable})}findFieldByName(e){return this.fields.findFieldByName(e)}toJSON(e="all"){const i=m(this._getSerializableProperties(),this,e)||{};let t=i.fieldExtensions;this.parent&&(t=t?.filter((e=>{const i=this.parent;return!i?.fieldExtensions?.some((i=>i.id===e.id))})));const{fields:s}=i;if(i)for(const e of N(i))this.isModified(e)||delete i[e];if(s&&(i.fields=s),t?.length&&(i.fieldExtensions=t),!c(e)||!p(i))return i}createPopupTemplate(){const e=this.createAllFieldInfos();return new t({fieldInfos:e,content:[{type:"fields"},{type:"attachments"}]})}createAllFieldInfos(){return this.fields.toArray().filter((e=>!!e.name)).map((i=>e.createFieldInfoFromField(i)))}_getSerializableProperties(){return{geometryType:{serialize:!1,deserialize:e=>{this.geometryType=e?a(e):void 0}},spatialReference:{serialize:!1},primaryKeyField:{serialize:!1},displayField:{serialize:!1},typeIdField:{serialize:!1},fields:{serializeModes:["initial","project"],serialize:()=>this.isModified("_fields")?this.fields.toArray().map((e=>e.toJSON())):void 0,deserialize:e=>{if(!e)return;const i=e.map((e=>b(e)?e:n.fromJSON(e)));x(this.fields,i,{onNew:(e,i)=>{this.fields.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.alias=i.alias,e.editable=i.editable,e.length=i.length,e.nullable=i.nullable,e.type=i.type),t!==s&&this.fields.reorder(e,s)},onMissing:e=>{this.fields.remove(e)},equals:(e,i)=>C(e.name,i.name)})}},fieldExtensions:{serializeModes:["initial"],serialize:e=>this.fieldExtensions.toArray().map((i=>i.toJSON(e))).filter((e=>this._alwaysSerializeFieldExtensions||!(e&&2===Object.keys(e).length&&e.id&&e.field))),deserialize:e=>{e&&x(this.fieldExtensions,e,{onNew:(e,i)=>{this.fieldExtensions.add(d(e)?e:new k(e),i)},onMatch:(e,i,t,s)=>{d(i)||e.assignProperties(i),t!==s&&this.fieldExtensions.reorder(e,s)},onMissing:e=>{this._alwaysSerializeFieldExtensions&&this.fieldExtensions.remove(e)},equals:(e,i)=>d(i)?i===e:!(!i?.field||!k.matchesRef(e,i.field))||e.id===i.id})}},types:{serialize:!1,deserialize:e=>{if(!e)return;const i=e.map((e=>v(e)||!e?e:o.fromJSON(e)));x(this.types,i,{onNew:(e,i)=>{this.types.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.name=i.name,e.templates=i.templates?[...i.templates]:[],e.domains=i.domains),t!==s&&this.types.reorder(e,s)},onMissing:e=>{this.types.remove(e)},equals:(e,i)=>e.id===i.id})}},timeZone:{serialize:!1,deserialize:e=>{e&&(this.timeZone=e)}}}}};L=e=i([f],L);export{L as Schema};class R extends g{_schema;_fieldNameToField;_backingCollection;_expressionFields;get _expressionFieldsLength(){return this.expressionFields.length}get expressionFields(){return null==this._expressionFields&&this._generateExpressionFields(),this._expressionFields}get _collection(){return null==this._backingCollection&&this._generateCollection(),this._backingCollection}get _popupTemplate(){return this._schema._featureSettings?this._schema._featureSettings.popupTemplate:void 0}constructor(e){super(),this._schema=e,E(this._schema,"_fields",(e=>{this.emit("change",e)})),this._schema.watch("_fields.length",(()=>{this.notifyChange("length")}));const i=()=>{const e=()=>this._schema._featureSettings?.popupTemplate?.watch(["fieldInfos","expressionInfos"],(()=>{this._resetLookups()}),!0);let i=e();const t=this._schema._featureSettings?.watch("popupTemplate",(t=>{this._resetLookups(),i?.remove(),i=e()}),!0);return this._resetLookups(),{remove:()=>{i?.remove(),t?.remove()}}};let t,s=i();this._schema.watch("_featureSettings",(()=>{s?.remove(),s=i()}),!0),null!=this._schema._fields&&(t=this._schema._fields.on("after-changes",(()=>{this._resetLookups()}))),this._schema.watch("_fields",(e=>{t?.remove(),t=e?.on("after-changes",(()=>{this._resetLookups()})),this._resetLookups()}),!0)}clone(){return new R(this._schema)}add(e,i){F("field",e).isNotMissing(),this._backingCollection=void 0,this._fieldNameToField=void 0;const t=w(e.name);if(t){if(!this._popupTemplate)throw new r("Cannot create a field that references an arcade expression without a feature source and popup template.");const i=this._popupTemplate.expressionInfos.find((e=>C(e.name,t)));if(!i)throw new r("Cannot create a field that references a non-existent arcade expression.");this._popupTemplate.fieldInfos||(this._popupTemplate.fieldInfos=[]);let s=this._popupTemplate.fieldInfos.find((i=>C(i.fieldName,e.name)));s||(s=new l({fieldName:e.name,label:i.title}),this._popupTemplate.fieldInfos.push(s));const o=M.get(s);M.set(s,e),null!=this._expressionFields&&(this._expressionFields.remove(o),this._expressionFields.includes(e)||this._expressionFields.add(e));const n={added:[e],moved:[],removed:o?[o]:[],target:this};this.emit("change",n),this.notifyChange("length"),this.notifyChange("_expressionFieldsLength")}else this._schema._fields.add(e,i);return this}removeAt(e){F("index",e).isNotMissing();const i=this.getItemAt(e);if(!i)return;this._backingCollection=void 0,this._fieldNameToField=void 0;if(w(i.name)){const e=this._popupTemplate.fieldInfos.findIndex((e=>C(e.fieldName,i.name)));this._popupTemplate.fieldInfos.splice(e,1),this._expressionFields?.remove(i);const t={added:[],moved:[],removed:[i],target:this};this.emit("change",t),this.notifyChange("length"),this.notifyChange("_expressionFieldsLength")}else this._schema._fields.remove(i);return i}reorder(e,i){if(e&&this._schema._fields.includes(e))return this._backingCollection=void 0,this._schema._fields.reorder(e,i),e}sort(e){return this._backingCollection=void 0,this._schema._fields.sort(e),this}findFieldByName(e){return null==this._fieldNameToField&&this._generateNameLookup(),this._fieldNameToField.get(e)}_generateExpressionFields(){if(this._expressionFields=new s,this._popupTemplate?.fieldInfos&&this._popupTemplate?.expressionInfos)for(const e of this._popupTemplate.fieldInfos){const i=w(e.fieldName);if(null==i)continue;const t=this._popupTemplate.expressionInfos.find((e=>C(e.name,i)));if(null==t)continue;if(M.has(e)){this._expressionFields.add(M.get(e));continue}const s=new n({name:e.fieldName,alias:e.label||t.title||e.fieldName,type:"number"===t.returnType?"double":"string",editable:!1});M.set(e,s),this._expressionFields.add(M.get(e))}}_generateCollection(){this._backingCollection=this._schema._fields.concat(this.expressionFields)}_generateNameLookup(){const e=new u;for(const i of this._collection)e.set(i.name,i);this._fieldNameToField=e}_resetLookups(){this._backingCollection=void 0,this._expressionFields=void 0,this._fieldNameToField=void 0}}class O extends h{get _collection(){return this._schema.fields.map((e=>this._forField(e))).concat(Array.from(this._uninitializedFieldExtensions))}_schema;_uninitializedFieldExtensions=new Set;_schemaFieldsHandle=new y((()=>E(this._schema,"fields",(e=>{const i={added:(e.added||[]).map((e=>this._forField(e))),moved:(e.moved||[]).map((e=>this._forField(e))),removed:(e.removed||[]).map((e=>this._forField(e))),target:this};this.emit("change",i)}))));_schemaFieldsLengthHandle=new y((()=>this._schema.watch("fields.length",(()=>this.notifyChange("length")))));constructor(e){super(),this._schema=e}forField(e){if(F("field",e).isNotMissing(),this._schema.fields.includes(e))return this._forField(e)}add(e,i){if(F("fieldX",e).isNotMissing(),e.schema&&e.schema.fieldExtensions.remove(e),e._setSchema(this._schema),e.field){const t=j.get(e.field);if(j.set(e.field,e),t&&t!==e&&this._onRemoved(t),this._schema.fields.includes(e.field))if(void 0===i){const i={added:[e],moved:[],removed:t?[t]:[],target:this};this.emit("change",i)}else this._schema.fields.reorder(e.field,i);else this._schema.fields.add(e.field,i)}else{this._uninitializedFieldExtensions.add(e);const i={added:[e],moved:[],removed:[],target:this};this.emit("change",i)}return this._onAdded(e),this}removeAt(e){const i=this.getItemAt(e);if(void 0!==i){if(this._uninitializedFieldExtensions.has(i)){this._uninitializedFieldExtensions.delete(i);const e={added:[],moved:[],removed:[i],target:this};this.emit("change",e)}else this._schema.fields.remove(i.field);return this._onRemoved(i),i}}reorder(e,i){if(e&&this._schema.fields.includes(e.field))return this._schema.fields.reorder(e.field,i),e}sort(e){return this._schema.fields.sort(((i,t)=>e(this._forField(i),this._forField(t)))),this}on(e,i){if("change"===e){const t=[this._schemaFieldsHandle.add(),super.on(e,i)];return{remove:()=>{for(const e of t)e.remove()}}}return super.on(e,i)}watch(e,i,t){if((Array.isArray(e)?e:[e]).includes("length")){const s=[this._schemaFieldsLengthHandle.add(),super.watch(e,i,t)];return{remove:()=>{for(const e of s)e.remove()}}}return super.watch(e,i,t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.field}_onAdded(e){}_onRemoved(e){e.schema===this._schema&&e._setSchema(void 0)}_forField(e){if(this._uninitializedFieldExtensions.size)for(const e of this._uninitializedFieldExtensions)e._resolveField(),e.field&&(j.set(e.field,e),this._uninitializedFieldExtensions.delete(e));if(!j.has(e)){const i=new k({field:e});j.set(e,i),i._setSchema(this._schema),this._onAdded(i)}return j.get(e)}}
|
|
1
|
+
var e;import{__decorate as i}from"tslib";import t from"@arcgis/core/PopupTemplate";import s from"@arcgis/core/core/Collection";import o from"@arcgis/core/layers/support/FeatureType";import l from"@arcgis/core/layers/support/Field";import n from"@arcgis/core/popup/FieldInfo";import{InvalidOperationError as r}from"../InvalidOperationError.js";import{isFieldExtension as d}from"../ItemType.js";import{jsonToGeometryType as a}from"../json/GeometryJson.js";import{InitializableCollectionProxy as h}from"../support/InitializableCollectionProxy.js";import{filterJSONProperties as m,isDefault as f,serializable as p,shouldExcludeDefaults as c}from"../support/Serializable.js";import{Settings as _}from"../support/Settings.js";import{createIHandle as u,notifyChange as g,onWatch as F,watch as y}from"../support/observableUtils.js";import{CaseInsensitiveObservableMap as x}from"../utilities/CaseInsensitiveObservableMap.js";import{CollectionProxy as v}from"../utilities/CollectionProxy.js";import{ReadOnlyCollection as b}from"../utilities/ReadOnlyCollection.js";import S from"../utilities/_ReferenceCountedHandle.js";import{checkArg as T}from"../utilities/checkArg.js";import{compare as I}from"../utilities/collection.js";import{isFeatureType as w,isField as z}from"../utilities/esri.js";import{fieldWithArcadeXRegex as N,fieldWithRelationshipRegex as E,getArcadeExpressionFromField as A}from"../utilities/field.js";import{isValidTimeZone as j,ERR_TIME_ZONE_INVALID as C}from"../utilities/format/date.js";import{objectKeys as M}from"../utilities/object.js";import{caseInsensitiveEquals as R}from"../utilities/string.js";import{_fieldExtensionMap as H,FieldExtension as O}from"./FieldExtension.js";const B=new Map;B.set("objectid","oid"),B.set("oid","oid"),B.set("fid","oid"),B.set("shape","geometry"),B.set("shape__length","double"),B.set("shape_length","double"),B.set("shape__area","double"),B.set("shape_area","double"),B.set("area","double"),B.set("perimeter","double"),B.set("length","double"),B.set("fnode_","double"),B.set("tnode_","double"),B.set("lpoly_","double"),B.set("rpoly_","double"),B.set("cover_","integer"),B.set("cover_id","integer"),B.set("idtic","integer"),B.set("xtic","double"),B.set("ytic","double"),B.set("xmin","double"),B.set("ymin","double"),B.set("xmax","double"),B.set("ymax","double"),B.set("arc_","double"),B.set("subclass_","integer"),B.set("subclass_id","integer"),B.set("routelink","integer"),B.set("arclink","integer"),B.set("f_meas","double"),B.set("t_meas","double"),B.set("f_pos","double"),B.set("t_pos","double"),B.set("f_meas","double"),B.set("globalid","global-id"),B.set("guid","guid");export{N as fieldWithArcadeXRegex,E as fieldWithRelationshipRegex};const P=new WeakMap;let Z=e=class extends _{fieldExtensions;fields;get spatialReference(){return this._getSetting("spatialReference")}set spatialReference(e){this._setSetting("spatialReference",e)}get primaryKeyField(){const e=this._getSetting("primaryKeyField");if(!e){const e=this.fields.filter((e=>"oid"===e.type));if(1===e.length)return e.getItemAt(0).name}return e}set primaryKeyField(e){this._setSetting("primaryKeyField",e)}get displayField(){return this._getSetting("displayField",this.primaryKeyField)}set displayField(e){!this._featureSettings?.popupTemplate||this._featureSettings.popupTemplate.title&&this._featureSettings.popupTemplate.title!==`{${this.displayField}}`||(this._featureSettings.popupTemplate.title=`{${e}}`),this._setSetting("displayField",e)}get geometryType(){return this._getSetting("geometryType")}set geometryType(e){this._setSetting("geometryType",e)}get hasGeometry(){return void 0!==this.geometryType&&null!==this.geometryType}get timeZone(){return this._getSetting("timeZone","UTC")}set timeZone(e){T("timeZone",e).satisfies((e=>j(e)),C(e)),this._setSetting("timeZone",e)}get typeIdField(){return this._getSetting("typeIdField")}set typeIdField(e){this._setSetting("typeIdField",e)}get types(){return this._getCollectionSetting("types")}get _fields(){return this._getCollectionSetting("_fields")}_featureSettings;_alwaysSerializeFieldExtensions;constructor(e){super(e),this.fieldExtensions=new K(this),this.fields=new J(this)}static createFieldInfoFromField(e){let i=!0;const t=e.name.toLowerCase();return("oid"===e.type||"geometry"===e.type||B.has(t)&&B.get(t)===e.type)&&(i=!1),new n({visible:i,fieldName:e.name,format:void 0,label:e.alias,stringFieldOption:void 0,tooltip:void 0,isEditable:e.editable})}findFieldByName(e){return this.fields.findFieldByName(e)}toJSON(e="all"){const i=m(this._getSerializableProperties(),this,e)||{};let t=i.fieldExtensions;this.parent&&(t=t?.filter((e=>{const i=this.parent;return!i?.fieldExtensions?.some((i=>i.id===e.id))})));const{fields:s}=i;if(i)for(const e of M(i))this.isModified(e)||delete i[e];if(s&&(i.fields=s),t?.length&&(i.fieldExtensions=t),!c(e)||!f(i))return i}createPopupTemplate(){const e=this.createAllFieldInfos();return new t({fieldInfos:e,content:[{type:"fields"},{type:"attachments"}]})}createAllFieldInfos(){return this.fields.toArray().filter((e=>!!e.name)).map((i=>e.createFieldInfoFromField(i)))}_getSerializableProperties(){return{geometryType:{serialize:!1,deserialize:e=>{this.geometryType=e?a(e):void 0}},spatialReference:{serialize:!1},primaryKeyField:{serialize:!1},displayField:{serialize:!1},typeIdField:{serialize:!1},fields:{serializeModes:["initial","project"],serialize:()=>this.isModified("_fields")?this.fields.toArray().map((e=>e.toJSON())):void 0,deserialize:e=>{if(!e)return;const i=e.map((e=>z(e)?e:l.fromJSON(e)));I(this.fields,i,{onNew:(e,i)=>{this.fields.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.alias=i.alias,e.editable=i.editable,e.length=i.length,e.nullable=i.nullable,e.type=i.type),t!==s&&this.fields.reorder(e,s)},onMissing:e=>{this.fields.remove(e)},equals:(e,i)=>R(e.name,i.name)})}},fieldExtensions:{serializeModes:["initial"],serialize:e=>this.fieldExtensions.toArray().map((i=>i.toJSON(e))).filter((e=>this._alwaysSerializeFieldExtensions||!(e&&2===Object.keys(e).length&&e.id&&e.field))),deserialize:e=>{e&&I(this.fieldExtensions,e,{onNew:(e,i)=>{this.fieldExtensions.add(d(e)?e:new O(e),i)},onMatch:(e,i,t,s)=>{d(i)||e.assignProperties(i),t!==s&&this.fieldExtensions.reorder(e,s)},onMissing:e=>{this._alwaysSerializeFieldExtensions&&this.fieldExtensions.remove(e)},equals:(e,i)=>d(i)?i===e:!(!i?.field||!O.matchesRef(e,i.field))||e.id===i.id})}},types:{serialize:!1,deserialize:e=>{if(!e)return;const i=e.map((e=>w(e)||!e?e:o.fromJSON(e)));I(this.types,i,{onNew:(e,i)=>{this.types.add(e,i)},onMatch:(e,i,t,s)=>{e!==i&&(e.name=i.name,e.templates=i.templates?[...i.templates]:[],e.domains=i.domains),t!==s&&this.types.reorder(e,s)},onMissing:e=>{this.types.remove(e)},equals:(e,i)=>e.id===i.id})}},timeZone:{serialize:!1,deserialize:e=>{e&&(this.timeZone=e)}}}}};Z=e=i([p],Z);export{Z as Schema};class J extends v{_schema;_fieldNameToField=new x;_expressionFields=new s;_expressionFieldsReadOnly=new b(this._expressionFields);get _expressionFieldsLength(){return this.expressionFields.length}get expressionFields(){return this._expressionFieldsReadOnly}get _popupTemplate(){return this._schema._featureSettings?this._schema._featureSettings.popupTemplate:void 0}constructor(e){super(new s),this._schema=e,F(this,"length",(()=>y(this._schema,"_fields.length",(()=>g(this,"length")),{sync:!0})));const i=[];y(this._schema,"_fields",(e=>{for(const e of i)e.remove();if(null!=e){i.push(e.on("after-add",(i=>{this._collection.add(i.item,e.indexOf(i.item)),this._fieldNameToField.set(i.item.name,i.item)})),e.on("after-remove",(e=>{this._collection.remove(e.item),this._fieldNameToField.delete(e.item.name)})));for(const i of this._collection)e.includes(i)||(this._collection.remove(i),this._fieldNameToField.delete(i.name));for(const i of e)this._collection.includes(i)||(this._collection.add(i),this._fieldNameToField.set(i.name,i))}else for(const e of this._collection.filter((e=>!this._expressionFields.includes(e))))this._collection.remove(e),this._fieldNameToField.delete(e.name)}),{sync:!0,initial:!0}),this._generateExpressionFields(),y(this._schema,"_featureSettings.popupTemplate.fieldInfos",(()=>{this._generateExpressionFields()}),{sync:!0}),y(this._schema,"_featureSettings.popupTemplate.expressionInfos",(()=>{this._generateExpressionFields()}),{sync:!0})}clone(){return new J(this._schema)}add(e,i){T("field",e).isNotMissing();const t=A(e.name);if(t){if(!this._popupTemplate)throw new r("Cannot create a field that references an arcade expression without a feature source and popup template.");const i=this._popupTemplate.expressionInfos.find((e=>R(e.name,t)));if(!i)throw new r("Cannot create a field that references a non-existent arcade expression.");this._popupTemplate.fieldInfos||(this._popupTemplate.fieldInfos=[]);let s=this._popupTemplate.fieldInfos.find((i=>R(i.fieldName,e.name)));s||(s=new n({fieldName:e.name,label:i.title}),this._popupTemplate.fieldInfos.push(s));const o=P.get(s);P.set(s,e),null!=this._expressionFields&&(this._expressionFields.remove(o),this._expressionFields.includes(e)||(this._expressionFields.add(e),this._collection.add(e),this._fieldNameToField.set(e.name,e))),g(this,"_expressionFieldsLength")}else this._schema._fields.add(e,i);return this}removeAt(e){T("index",e).isNotMissing();const i=this.getItemAt(e);if(!i)return;if(A(i.name)){const e=this._popupTemplate.fieldInfos.findIndex((e=>R(e.fieldName,i.name)));this._popupTemplate.fieldInfos.splice(e,1),this._expressionFields.remove(i),this._collection.remove(i),this._fieldNameToField.delete(i.name),g(this,"_expressionFieldsLength")}else this._schema._fields.remove(i);return i}reorder(e,i){if(e&&this._schema._fields.includes(e))return this._schema._fields.reorder(e,i),this._collection.reorder(e,i),e}sort(e){return this._schema._fields.sort(e),this._collection.sort(((i,t)=>this._expressionFields.includes(i)&&this._expressionFields.includes(t)?0:this._expressionFields.includes(i)?1:this._expressionFields.includes(t)?-1:e(i,t))),this}findFieldByName(e){return this._fieldNameToField.get(e)}_generateExpressionFields(){if(!this._popupTemplate?.fieldInfos||!this._popupTemplate?.expressionInfos){for(const e of this._expressionFields)this._collection.remove(e),this._fieldNameToField.delete(e.name);return void this._expressionFields.removeAll()}const e=this._expressionFields.slice();for(const i of this._popupTemplate.fieldInfos){const t=A(i.fieldName);if(null==t)continue;const s=this._popupTemplate.expressionInfos.find((e=>R(e.name,t)));if(null==s)continue;let o=P.get(i);null==o&&(o=new l({name:i.fieldName,alias:i.label||s.title||i.fieldName,type:"number"===s.returnType?"double":"string",editable:!1})),this._expressionFields.includes(o)?e.remove(o):(P.set(i,o),this._expressionFields.add(o),this._collection.add(o),this._fieldNameToField.set(o.name,o),e.remove(o))}for(const i of e)this._expressionFields.remove(i),this._collection.remove(i),this._fieldNameToField.delete(i.name)}}class K extends h{get _collection(){return this._schema.fields.map((e=>this._forField(e))).concat(Array.from(this._uninitializedFieldExtensions))}_schema;_uninitializedFieldExtensions=new Set;_onChangeSchemaFieldsHandle=new S((()=>this._schema.fields.on("change",(e=>{const i={added:(e.added||[]).map((e=>this._forField(e))),moved:(e.moved||[]).map((e=>this._forField(e))),removed:(e.removed||[]).map((e=>this._forField(e))),target:this};this.emit("change",i)}))));_onBeforeAddSchemaFieldsHandle=new S((()=>this._schema.fields.on("before-add",(e=>{this.emit("before-add",{...e,item:this._forField(e.item),target:this})}))));_onBeforeRemoveSchemaFieldsHandle=new S((()=>this._schema.fields.on("before-remove",(e=>{this.emit("before-remove",{...e,item:this._forField(e.item),target:this})}))));_onBeforeChangesSchemaFieldsHandle=new S((()=>this._schema.fields.on("before-changes",(e=>{this.emit("before-changes",{...e,target:this})}))));_onAfterAddSchemaFieldsHandle=new S((()=>this._schema.fields.on("after-add",(e=>{this.emit("after-add",{...e,item:this._forField(e.item),target:this})}))));_onAfterRemoveSchemaFieldsHandle=new S((()=>this._schema.fields.on("after-remove",(e=>{this.emit("after-remove",{...e,item:this._forField(e.item),target:this})}))));_onAfterChangesSchemaFieldsHandle=new S((()=>this._schema.fields.on("after-changes",(e=>{this.emit("after-changes",{...e,target:this})}))));constructor(e){super(),this._schema=e,F(this,"length",(()=>y(this._schema.fields,"length",(()=>g(this,"length")),{sync:!0})))}forField(e){if(T("field",e).isNotMissing(),this._schema.fields.includes(e))return this._forField(e)}add(e,i){if(T("fieldX",e).isNotMissing(),e.schema&&e.schema.fieldExtensions.remove(e),e._setSchema(this._schema),e.field){const t=H.get(e.field);if(H.set(e.field,e),t&&t!==e&&this._onRemoved(t),this._schema.fields.includes(e.field))if(void 0===i){const i={added:[e],moved:[],removed:t?[t]:[],target:this};this.emit("change",i),this.emit("after-add",{item:e,target:this}),this.emit("after-changes",{target:this})}else this._schema.fields.reorder(e.field,i);else this._schema.fields.add(e.field,i)}else{this._uninitializedFieldExtensions.add(e);const i={added:[e],moved:[],removed:[],target:this};this.emit("change",i),this.emit("after-add",{item:e,target:this}),this.emit("after-changes",{target:this})}return this._onAdded(e),this}removeAt(e){const i=this.getItemAt(e);if(void 0!==i){if(this._uninitializedFieldExtensions.has(i)){this._uninitializedFieldExtensions.delete(i);const e={added:[],moved:[],removed:[i],target:this};this.emit("change",e),this.emit("after-remove",{item:i,target:this}),this.emit("after-changes",{target:this})}else this._schema.fields.remove(i.field);return this._onRemoved(i),i}}reorder(e,i){if(e&&this._schema.fields.includes(e.field))return this._schema.fields.reorder(e.field,i),e}sort(e){return this._schema.fields.sort(((i,t)=>e(this._forField(i),this._forField(t)))),this}on(e,i){const t=[];return"change"===e?t.push(this._onChangeSchemaFieldsHandle.add()):"before-add"===e?t.push(this._onBeforeAddSchemaFieldsHandle.add()):"before-remove"===e?t.push(this._onBeforeRemoveSchemaFieldsHandle.add()):"before-changes"===e?t.push(this._onBeforeChangesSchemaFieldsHandle.add()):"after-add"===e?t.push(this._onAfterAddSchemaFieldsHandle.add()):"after-remove"===e?t.push(this._onAfterRemoveSchemaFieldsHandle.add()):"after-changes"===e&&t.push(this._onAfterChangesSchemaFieldsHandle.add()),t.push(super.on(e,i)),u(t)}_itemIsInitialized(e){return super._itemIsInitialized(e)&&!!e.field}_onAdded(e){}_onRemoved(e){e.schema===this._schema&&e._setSchema(void 0)}_forField(e){if(this._uninitializedFieldExtensions.size)for(const e of this._uninitializedFieldExtensions)e._resolveField(),e.field&&(H.set(e.field,e),this._uninitializedFieldExtensions.delete(e));if(!H.has(e)){const i=new O({field:e});H.set(e,i),i._setSchema(this._schema),this._onAdded(i)}return H.get(e)}}
|
package/data/_Relationship.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type { Entity, EntityBaseProperties } from "../Entity.js";
|
|
2
|
-
import type { Observable } from "../support/Observable.js";
|
|
3
2
|
import type { Serializable } from "../support/Serializable.js";
|
|
4
3
|
import type { Feature, FetchRelatedFeaturesOptions } from "./Feature.js";
|
|
5
4
|
import type { FeatureSet } from "./FeatureSet.js";
|
|
@@ -24,7 +23,7 @@ export interface RelationshipProperties extends EntityBaseProperties {
|
|
|
24
23
|
* Describes a relationship between a {@link data/FeatureSource!FeatureSource}
|
|
25
24
|
* and another source.
|
|
26
25
|
*/
|
|
27
|
-
export interface Relationship extends
|
|
26
|
+
export interface Relationship extends Entity, Serializable<RelationshipProperties> {
|
|
28
27
|
/**
|
|
29
28
|
* The human-readable name for the relationship.
|
|
30
29
|
*/
|
|
@@ -125,7 +125,7 @@ export declare class TableSchema extends Schema {
|
|
|
125
125
|
/**
|
|
126
126
|
* Maps schema properties to equivalent properties on the table.
|
|
127
127
|
*/
|
|
128
|
-
protected readonly _tableBindings: Map<keyof this, "listMode" | "title" | "url" | "id" | "gdbVersion" | "
|
|
128
|
+
protected readonly _tableBindings: Map<keyof this, "listMode" | "title" | "url" | "id" | "gdbVersion" | "watch" | "destroyed" | "initialized" | "declaredClass" | "destroy" | "set" | "addHandles" | "removeHandles" | "hasHandles" | "get" | "on" | "emit" | "hasEventListener" | "clone" | "fields" | "hasM" | "hasZ" | "labelingInfo" | "renderer" | "opacity" | "persistenceEnabled" | "refresh" | "spatialReference" | "mode" | "elevationInfo" | "cancelLoad" | "isFulfilled" | "isRejected" | "isResolved" | "load" | "when" | "floorInfo" | "visible" | "definitionExpression" | "outFields" | "popupEnabled" | "popupTemplate" | "createPopupTemplate" | "createQuery" | "getField" | "getFieldDomain" | "queryExtent" | "queryFeatureCount" | "queryFeatures" | "queryObjectIds" | "objectIdField" | "geometryType" | "labelsVisible" | "customParameters" | "apiKey" | "copyright" | "layerId" | "legendEnabled" | "maxScale" | "minScale" | "portalItem" | "save" | "saveAs" | "parent" | "fullExtent" | "visibilityTimeExtent" | "createLayerView" | "fetchAttributionData" | "sourceJSON" | "blendMode" | "effect" | "dateFieldsTimeZone" | "displayField" | "displayFilterEnabled" | "displayFilterInfo" | "refreshInterval" | "returnM" | "returnZ" | "useViewTime" | "historicMoment" | "orderBy" | "timeExtent" | "timeInfo" | "timeOffset" | "formTemplate" | "editingEnabled" | "addAttachment" | "applyEdits" | "deleteAttachments" | "queryAttachments" | "queryRelatedFeatures" | "queryRelatedFeaturesCount" | "updateAttachment" | "queryAttributeBins" | "queryTopFeatures" | "source" | "typeIdField" | "types" | "screenSizePerspectiveEnabled" | "attributeTableTemplate" | "featureEffect" | "featureReduction" | "trackInfo" | "charts" | "dynamicDataSource" | "templates" | "getFeatureType" | "queryTopFeatureCount" | "queryTopFeaturesExtent" | "queryTopObjectIds">;
|
|
129
129
|
/**
|
|
130
130
|
* The collection of fields.
|
|
131
131
|
*/
|
package/data/_TableExtension.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{ItemType as s}from"../ItemType.js";import{applyJsonToTable as r,jsonToTable as a,tableToJson as l}from"../json/TableJson.js";import{serializable as o}from"../support/Serializable.js";import{
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/core/Collection";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{ItemType as s}from"../ItemType.js";import{applyJsonToTable as r,jsonToTable as a,tableToJson as l}from"../json/TableJson.js";import{serializable as o}from"../support/Serializable.js";import{notifyChange as n,onWatch as b,watch as h}from"../support/observableUtils.js";import{CollectionProxy as d}from"../utilities/CollectionProxy.js";import{isFeatureLayer as p,isLayer as f}from"../utilities/_layers.js";import{checkArg as _}from"../utilities/checkArg.js";import{deepClone as c}from"../utilities/object.js";import{FeatureSettings as g}from"./FeatureSettings.js";import{FeatureSourceBase as m}from"./FeatureSourceBase.js";import{FieldExtension as u}from"./FieldExtension.js";import{Schema as T}from"./Schema.js";const y="Invalid type of table for this type of table extension.",w="Spatial settings are not supported for tables.",x=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsQuery:!1,supportsAttachmentEditing:!1,supportsStandardizedQueries:!1});export class TableExtension extends m{static factory;get mapExtension(){return this._mapExtension}get table(){return this._table}get capabilities(){return x}get title(){return this.table?.title??this._deferredTableProperties?.title??("string"==typeof this._deferredTableProperties?.$ref?this._deferredTableProperties?.$ref:this._deferredTableProperties?.$ref?.title??this._deferredTableProperties?.$ref?.id)??"Table"}get canChangeDefinitionExpression(){return!1}get _tableId(){return this.table?.id??this._deferredTableProperties?.$ref?.id}_itemType=s.TABLE_EXTENSION;_table;_mapExtension;_deferredTableProperties;_originalRef;constructor(e){super(e);const{table:t}={...this.getDefaults(),...e};if(f(t))_("properties.table",t).satisfies((e=>p(e)),y),this._setTable(t);else{if(!t)throw new Error("Missing 'table' property.");this._deferredTableProperties=t}}static create(e){if(!TableExtension.factory)throw new i("Cannot create table extension: no table extension factory has been registered.");return TableExtension.factory.create(e)}static _matchesRef(e,t){if(!e||!t)return!1;const i=e.table?.id??e._deferredTableProperties.id,s=e.table?.title??e._deferredTableProperties.title,r=t.$ref;return"string"==typeof r?i===r||s===r:!!r&&(i===r.id||s===r.title)}async _createBackingTable(){this.table||this._deferredTableProperties?.$ref||(this._setTable(await a(this._deferredTableProperties)),await this.table.load(),_("properties.table",this.table).satisfies((e=>this._isSupportedTable(e)),y),this._deferredTableProperties=void 0)}async _switchTable(e){if(e===this.table)return;_("newTable",e).isNotMissing().satisfies((e=>this._isSupportedTable(e)),y),this.isInitialized&&await e.load(),e.visible=this.table.visible,e.opacity=this.table.opacity,e.listMode=this.table.listMode,e.hasOwnProperty("labelsVisible")&&this.table.hasOwnProperty("labelsVisible")&&(e.labelsVisible=this.table.labelsVisible);const t=this.schema.fieldExtensions.toArray();this._setTable(e),t.forEach((e=>{const t=this.schema.fields.find((t=>u.matchesRef(e,{$ref:t.name})));t&&e._switchField(t)})),this.isInitialized&&await this._initializeChildren()}_setMapExtension(e){if(this.mapExtension===e)return;const t=this.mapExtension;this._mapExtension=e,t&&this.featureSettings.formatSettings.parent===t.formatSettings&&(this.featureSettings.formatSettings.parent=void 0),e&&(this.featureSettings.formatSettings.parent||(this.featureSettings.formatSettings.parent=e.formatSettings)),this._resolveTable(),n(this,"mapExtension")}_resolveTable(){if(this._table||!this._deferredTableProperties||!this.mapExtension)return;let e;e="string"==typeof this._deferredTableProperties.$ref?{id:this._deferredTableProperties.$ref,title:this._deferredTableProperties.$ref}:this._deferredTableProperties.$ref;let t=this._mapExtension.map?.tables.find((t=>t.id===e.id));if(t||(t=this._mapExtension.map?.tables.find((t=>t.title===e.title))),t&&this._isSupportedTable(t)){this._setTable(t);const e={table:this._deferredTableProperties};this.assignProperties(e),this._originalRef=this._deferredTableProperties.$ref,this._deferredTableProperties=void 0}}_getSerializableProperties(){return{...super._getSerializableProperties(),table:{serializeModes:["initial","project"],serialize:()=>this.table?this._mapExtension&&(this.table.id||this.table.title)?this._originalRef?{$ref:this._originalRef}:{$ref:{id:this.table.id,title:this.table.title}}:l(this.table):this._deferredTableProperties?c(this._deferredTableProperties):void 0,deserialize:e=>{if(f(e)){if(e!==this.table)throw new Error("Property 'table' is read-only.")}else{if(this.table)return r(e,this.table);this._deferredTableProperties&&(this._deferredTableProperties={...this._deferredTableProperties,...e})}}}}}async _onInitialize(){if(await super._onInitialize(),await this._createBackingTable(),this._resolveTable(),!this.table){const e=this._deferredTableProperties.$ref;throw this._mapExtension?new i(`No table found matching reference "${"string"==typeof e?e:JSON.stringify(e)}".`):new i("Cannot resolve table reference: missing parent map extension.")}await this.table.load()}_createSchema(){return new P(this)}_createFeatureSettings(){return new S}_setTable(e){this._table=e,n(this,"table"),n(this,"title"),n(this,"capabilities")}}let P=class extends T{_tableExtension;_tableBindings=new Map;_fieldCollection;constructor(e){super(),this._tableExtension=e,this._bindSettingToTableProperty("primaryKeyField","objectIdField"),this._fieldCollection=this._createFieldCollection(),e.table?this._onTableResolved(e.table):h(e,"table",(()=>{this._onTableResolved(e.table)}),{sync:!0,once:!0}),n(this,"_fields")}get _fields(){return this._fieldCollection}get geometryType(){}set geometryType(e){throw new i("Tables do not support a geometry type.")}get spatialReference(){}set spatialReference(e){throw new i("Tables do not support a spatial reference.")}_getSetting(e,t){return this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]:super._getSetting(e,t)}_setSetting(e,t){this._tableBindings.has(e)&&this._tableExtension.table?this._tableExtension.table[this._tableBindings.get(e)]=t:super._setSetting(e,t)}_bindSettingToTableProperty(e,t){const i=t??e;this._tableBindings.set(e,i),b(this,e,(()=>h(this._tableExtension,`table.${i}`,(()=>n(this,e)),{sync:!0})))}_onTableResolved(e){for(const[t,i]of this._tableBindings.entries())this.isModified(t)&&(e[i]=this[t],this.reset(t))}_createFieldCollection(){return new E(this._tableExtension)}};P=e([o],P);export{P as TableSchema};class E extends d{_tableResolved=!1;constructor(e){super(new t);const i=[],s=()=>{if(e.table?.fields){this._onTableResolved(e.table);for(const e of i)e.remove();i.length=0}};e.table?.fields?s():i.push(h(e,"table.fields",(()=>{s()}),{sync:!0}),h(e,"table.loaded",(()=>{s()}),{sync:!0}))}_onTableResolved(e){this._tableResolved||(this._tableResolved=!0,this.length&&(e.fields.length=0,e.fields.push(...this.toArray())),e.fields||(e.fields=[]),this._collection=function(e){const i=new t;return Object.defineProperty(i,"_items",{get:()=>e}),Object.defineProperty(i,"length",{get:()=>e.length,set:t=>e.length=t}),i}(e.fields))}}let S=class extends g{get returnGeometry(){}set returnGeometry(e){throw new i(w)}get outSpatialReference(){}set outSpatialReference(e){throw new i(w)}get maxAllowableOffset(){}set maxAllowableOffset(e){throw new i(w)}get zoomScale(){}set zoomScale(e){throw new i(w)}get zoomFactor(){}set zoomFactor(e){throw new i(w)}};S=e([o],S);export{S as TableFeatureSettings};
|
|
@@ -3,16 +3,24 @@
|
|
|
3
3
|
--dark-hl-0: #569CD6;
|
|
4
4
|
--light-hl-1: #000000;
|
|
5
5
|
--dark-hl-1: #D4D4D4;
|
|
6
|
-
--light-hl-2: #
|
|
7
|
-
--dark-hl-2: #
|
|
8
|
-
--light-hl-3: #
|
|
9
|
-
--dark-hl-3: #
|
|
10
|
-
--light-hl-4: #
|
|
11
|
-
--dark-hl-4: #
|
|
12
|
-
--light-hl-5: #
|
|
13
|
-
--dark-hl-5: #
|
|
14
|
-
--light-hl-6: #
|
|
15
|
-
--dark-hl-6: #
|
|
6
|
+
--light-hl-2: #267F99;
|
|
7
|
+
--dark-hl-2: #4EC9B0;
|
|
8
|
+
--light-hl-3: #795E26;
|
|
9
|
+
--dark-hl-3: #DCDCAA;
|
|
10
|
+
--light-hl-4: #001080;
|
|
11
|
+
--dark-hl-4: #9CDCFE;
|
|
12
|
+
--light-hl-5: #A31515;
|
|
13
|
+
--dark-hl-5: #CE9178;
|
|
14
|
+
--light-hl-6: #0070C1;
|
|
15
|
+
--dark-hl-6: #4FC1FF;
|
|
16
|
+
--light-hl-7: #AF00DB;
|
|
17
|
+
--dark-hl-7: #C586C0;
|
|
18
|
+
--light-hl-8: #000000FF;
|
|
19
|
+
--dark-hl-8: #D4D4D4;
|
|
20
|
+
--light-hl-9: #098658;
|
|
21
|
+
--dark-hl-9: #B5CEA8;
|
|
22
|
+
--light-hl-10: #008000;
|
|
23
|
+
--dark-hl-10: #6A9955;
|
|
16
24
|
--light-code-background: #FFFFFF;
|
|
17
25
|
--dark-code-background: #1E1E1E;
|
|
18
26
|
}
|
|
@@ -25,6 +33,10 @@
|
|
|
25
33
|
--hl-4: var(--light-hl-4);
|
|
26
34
|
--hl-5: var(--light-hl-5);
|
|
27
35
|
--hl-6: var(--light-hl-6);
|
|
36
|
+
--hl-7: var(--light-hl-7);
|
|
37
|
+
--hl-8: var(--light-hl-8);
|
|
38
|
+
--hl-9: var(--light-hl-9);
|
|
39
|
+
--hl-10: var(--light-hl-10);
|
|
28
40
|
--code-background: var(--light-code-background);
|
|
29
41
|
} }
|
|
30
42
|
|
|
@@ -36,6 +48,10 @@
|
|
|
36
48
|
--hl-4: var(--dark-hl-4);
|
|
37
49
|
--hl-5: var(--dark-hl-5);
|
|
38
50
|
--hl-6: var(--dark-hl-6);
|
|
51
|
+
--hl-7: var(--dark-hl-7);
|
|
52
|
+
--hl-8: var(--dark-hl-8);
|
|
53
|
+
--hl-9: var(--dark-hl-9);
|
|
54
|
+
--hl-10: var(--dark-hl-10);
|
|
39
55
|
--code-background: var(--dark-code-background);
|
|
40
56
|
} }
|
|
41
57
|
|
|
@@ -47,6 +63,10 @@
|
|
|
47
63
|
--hl-4: var(--light-hl-4);
|
|
48
64
|
--hl-5: var(--light-hl-5);
|
|
49
65
|
--hl-6: var(--light-hl-6);
|
|
66
|
+
--hl-7: var(--light-hl-7);
|
|
67
|
+
--hl-8: var(--light-hl-8);
|
|
68
|
+
--hl-9: var(--light-hl-9);
|
|
69
|
+
--hl-10: var(--light-hl-10);
|
|
50
70
|
--code-background: var(--light-code-background);
|
|
51
71
|
}
|
|
52
72
|
|
|
@@ -58,6 +78,10 @@
|
|
|
58
78
|
--hl-4: var(--dark-hl-4);
|
|
59
79
|
--hl-5: var(--dark-hl-5);
|
|
60
80
|
--hl-6: var(--dark-hl-6);
|
|
81
|
+
--hl-7: var(--dark-hl-7);
|
|
82
|
+
--hl-8: var(--dark-hl-8);
|
|
83
|
+
--hl-9: var(--dark-hl-9);
|
|
84
|
+
--hl-10: var(--dark-hl-10);
|
|
61
85
|
--code-background: var(--dark-code-background);
|
|
62
86
|
}
|
|
63
87
|
|
|
@@ -68,4 +92,8 @@
|
|
|
68
92
|
.hl-4 { color: var(--hl-4); }
|
|
69
93
|
.hl-5 { color: var(--hl-5); }
|
|
70
94
|
.hl-6 { color: var(--hl-6); }
|
|
95
|
+
.hl-7 { color: var(--hl-7); }
|
|
96
|
+
.hl-8 { color: var(--hl-8); }
|
|
97
|
+
.hl-9 { color: var(--hl-9); }
|
|
98
|
+
.hl-10 { color: var(--hl-10); }
|
|
71
99
|
pre, code { background: var(--code-background); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "data:application/octet-stream;base64,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"
|
|
1
|
+
window.navigationData = "data:application/octet-stream;base64,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"
|