@vertigis/arcgis-extensions 41.3.0 → 41.4.1
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 +12 -0
- package/data/FeatureSource.d.ts +8 -0
- package/data/FeatureSourceBase.d.ts +4 -0
- package/data/FeatureSourceBase.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/data_ArcGISServiceTableExtension.ArcGISServiceTableExtension.html +20 -4
- package/docs/html/classes/data_Feature.Feature.html +4 -4
- package/docs/html/classes/data_FeatureSet.FeatureSet.html +4 -4
- package/docs/html/classes/data_FeatureSourceBase.FeatureSourceBase.html +8 -0
- package/docs/html/classes/data__TableExtension.TableExtension.html +8 -0
- package/docs/html/classes/mapping_ArcGISSublayerExtension.ArcGISSublayerExtension.html +4 -4
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerExtension.html +10 -10
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerExtension.html +4 -4
- package/docs/html/classes/mapping_CSVLayerExtension.CSVLayerExtension.html +10 -10
- package/docs/html/classes/mapping_ElevationLayerExtension.ElevationLayerExtension.html +10 -10
- package/docs/html/classes/mapping_FeatureCollectionLayerExtension.FeatureCollectionLayerExtension.html +10 -10
- package/docs/html/classes/mapping_FeatureLayerExtension.FeatureLayerExtension.html +6 -6
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerExtensionBase.html +6 -6
- package/docs/html/classes/mapping_GeoJSONLayerExtension.GeoJSONLayerExtension.html +10 -10
- package/docs/html/classes/mapping_GeoRSSLayerExtension.GeoRSSLayerExtension.html +10 -10
- package/docs/html/classes/mapping_GraphicsLayerExtension.GraphicsLayerExtension.html +10 -10
- package/docs/html/classes/mapping_GroupLayerExtension.GroupLayerExtension.html +10 -10
- package/docs/html/classes/mapping_ImageryLayerExtension.ImageryLayerExtension.html +10 -10
- package/docs/html/classes/mapping_ImageryTileLayerExtension.ImageryTileLayerExtension.html +10 -10
- package/docs/html/classes/mapping_IntegratedMeshLayerExtension.IntegratedMeshLayerExtension.html +10 -10
- package/docs/html/classes/mapping_KMLLayerExtension.KMLLayerExtension.html +10 -10
- package/docs/html/classes/mapping_KMLSublayerExtension.KMLSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_MapImageLayerExtension.MapImageLayerExtension.html +10 -10
- package/docs/html/classes/mapping_MapImageSublayerExtension.MapImageSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_MapNotesLayerExtension.MapNotesLayerExtension.html +10 -10
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_OpenStreetMapLayerExtension.OpenStreetMapLayerExtension.html +10 -10
- package/docs/html/classes/mapping_PointCloudLayerExtension.PointCloudLayerExtension.html +10 -10
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtension.html +10 -10
- package/docs/html/classes/mapping_SceneLayerExtension.SceneLayerExtension.html +10 -10
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerExtension.html +10 -10
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +10 -10
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerExtension.html +4 -4
- package/docs/html/classes/mapping_TileLayerExtension.TileLayerExtension.html +10 -10
- package/docs/html/classes/mapping_TileSublayerExtension.TileSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_UnsupportedLayerExtension.UnsupportedLayerExtension.html +6 -6
- package/docs/html/classes/mapping_VectorTileLayerExtension.VectorTileLayerExtension.html +10 -10
- package/docs/html/classes/mapping_WMSLayerExtension.WMSLayerExtension.html +10 -10
- package/docs/html/classes/mapping_WMSSublayerExtension.WMSSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_WMTSLayerExtension.WMTSLayerExtension.html +10 -10
- package/docs/html/classes/mapping_WMTSSublayerExtension.WMTSSublayerExtension.html +8 -8
- package/docs/html/classes/mapping_WebTileLayerExtension.WebTileLayerExtension.html +10 -10
- package/docs/html/classes/mapping__LayerExtension.LayerExtension.html +10 -9
- package/docs/html/classes/mapping__SublayerExtension.SublayerExtension.html +8 -7
- package/docs/html/classes/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoder.html +20 -4
- package/docs/html/classes/tasks_geocoding_Geocoder.Geocoder.html +8 -0
- package/docs/html/classes/tasks_query_ArcGISRelationship.ArcGISRelationship.html +4 -4
- package/docs/html/interfaces/data_ArcGISServiceTableExtension.ArcGISServiceTableExtensionProperties.html +8 -0
- package/docs/html/interfaces/data_FeatureSource.FeatureSource.html +7 -0
- package/docs/html/interfaces/data_FeatureSource.FeatureSourceProperties.html +7 -0
- package/docs/html/interfaces/data_FeatureSourceBase.FeatureSourceBaseProperties.html +8 -0
- package/docs/html/interfaces/data__TableExtension.TableExtensionProperties.html +8 -0
- package/docs/html/interfaces/mapping__LayerExtension.LayerExtensionProperties.html +2 -1
- package/docs/html/interfaces/mapping__SublayerExtension.SublayerExtensionProperties.html +2 -1
- package/docs/html/interfaces/tasks_geocoding_ArcGISGeocoder.ArcGISGeocoderProperties.html +8 -0
- package/docs/html/interfaces/tasks_geocoding_Geocoder.GeocoderProperties.html +8 -0
- package/docs/html/interfaces/tasks_search_SearchSuggestion.SearchSuggestion.html +11 -2
- package/docs/html/variables/version.version.html +1 -1
- package/json/LayerJson.js +1 -1
- package/mapping/_LayerExtension.d.ts +0 -4
- package/mapping/_SublayerExtension.d.ts +0 -4
- package/mapping/_SublayerExtension.js +1 -1
- package/package.json +1 -1
- package/tasks/search/GeocoderSearchProvider.js +1 -1
- package/tasks/search/SearchSuggestion.d.ts +7 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
package/AppConfig.schema.json
CHANGED
|
@@ -51,6 +51,10 @@
|
|
|
51
51
|
},
|
|
52
52
|
"type": "array"
|
|
53
53
|
},
|
|
54
|
+
"iconUrl": {
|
|
55
|
+
"description": "See{@linkdata /FeatureSource!FeatureSource.iconUrl}.",
|
|
56
|
+
"type": "string"
|
|
57
|
+
},
|
|
54
58
|
"id": {
|
|
55
59
|
"description": "The unique ID to assign to the entity. If not specified, one will be\ngenerated.",
|
|
56
60
|
"type": "string"
|
|
@@ -1027,6 +1031,10 @@
|
|
|
1027
1031
|
},
|
|
1028
1032
|
"type": "array"
|
|
1029
1033
|
},
|
|
1034
|
+
"iconUrl": {
|
|
1035
|
+
"description": "See{@linkdata /FeatureSource!FeatureSource.iconUrl}.",
|
|
1036
|
+
"type": "string"
|
|
1037
|
+
},
|
|
1030
1038
|
"id": {
|
|
1031
1039
|
"description": "The unique ID to assign to the entity. If not specified, one will be\ngenerated.",
|
|
1032
1040
|
"type": "string"
|
|
@@ -4173,6 +4181,10 @@
|
|
|
4173
4181
|
},
|
|
4174
4182
|
"type": "array"
|
|
4175
4183
|
},
|
|
4184
|
+
"iconUrl": {
|
|
4185
|
+
"description": "See{@linkdata /FeatureSource!FeatureSource.iconUrl}.",
|
|
4186
|
+
"type": "string"
|
|
4187
|
+
},
|
|
4176
4188
|
"id": {
|
|
4177
4189
|
"description": "The unique ID to assign to the entity. If not specified, one will be\ngenerated.",
|
|
4178
4190
|
"type": "string"
|
package/data/FeatureSource.d.ts
CHANGED
|
@@ -31,6 +31,10 @@ export interface FeatureSourceProperties {
|
|
|
31
31
|
* See {@link data/FeatureSource!FeatureSource.hyperlinks}.
|
|
32
32
|
*/
|
|
33
33
|
hyperlinks?: (Hyperlink | HyperlinkProperties)[];
|
|
34
|
+
/**
|
|
35
|
+
* See {@link data/FeatureSource!FeatureSource.iconUrl}.
|
|
36
|
+
*/
|
|
37
|
+
iconUrl?: string;
|
|
34
38
|
/**
|
|
35
39
|
* See {@link data/FeatureSource!FeatureSource.onAddFeature}.
|
|
36
40
|
*/
|
|
@@ -102,6 +106,10 @@ export interface FeatureSource extends Entity, Initializable {
|
|
|
102
106
|
* A menu for actions specifically related to features from this source.
|
|
103
107
|
*/
|
|
104
108
|
featureActions?: Menu;
|
|
109
|
+
/**
|
|
110
|
+
* URL to an icon that represents this feature source.
|
|
111
|
+
*/
|
|
112
|
+
iconUrl?: string;
|
|
105
113
|
/**
|
|
106
114
|
* An optional query service that the feature source can use to get
|
|
107
115
|
* features.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import t from"@arcgis/core/core/Collection";import e from"@arcgis/core/popup/content/TextContent.js";import{ArgumentError as i}from"../ArgumentError.js";import{EntityBase as s}from"../Entity.js";import{Hyperlink as r}from"../Hyperlink.js";import{InvalidOperationError as a}from"../InvalidOperationError.js";import{isMenu as n,isRelationship as o}from"../ItemType.js";import{NotFoundError as u}from"../NotFoundError.js";import{FeatureReadOptions as c}from"../data/FeatureSource.js";import{Menu as h}from"../menus/Menu.js";import{initializeCollection as l}from"../support/InitializableBase.js";import{CollectionProxy as p}from"../utilities/CollectionProxy.js";import{first as d}from"../utilities/asyncIterable.js";import{checkArg as m}from"../utilities/checkArg.js";import{compare as f}from"../utilities/collection.js";import{getLogger as g}from"../utilities/log.js";import{FeatureSettings as w}from"./FeatureSettings.js";import{Schema as y}from"./Schema.js";import{TaskSettings as _}from"./TaskSettings.js";import{Relationship as S}from"./_Relationship.js";const A="Adding features is not supported.",F="Updating features is not supported.",z="Deleting features is not supported.",j=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsAttachmentEditing:!1}),M=g("FeatureSourceBase");export class FeatureSourceBase extends s{get featureActions(){return this._featureActions}set featureActions(t){this._featureActions=t,t&&this.isInitialized&&!t.isInitialized&&(async()=>{try{await t.initialize()}catch(t){t instanceof Error&&M.error({message:"An error occurred while initializing feature action menu.",error:t})}})()}get capabilities(){return this._capabilities()}constructor(t){super(t),this.featureSettings=this._createAndSetupFeatureSettings(),this.taskSettings=this._createTaskSettings(),this.schema=this._createAndSetupSchema(),this.relationships=this._createRelationships(),this.hyperlinks=this._createHyperlinks()}getFullExtent(){}async getAttachments(t){return m("feature",t).isNotMissing(),await this.initialize(),this._getAttachments(t)}async addAttachment(t,e){if(m("feature",t).isNotMissing(),m("attachment",e).isNotMissing(),t.source&&t.source!==this)throw new i("feature",`Cannot add an attachment to a feature not of this source (${this.title??this.id})`);return await this.initialize(),this._addAttachment(t,e)}async deleteAttachments(t,e){if(m("feature",t).isNotMissing(),m("attachmentIds",e).isNotMissing(),t.source&&t.source!==this)throw new i("feature",`Cannot delete attachments from a feature not of this source (${this.title??this.id})`);await this.initialize(),await this._deleteAttachments(t,e)}async getFeature(t,e){m("id",t).isNotMissing();const i=this.getFeatures([t],e),s=await d(i);if(!s)throw new u("No feature exists with ID '{0}'.",t);return s}getFeatures(t,e){m("ids",t).isNotMissing();const i=this;return async function*(){await i.initialize(),yield*i._getFeatures(t,{...c.DEFAULTS,...c.fromFeatureSource(i),...e})}()}async addFeature(t,e){m("feature",t).isNotMissing(),await this.addFeatures([t])}async addFeatures(t,e){if(m("features",t).isNotMissing(),await this.initialize(),!this.capabilities.supportsAdd)throw new a(A);await this._addFeatures(t,e)}async updateFeature(t,e){m("feature",t).isNotMissing(),await this.updateFeatures([t])}async updateFeatures(t,e){if(m("features",t).isNotMissing(),await this.initialize(),!this.capabilities.supportsUpdate)throw new a(F);await this._updateFeatures(t,e)}async deleteFeature(t,e){m("feature",t).isNotMissing(),await this.deleteFeatures([t])}async deleteFeatures(t,e){if(m("features",t).isNotMissing(),await this.initialize(),!this.capabilities.supportsDelete)throw new a(z);const i=[];for(const e of t)i.push("string"==typeof e?e:e.primaryKey);await this._deleteFeatures(i,e)}_getSerializableProperties(){return{...super._getSerializableProperties(),featureSettings:{serializeModes:["initial"],isDefault:t=>{if(!t)return!0;if(t.constructor===Object){if(!Object.keys(t).length)return!0}return!1}},taskSettings:"initial",onAddFeature:"initial",onEditFeature:"initial",schema:"initial",relationships:{serializeModes:["initial"],serialize:t=>this.relationships?this.relationships.filter((t=>"ArcGISRelationship"!==t.relationshipType)).toArray():[],deserialize:t=>{f(this.relationships,t,{onNew:t=>{o(t)?this.relationships.add(t):this.relationships.add(S.create(t))},onMatch:(t,e)=>{o(t)&&t.assignProperties({title:e.title})},onMissing:t=>{"ArcGISRelationship"!==t.relationshipType&&this.relationships.remove(t)},equals:(t,e)=>t.id===e.id})},default:[]},hyperlinks:{serialize:!1,deserialize:t=>{this.hyperlinks.removeAll(),this.hyperlinks.addMany(t.map((t=>t instanceof r?t:new r(t))))}},featureActions:{serializeModes:["initial"],deserialize:t=>{t?n(t)?this.featureActions=t:this.featureActions?this.featureActions.assignProperties(t):this.featureActions=h.create(t):this.featureActions=void 0}}}}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.schema.fieldExtensions}async _onInitialize(){await super._onInitialize(),this.featureActions&&await this.featureActions.initialize()}async _postInitialize(){await super._postInitialize(),this.featureSettings.popupTemplate||(this.featureSettings.popupTemplate=this.schema.createPopupTemplate(),this.featureSettings._isDefaultPopupTemplate=!0);const{popupTemplate:t}=this.featureSettings;"function"==typeof t.content&&(t.content=t.content()),t.content=await t.content,"string"==typeof t.content&&(t.content=[new e({text:t.content})]),!t.title&&this.schema.displayField&&(t.title=`{${this.schema.displayField}}`),await l(this.featureSettings.popupContentExtensions,{target:this,onInitializeWarning:t=>this.emit("initializeWarning",t)}),await Promise.all(this.relationships.toArray().map((t=>t.relatedSource?.initialize())))}_createSchema(){return new y}_createFeatureSettings(){return new w}_createTaskSettings(){return new _}_createRelationships(){return new RelationshipCollection(this)}_createHyperlinks(){return new t}async _getAttachments(t){return[]}async _addAttachment(t,e){throw new a("Adding attachments is not supported.")}async _deleteAttachments(t,e){throw new a("Deleting attachments is not supported.")}_getFeatures(t,e){const{primaryKeyField:i}=this.schema;if(this.queryService&&i){const s=t.map((t=>`${i} = ${t}`)).join(" OR ");return this.queryService.query(this,s,e)}throw new a("Querying features is not supported.")}_addFeatures(t,e){throw new a(A)}_updateFeatures(t,e){throw new a(F)}_deleteFeatures(t,e){throw new a(z)}_capabilities(){return j}_isRelationship(t){return"function"==typeof t.getRelatedFeatures}_createAndSetupSchema(){const t=this._createSchema();return t._featureSettings=this.featureSettings,t}_createAndSetupFeatureSettings(){const t=this._createFeatureSettings();return t._setFeatureSource(this),t}}export class RelationshipCollection extends p{constructor(e){super(new t),this._source=e}add(t,e){return m("relationship",t).isNotMissing(),t.source&&t.source.relationships.remove(t),o(t)&&t._setSource(this._source),super.add(t,e)}removeAt(t){const e=super.removeAt(t);return o(e)&&e._setSource(void 0),e}}
|
|
1
|
+
import t from"@arcgis/core/core/Collection";import e from"@arcgis/core/popup/content/TextContent.js";import{ArgumentError as i}from"../ArgumentError.js";import{EntityBase as s}from"../Entity.js";import{Hyperlink as r}from"../Hyperlink.js";import{InvalidOperationError as a}from"../InvalidOperationError.js";import{isMenu as n,isRelationship as o}from"../ItemType.js";import{NotFoundError as u}from"../NotFoundError.js";import{FeatureReadOptions as c}from"../data/FeatureSource.js";import{Menu as h}from"../menus/Menu.js";import{initializeCollection as l}from"../support/InitializableBase.js";import{CollectionProxy as p}from"../utilities/CollectionProxy.js";import{first as d}from"../utilities/asyncIterable.js";import{checkArg as m}from"../utilities/checkArg.js";import{compare as f}from"../utilities/collection.js";import{getLogger as g}from"../utilities/log.js";import{FeatureSettings as w}from"./FeatureSettings.js";import{Schema as y}from"./Schema.js";import{TaskSettings as _}from"./TaskSettings.js";import{Relationship as S}from"./_Relationship.js";const A="Adding features is not supported.",F="Updating features is not supported.",z="Deleting features is not supported.",j=Object.freeze({supportsAdd:!1,supportsUpdate:!1,supportsDelete:!1,supportsEditing:!1,supportsAttachmentEditing:!1}),M=g("FeatureSourceBase");export class FeatureSourceBase extends s{get featureActions(){return this._featureActions}set featureActions(t){this._featureActions=t,t&&this.isInitialized&&!t.isInitialized&&(async()=>{try{await t.initialize()}catch(t){t instanceof Error&&M.error({message:"An error occurred while initializing feature action menu.",error:t})}})()}get capabilities(){return this._capabilities()}constructor(t){super(t),this.featureSettings=this._createAndSetupFeatureSettings(),this.taskSettings=this._createTaskSettings(),this.schema=this._createAndSetupSchema(),this.relationships=this._createRelationships(),this.hyperlinks=this._createHyperlinks()}getFullExtent(){}async getAttachments(t){return m("feature",t).isNotMissing(),await this.initialize(),this._getAttachments(t)}async addAttachment(t,e){if(m("feature",t).isNotMissing(),m("attachment",e).isNotMissing(),t.source&&t.source!==this)throw new i("feature",`Cannot add an attachment to a feature not of this source (${this.title??this.id})`);return await this.initialize(),this._addAttachment(t,e)}async deleteAttachments(t,e){if(m("feature",t).isNotMissing(),m("attachmentIds",e).isNotMissing(),t.source&&t.source!==this)throw new i("feature",`Cannot delete attachments from a feature not of this source (${this.title??this.id})`);await this.initialize(),await this._deleteAttachments(t,e)}async getFeature(t,e){m("id",t).isNotMissing();const i=this.getFeatures([t],e),s=await d(i);if(!s)throw new u("No feature exists with ID '{0}'.",t);return s}getFeatures(t,e){m("ids",t).isNotMissing();const i=this;return async function*(){await i.initialize(),yield*i._getFeatures(t,{...c.DEFAULTS,...c.fromFeatureSource(i),...e})}()}async addFeature(t,e){m("feature",t).isNotMissing(),await this.addFeatures([t])}async addFeatures(t,e){if(m("features",t).isNotMissing(),await this.initialize(),!this.capabilities.supportsAdd)throw new a(A);await this._addFeatures(t,e)}async updateFeature(t,e){m("feature",t).isNotMissing(),await this.updateFeatures([t])}async updateFeatures(t,e){if(m("features",t).isNotMissing(),await this.initialize(),!this.capabilities.supportsUpdate)throw new a(F);await this._updateFeatures(t,e)}async deleteFeature(t,e){m("feature",t).isNotMissing(),await this.deleteFeatures([t])}async deleteFeatures(t,e){if(m("features",t).isNotMissing(),await this.initialize(),!this.capabilities.supportsDelete)throw new a(z);const i=[];for(const e of t)i.push("string"==typeof e?e:e.primaryKey);await this._deleteFeatures(i,e)}_getSerializableProperties(){return{...super._getSerializableProperties(),featureSettings:{serializeModes:["initial"],isDefault:t=>{if(!t)return!0;if(t.constructor===Object){if(!Object.keys(t).length)return!0}return!1}},taskSettings:"initial",onAddFeature:"initial",onEditFeature:"initial",schema:"initial",relationships:{serializeModes:["initial"],serialize:t=>this.relationships?this.relationships.filter((t=>"ArcGISRelationship"!==t.relationshipType)).toArray():[],deserialize:t=>{f(this.relationships,t,{onNew:t=>{o(t)?this.relationships.add(t):this.relationships.add(S.create(t))},onMatch:(t,e)=>{o(t)&&t.assignProperties({title:e.title})},onMissing:t=>{"ArcGISRelationship"!==t.relationshipType&&this.relationships.remove(t)},equals:(t,e)=>t.id===e.id})},default:[]},hyperlinks:{serialize:!1,deserialize:t=>{this.hyperlinks.removeAll(),this.hyperlinks.addMany(t.map((t=>t instanceof r?t:new r(t))))}},iconUrl:"initial",featureActions:{serializeModes:["initial"],deserialize:t=>{t?n(t)?this.featureActions=t:this.featureActions?this.featureActions.assignProperties(t):this.featureActions=h.create(t):this.featureActions=void 0}}}}*_initializableChildCollections(){yield*super._initializableChildCollections(),yield this.schema.fieldExtensions}async _onInitialize(){await super._onInitialize(),this.featureActions&&await this.featureActions.initialize()}async _postInitialize(){await super._postInitialize(),this.featureSettings.popupTemplate||(this.featureSettings.popupTemplate=this.schema.createPopupTemplate(),this.featureSettings._isDefaultPopupTemplate=!0);const{popupTemplate:t}=this.featureSettings;"function"==typeof t.content&&(t.content=t.content()),t.content=await t.content,"string"==typeof t.content&&(t.content=[new e({text:t.content})]),!t.title&&this.schema.displayField&&(t.title=`{${this.schema.displayField}}`),await l(this.featureSettings.popupContentExtensions,{target:this,onInitializeWarning:t=>this.emit("initializeWarning",t)}),await Promise.all(this.relationships.toArray().map((t=>t.relatedSource?.initialize())))}_createSchema(){return new y}_createFeatureSettings(){return new w}_createTaskSettings(){return new _}_createRelationships(){return new RelationshipCollection(this)}_createHyperlinks(){return new t}async _getAttachments(t){return[]}async _addAttachment(t,e){throw new a("Adding attachments is not supported.")}async _deleteAttachments(t,e){throw new a("Deleting attachments is not supported.")}_getFeatures(t,e){const{primaryKeyField:i}=this.schema;if(this.queryService&&i){const s=t.map((t=>`${i} = ${t}`)).join(" OR ");return this.queryService.query(this,s,e)}throw new a("Querying features is not supported.")}_addFeatures(t,e){throw new a(A)}_updateFeatures(t,e){throw new a(F)}_deleteFeatures(t,e){throw new a(z)}_capabilities(){return j}_isRelationship(t){return"function"==typeof t.getRelatedFeatures}_createAndSetupSchema(){const t=this._createSchema();return t._featureSettings=this.featureSettings,t}_createAndSetupFeatureSettings(){const t=this._createFeatureSettings();return t._setFeatureSource(this),t}}export class RelationshipCollection extends p{constructor(e){super(new t),this._source=e}add(t,e){return m("relationship",t).isNotMissing(),t.source&&t.source.relationships.remove(t),o(t)&&t._setSource(this._source),super.add(t,e)}removeAt(t){const e=super.removeAt(t);return o(e)&&e._setSource(void 0),e}}
|