@vertigis/arcgis-extensions 53.18.1 → 54.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/data/Feature.d.ts +7 -3
- package/data/Feature.js +1 -1
- package/data/FeatureSettings.js +1 -1
- package/data/Schema.d.ts +19 -2
- package/data/Schema.js +1 -1
- package/docs/html/assets/navigation.js +1 -1
- package/docs/html/assets/search.js +1 -1
- package/docs/html/classes/data_Feature.Feature.html +4 -2
- package/docs/html/classes/data_Schema.Schema.html +8 -4
- package/docs/html/classes/data__TableExtension.TableSchema.html +8 -4
- package/docs/html/classes/mapping_BuildingComponentSublayerExtension.BuildingComponentSublayerSchema.html +8 -4
- package/docs/html/classes/mapping_BuildingGroupSublayerExtension.BuildingGroupSublayerSchema.html +8 -4
- package/docs/html/classes/mapping_BuildingSceneLayerExtension.BuildingSceneLayerReadOnlySchema.html +8 -4
- package/docs/html/classes/mapping_BuildingSublayerExtension.BuildingSublayerSchema.html +8 -4
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerReadOnlySchema.html +11 -5
- package/docs/html/classes/mapping_FeatureLayerExtensionBase.FeatureLayerSchema.html +11 -5
- package/docs/html/classes/mapping_MapNotesSublayerExtension.MapNotesSublayerExtensionSchema.html +8 -4
- package/docs/html/classes/mapping_RouteLayerExtension.RouteLayerExtensionSchema.html +8 -4
- package/docs/html/classes/mapping_StreamLayerExtension.StreamLayerSchema.html +8 -4
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerExtension.html +4 -4
- package/docs/html/classes/mapping_SubtypeGroupLayerExtension.SubtypeGroupLayerSchema.html +21 -9
- package/docs/html/classes/mapping_SubtypeSublayerExtension.SubtypeSublayerSchema.html +20 -7
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionReadOnlySchema.html +8 -4
- package/docs/html/classes/mapping__LayerExtension.LayerExtensionSchema.html +8 -4
- package/docs/html/classes/mapping__SublayerExtension.SublayerSchema.html +8 -4
- package/docs/html/functions/data_Schema.schemaHasSubtypes.html +4 -0
- package/docs/html/modules/data_Schema.html +1 -0
- package/docs/html/variables/version.version.html +1 -1
- package/mapping/FeatureLayerExtension.d.ts +0 -1
- package/mapping/FeatureLayerExtension.js +1 -1
- package/mapping/FeatureLayerExtensionBase.d.ts +7 -0
- package/mapping/FeatureLayerExtensionBase.js +1 -1
- package/mapping/SubtypeGroupLayerExtension.d.ts +33 -4
- package/mapping/SubtypeGroupLayerExtension.js +1 -1
- package/mapping/SubtypeSublayerExtension.d.ts +27 -4
- package/mapping/SubtypeSublayerExtension.js +1 -1
- package/package.json +1 -1
- package/tasks/search/_utilities.js +1 -1
- package/tasks/search/support/_querySearchProviderUtils.js +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{TaskSettings as r}from"../data/TaskSettings.js";import{supportsAttachmentEditing as i}from"../data/support/attachments.js";import{_isGraphicsLayerJson as s}from"../json/FeatureLayerJson.js";import{layerToJson as
|
|
1
|
+
import{__decorate as e}from"tslib";import{InvalidOperationError as t}from"../InvalidOperationError.js";import{TaskSettings as r}from"../data/TaskSettings.js";import{supportsAttachmentEditing as i}from"../data/support/attachments.js";import{_isGraphicsLayerJson as s}from"../json/FeatureLayerJson.js";import{layerToJson as a}from"../json/LayerJson.js";import{serializable as o}from"../support/Serializable.js";import{notifyChange as n}from"../support/observableUtils.js";import{ReadOnlyCollection as l}from"../utilities/ReadOnlyCollection.js";import{isCSVLayer as p,isFeatureLayer as y,isGraphicsLayer as u,isStreamLayer as c}from"../utilities/_layers.js";import{checkArg as d}from"../utilities/checkArg.js";import{parse as h}from"../utilities/format/number.js";import{LayerExtension as m,LayerExtensionSchema as _,ERR_SCHEMA_READ_ONLY as g}from"./_LayerExtension.js";import{ArrayWrappedCollection as f}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as b}from"./support/PopupTemplateFeatureSettings.js";export class FeatureLayerExtensionBase extends m{get hasFeatures(){return!0}get layer(){return super.layer}get renderer(){return this.layer?.renderer}get canChangeDefinitionExpression(){return!0}get canChangeRenderer(){return!0}get canChangeLabels(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const{layerDefinition:t,showLabels:r}=a(this.layer),{definitionExpression:i,drawingInfo:s}=t??{};return i&&(e.layerDefinition={...e.layerDefinition,definitionExpression:i}),s&&(e.layerDefinition={...e.layerDefinition,drawingInfo:s}),void 0!==r&&(e.showLabels=r),e}async*_getFeatures(e,t){const r=this.layer.createQuery();r.objectIds=e.map((e=>h(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry,yield*(await import("../support/_query.js")).executeQuery(r,this,this.layer,t.cancelToken)}_applyLayerProperties(e,t){return d("properties",e).isNotMissing(),d("properties.layerType",e.layerType).satisfies((e=>!e||"ArcGISFeatureLayer"===e||"ArcGISStreamLayer"===e||"CSV"===e)),d("layer",t).isNotMissing().satisfies((e=>y(e)||c(e)||p(e)||u(e))),d("properties",e).satisfies((e=>!s(e))),super._applyLayerProperties(e,t)}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"ArcGISFeatureLayer"}}}}_createSchema(){return new C(this)}_isSupportedLayer(e){return y(e)}_createFeatureSettings(){return new S(this)}_createTaskSettings(){return new x(this)}_capabilities(){const e=i(this.layer);return this.layer?.capabilities?.operations?{...this.layer.capabilities.operations,supportsAttachmentEditing:e,supportsStandardizedQueries:this.layer.capabilities?.query?.supportsStandardizedQueriesOnly}:{...super._capabilities(),supportsAttachmentEditing:e}}}let S=class extends b{get _defaultOutFields(){const e=super._defaultOutFields;return this.featureSource?.schema?.subtypeField?e.push(this.featureSource.schema.findFieldByName(this.featureSource.schema.subtypeField).name):this.featureSource?.schema?.typeIdField&&e.push(this.featureSource.schema.findFieldByName(this.featureSource.schema.typeIdField).name),Array.from(new Set(e))}get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.layer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};S=e([o],S);let C=class extends _{_fieldCollection;_typesCollection;_subtypesCollection;constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._typesCollection=this._createTypeCollection(),this._subtypesCollection=this._createSubtypeCollection(),n(this,"_fields")}get subtypes(){return this._subtypesCollection}get types(){return this._typesCollection}get _fields(){return this._fieldCollection}destroy(){this._fieldCollection.destroy(),this._typesCollection.destroy(),this._subtypesCollection.destroy(),super.destroy()}_createFieldCollection(){return new f({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"fields"})}_createTypeCollection(){return new f({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"types"})}_createSubtypeCollection(){return new f({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"subtypes"})}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField",typeIdField:"typeIdField",subtypeField:"subtypeField",subtypes:"subtypes"}}};C=e([o],C);export{C as FeatureLayerSchema};let F=class extends C{_setSetting(e,r){if(this._layerBindings.has(e))throw new t(g);super._setSetting(e,r)}_createFieldCollection(){return new l(super._createFieldCollection(),{destroyBackingCollection:!0})}_createTypeCollection(){return new l(super._createTypeCollection(),{destroyBackingCollection:!0})}};F=e([o],F);export{F as FeatureLayerReadOnlySchema};let x=class extends r{_layerExtension;constructor(e,t){super(t),this._layerExtension=e}get enableEditing(){return this._getSetting("enableEditing",this._layerExtension.layer?.editingEnabled??!0)}set enableEditing(e){this._setSetting("enableEditing",e)}};x=e([o],x);
|
|
@@ -2,9 +2,11 @@ import type Collection from "@arcgis/core/core/Collection";
|
|
|
2
2
|
import type SubtypeGroupLayer from "@arcgis/core/layers/SubtypeGroupLayer.js";
|
|
3
3
|
import FeatureType from "@arcgis/core/layers/support/FeatureType.js";
|
|
4
4
|
import type Field from "@arcgis/core/layers/support/Field.js";
|
|
5
|
+
import type Subtype from "@arcgis/core/layers/support/Subtype.js";
|
|
5
6
|
import type PortalItem from "@arcgis/core/portal/PortalItem";
|
|
6
7
|
import type { Attachment, AttachmentProperties } from "../data/Attachment.js";
|
|
7
8
|
import type { Feature } from "../data/Feature.js";
|
|
9
|
+
import type { FeatureSettings } from "../data/FeatureSettings.js";
|
|
8
10
|
import type { FeatureReadOptions, FeatureSource, FeatureWriteOptions } from "../data/FeatureSource";
|
|
9
11
|
import type { QuerySourceCapabilities } from "../data/QuerySourceCapabilities";
|
|
10
12
|
import type { Schema } from "../data/Schema";
|
|
@@ -80,6 +82,7 @@ export declare class SubtypeGroupLayerExtension extends LayerExtension<SubtypeGr
|
|
|
80
82
|
*/
|
|
81
83
|
protected _isSupportedLayer(layer: SubtypeGroupLayer): boolean;
|
|
82
84
|
protected _createSchema(): Schema;
|
|
85
|
+
protected _createFeatureSettings(): FeatureSettings;
|
|
83
86
|
protected _getAttachments(feature: Feature): Promise<Attachment[]>;
|
|
84
87
|
protected _addAttachment(feature: Feature, attachment: Attachment | AttachmentProperties | File): Promise<Attachment>;
|
|
85
88
|
protected _deleteAttachments(feature: Feature, attachments: (Attachment | string)[]): Promise<void>;
|
|
@@ -96,7 +99,6 @@ export declare class SubtypeGroupLayerExtension extends LayerExtension<SubtypeGr
|
|
|
96
99
|
protected _deleteFeatures(ids: string[], options?: FeatureWriteOptions): Promise<void>;
|
|
97
100
|
private readonly _onSubtypeSublayersChange;
|
|
98
101
|
private _updateClientSideFields;
|
|
99
|
-
private _updateSubtypes;
|
|
100
102
|
private _addTemplatesToSublayers;
|
|
101
103
|
private _addDomainsToFields;
|
|
102
104
|
}
|
|
@@ -106,19 +108,46 @@ export declare class SubtypeGroupLayerExtension extends LayerExtension<SubtypeGr
|
|
|
106
108
|
*/
|
|
107
109
|
export declare class SubtypeGroupLayerSchema extends LayerExtensionReadOnlySchema {
|
|
108
110
|
private readonly _fieldCollection;
|
|
109
|
-
private readonly
|
|
111
|
+
private readonly _subtypesCollection;
|
|
110
112
|
constructor(layerExtension: LayerExtension);
|
|
111
113
|
destroy(): void;
|
|
114
|
+
/**
|
|
115
|
+
* Get the type ID field.
|
|
116
|
+
*
|
|
117
|
+
* @deprecated Use subtypeField instead. This will be removed in a future
|
|
118
|
+
* Web release since SubtypeGroupLayer only supports subtypeField.
|
|
119
|
+
*
|
|
120
|
+
* {@link https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/#subtypeField}.
|
|
121
|
+
*/
|
|
122
|
+
get typeIdField(): string;
|
|
123
|
+
set typeIdField(value: string);
|
|
124
|
+
/**
|
|
125
|
+
* Get the collection of types.
|
|
126
|
+
*
|
|
127
|
+
* @deprecated Use subtypes instead. This will be removed in a future Web
|
|
128
|
+
* release since SubtypeGroupLayer only supports subtypes.
|
|
129
|
+
*
|
|
130
|
+
* {@link https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/#subtypes}.
|
|
131
|
+
*/
|
|
112
132
|
get types(): Collection<FeatureType>;
|
|
133
|
+
/**
|
|
134
|
+
* Get the subtype field.
|
|
135
|
+
*/
|
|
136
|
+
get subtypeField(): string;
|
|
137
|
+
set subtypeField(value: string);
|
|
138
|
+
/**
|
|
139
|
+
* Get the collection of subtypes.
|
|
140
|
+
*/
|
|
141
|
+
get subtypes(): Collection<Subtype>;
|
|
113
142
|
get _fields(): Collection<Field>;
|
|
114
143
|
/**
|
|
115
144
|
* Creates the backing collection for fields.
|
|
116
145
|
*/
|
|
117
146
|
protected _createFieldCollection(): Collection<Field>;
|
|
118
147
|
/**
|
|
119
|
-
* Creates the backing collection for
|
|
148
|
+
* Creates the backing collection for subtypes.
|
|
120
149
|
*/
|
|
121
|
-
protected
|
|
150
|
+
protected _createSubtypesCollection(): Collection<Subtype>;
|
|
122
151
|
protected _getPropertyBindings(): Partial<Record<keyof this, LayerExtensionSchemaPropertyBinding>>;
|
|
123
152
|
}
|
|
124
153
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__decorate as e}from"tslib";import t from"@arcgis/core/layers/support/FeatureTemplate.js";import r from"@arcgis/core/layers/support/FeatureType.js";import s from"@arcgis/core/rest/support/AttachmentQuery";import{
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/layers/support/FeatureTemplate.js";import r from"@arcgis/core/layers/support/FeatureType.js";import s from"@arcgis/core/rest/support/AttachmentQuery";import{InvalidOperationError as i}from"../InvalidOperationError.js";import{toAttachment as a}from"../data/Attachment.js";import{addAttachment as l,deleteAttachments as n,supportsAttachmentEditing as o}from"../data/support/attachments.js";import{applyJsonToLayer as u,layerToJson as y}from"../json/LayerJson.js";import{serializable as p}from"../support/Serializable.js";import{ArcGISRelationshipCollection as d}from"../support/_ArcGISRelationshipCollection.js";import{applyEdits as c}from"../support/_featureEdit.js";import{notifyChange as m,watch as h}from"../support/observableUtils.js";import{ReadOnlyCollection as b}from"../utilities/ReadOnlyCollection.js";import{isFeatureLayer as f,isSubtypeGroupLayer as _}from"../utilities/_layers.js";import{getGdbVersion as g}from"../utilities/_version.js";import{parse as S}from"../utilities/format/number.js";import{getLogger as F}from"../utilities/log.js";import{caseInsensitiveEquals as w}from"../utilities/string.js";import{onCollectionPropertyChange as C}from"../utilities/watch.js";import{LayerExtension as x,LayerExtensionReadOnlySchema as E}from"./_LayerExtension.js";import{SublayerExtension as j}from"./_SublayerExtension.js";import{ArrayWrappedCollection as I}from"./support/ArrayWrappedCollection.js";import{PopupTemplateFeatureSettings as T}from"./support/PopupTemplateFeatureSettings.js";import{addOutFields as A}from"./support/layers.js";const L=F("SubtypeGroupLayerExtension");let O=class extends x{attachmentTypes;get enableClientSideData(){return this._enableClientSideData}set enableClientSideData(e){this._enableClientSideData=e,this._updateClientSideFields()}get layer(){return super.layer}get sublayerExtensions(){return super.sublayerExtensions}get supportsSublayers(){return!0}get sublayersAreReadOnly(){return!1}get hasFeatures(){return!0}get canChangeDefinitionExpression(){return!0}get _layerView(){return this.layer&&this.mapExtension?._allLayerViews.find((e=>e.layer===this.layer))}_enableClientSideData;constructor(e){super(e),C(this,"layer.sublayers",this._onSubtypeSublayersChange)}_getProjectWebmapJSON(){const e=super._getProjectWebmapJSON();if(!e||this.dynamicallyAddedLayer)return e;const t=y(this.layer);return t.layers&&(e.layers=t.layers.map((e=>{const{layerDefinition:t,visibility:r,subtypeCode:s,layerType:i}=e,a={layerType:i,visibility:r,subtypeCode:s};return t?.drawingInfo&&(a.layerDefinition={drawingInfo:t.drawingInfo}),a}))),e}_createRelationships(){return new SubtypeGroupLayerRelationshipCollection(this)}async _onInitialize(){await super._onInitialize(),this._addDomainsToFields(),await this.relationships.initialize()}async _postInitialize(){await super._postInitialize();this._handles.add(h(this,"layer",(()=>{this._addTemplatesToSublayers(),this._updateClientSideFields()}),{sync:!0,initial:!0}))}_capabilities(){const e=o(this.layer);return this.layer?.capabilities?.operations?{...this.layer.capabilities.operations,supportsAttachmentEditing:e,supportsStandardizedQueries:this.layer.capabilities?.query?.supportsStandardizedQueriesOnly}:{...super._capabilities(),supportsAttachmentEditing:e}}_createSublayerExtension(e){return j.factory.create(e,"SubtypeSublayer")}_getSerializableProperties(){const e=super._getSerializableProperties();return{...e,layer:{...this._toPropertyDef(e.layer),default:{layerType:"SubtypeGroupLayer"}},enableClientSideData:{serializeModes:["initial"],default:!1},attachmentTypes:["initial"]}}_isSupportedLayer(e){return _(e)}_createSchema(){return new v(this)}_createFeatureSettings(){return new P(this)}async _getAttachments(e){if(!this.layer?.capabilities?.data?.supportsAttachment)return[];const t=+e.primaryKey,r=this.layer?.gdbVersion??g(this.layer?.customParameters),i=new s({objectIds:[t]}),l=await this.layer.queryAttachments(i);return l?.[t]?.length?l[t].map((e=>a(e,{gdbVersion:r}))):[]}async _addAttachment(e,t){return l(e,this.layer,t,{attachmentTypes:this.attachmentTypes})}async _deleteAttachments(e,t){return n(e,this.layer,t)}async _applyPortalItemProperties(e){if("Feature Service"!==e.type)throw new Error(`Cannot create SubtypeGroupLayer from Portal item that has type: ${e.type}`);let{url:t}=e;t.match(".*MapServer/\\d{1,}/?$")||t.match(".*FeatureServer/\\d{1,}/?$")||(t=`${t}/0`),this.layer.url=t||this.layer.url;const r=await e.fetchData();r&&await u(r,this.layer)}async*_getFeatures(e,t){this.layer||(yield*super._getFeatures(e,t));const r=this.layer.createQuery();r.objectIds=e.map((e=>S(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry,yield*(await import("../support/_query.js")).executeQuery(r,this,this.layer,t.cancelToken)}async _addFeatures(e,t){await c({adds:e},this.layer,t)}async _updateFeatures(e,t){await c({updates:e},this.layer,t)}async _deleteFeatures(e,t){await c({deletes:e},this.layer,t)}_onSubtypeSublayersChange=e=>{e.removed?.length&&this.sublayerExtensions.removeMany(this.sublayerExtensions.filter((e=>!e.sublayer)))};_updateClientSideFields(){this.layer&&this._enableClientSideData&&(A(this.layer,this.featureSettings.outFields),this.allSublayerExtensions.forEach((e=>A(this.layer,e.featureSettings.outFields))))}_addTemplatesToSublayers(){const e=this.layer.sourceJSON?.templates?.map((e=>t.fromJSON(e)));for(let r=0;r<this.sublayerExtensions.length;r++){const s=this.sublayerExtensions.getItemAt(r);if(null==s.sublayer)continue;const i=this.layer.sourceJSON?.types.filter((e=>e.name===s.title))[0]?.templates;(null==s.sublayer.templates||0===s.sublayer.templates.length||z(s))&&i?s._defaultTemplates=i.map((e=>t.fromJSON(e))):1!==e.length||1===this.sublayerExtensions.length||s.sublayer.templates||(s._defaultTemplates=e.map((e=>{const r=t.fromJSON(e.toJSON());r.name=s.title;const i=r.prototype?.attributes;return"number"==typeof i?.[this.layer.subtypeField]&&(i[this.layer.subtypeField]=s.sublayer.subtypeCode),r}))),z(s)&&(s.sublayer.templates[0].name=s.sublayer.title)}}_addDomainsToFields(){if(this.layer.subtypes)for(const e of this.layer.subtypes)for(const[t,r]of Object.entries(e.domains??{})){const e=this.layer.fields.find((e=>w(e.name,t)));e&&!e.domain&&(e.domain=r)}}};O=e([p],O);export{O as SubtypeGroupLayerExtension};let P=class extends T{get _defaultOutFields(){const e=super._defaultOutFields;return this.featureSource?.schema?.subtypeField&&e.push(this.featureSource.schema.findFieldByName(this.featureSource.schema.subtypeField).name),Array.from(new Set(e))}};P=e([p],P);const D="This schema property is read-only.";let v=class extends E{_fieldCollection;_subtypesCollection;constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._subtypesCollection=this._createSubtypesCollection(),m(this,"_fields")}destroy(){this._fieldCollection.destroy(),this._subtypesCollection.destroy(),super.destroy()}get typeIdField(){return L.warn("typeIdField is deprecated in SubtypeGroupLayerExtensions and will return undefined in a future version. Use subtypeField instead."),super.typeIdField}set typeIdField(e){throw new i(D)}get types(){return L.warn("types is deprecated in SubtypeGroupLayerExtensions and will return undefined in a future version. Use subtypes instead."),this._subtypesCollection.map((e=>new r({id:e.code,name:e.name,domains:e.domains??{}})))}get subtypeField(){return this._layerExtension.layer?.subtypeField}set subtypeField(e){throw new i(D)}get subtypes(){return this._subtypesCollection}get _fields(){return this._fieldCollection}_createFieldCollection(){return new b(new I({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"fields"}),{destroyBackingCollection:!0})}_createSubtypesCollection(){return new b(new I({parent:this._layerExtension,targetProperty:"layer",arrayProperty:"subtypes"}),{destroyBackingCollection:!0})}_getPropertyBindings(){return{primaryKeyField:"objectIdField",geometryType:"geometryType",spatialReference:"spatialReference",displayField:"displayField",typeIdField:"subtypeField",subtypeField:"subtypeField",subtypes:"subtypes"}}};v=e([p],v);export{v as SubtypeGroupLayerSchema};export class SubtypeGroupLayerRelationshipCollection extends d{get _sourceUrl(){const e=this._source.layer;if(e)return`${e.url}/${e.layerId}`}get _sourceLayerId(){const e=this._source.layer;return e?.layerId}_findRelatedSource(e){if(!this._source.mapExtension||!this._source.layer||!this._sourceUrl)return;const t=this._sourceUrl.slice(0,this._sourceUrl.length-`${this._sourceLayerId}`.length-1),r=this._source.mapExtension.allLayerExtensions.initializedItems.find((r=>(f(r.layer)||_(r.layer))&&r.layer.url===t&&r.layer.layerId===e));return r||this._source.mapExtension.tableExtensions.initializedItems.find((r=>f(r.table)&&r.table.url===t&&r.table.layerId===e))}}function z(e){return 1===e.sublayer?.templates?.length&&"New Feature"===e.sublayer.templates[0].name}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import Collection from "@arcgis/core/core/Collection";
|
|
1
|
+
import type Collection from "@arcgis/core/core/Collection";
|
|
2
2
|
import type FeatureTemplate from "@arcgis/core/layers/support/FeatureTemplate.js";
|
|
3
|
-
import
|
|
3
|
+
import FeatureType from "@arcgis/core/layers/support/FeatureType.js";
|
|
4
4
|
import type Field from "@arcgis/core/layers/support/Field";
|
|
5
|
+
import type Subtype from "@arcgis/core/layers/support/Subtype.js";
|
|
5
6
|
import type SubtypeSublayer from "@arcgis/core/layers/support/SubtypeSublayer.js";
|
|
6
7
|
import type { RendererUnion } from "@arcgis/core/renderers/types.js";
|
|
7
8
|
import type { Attachment, AttachmentProperties } from "../data/Attachment.js";
|
|
@@ -127,17 +128,35 @@ export declare class SubtypeSublayerSchema extends SublayerSchema {
|
|
|
127
128
|
*/
|
|
128
129
|
protected readonly _sublayerExtension: SubtypeSublayerExtension;
|
|
129
130
|
private readonly _fieldCollection;
|
|
130
|
-
private readonly
|
|
131
|
-
private readonly
|
|
131
|
+
private readonly _subtypesCollection;
|
|
132
|
+
private readonly _readonlySubtypesCollection;
|
|
132
133
|
get primaryKeyField(): string;
|
|
133
134
|
set primaryKeyField(value: string);
|
|
134
135
|
get geometryType(): GeometryType;
|
|
135
136
|
set geometryType(value: GeometryType);
|
|
136
137
|
get displayField(): string;
|
|
137
138
|
set displayField(value: string);
|
|
139
|
+
/**
|
|
140
|
+
* Get the type ID field.
|
|
141
|
+
*
|
|
142
|
+
* @deprecated Use subtypeField instead. This will be removed in a future
|
|
143
|
+
* Web release since SubtypeSublayer only supports subtypes.
|
|
144
|
+
*
|
|
145
|
+
* {@link https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#subtypeField}.
|
|
146
|
+
*/
|
|
138
147
|
get typeIdField(): string;
|
|
139
148
|
set typeIdField(value: string);
|
|
149
|
+
/**
|
|
150
|
+
* Get the collection of types.
|
|
151
|
+
*
|
|
152
|
+
* @deprecated Use subtypes instead. This will be removed in a future Web
|
|
153
|
+
* release since SubtypeSublayer only supports subtypes..
|
|
154
|
+
*/
|
|
140
155
|
get types(): Collection<FeatureType>;
|
|
156
|
+
get subtypeField(): string;
|
|
157
|
+
set subtypeField(value: string);
|
|
158
|
+
get subtype(): Subtype | undefined;
|
|
159
|
+
get subtypes(): Collection<Subtype>;
|
|
141
160
|
constructor(layerExtension: SubtypeSublayerExtension);
|
|
142
161
|
destroy(): void;
|
|
143
162
|
get _fields(): Collection<Field>;
|
|
@@ -145,6 +164,10 @@ export declare class SubtypeSublayerSchema extends SublayerSchema {
|
|
|
145
164
|
* Creates the backing collection for fields.
|
|
146
165
|
*/
|
|
147
166
|
protected _createFieldCollection(): Collection<Field>;
|
|
167
|
+
/**
|
|
168
|
+
* Creates the backing collection for subtypes.
|
|
169
|
+
*/
|
|
170
|
+
protected _createSubtypeCollection(): Collection<Subtype>;
|
|
148
171
|
protected _getPropertyBindings(): Partial<Record<keyof this, LayerExtensionSchemaPropertyBinding>>;
|
|
149
172
|
}
|
|
150
173
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import{__decorate as e}from"tslib";import t from"@arcgis/core/layers/support/FeatureType.js";import r from"@arcgis/core/rest/support/AttachmentQuery";import{InvalidOperationError as s}from"../InvalidOperationError.js";import{toAttachment as i}from"../data/Attachment.js";import{addAttachment as a,deleteAttachments as n}from"../data/support/attachments.js";import{applyJsonToSublayer as l,jsonToSublayer as o,sublayerToJson as u}from"../json/SublayerJson.js";import{serializable as y}from"../support/Serializable.js";import{ArcGISRelationshipCollection as p}from"../support/_ArcGISRelationshipCollection.js";import{applyEdits as d}from"../support/_featureEdit.js";import{notifyChange as c,onWatch as h,watch as b}from"../support/observableUtils.js";import{ReadOnlyCollection as m}from"../utilities/ReadOnlyCollection.js";import{getGdbVersion as _}from"../utilities/_version.js";import{parse as f}from"../utilities/format/number.js";import{isFeatureLayer as g,isSubtypeGroupLayer as S,isSubtypeSublayer as x}from"../utilities/layers.js";import{getLogger as F}from"../utilities/log.js";import{caseInsensitiveEquals as w}from"../utilities/string.js";import{SublayerExtension as E,SublayerSchema as C}from"./_SublayerExtension.js";import{ArrayWrappedCollection as j}from"./support/ArrayWrappedCollection.js";import{ExtensionBaseLayerListSettings as I}from"./support/LayerListSettings.js";import{PopupTemplateFeatureSettings as T}from"./support/PopupTemplateFeatureSettings.js";const z=F("SubtypeSublayerExtension");let L=class extends E{_defaultTemplates;get supportsSublayers(){return!1}get layerExtension(){return super.layerExtension}get renderer(){return this.sublayer?.renderer}get hasFeatures(){return!0}get sublayer(){return super.sublayer}get sublayerExtensions(){return super.sublayerExtensions}get attachmentTypes(){return this.layerExtension?.attachmentTypes}get canChangeLabels(){return!0}get canChangeRenderer(){return!0}get canChangeOpacity(){return!1}get defaultTemplates(){return this._defaultTemplates}async _addAttachment(e,t){return a(e,this.sublayer.layer,t,{attachmentTypes:this.layerExtension?.attachmentTypes})}async _deleteAttachments(e,t){return n(e,this.sublayer.layer,t)}_isSupportedSublayer(e){return x(e)}_createLayerListSettings(e){return new v(e,this)}_createFeatureSettings(){return new R(this)}_createSublayer(e){return o(e,"SubtypeGroupLayer")}_createSchema(){return new P(this)}_createRelationships(){return new SubtypeSublayerRelationshipCollection(this)}async _applySublayerProperties(e,t){return l(e,t)}_capabilities(){return this.layerExtension?.capabilities}async _onInitialize(){const e=(await import("@arcgis/core/layers/support/SubtypeSublayer.js")).default;"layer"in e.prototype||Object.defineProperty(e.prototype,"layer",{get:function(){return this.parent},set:function(e){this.parent=e}}),await super._onInitialize(),await this.relationships.initialize(),this._handles.add(h(this,"attachmentTypes",(()=>b(this,"layerExtension.attachmentTypes",(()=>c(this,"attachmentTypes")),{sync:!0})))),this._addDomainsToFields()}async _postInitialize(){await super._postInitialize(),this.layerListSettings.onLayerExtensionInitialized()}_getFeatures(e,t){if(!this.sublayer?.layer)return super._getFeatures(e,t);const r=this.sublayer?.layer.createQuery();r.objectIds=e.map((e=>f(e))),r.where=void 0,r.outFields=t.outFields,r.returnGeometry=t.returnGeometry;const s=this;return{async*[Symbol.asyncIterator](){yield*(await import("../support/_query.js")).executeQuery(r,s,s.sublayer.layer,t.cancelToken)}}}async _getAttachments(e){if(!this.sublayer?.layer?.capabilities?.data?.supportsAttachment)return[];const t=+e.primaryKey,s=this.sublayer?.layer?.gdbVersion??_(this.sublayer?.layer?.customParameters),a=new r({objectIds:[t]}),n=await this.sublayer.layer.queryAttachments(a);return n?.[t]?.length?n[t].map((e=>i(e,{gdbVersion:s}))):[]}async _addFeatures(e,t){await d({adds:e},this.sublayer.layer,t)}async _updateFeatures(e,t){await d({updates:e},this.sublayer.layer,t)}async _deleteFeatures(e,t){await d({deletes:e},this.sublayer.layer,t)}_serializeSublayer(e){return u(e)}_addDomainsToFields(){const e=this.sublayer.parent.subtypes.find((e=>e.code===this.sublayer.subtypeCode));if(e?.domains)for(const[t,r]of Object.entries(e.domains)){const e=this.sublayer.fields.find((e=>w(e.name,t)));e&&!e.domain&&(e.domain=r)}}};L=e([y],L);export{L as SubtypeSublayerExtension};const A="This schema property is read-only.";let P=class extends C{static _subtypesWatchHandlesKey="subtype-sublayer-schema-subtypes-watch-handles";_fieldCollection;_subtypesCollection;_readonlySubtypesCollection;get primaryKeyField(){return this._sublayerExtension.sublayer?.layer?.objectIdField}set primaryKeyField(e){throw new s(A)}get geometryType(){return this._sublayerExtension.sublayer?.layer?.geometryType}set geometryType(e){throw new s(A)}get displayField(){return this._sublayerExtension.sublayer?.layer?.displayField}set displayField(e){throw new s(A)}get typeIdField(){return z.warn("typeIdField is deprecated in SubtypeSublayerExtensions and will return undefined in a future version. Use subtypeField instead."),this._sublayerExtension.sublayer?.layer?.subtypeField}set typeIdField(e){throw new s(A)}get types(){return z.warn("types is deprecated in SubtypeSublayerExtensions and will return undefined in a future version. Use subtypes instead."),this._readonlySubtypesCollection.map((e=>new t({id:e.code,name:e.name,domains:e.domains??{}})))}get subtypeField(){return this._sublayerExtension.sublayer?.layer?.subtypeField}set subtypeField(e){throw new s(A)}get subtype(){return this.subtypes.find((e=>e.code===this._sublayerExtension.sublayer.subtypeCode))}get subtypes(){return this._readonlySubtypesCollection}constructor(e){super(e),this._fieldCollection=this._createFieldCollection(),this._subtypesCollection=this._createSubtypeCollection(),this._readonlySubtypesCollection=new m(this._subtypesCollection),c(this,"_fields")}destroy(){this._fieldCollection.destroy(),this._readonlySubtypesCollection.destroy(),super.destroy()}get _fields(){return this._fieldCollection}_createFieldCollection(){return new m(new j({parent:this._sublayerExtension,targetProperty:"sublayer",arrayProperty:"fields"}),{destroyBackingCollection:!0})}_createSubtypeCollection(){return new j({parent:this._sublayerExtension,targetProperty:"sublayer.layer",arrayProperty:"subtypes"})}_getPropertyBindings(){return{primaryKeyField:"parent.objectIdField",geometryType:"parent.geometryType",spatialReference:"parent.spatialReference",displayField:"parent.displayField",typeIdField:"parent.typeIdField",subtypeField:"parent.subtypeField",subtypes:"subtypes"}}};P=e([y],P);export{P as SubtypeSublayerSchema};let R=class extends T{get _defaultOutFields(){const e=super._defaultOutFields;return this.featureSource?.schema?.subtypeField&&e.push(this.featureSource.schema.findFieldByName(this.featureSource.schema.subtypeField).name),Array.from(new Set(e))}get zoomScale(){const e="point"===this._layerExtension.schema.geometryType?this._layerExtension.sublayer.maxScale:void 0;return this._getSetting("zoomScale",e)}set zoomScale(e){this._setSetting("zoomScale",e)}};R=e([y],R);let v=class extends I{get _layerSupportsHideChildren(){return!1}get _esriLayer(){return this._extension.sublayer}get _listModePath(){return"sublayer.listMode"}get _supportsChildren(){return!1}};v=e([y],v);export class SubtypeSublayerRelationshipCollection extends p{get _sourceUrl(){const e=this._source.sublayer?.layer;if(e)return`${e.url}/${e.layerId}`}get _sourceLayerId(){const e=this._source.sublayer?.layer;return e?.layerId}_findRelatedSource(e){if(!this._source.layerExtension?.mapExtension||!this._source.sublayer||!this._sourceUrl)return;const t=this._sourceUrl.slice(0,this._sourceUrl.length-`${this._sourceLayerId}`.length-1),r=this._source.layerExtension.mapExtension.allLayerExtensions.initializedItems.find((r=>(g(r.layer)||S(r.layer))&&r.layer.url===t&&r.layer.layerId===e));return r||this._source.layerExtension.mapExtension.tableExtensions.initializedItems.find((r=>g(r.table)&&r.table.url===t&&r.table.layerId===e))}}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isCodedValueDomain as t}from"../../utilities/esri.js";import{NumberFormat as e,DateFormat as r,TimeFormat as
|
|
1
|
+
import{isCodedValueDomain as t}from"../../utilities/esri.js";import{NumberFormat as e,DateFormat as r,TimeFormat as s}from"../../utilities/format/formats.js";import{format as i}from"../../utilities/format/number.js";import{caseInsensitiveEquals as a}from"../../utilities/string.js";const n="\t";export function getSearchableValue(o,m){const u=Array.from(o.attributes.keys()).find((t=>a(t,m.name))),f=o.attributes.get(u);if(null==f)return"";if(o.schema.subtypeField){if(t(o.subtype?.domains?.[u])||t(m.domain))return o.presentableAttributes.get(u)}else if(t(o.type?.domains?.[u]))return o.presentableAttributes.get(u);switch(m.type){case"integer":case"small-integer":case"big-integer":case"double":case"single":case"oid":return[o.presentableAttributes.get(u),o.format(`{${u}:#.####################}`),o.format(`{${u}:#,#.####################}`),i(e.ROUND_TRIP,f)].join(n);case"date":case"timestamp-offset":return[o.presentableAttributes.get(u),o.format(`{${u}:${r.FULL}}`),o.format(`{${u}:${r.DATE_SHORT}}`)].join(n);case"date-only":return[o.presentableAttributes.get(u),o.format(`{${u}:${r.DATE_LONG}}`),o.format(`{${u}:${r.DATE_SHORT}}`)].join(n);case"time-only":return[o.presentableAttributes.get(u),o.format(`${u}:${s.TIME_SHORT}`),o.format(`${u}:${s.TIME_LONG}`)].join(n);default:return o.presentableAttributes.get(u)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"@arcgis/core/geometry/operators/differenceOperator";import{
|
|
1
|
+
import*as e from"@arcgis/core/geometry/operators/differenceOperator";import{schemaHasSubtypes as t}from"../../../data/Schema.js";import{isCodedValueDomain as n}from"../../../utilities/esri.js";import{NumberFormat as o}from"../../../utilities/format/formats.js";import{NumberFormatter as r,format as i}from"../../../utilities/format/number.js";import{getBounds as s,getScreenExtent as a}from"../../../utilities/geometry.js";import{average as c,standardDeviation as l}from"../../../utilities/math.js";import{expandExtentToScale as u,getNextScale as m,getScaleRange as f}from"../../../utilities/scaleRanges.js";import{caseInsensitiveEquals as p}from"../../../utilities/string.js";export const separatorRegex=/(\s|(?<=\w)-|-(?![\d,.]))+/;export async function initializeElasticlunrIndex(e){const t=(await import("elasticlunr")).default;t.tokenizer.setSeperator(e),t.Pipeline.getRegisteredFunction("gcx.trimmer")||t.Pipeline.registerFunction(d,"gcx.trimmer");const n=t();return n.pipeline.reset(),n.pipeline.add(d),n.pipeline.add(t.Pipeline.getRegisteredFunction("stopWordFilter")),n.saveDocument(!1),{index:n,tokenizer:t.tokenizer}}export function getSearchableFields(e){const{outFields:t}=e.featureSettings,n=!t.includes("*");return e.schema.fieldExtensions.initializedItems.filter((e=>e.searchable&&(!n||t.includes(e.field.name)))).map((e=>e.field)).toArray()}export function getWhereClause(e,i,s,a){const c=[],l=new r({locale:a.locale,defaultParseFormat:[o.CURRENCY,o.FIXED_POINT,o.PERCENT,o.NUMBER,o.ROUND_TRIP]}),u=t(e.schema),m=u?e.schema.subtypeField:e.schema.typeIdField,f=u?e.schema.subtypes.toArray():e.schema.types.toArray();for(const r of s){let s=[];r.domain&&n(r.domain)&&(s=s.concat(r.domain.codedValues));for(const e of f){const{domains:t}=e;t?.[r.name]?.codedValues&&(s=s.concat(t[r.name].codedValues))}for(const n of i)if(f.length>0&&p(r.name,m)){const o=f.findIndex((e=>p(e.name,n.toLowerCase())));if(o>-1){const n=t(e.schema)?f[o].code:f[o].id;"string"==typeof n?c.push(`${m} = '${F(n)}'`):c.push(`${m} = ${n}`)}}else if(s.length>0){const e=s.findIndex((e=>e.name.toLowerCase().includes(n.toLowerCase())));e>-1&&("string"==typeof s[e].code?c.push(`${r.name} = '${F(s[e].code)}'`):c.push(`${r.name} = ${s[e].code}`))}else switch(r.type){case"string":c.push(`lower(${r.name}) like '%${F(n.toLowerCase())}%'`);break;case"integer":case"small-integer":case"big-integer":case"single":case"double":{const e=h(n),t=l.parse({format:[o.DEFAULT,o.FIXED_POINT,o.NUMBER]},e);if(isNaN(t))continue;const i=g(t);t<0?c.push(`(${r.name} > ${i.lower} and ${r.name} <= ${i.upper})`):c.push(`(${r.name} >= ${i.lower} and ${r.name} < ${i.upper})`);break}}}return c.join(" or ")}export function normalizeScores(e){const t=e.map((e=>e.score)),n=c(t),o=l(t);for(const t of e)o?(t.score=(t.score-n)/o,t.score=Math.max(-2,t.score),t.score=Math.min(2,t.score),t.score=t.score/4+.5,t.score*=100):t.score=100}export async function expandSearchArea(t,n,o,r){if(!n||!t||!o||t.contains(n))return{};const i=m(o,r),c=f("continent"),l=!i||null!=c&&i>=c?n:u(t,o,i);return{geometry:function(e){const t=e.filter((e=>!!e?.spatialReference));if(!t.length)return!0;const{spatialReference:n}=t[0],{isWebMercator:o,isWGS84:r}=n;if(!o&&!r)return!0;const i=a(t),c=s(n);if(null==c||null==i)return!0;const{xmax:l,xmin:u}=i,{max:m,min:f}=c;return l<=m&&u>=f}([l])?e.execute(l,t):l,scale:i}}function d(e){if(null==e)throw new Error("token should not be undefined");return e.replace(/^[^a-zA-Z0-9\u007F-\uFFFF-]+/,"").replace(/[^a-zA-Z0-9\u007F-\uFFFF-]+$/,"")}function g(e){let t,n=0;const r=i(o.ROUND_TRIP,e),s=x(r);r.includes(".")&&(n=r.length-r.indexOf(".")-1);let a=e;return 0===s&&n>0?t=Math.pow(10,-(n-1)):null!=s&&n>s?(a=Number(e.toFixed(n-s)),t=Math.pow(10,-n)):t=1,t/=2,{lower:(a-t).toFixed(n+1),upper:(a+t).toFixed(n+1)}}function h(e){let t=x(e);const n=i(-123456780.9),o=function(){const e=i(1234567890);return i(-123456780.9).split("").filter((t=>!e.includes(t))).join("")}();if(null!=t&&t>0){const r=new RegExp(`[${n}]`,"g"),s=e.match(r);if(null!=s){const e=s.length;let n=0;for(;t>0&&n<=e;){const r=e-n-1;o.includes(s[r])||(s[r]=i(0).toString(),t--),n++}return s.join("")}}return e}function x(e){const t=i(1234567890),n=new RegExp(`[${t}]`,"g"),o=e.match(n);return o?o.length-14:void 0}function F(e){return e.replace(/([%'])/g,"$1$1")}
|
package/version.d.ts
CHANGED
package/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const version="
|
|
1
|
+
export const version="54.0.0";
|