@arcgis/core 5.1.0-next.81 → 5.1.0-next.82
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/analysis/ShadowCast/DiscreteOptions.d.ts +12 -0
- package/analysis/ShadowCast/TotalDurationOptions.d.ts +12 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/040884cec4b84dd1bb17.js +1 -0
- package/assets/esri/core/workers/chunks/05c5f68e117fc58ae801.js +1 -0
- package/assets/esri/core/workers/chunks/074f5e6aaeafca13bf72.js +1 -0
- package/assets/esri/core/workers/chunks/{7bd1d624f4f4a11a31e8.js → 086d7cdfa92a649c9f7b.js} +1 -1
- package/assets/esri/core/workers/chunks/{0eed2b1b06355ab89013.js → 0c074c46d106ca4d3bad.js} +1 -1
- package/assets/esri/core/workers/chunks/{c758e16b57c96ce88294.js → 1768f1a7e3caa6074d91.js} +1 -1
- package/assets/esri/core/workers/chunks/{85d3475667c503ec4fc6.js → 186bfde8c552e3b42302.js} +1 -1
- package/assets/esri/core/workers/chunks/1a35121a0c2595a41fdb.js +1 -0
- package/assets/esri/core/workers/chunks/1ab66600579fa4232d7b.js +1 -0
- package/assets/esri/core/workers/chunks/1e3fe89970c57a883fe5.js +1 -0
- package/assets/esri/core/workers/chunks/{824051af00e7a1f05ed0.js → 230e0e43f8e771950397.js} +1 -1
- package/assets/esri/core/workers/chunks/26f804c92077c11c626d.js +1 -0
- package/assets/esri/core/workers/chunks/28a45bd26eb5c9b3ec7c.js +1 -0
- package/assets/esri/core/workers/chunks/38f1a86b8dd9ee684ee5.js +596 -0
- package/assets/esri/core/workers/chunks/{71fe127734f33d020a44.js → 475394218caaa4cd3e86.js} +1 -1
- package/assets/esri/core/workers/chunks/475409026288f0981ce2.js +1 -0
- package/assets/esri/core/workers/chunks/4e206957b28253ddc1a3.js +1 -0
- package/assets/esri/core/workers/chunks/5cc38ac051d3d0557920.js +1 -0
- package/assets/esri/core/workers/chunks/{992cd87ba0ab6346f692.js → 64e268ebac0b62076f81.js} +1 -1
- package/assets/esri/core/workers/chunks/{003fd7745966fe03510c.js → 65ac73de5bb133c6bf89.js} +1 -1
- package/assets/esri/core/workers/chunks/6675d56f49d07a97dc40.js +1 -0
- package/assets/esri/core/workers/chunks/{484d6c1b0fe1633515b7.js → 72f8f4cfa0842d325fb0.js} +1 -1
- package/assets/esri/core/workers/chunks/{283d39dfb1625b5a74db.js → 747e258f57f0543c836e.js} +1 -1
- package/assets/esri/core/workers/chunks/{dd4f431511edd975a53b.js → 7acf82763aeba44049d0.js} +1 -1
- package/assets/esri/core/workers/chunks/{5d8e944b192aad4cf986.js → 7b505112c7e6d9b7a239.js} +1 -1
- package/assets/esri/core/workers/chunks/7b8466f892a38a53c600.js +1 -0
- package/assets/esri/core/workers/chunks/{77dd719516138afb1a2a.js → 8af9a78cf316581ea482.js} +1 -1
- package/assets/esri/core/workers/chunks/988e91cc6cf88c34c2de.js +1 -0
- package/assets/esri/core/workers/chunks/9c402657f63a4d5668d0.js +1 -0
- package/assets/esri/core/workers/chunks/9ea23cd4b2664c08b670.js +1 -0
- package/assets/esri/core/workers/chunks/9f51a69b8f1937a8794a.js +1 -0
- package/assets/esri/core/workers/chunks/a28124bba6b43efd74cc.js +1 -0
- package/assets/esri/core/workers/chunks/af762422a65c551dcd54.js +1 -0
- package/assets/esri/core/workers/chunks/{056fd7847caaff2c9514.js → af8bc56cf1404afc3028.js} +1 -1
- package/assets/esri/core/workers/chunks/b9e163f4a898e50cc854.js +1 -0
- package/assets/esri/core/workers/chunks/{444f0f51b3ee0b9845a5.js → bb2f6b0fcdfb8b158e26.js} +1 -1
- package/assets/esri/core/workers/chunks/{4af39fa53bc0b79101ed.js → bc8a74da48b08309875f.js} +1 -1
- package/assets/esri/core/workers/chunks/{026d3fa331caec1ea3d2.js → bf4dd8e50704e4040966.js} +1 -1
- package/assets/esri/core/workers/chunks/c19e3f6027b6526de359.js +1 -0
- package/assets/esri/core/workers/chunks/ce4dfc3a470230ddc9e4.js +1 -0
- package/assets/esri/core/workers/chunks/{8ea4584e07ccc85caabd.js → d11de13537b623739e14.js} +1 -1
- package/assets/esri/core/workers/chunks/d897412b99b9fba44bb4.js +1 -0
- package/assets/esri/core/workers/chunks/{035dbb0217f83108fa89.js → db86a1119e4e58ecfbda.js} +1 -1
- package/assets/esri/core/workers/chunks/dcb7a3ff59677b1cf0f1.js +1 -0
- package/assets/esri/core/workers/chunks/{5fe97253f80c797fad7f.js → df8a3d3cac454d42e14d.js} +1 -1
- package/assets/esri/core/workers/chunks/dfe1139124fda0d6c059.js +1 -0
- package/assets/esri/core/workers/chunks/{8b8f391f27774aec6db9.js → e0b27bceb397482bd0e8.js} +1 -1
- package/assets/esri/core/workers/chunks/{84821dff3bcc51161802.js → e89dc473f46a5584d2ef.js} +32 -32
- package/assets/esri/core/workers/chunks/{01ee18782a50279f907e.js → f4220b6eab0865318033.js} +1 -1
- package/assets/esri/core/workers/chunks/{42336e0d1ef88737b078.js → f468c6ea2818a1f97e19.js} +1 -1
- package/assets/esri/core/workers/chunks/fce2306a1b31c6680f90.js +1 -0
- package/assets/esri/core/workers/chunks/fcf51697c361e0075cc2.js +1 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +15 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
- package/chunks/ShadowCastVisualize.glsl.js +33 -15
- package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
- package/chunks/arcgis-knowledge-client-core.js +1 -1
- package/config.js +1 -1
- package/core/workers/registry.js +1 -1
- package/form/elements/inputs/MultipleChoiceInput.d.ts +6 -6
- package/form/elements/inputs/MultipleChoiceInput.js +1 -1
- package/kernel.js +1 -1
- package/layers/BaseDynamicLayer.js +1 -1
- package/layers/BaseTileLayer.js +1 -1
- package/layers/ElevationLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/WMTSLayer.js +1 -1
- package/layers/WebTileLayer.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/TiledImagery.js +1 -1
- package/layers/support/imageBitmapUtils.js +1 -1
- package/package.json +1 -1
- package/request/process.js +1 -1
- package/rest/knowledgeGraph/CreateReplicaResponse.d.ts +37 -0
- package/rest/knowledgeGraph/CreateReplicaResponse.js +2 -0
- package/rest/knowledgeGraph/ReplicaDefinition.d.ts +91 -0
- package/rest/knowledgeGraph/ReplicaDefinition.js +2 -0
- package/rest/knowledgeGraph/ReplicasInformationResponse.d.ts +24 -0
- package/rest/knowledgeGraph/ReplicasInformationResponse.js +2 -0
- package/rest/knowledgeGraph/UnregisterReplicaResponse.d.ts +44 -0
- package/rest/knowledgeGraph/UnregisterReplicaResponse.js +2 -0
- package/rest/knowledgeGraph/wasmInterface/replicaToWasmEncodedFactories.js +2 -0
- package/rest/knowledgeGraph/wasmInterface/wasmToReplicaFactories.js +2 -0
- package/rest/knowledgeGraphService.d.ts +50 -1
- package/rest/knowledgeGraphService.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/BaseDynamicLayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/WMSLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/layers/ElevationLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerWorker.js +2 -0
- package/views/3d/layers/IntegratedMesh3DTilesLayerWorkerHandle.js +2 -0
- package/views/3d/layers/TileLayerView3D.js +1 -1
- package/views/3d/layers/WMTSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/tessellationUtils.js +1 -1
- package/views/3d/layers/support/IntegratedMesh3DTilesVertexProcessing.js +2 -0
- package/views/3d/layers/support/makeScheduleFunction.js +1 -1
- package/views/3d/support/renderInfoUtils/polygon.js +1 -1
- package/views/3d/terrain/TerrainData.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TileRenderer.js +1 -1
- package/views/3d/terrain/terrainUtils.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/colorRampParameters.js +2 -0
- package/views/support/TextureCompressionWorker.js +1 -1
- package/views/support/TextureCompressionWorkerHandle.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/css.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/05c3146d87d917606193.js +0 -1
- package/assets/esri/core/workers/chunks/0b77c124b743067e4155.js +0 -1
- package/assets/esri/core/workers/chunks/11241781baaed346af52.js +0 -1
- package/assets/esri/core/workers/chunks/1d9560eb8b21b9e76616.js +0 -1
- package/assets/esri/core/workers/chunks/2bd69a7734d170e190ed.js +0 -1
- package/assets/esri/core/workers/chunks/2c87c3112a43db8624f6.js +0 -1
- package/assets/esri/core/workers/chunks/3a58708217a9c11836ab.js +0 -1
- package/assets/esri/core/workers/chunks/3bbf684ee2484eb44c9f.js +0 -1
- package/assets/esri/core/workers/chunks/49fb9c47070641bce9a9.js +0 -1
- package/assets/esri/core/workers/chunks/5417308eba30e668b1ee.js +0 -1
- package/assets/esri/core/workers/chunks/62b3e933f548ce354b99.js +0 -1
- package/assets/esri/core/workers/chunks/6e70e922331704b92a08.js +0 -1
- package/assets/esri/core/workers/chunks/7c7c11c0fde8b63e330b.js +0 -1
- package/assets/esri/core/workers/chunks/7cee7ffaf941a4fe23b0.js +0 -596
- package/assets/esri/core/workers/chunks/7f55eef696e9ed717bfc.js +0 -1
- package/assets/esri/core/workers/chunks/89dbea6f436d45a3b185.js +0 -1
- package/assets/esri/core/workers/chunks/9d216e30d04ea21fc8a2.js +0 -1
- package/assets/esri/core/workers/chunks/a5d8d6f3c0c8de474efd.js +0 -1
- package/assets/esri/core/workers/chunks/a809b811121099a87a98.js +0 -1
- package/assets/esri/core/workers/chunks/c02ba921c0a32d2021e3.js +0 -1
- package/assets/esri/core/workers/chunks/c3c19b62d948d53118a8.js +0 -1
- package/assets/esri/core/workers/chunks/c46a4adea39636a96d03.js +0 -1
- package/assets/esri/core/workers/chunks/c5507480344176fad241.js +0 -1
- package/assets/esri/core/workers/chunks/c6030271bd6d39b6e1db.js +0 -1
- package/assets/esri/core/workers/chunks/d1a7d13e1d48abcd7bf1.js +0 -1
- package/assets/esri/core/workers/chunks/dcbc4072c18278c2b67d.js +0 -1
- package/assets/esri/core/workers/chunks/e610d24539a675fb054b.js +0 -1
- package/assets/esri/core/workers/chunks/ecb7ede6a8e6c05e4c6c.js +0 -1
- package/assets/esri/core/workers/chunks/f227b34cce6843df0fb6.js +0 -1
- package/request/ImageWithType.js +0 -2
- package/views/3d/layers/support/fetchTile.js +0 -2
|
@@ -4,10 +4,10 @@ import type OtherChoice from "./multipleChoice/OtherChoice.js";
|
|
|
4
4
|
import type { ChoiceProperties } from "./multipleChoice/Choice.js";
|
|
5
5
|
import type { OtherChoiceProperties } from "./multipleChoice/OtherChoice.js";
|
|
6
6
|
|
|
7
|
-
export interface MultipleChoiceInputProperties extends Partial<Pick<MultipleChoiceInput, "choiceDelimiter" | "
|
|
7
|
+
export interface MultipleChoiceInputProperties extends Partial<Pick<MultipleChoiceInput, "choiceDelimiter" | "includeSelectAllChoices" | "maxSelectedChoices" | "minSelectedChoices">> {
|
|
8
8
|
/** An array of available choices. */
|
|
9
9
|
choices?: ChoiceProperties[];
|
|
10
|
-
/** The configuration for the `other` choice
|
|
10
|
+
/** The configuration for the `other` choice. */
|
|
11
11
|
otherChoice?: OtherChoiceProperties | null;
|
|
12
12
|
}
|
|
13
13
|
|
|
@@ -19,7 +19,7 @@ export interface MultipleChoiceInputProperties extends Partial<Pick<MultipleChoi
|
|
|
19
19
|
* @example
|
|
20
20
|
* // Creates a new multiple choice input for a field element within a form
|
|
21
21
|
* const multipleChoiceInput = new MultipleChoiceInput({
|
|
22
|
-
*
|
|
22
|
+
* includeSelectAllChoices: true,
|
|
23
23
|
* otherChoice: {
|
|
24
24
|
* fieldName: "other",
|
|
25
25
|
* label: "Other",
|
|
@@ -45,13 +45,13 @@ export default class MultipleChoiceInput extends Input {
|
|
|
45
45
|
/** An array of available choices. */
|
|
46
46
|
get choices(): Choice[];
|
|
47
47
|
set choices(value: ChoiceProperties[]);
|
|
48
|
-
/** Indicates whether
|
|
49
|
-
accessor
|
|
48
|
+
/** Indicates whether a `select all` choice should be displayed. */
|
|
49
|
+
accessor includeSelectAllChoices: boolean | null | undefined;
|
|
50
50
|
/** The maximum number of choices allowed. */
|
|
51
51
|
accessor maxSelectedChoices: number | null | undefined;
|
|
52
52
|
/** The minimum number of choices required. */
|
|
53
53
|
accessor minSelectedChoices: number | null | undefined;
|
|
54
|
-
/** The configuration for the `other` choice
|
|
54
|
+
/** The configuration for the `other` choice. */
|
|
55
55
|
get otherChoice(): OtherChoice | null | undefined;
|
|
56
56
|
set otherChoice(value: OtherChoiceProperties | null | undefined);
|
|
57
57
|
/** The type of form element input. */
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{property as t,subclass as i}from"../../../core/accessorSupport/decorators.js";import o from"./Input.js";import c from"./multipleChoice/Choice.js";import
|
|
2
|
+
import{__decorate as e}from"tslib";import{property as t,subclass as i}from"../../../core/accessorSupport/decorators.js";import o from"./Input.js";import c from"./multipleChoice/Choice.js";import l from"./multipleChoice/OtherChoice.js";var s;let r=s=class extends o{constructor(e){super(e),this.choiceDelimiter=",",this.choices=[],this.includeSelectAllChoices=null,this.maxSelectedChoices=null,this.minSelectedChoices=null,this.otherChoice=null,this.type="multiple-choice"}clone(){return new s({choiceDelimiter:this.choiceDelimiter,choices:this.choices.map(e=>e.clone()),includeSelectAllChoices:this.includeSelectAllChoices,maxSelectedChoices:this.maxSelectedChoices,minSelectedChoices:this.minSelectedChoices,otherChoice:this.otherChoice?.clone()??null})}};e([t({type:String,json:{write:!0}})],r.prototype,"choiceDelimiter",void 0),e([t({type:[c],json:{write:!0}})],r.prototype,"choices",void 0),e([t({type:Boolean,json:{write:!0}})],r.prototype,"includeSelectAllChoices",void 0),e([t({type:Number,json:{write:!0}})],r.prototype,"maxSelectedChoices",void 0),e([t({type:Number,json:{write:!0}})],r.prototype,"minSelectedChoices",void 0),e([t({type:l,json:{write:!0}})],r.prototype,"otherChoice",void 0),e([t({type:["multiple-choice"],json:{read:!1,write:!0}})],r.prototype,"type",void 0),r=s=e([i("esri.form.elements.inputs.MultipleChoiceInput")],r);const h=r;export{h as default};
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.
|
|
2
|
+
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.1";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.1.0-next.82",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import{property as a,subclass as s}from"../core/accessorSupport/decorators.js";import i from"./Layer.js";import{BlendLayer as o}from"./mixins/BlendLayer.js";import{RefreshableLayer as m}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as n}from"./mixins/ScaleRangeLayer.js";
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import{property as a,subclass as s}from"../core/accessorSupport/decorators.js";import i from"./Layer.js";import{BlendLayer as o}from"./mixins/BlendLayer.js";import{RefreshableLayer as m}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as n}from"./mixins/ScaleRangeLayer.js";import{createBitmapResult as p}from"./support/imageBitmapUtils.js";var c;let l=c=class extends(o(n(m(i)))){constructor(e){super(e),this.type="base-dynamic"}getImageUrl(){throw new r("basedynamiclayer:getImageUrl-not-implemented","getImageUrl() is not implemented")}addResolvingPromise(e){super.addResolvingPromise(e)}async fetchImage(e,r,a,s){const i=this.getImageUrl(e,r,a),o={responseType:"image",signal:s?.signal,query:{...this.refreshParameters}};if("string"==typeof i){const{data:e}=await t(i,o);return e}const m=await i,{data:n}=await t(m,o);return n}async fetchImageBitmap(e,a,s,i={}){if(this.fetchImage!==c.prototype.fetchImage){const t=await this.fetchImage(e,a,s,i);try{return await p(t,i)}catch(g){throw new r("request:server","Unable to load image",{error:g,extent:e,width:a,height:s})}}const o=this.getImageUrl(e,a,s),m={responseType:"blob",signal:i?.signal,query:{...this.refreshParameters}};if("string"==typeof o){const{data:e}=await t(o,m);return p(e,i)}const n=await o,{data:l}=await t(n,m);return p(l,i)}};e([a({readOnly:!0,value:"base-dynamic"})],l.prototype,"type",void 0),e([a({type:["show","hide"]})],l.prototype,"listMode",void 0),l=c=e([s("esri.layers.BaseDynamicLayer")],l);const g=l;export{g as default};
|
package/layers/BaseTileLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import{property as o,subclass as i}from"../core/accessorSupport/decorators.js";import s from"../geometry/Extent.js";import a from"../geometry/SpatialReference.js";import{create as l}from"../geometry/support/aaBoundingRect.js";import p from"./Layer.js";import{BlendLayer as n}from"./mixins/BlendLayer.js";import{RefreshableLayer as m}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as f}from"./mixins/ScaleRangeLayer.js";import{createTileBitmap as c}from"./support/imageBitmapUtils.js";import y from"./support/TileInfo.js";import{TileKey as u}from"./support/TileKey.js";var d;const h=new u(0,0,0);let g=d=class extends(n(f(m(p)))){constructor(e){super(e),this.tileInfo=y.create({spatialReference:a.WebMercator,size:256}),this.type="base-tile",this.fullExtent=new s(-20037508.342787,-20037508.34278,20037508.34278,20037508.342787,a.WebMercator),this.spatialReference=a.WebMercator}addResolvingPromise(e){super.addResolvingPromise(e)}getTileBounds(e,t,r,o){const i=o||l();return h.level=e,h.row=t,h.col=r,h.extent=i,this.tileInfo.updateTileInfo(h),i}fetchTile(e,r,o,i={}){const{signal:s}=i,a=this.getTileUrl(e,r,o),l={responseType:"image",signal:s,query:{...this.refreshParameters}};return t(a??"",l).then(e=>e.data)}async fetchImageBitmapTile(e,r,o,i={}){const{signal:s}=i;if(this.fetchTile!==d.prototype.fetchTile){const t=await this.fetchTile(e,r,o,i);return c(t,e,r,o,
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import{property as o,subclass as i}from"../core/accessorSupport/decorators.js";import s from"../geometry/Extent.js";import a from"../geometry/SpatialReference.js";import{create as l}from"../geometry/support/aaBoundingRect.js";import p from"./Layer.js";import{BlendLayer as n}from"./mixins/BlendLayer.js";import{RefreshableLayer as m}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as f}from"./mixins/ScaleRangeLayer.js";import{createTileBitmap as c}from"./support/imageBitmapUtils.js";import y from"./support/TileInfo.js";import{TileKey as u}from"./support/TileKey.js";var d;const h=new u(0,0,0);let g=d=class extends(n(f(m(p)))){constructor(e){super(e),this.tileInfo=y.create({spatialReference:a.WebMercator,size:256}),this.type="base-tile",this.fullExtent=new s(-20037508.342787,-20037508.34278,20037508.34278,20037508.342787,a.WebMercator),this.spatialReference=a.WebMercator}addResolvingPromise(e){super.addResolvingPromise(e)}getTileBounds(e,t,r,o){const i=o||l();return h.level=e,h.row=t,h.col=r,h.extent=i,this.tileInfo.updateTileInfo(h),i}fetchTile(e,r,o,i={}){const{signal:s}=i,a=this.getTileUrl(e,r,o),l={responseType:"image",signal:s,query:{...this.refreshParameters}};return t(a??"",l).then(e=>e.data)}async fetchImageBitmapTile(e,r,o,i={}){const{signal:s}=i;if(this.fetchTile!==d.prototype.fetchTile){const t=await this.fetchTile(e,r,o,i);return c(t,e,r,o,i)}const a=this.getTileUrl(e,r,o)??"",l={responseType:"blob",signal:s,query:{...this.refreshParameters}},{data:p}=await t(a,l);return c(p,e,r,o,i)}getTileUrl(){throw new r("basetilelayer:gettileurl-not-implemented","getTileUrl() is not implemented")}};e([o({type:y})],g.prototype,"tileInfo",void 0),e([o({type:["show","hide"]})],g.prototype,"listMode",void 0),e([o({readOnly:!0,value:"base-tile"})],g.prototype,"type",void 0),e([o({nonNullable:!0})],g.prototype,"fullExtent",void 0),e([o({type:a})],g.prototype,"spatialReference",void 0),g=d=e([i("esri.layers.BaseTileLayer")],g);export{g as default};
|
package/layers/ElevationLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../request.js";import r from"../core/Error.js";import{releaseMaybe as i}from"../core/maybe.js";import{MultiOriginJSONSupportMixin as o}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as a,throwIfAborted as s}from"../core/promiseUtils.js";import{objectToQuery as l}from"../core/urlUtils.js";import{property as p,subclass as n}from"../core/accessorSupport/decorators.js";import c from"../geometry/HeightModelInfo.js";import d from"./Layer.js";import{ArcGISCachedService as u}from"./mixins/ArcGISCachedService.js";import{ArcGISService as y}from"./mixins/ArcGISService.js";import{OperationalLayer as h}from"./mixins/OperationalLayer.js";import{PortalLayer as m}from"./mixins/PortalLayer.js";import{url as v}from"./support/commonProperties.js";import f from"./support/ElevationTileData.js";import{acquireDecoder as w}from"./support/LercDecoder.js";import{reader as g}from"../core/accessorSupport/decorators/reader.js";let S=class extends(u(y(h(m(o(d)))))){constructor(...e){super(...e),this.capabilities={operations:{supportsTileMap:!1}},this.copyright=null,this.heightModelInfo=null,this.path=null,this.minScale=void 0,this.maxScale=void 0,this.opacity=1,this.operationalLayerType="ArcGISTiledElevationServiceLayer",this.sourceJSON=null,this.type="elevation",this.url=null,this.version=null,this._lercDecoder=w()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this._lercDecoder=i(this._lercDecoder)}readCapabilities(e,t){const r=t.capabilities&&t.capabilities.split(",").map(e=>e.toLowerCase().trim());if(!r)return{operations:{supportsTileMap:!1}};return{operations:{supportsTileMap:r.includes("tilemap")}}}readVersion(e,t){let r=t.currentVersion;return r||(r=9.3),r}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Image Service"],supportsData:!1,validateItem:e=>{if(e.typeKeywords)for(let t=0;t<e.typeKeywords.length;t++)if("elevation 3d layer"===e.typeKeywords[t].toLowerCase())return!0;throw new r("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}' ",{type:"Image Service",expectedType:"Image Service Elevation 3D Layer"})}},e).catch(a).then(()=>this._fetchImageService(t))),Promise.resolve(this)}async fetchTile(e,i,o,a){const s=a?.signal,l={responseType:"array-buffer",signal:s,useQueue:a?.useQueue,priority:a?.priority},p={noDataValue:a?.noDataValue,returnFileInfo:!0};await this.load(),await this._fetchTileAvailability(e,i,o,a);const n=await t(this.getTileUrl(e,i,o),l),c=await this._lercDecoder.decode(n.data,p,s);if(!c)throw new r("elevation-layer:tile-decode-failed","Failed to decode elevation tile data.");return new f({values:c.pixelData,width:c.width,height:c.height,noDataValue:c.noDataValue})}getTileUrl(e,t,r){const i=!this.capabilities.operations.supportsTileMap&&this.supportsBlankTile,o=l({...this.parsedUrl.query,blankTile:!i&&null});return`${this.parsedUrl.path}/tile/${e}/${t}/${r}${o?"?"+o:""}`}async queryElevation(e,t){const{query:r}=await import("./support/ElevationQuery.js");return s(t),r(this,e,t)}async createElevationSampler(e,t){const{createSampler:r}=await import("./support/ElevationQuery.js");return s(t),r(this,e,t)}_fetchTileAvailability(e,t,r,i){return this.tilemapCache?this.tilemapCache.fetchAvailability(e,t,r,i):Promise.resolve("unknown")}async _fetchImageService(e){if(this.sourceJSON)return this.sourceJSON;const r={query:{f:"json",...this.parsedUrl.query},responseType:"json",signal:e},i=await t(this.parsedUrl.path,r);i.ssl&&(this.url=this.url?.replace(/^http:/i,"https:")),this.sourceJSON=i.data,this.read(i.data,{origin:"service",url:this.parsedUrl})}get hasOverriddenFetchTile(){return!this.fetchTile[j]}};e([p({readOnly:!0})],S.prototype,"capabilities",void 0),e([g("service","capabilities",["capabilities"])],S.prototype,"readCapabilities",null),e([p({json:{read:{source:"copyrightText"}}})],S.prototype,"copyright",void 0),e([p({readOnly:!0,type:c})],S.prototype,"heightModelInfo",void 0),e([p({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],S.prototype,"path",void 0),e([p({type:["show","hide"]})],S.prototype,"listMode",void 0),e([p({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],S.prototype,"minScale",void 0),e([p({json:{read:!1,write:!1,origins:{service:{read:!1,write:!1},"portal-item":{read:!1,write:!1},"web-document":{read:!1,write:!1}}},readOnly:!0})],S.prototype,"maxScale",void 0),e([p({json:{read:!1,write:!1,origins:{"web-document":{read:!1,write:!1}}}})],S.prototype,"opacity",void 0),e([p({type:["ArcGISTiledElevationServiceLayer"]})],S.prototype,"operationalLayerType",void 0),e([p()],S.prototype,"sourceJSON",void 0),e([p({json:{read:!1},value:"elevation",readOnly:!0})],S.prototype,"type",void 0),e([p(v)],S.prototype,"url",void 0),e([p()],S.prototype,"version",void 0),e([g("version",["currentVersion"])],S.prototype,"readVersion",null),S=e([n("esri.layers.ElevationLayer")],S);const j=Symbol("default-fetch-tile");S.prototype.fetchTile[j]=!0;const T=S;export{T as default};
|
package/layers/MapImageLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import r from"../request.js";import t from"../core/Collection.js";import i from"../core/Error.js";import{loadAll as s}from"../core/loadAll.js";import{MultiOriginJSONSupportMixin as o}from"../core/MultiOriginJSONSupport.js";import{debounce as a,throwIfAbortError as p,isAbortError as n}from"../core/promiseUtils.js";import{getMetersPerUnitForSR as m,inchesPerMeter as l}from"../core/units.js";import{property as c,subclass as u}from"../core/accessorSupport/decorators.js";import{Integer as y}from"../core/accessorSupport/ensureType.js";import{nameToId as d}from"../core/accessorSupport/PropertyOrigin.js";import h from"../geometry/Extent.js";import{getScale as f}from"../geometry/support/scaleUtils.js";import{srToRESTValue as g}from"../geometry/support/spatialReferenceUtils.js";import v from"./Layer.js";import{APIKeyMixin as b}from"./mixins/APIKeyMixin.js";import{ArcGISMapService as x}from"./mixins/ArcGISMapService.js";import{ArcGISService as j}from"./mixins/ArcGISService.js";import{BlendLayer as S}from"./mixins/BlendLayer.js";import{CustomParametersMixin as I}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as P}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{SublayersOwner as T}from"./mixins/SublayersOwner.js";import{TemporalLayer as U}from"./mixins/TemporalLayer.js";import{url as E}from"./support/commonProperties.js";import{ExportImageParameters as M}from"./support/ExportImageParameters.js";import{createBitmap as F}from"./support/imageBitmapUtils.js";import R from"./support/Sublayer.js";import{shouldWriteSublayerStructure as _}from"./support/sublayerUtils.js";import{serviceSupportsSpatialReference as A}from"./support/versionUtils.js";import N from"../symbols/support/ElevationInfo.js";import J from"../time/TimeExtent.js";import{timeZoneProperty as q}from"../time/timeZoneUtils.js";import{reader as k}from"../core/accessorSupport/decorators/reader.js";import{writer as V}from"../core/accessorSupport/decorators/writer.js";let B=class extends(S(U(L(T(x(j(w(O(o(P(b(I(v))))))))))))){constructor(...e){super(...e),this._exportImageParameters=new M({layer:this}),this.dateFieldsTimeZone=null,this.datesInUnknownTimezone=!1,this.dpi=96,this.elevationInfo=new N({mode:"on-the-ground"}),this.gdbVersion=null,this.imageFormat="png24",this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.isReference=null,this.labelsVisible=!1,this.operationalLayerType="ArcGISMapServiceLayer",this.preferredTimeZone=null,this.sourceJSON=null,this.sublayers=null,this.type="map-image",this.url=null,this._debouncedSaveOperations=a(async(e,r,t)=>{const{save:i,saveAs:s}=await import("./save/mapImageLayerUtils.js");switch(e){case 0:return i(this,r);case 1:return s(this,t,r)}})}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(p).then(()=>this._fetchService(r))),Promise.resolve(this)}destroy(){this._exportImageParameters.destroy()}readImageFormat(e,r){const t=r.supportedImageFormatTypes;return t&&t.includes("PNG32")?"png32":"png24"}get loaded(){return super.loaded}get portalItem(){return super.portalItem}set portalItem(e){super.portalItem=e}writeSublayers(e,r,t,i){if(!this.loaded||!e)return;const s=e.slice().reverse().flatten(({sublayers:e})=>e&&e.toArray().reverse()).toArray();let o=!1;const a=d(i.origin);let p;if(this.capabilities?.operations.supportsExportMap&&this.capabilities?.exportMap?.supportsDynamicLayers)if(3===a){const e=this.createSublayersForOrigin("service").sublayers;o=_(s,e,2)}else if(a>3){const e=this.createSublayersForOrigin("portal-item");o=_(s,e.sublayers,d(e.origin)),p=e.originWithPartialOverrides}const n=[],m={writeSublayerStructure:o,...i,minimumWritableOrigin:p};let l=o||this.hasVisibleLayersForOrigin(a);s.forEach(e=>{const r=e.write({},m);n.push(r),l=l||"user"===e.originOf("visible")});n.some(e=>Object.keys(e).length>1)&&(r.layers=n),l&&(r.visibleLayers=s.filter(e=>e.visible).map(e=>e.id))}createExportImageParameters(e,r,t,i){const s=i?.pixelRatio||1;e&&this.version>=10&&(e=e.clone().shiftCentralMeridian()),this._exportImageParameters.floors=i?.floors??null,this._exportImageParameters.scale=i?.scale||f({extent:e,width:r})*s;const o=this._exportImageParameters.toJSON(),a=!i?.rotation||this.version<10.3?{}:{rotation:-i.rotation},p=e?.spatialReference,n=g(p);if(i?.scale&&e){const t=e.width/r*(m(e?.spatialReference)*l);o.dpi=i.scale/t}o.dpi*=s;const c={};if(i?.timeExtent){const{start:e,end:r}=i.timeExtent.toJSON();c.time=e&&r&&e===r?""+e:`${e??"null"},${r??"null"}`}else this.timeInfo&&!this.timeInfo.hasLiveData&&(c.time="null,null");return{bbox:e?e.xmin+","+e.ymin+","+e.xmax+","+e.ymax:void 0,bboxSR:n,imageSR:n,size:r+","+t,...o,...a,...c}}async fetchImage(e,r,t,i){const{data:s}=await this._fetchImage("image",e,r,t,i);return s}async fetchImageBitmap(e,r,t,i){const{data:s,url:o}=await this._fetchImage("blob",e,r,t,i);return F(s,o,i
|
|
2
|
+
import{__decorate as e}from"tslib";import r from"../request.js";import t from"../core/Collection.js";import i from"../core/Error.js";import{loadAll as s}from"../core/loadAll.js";import{MultiOriginJSONSupportMixin as o}from"../core/MultiOriginJSONSupport.js";import{debounce as a,throwIfAbortError as p,isAbortError as n}from"../core/promiseUtils.js";import{getMetersPerUnitForSR as m,inchesPerMeter as l}from"../core/units.js";import{property as c,subclass as u}from"../core/accessorSupport/decorators.js";import{Integer as y}from"../core/accessorSupport/ensureType.js";import{nameToId as d}from"../core/accessorSupport/PropertyOrigin.js";import h from"../geometry/Extent.js";import{getScale as f}from"../geometry/support/scaleUtils.js";import{srToRESTValue as g}from"../geometry/support/spatialReferenceUtils.js";import v from"./Layer.js";import{APIKeyMixin as b}from"./mixins/APIKeyMixin.js";import{ArcGISMapService as x}from"./mixins/ArcGISMapService.js";import{ArcGISService as j}from"./mixins/ArcGISService.js";import{BlendLayer as S}from"./mixins/BlendLayer.js";import{CustomParametersMixin as I}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{PortalLayer as O}from"./mixins/PortalLayer.js";import{RefreshableLayer as P}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{SublayersOwner as T}from"./mixins/SublayersOwner.js";import{TemporalLayer as U}from"./mixins/TemporalLayer.js";import{url as E}from"./support/commonProperties.js";import{ExportImageParameters as M}from"./support/ExportImageParameters.js";import{createBitmap as F}from"./support/imageBitmapUtils.js";import R from"./support/Sublayer.js";import{shouldWriteSublayerStructure as _}from"./support/sublayerUtils.js";import{serviceSupportsSpatialReference as A}from"./support/versionUtils.js";import N from"../symbols/support/ElevationInfo.js";import J from"../time/TimeExtent.js";import{timeZoneProperty as q}from"../time/timeZoneUtils.js";import{reader as k}from"../core/accessorSupport/decorators/reader.js";import{writer as V}from"../core/accessorSupport/decorators/writer.js";let B=class extends(S(U(L(T(x(j(w(O(o(P(b(I(v))))))))))))){constructor(...e){super(...e),this._exportImageParameters=new M({layer:this}),this.dateFieldsTimeZone=null,this.datesInUnknownTimezone=!1,this.dpi=96,this.elevationInfo=new N({mode:"on-the-ground"}),this.gdbVersion=null,this.imageFormat="png24",this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.isReference=null,this.labelsVisible=!1,this.operationalLayerType="ArcGISMapServiceLayer",this.preferredTimeZone=null,this.sourceJSON=null,this.sublayers=null,this.type="map-image",this.url=null,this._debouncedSaveOperations=a(async(e,r,t)=>{const{save:i,saveAs:s}=await import("./save/mapImageLayerUtils.js");switch(e){case 0:return i(this,r);case 1:return s(this,t,r)}})}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(p).then(()=>this._fetchService(r))),Promise.resolve(this)}destroy(){this._exportImageParameters.destroy()}readImageFormat(e,r){const t=r.supportedImageFormatTypes;return t&&t.includes("PNG32")?"png32":"png24"}get loaded(){return super.loaded}get portalItem(){return super.portalItem}set portalItem(e){super.portalItem=e}writeSublayers(e,r,t,i){if(!this.loaded||!e)return;const s=e.slice().reverse().flatten(({sublayers:e})=>e&&e.toArray().reverse()).toArray();let o=!1;const a=d(i.origin);let p;if(this.capabilities?.operations.supportsExportMap&&this.capabilities?.exportMap?.supportsDynamicLayers)if(3===a){const e=this.createSublayersForOrigin("service").sublayers;o=_(s,e,2)}else if(a>3){const e=this.createSublayersForOrigin("portal-item");o=_(s,e.sublayers,d(e.origin)),p=e.originWithPartialOverrides}const n=[],m={writeSublayerStructure:o,...i,minimumWritableOrigin:p};let l=o||this.hasVisibleLayersForOrigin(a);s.forEach(e=>{const r=e.write({},m);n.push(r),l=l||"user"===e.originOf("visible")});n.some(e=>Object.keys(e).length>1)&&(r.layers=n),l&&(r.visibleLayers=s.filter(e=>e.visible).map(e=>e.id))}createExportImageParameters(e,r,t,i){const s=i?.pixelRatio||1;e&&this.version>=10&&(e=e.clone().shiftCentralMeridian()),this._exportImageParameters.floors=i?.floors??null,this._exportImageParameters.scale=i?.scale||f({extent:e,width:r})*s;const o=this._exportImageParameters.toJSON(),a=!i?.rotation||this.version<10.3?{}:{rotation:-i.rotation},p=e?.spatialReference,n=g(p);if(i?.scale&&e){const t=e.width/r*(m(e?.spatialReference)*l);o.dpi=i.scale/t}o.dpi*=s;const c={};if(i?.timeExtent){const{start:e,end:r}=i.timeExtent.toJSON();c.time=e&&r&&e===r?""+e:`${e??"null"},${r??"null"}`}else this.timeInfo&&!this.timeInfo.hasLiveData&&(c.time="null,null");return{bbox:e?e.xmin+","+e.ymin+","+e.xmax+","+e.ymax:void 0,bboxSR:n,imageSR:n,size:r+","+t,...o,...a,...c}}async fetchImage(e,r,t,i){const{data:s}=await this._fetchImage("image",e,r,t,i);return s}async fetchImageBitmap(e,r,t,i){const{data:s,url:o}=await this._fetchImage("blob",e,r,t,i);return F(s,o,i)}async fetchRecomputedExtents(e={}){const t={...e,query:{returnUpdates:!0,f:"json",...this.customParameters,token:this.apiKey}},{data:i}=await r(this.url,t),{extent:s,fullExtent:o,timeExtent:a}=i,p=s||o;return{fullExtent:p&&h.fromJSON(p),timeExtent:a&&J.fromJSON({start:a[0],end:a[1]})}}loadAll(){return s(this,e=>{e(this.allSublayers),e(this.subtables)})}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,r){return this._debouncedSaveOperations(1,r,e)}serviceSupportsSpatialReference(e){return A(this,e)}async _fetchImage(e,t,s,o,a){const p={responseType:e,signal:a?.signal??null,query:{...this.parsedUrl.query,...this.createExportImageParameters(t,s,o,a),f:"image",...this.refreshParameters,...this.customParameters,token:this.apiKey}},m=this.parsedUrl.path+"/export";if(null!=p.query?.dynamicLayers&&!this.capabilities?.exportMap?.supportsDynamicLayers)throw new i("mapimagelayer:dynamiclayer-not-supported",`service ${this.url} doesn't support dynamic layers, which is required to be able to change the sublayer's order, rendering, labeling or source.`,{query:p.query});try{const{data:e}=await r(m,p);return{data:e,url:m}}catch(l){if(n(l))throw l;throw new i("mapimagelayer:image-fetch-error",`Unable to load image: ${m}`,{error:l})}}async _fetchService(e){if(this.sourceJSON)return void this.read(this.sourceJSON,{origin:"service",url:this.parsedUrl});const{data:t,ssl:i}=await r(this.parsedUrl.path,{query:{f:"json",...this.parsedUrl.query,...this.customParameters,token:this.apiKey},signal:e});i&&(this.url=this.url.replace(/^http:/i,"https:")),this.sourceJSON=t,this.read(t,{origin:"service",url:this.parsedUrl})}hasVisibleLayersForOrigin(e){return!(null==e||!this.sublayersSourceJSON[e]?.visibleLayers)}};e([c(q("dateFieldsTimeReference"))],B.prototype,"dateFieldsTimeZone",void 0),e([c({type:Boolean})],B.prototype,"datesInUnknownTimezone",void 0),e([c()],B.prototype,"dpi",void 0),e([c()],B.prototype,"elevationInfo",void 0),e([c()],B.prototype,"gdbVersion",void 0),e([c()],B.prototype,"imageFormat",void 0),e([k("imageFormat",["supportedImageFormatTypes"])],B.prototype,"readImageFormat",null),e([c({json:{origins:{service:{read:{source:"maxImageHeight"}}}}})],B.prototype,"imageMaxHeight",void 0),e([c({json:{origins:{service:{read:{source:"maxImageWidth"}}}}})],B.prototype,"imageMaxWidth",void 0),e([c()],B.prototype,"imageTransparency",void 0),e([c({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],B.prototype,"isReference",void 0),e([c({json:{read:!1,write:!1}})],B.prototype,"labelsVisible",void 0),e([c({type:["ArcGISMapServiceLayer"]})],B.prototype,"operationalLayerType",void 0),e([c({json:{read:!1,write:!1}})],B.prototype,"popupEnabled",void 0),e([c(q("preferredTimeReference"))],B.prototype,"preferredTimeZone",void 0),e([c()],B.prototype,"sourceJSON",void 0),e([c({type:t.ofType(R),json:{write:{ignoreOrigin:!0}}})],B.prototype,"sublayers",void 0),e([V("sublayers",{layers:{type:[R]},visibleLayers:{type:[y]}})],B.prototype,"writeSublayers",null),e([c({type:["show","hide","hide-children"],json:{origins:{"portal-item":{read:!1,write:!1}}}})],B.prototype,"listMode",void 0),e([c({json:{read:!1},readOnly:!0,value:"map-image"})],B.prototype,"type",void 0),e([c(E)],B.prototype,"url",void 0),B=e([u("esri.layers.MapImageLayer")],B);const G=B;export{G as default};
|
package/layers/TileLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import r from"../request.js";import t from"../core/Error.js";import{loadAll as i}from"../core/loadAll.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as o}from"../core/promiseUtils.js";import{urlToObject as a,objectToQuery as l,makeAbsolute as n}from"../core/urlUtils.js";import{property as p,cast as c,subclass as u}from"../core/accessorSupport/decorators.js";import h from"../geometry/SpatialReference.js";import m from"./Layer.js";import{APIKeyMixin as d}from"./mixins/APIKeyMixin.js";import{ArcGISCachedService as y}from"./mixins/ArcGISCachedService.js";import{ArcGISMapService as f}from"./mixins/ArcGISMapService.js";import{ArcGISService as v}from"./mixins/ArcGISService.js";import{BlendLayer as g}from"./mixins/BlendLayer.js";import{CustomParametersMixin as S}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as _}from"./mixins/OperationalLayer.js";import{PortalLayer as j}from"./mixins/PortalLayer.js";import{RefreshableLayer as b}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{SublayersOwner as w}from"./mixins/SublayersOwner.js";import{parse as O,isHostedAgolService as L,isArcGISUrl as R}from"./support/arcgisLayerUrl.js";import{url as A}from"./support/commonProperties.js";import{createTileBitmap as U}from"./support/imageBitmapUtils.js";import P from"./support/Sublayer.js";import x from"../symbols/support/ElevationInfo.js";import{reader as I}from"../core/accessorSupport/decorators/reader.js";import{writer as M}from"../core/accessorSupport/decorators/writer.js";var W;const B=["Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Elevation/World_Hillshade","Elevation/World_Hillshade_Dark","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Ocean_Basemap","Reference/World_Boundaries_and_Places","Reference/World_Boundaries_and_Places_Alternate","Reference/World_Transportation","World_Imagery","World_Street_Map","World_Topo_Map"];let C=W=class extends(g(T(w(y(f(_(j(v(s(b(d(S(m))))))))))))){constructor(...e){super(...e),this.listMode="show",this.elevationInfo=new x({mode:"on-the-ground"}),this.isReference=null,this.operationalLayerType="ArcGISTiledMapServiceLayer",this.resampling=!0,this.sourceJSON=null,this.spatialReference=null,this.path=null,this.sublayers=null,this.type="tile",this.url=null}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(o).then(()=>this._fetchService(r))),Promise.resolve(this)}get attributionDataUrl(){const e=this.parsedUrl?.path.toLowerCase();return e?this._getDefaultAttribution(this._getMapName(e)):null}get hasAttributionData(){return super.hasAttributionData}readSpatialReference(e,r){return(e=e||r.tileInfo?.spatialReference)&&h.fromJSON(e)}writeSublayers(e,r,t,i){if(!this.loaded||!e)return;const s=e.slice().reverse().flatten(({sublayers:e})=>e&&e.toArray().reverse()).toArray(),o=[],a={writeSublayerStructure:!1,...i};s.forEach(e=>{const r=e.write({},a);o.push(r)});o.some(e=>Object.keys(e).length>1)&&(r.layers=o)}get tileServers(){return this._getDefaultTileServers(this.parsedUrl?.path)}castTileServers(e){return Array.isArray(e)?e.map(e=>a(e).path):null}fetchTile(e,t,i,s={}){const{signal:o}=s,a=this.getTileUrl(e,t,i),l={responseType:"image",signal:o,query:{...this.refreshParameters}};return r(a,l).then(e=>e.data)}async fetchImageBitmapTile(e,t,i,s={}){const{signal:o}=s;if(this.fetchTile!==W.prototype.fetchTile){const r=await this.fetchTile(e,t,i,s);return U(r,e,t,i,
|
|
2
|
+
import{__decorate as e}from"tslib";import r from"../request.js";import t from"../core/Error.js";import{loadAll as i}from"../core/loadAll.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as o}from"../core/promiseUtils.js";import{urlToObject as a,objectToQuery as l,makeAbsolute as n}from"../core/urlUtils.js";import{property as p,cast as c,subclass as u}from"../core/accessorSupport/decorators.js";import h from"../geometry/SpatialReference.js";import m from"./Layer.js";import{APIKeyMixin as d}from"./mixins/APIKeyMixin.js";import{ArcGISCachedService as y}from"./mixins/ArcGISCachedService.js";import{ArcGISMapService as f}from"./mixins/ArcGISMapService.js";import{ArcGISService as v}from"./mixins/ArcGISService.js";import{BlendLayer as g}from"./mixins/BlendLayer.js";import{CustomParametersMixin as S}from"./mixins/CustomParametersMixin.js";import{OperationalLayer as _}from"./mixins/OperationalLayer.js";import{PortalLayer as j}from"./mixins/PortalLayer.js";import{RefreshableLayer as b}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as T}from"./mixins/ScaleRangeLayer.js";import{SublayersOwner as w}from"./mixins/SublayersOwner.js";import{parse as O,isHostedAgolService as L,isArcGISUrl as R}from"./support/arcgisLayerUrl.js";import{url as A}from"./support/commonProperties.js";import{createTileBitmap as U}from"./support/imageBitmapUtils.js";import P from"./support/Sublayer.js";import x from"../symbols/support/ElevationInfo.js";import{reader as I}from"../core/accessorSupport/decorators/reader.js";import{writer as M}from"../core/accessorSupport/decorators/writer.js";var W;const B=["Canvas/World_Dark_Gray_Base","Canvas/World_Dark_Gray_Reference","Canvas/World_Light_Gray_Base","Canvas/World_Light_Gray_Reference","Elevation/World_Hillshade","Elevation/World_Hillshade_Dark","Ocean/World_Ocean_Base","Ocean/World_Ocean_Reference","Ocean_Basemap","Reference/World_Boundaries_and_Places","Reference/World_Boundaries_and_Places_Alternate","Reference/World_Transportation","World_Imagery","World_Street_Map","World_Topo_Map"];let C=W=class extends(g(T(w(y(f(_(j(v(s(b(d(S(m))))))))))))){constructor(...e){super(...e),this.listMode="show",this.elevationInfo=new x({mode:"on-the-ground"}),this.isReference=null,this.operationalLayerType="ArcGISTiledMapServiceLayer",this.resampling=!0,this.sourceJSON=null,this.spatialReference=null,this.path=null,this.sublayers=null,this.type="tile",this.url=null}normalizeCtorArgs(e,r){return"string"==typeof e?{url:e,...r}:e}load(e){const r=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Map Service"]},e).catch(o).then(()=>this._fetchService(r))),Promise.resolve(this)}get attributionDataUrl(){const e=this.parsedUrl?.path.toLowerCase();return e?this._getDefaultAttribution(this._getMapName(e)):null}get hasAttributionData(){return super.hasAttributionData}readSpatialReference(e,r){return(e=e||r.tileInfo?.spatialReference)&&h.fromJSON(e)}writeSublayers(e,r,t,i){if(!this.loaded||!e)return;const s=e.slice().reverse().flatten(({sublayers:e})=>e&&e.toArray().reverse()).toArray(),o=[],a={writeSublayerStructure:!1,...i};s.forEach(e=>{const r=e.write({},a);o.push(r)});o.some(e=>Object.keys(e).length>1)&&(r.layers=o)}get tileServers(){return this._getDefaultTileServers(this.parsedUrl?.path)}castTileServers(e){return Array.isArray(e)?e.map(e=>a(e).path):null}fetchTile(e,t,i,s={}){const{signal:o}=s,a=this.getTileUrl(e,t,i),l={responseType:"image",signal:o,query:{...this.refreshParameters}};return r(a,l).then(e=>e.data)}async fetchImageBitmapTile(e,t,i,s={}){const{signal:o}=s;if(this.fetchTile!==W.prototype.fetchTile){const r=await this.fetchTile(e,t,i,s);return U(r,e,t,i,s)}const a=this.getTileUrl(e,t,i),l={responseType:"blob",signal:o,query:{...this.refreshParameters}},{data:n}=await r(a,l);return U(n,e,t,i,s)}getTileUrl(e,r,t){const i=!this.capabilities.operations.supportsTileMap&&this.supportsBlankTile,s=l({...this.parsedUrl?.query,blankTile:!i&&null,...this.customParameters,token:this.apiKey}),o=this.tileServers;return`${o&&o.length?o[r%o.length]:this.parsedUrl?.path}/tile/${e}/${r}/${t}${s?"?"+s:""}`}loadAll(){return i(this,e=>{e(this.allSublayers)})}_fetchService(e){return new Promise((i,s)=>{if(this.sourceJSON){if(null!=this.sourceJSON.bandCount&&null!=this.sourceJSON.pixelSizeX)throw new t("tile-layer:unsupported-url","use ImageryTileLayer to open a tiled image service");return void i({data:this.sourceJSON})}if(!this.parsedUrl)throw new t("tile-layer:undefined-url","layer's url is not defined");const o=O(this.parsedUrl.path);if(null!=o&&"ImageServer"===o.serverType)throw new t("tile-layer:unsupported-url","use ImageryTileLayer to open a tiled image service");r(this.parsedUrl.path,{query:{f:"json",...this.parsedUrl.query,...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(i,s)}).then(r=>{let t=this.url;if(r.ssl&&(t=this.url=t.replace(/^http:/i,"https:")),this.sourceJSON=r.data,this.read(r.data,{origin:"service",url:this.parsedUrl}),10.1===this.version&&!L(t))return this._fetchServerVersion(t,e).then(e=>{this.read({currentVersion:e})}).catch(()=>{})})}_fetchServerVersion(e,i){if(!R(e))return Promise.reject();const s=e.replace(/(.*\/rest)\/.*/i,"$1")+"/info";return r(s,{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:i}).then(e=>{if(e.data?.currentVersion)return e.data.currentVersion;throw new t("tile-layer:version-not-available","Server did not provide a version")})}_getMapName(e){const r=e.match(/^(?:https?:)?\/\/(server\.arcgisonline\.com|services\.arcgisonline\.com|ibasemaps-api\.arcgis\.com)\/arcgis\/rest\/services\/([^/]+(\/[^/]+)*)\/mapserver/i);return r?r[2]:void 0}_getDefaultAttribution(e){if(null==e)return null;let r;e=e.toLowerCase();for(let t=0,i=B.length;t<i;t++)if(r=B[t],r.toLowerCase().includes(e))return n("//static.arcgis.com/attribution/"+r);return null}_getDefaultTileServers(e){if(null==e)return[];const r=-1!==e.search(/^(?:https?:)?\/\/server\.arcgisonline\.com/i),t=-1!==e.search(/^(?:https?:)?\/\/services\.arcgisonline\.com/i);return r||t?[e,e.replace(r?/server\.arcgisonline/i:/services\.arcgisonline/i,r?"services.arcgisonline":"server.arcgisonline")]:[]}get hasOverriddenFetchTile(){return!this.fetchTile[D]}};e([p({readOnly:!0})],C.prototype,"attributionDataUrl",null),e([p({type:["show","hide","hide-children"]})],C.prototype,"listMode",void 0),e([p({json:{read:!0,write:!0}})],C.prototype,"blendMode",void 0),e([p()],C.prototype,"elevationInfo",void 0),e([p({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],C.prototype,"isReference",void 0),e([p({readOnly:!0,type:["ArcGISTiledMapServiceLayer"]})],C.prototype,"operationalLayerType",void 0),e([p({type:Boolean})],C.prototype,"resampling",void 0),e([p()],C.prototype,"sourceJSON",void 0),e([p({type:h})],C.prototype,"spatialReference",void 0),e([I("spatialReference",["spatialReference","tileInfo"])],C.prototype,"readSpatialReference",null),e([p({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],C.prototype,"path",void 0),e([p({readOnly:!0})],C.prototype,"sublayers",void 0),e([M("sublayers",{layers:{type:[P]}})],C.prototype,"writeSublayers",null),e([p({json:{read:!1,write:!1}})],C.prototype,"popupEnabled",void 0),e([p()],C.prototype,"tileServers",null),e([c("tileServers")],C.prototype,"castTileServers",null),e([p({readOnly:!0,json:{read:!1}})],C.prototype,"type",void 0),e([p(A)],C.prototype,"url",void 0),C=W=e([u("esri.layers.TileLayer")],C);const D=Symbol("default-fetch-tile");C.prototype.fetchTile[D]=!0;const N=C;export{N as default};
|
package/layers/WMSLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../config.js";import r from"../Graphic.js";import o from"../PopupTemplate.js";import i from"../request.js";import s from"../core/Collection.js";import a from"../core/CollectionFlattener.js";import n from"../core/Error.js";import{JSONMap as l}from"../core/jsonMap.js";import{clone as p}from"../core/lang.js";import{MultiOriginJSONSupportMixin as m}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u}from"../core/promiseUtils.js";import{on as c,sync as f,watch as y}from"../core/reactiveUtils.js";import{renderingSanitizer as d}from"../core/sanitizerUtils.js";import{urlToObject as h,addQueryParameters as g,addProxy as b,makeAbsolute as w,Url as v}from"../core/urlUtils.js";import{property as x,subclass as j}from"../core/accessorSupport/decorators.js";import{Integer as I}from"../core/accessorSupport/ensureType.js";import{willPropertyWrite as S}from"../core/accessorSupport/write.js";import F from"../geometry/Extent.js";import E from"../geometry/SpatialReference.js";import{getScale as P}from"../geometry/support/scaleUtils.js";import{equals as R}from"../geometry/support/spatialReferenceUtils.js";import O from"./Layer.js";import{BlendLayer as L}from"./mixins/BlendLayer.js";import{OperationalLayer as U}from"./mixins/OperationalLayer.js";import{PortalLayer as M}from"./mixins/PortalLayer.js";import{RefreshableLayer as T}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as _}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as C}from"./mixins/TemporalLayer.js";import{isAxesOrderReversedForWkid as W}from"./ogc/crsUtils.js";import{isWmsServer as q}from"./support/arcgisLayerUrl.js";import{legendEnabled as N,url as $}from"./support/commonProperties.js";import{ExportWMSImageParameters as B}from"./support/ExportWMSImageParameters.js";import{createBitmap as k}from"./support/imageBitmapUtils.js";import H from"./support/WMSSublayer.js";import{normalizeWKID as G,toTimeQueryParameter as V,getPopupLayers as z,parseCapabilities as A}from"./support/wmsUtils.js";import D from"../time/TimeExtent.js";import J from"../time/TimeInterval.js";import{reader as Q}from"../core/accessorSupport/decorators/reader.js";import{writer as K}from"../core/accessorSupport/decorators/writer.js";const X=new l({bmp:"image/bmp",gif:"image/gif",jpg:"image/jpeg",png:"image/png",svg:"image/svg+xml"},{ignoreUnknown:!1});function Y(e){return"text/html"===e}function Z(e){return"text/plain"===e}let ee=class extends(L(C(T(_(U(M(m(O)))))))){constructor(...e){super(...e),this.allSublayers=new a({getCollections:()=>[this.sublayers],getChildrenFunction:e=>e.sublayers}),this.customParameters=null,this.customLayerParameters=null,this.copyright=null,this.description=null,this.dimensions=null,this.fullExtent=null,this.fullExtents=null,this.featureInfoFormats=null,this.featureInfoUrl=null,this.fetchFeatureInfoFunction=null,this.imageFormat=null,this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.legendEnabled=!0,this.mapUrl=null,this.isReference=null,this.operationalLayerType="WMS",this.spatialReference=null,this.spatialReferences=null,this.sublayers=null,this.type="wms",this.version=null,this.addHandles([c(()=>this.sublayers,"after-add",({item:e})=>{e.parent=e.layer=this},f),c(()=>this.sublayers,"after-remove",({item:e})=>{e.layer=e.parent=null},f),y(()=>this.sublayers,(e,t)=>{if(t)for(const r of t)r.layer=r.parent=null;if(e)for(const r of e)r.parent=r.layer=this},f)])}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this.allSublayers.destroy()}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WMS"]},e).catch(u).then(()=>this._fetchService(t)).then(()=>this._checkLayerValidity())),Promise.resolve(this)}get timeInfo(){return super.timeInfo}set timeInfo(e){super.timeInfo=e}readFullExtentFromItemOrMap(e,t){const r=t.extent;return r?new F({xmin:r[0][0],ymin:r[0][1],xmax:r[1][0],ymax:r[1][1]}):null}writeFullExtent(e,t){t.extent=[[e.xmin,e.ymin],[e.xmax,e.ymax]]}get featureInfoFormat(){return null==this.featureInfoFormats?null:this.featureInfoFormats.find(Y)??this.featureInfoFormats.find(Z)??null}set featureInfoFormat(e){null==e?(this.revertToOrigin("featureInfoFormat","service"),this._clearOverride("featureInfoFormat")):(Y(e)||Z(e))&&this._override("featureInfoFormat",e)}readImageFormat(e,t){const r=t.supportedImageFormatTypes;return r&&r.includes("image/png")?"image/png":r&&r[0]}readSpatialReferenceFromItemOrDocument(e,t){return new E(t.spatialReferences[0])}writeSpatialReferences(e,t){const r=this.spatialReference?.wkid;e&&r?(t.spatialReferences=e.filter(e=>e!==r),t.spatialReferences.unshift(r)):t.spatialReferences=e}readSublayersFromItemOrMap(e,t,r){return re(t.layers,r,t.visibleLayers)}readSublayers(e,t,r){return re(t.layers,r)}writeSublayers(e,t,r,o){t.layers=[];const i=new Map,s=e.flatten(({sublayers:e})=>e??[]);for(const a of s)if("number"==typeof a.parent?.id){const e=i.get(a.parent.id);null!=e?e.push(a.id):i.set(a.parent.id,[a.id])}for(const a of s){const e={sublayer:a,...o},r=a.write({parentLayerId:"number"==typeof a.parent?.id?a.parent.id:-1},e);if(i.has(a.id)&&(r.sublayerIds=i.get(a.id)),!a.sublayers&&a.name){const r=a.write({},e);delete r.id,t.layers.push(r)}}t.visibleLayers=s.filter(({visible:e,sublayers:t})=>e&&!t).map(({name:e})=>e).toArray()}set url(e){if(!e)return void this._set("url",e);const{path:t,query:r}=h(e);for(const i in r)/^(request|service)$/i.test(i)&&delete r[i];const o=g(t,r??{});this._set("url",o)}createExportImageParameters(e,t,r,o){const i=o?.pixelRatio??1,s=P({extent:e,width:t})*i,a=new B({layer:this,scale:s}),{xmin:n,ymin:l,xmax:p,ymax:m,spatialReference:u}=e,c=G(u,this.spatialReferences),f="1.3.0"===this.version&&W(c)?`${l},${n},${m},${p}`:`${n},${l},${p},${m}`,y=a.toJSON(),d="1.3.0"===this.version?"crs":"srs";return{bbox:f,[d]:null==c||isNaN(c)?void 0:"EPSG:"+c,...y}}async fetchImage(e,t,r,o){const s=this.mapUrl,a=this.createExportImageParameters(e,t,r,o);if(!a.layers){const e=document.createElement("canvas");return e.width=t,e.height=r,e}const n=V(o?.timeExtent),l={responseType:"image",query:this._mixCustomParameters({width:t,height:r,...a,time:n,...this.refreshParameters}),signal:o?.signal};return i(s??"",l).then(e=>e.data)}async fetchImageBitmap(e,t,r,o){const s=this.mapUrl??"",a=this.createExportImageParameters(e,t,r,o);if(!a.layers){const e=document.createElement("canvas");return e.width=t,e.height=r,e}const n=V(o?.timeExtent),l={responseType:"blob",query:this._mixCustomParameters({width:t,height:r,...a,time:n,...this.refreshParameters}),signal:o?.signal},{data:p}=await i(s,l);return k(p,s,o?.signal)}fetchFeatureInfo(e,t,r,o,i){const s=P({extent:e,width:t}),a=new B({layer:this,scale:s}),n=z(a.visibleSublayers);if(null==this.featureInfoUrl||null==n)return Promise.resolve([]);if(null==this.fetchFeatureInfoFunction&&null==this.featureInfoFormat)return Promise.resolve([]);const l="1.3.0"===this.version?{I:o,J:i}:{x:o,y:i},p={query_layers:n,request:"GetFeatureInfo",info_format:this.featureInfoFormat,feature_count:25,width:t,height:r,...l},m={...this.createExportImageParameters(e,t,r),...p},u=this._mixCustomParameters(m);return null!=this.fetchFeatureInfoFunction?this.fetchFeatureInfoFunction(u):this._defaultFetchFeatureInfoFunction(g(this.featureInfoUrl,u))}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}findSublayerByName(e){return this.allSublayers.find(t=>t.name===e)}serviceSupportsSpatialReference(e){return q(this.url)||null!=this.spatialReferences&&this.spatialReferences.some(t=>{const r=900913===t?E.WebMercator:new E({wkid:t});return R(r,e)})}_defaultFetchFeatureInfoFunction(e){const t=document.createElement("iframe");t.src=b(d.sanitizeUrl(w(e))),t.style.border="none",t.style.margin="0",t.style.width="100%",t.setAttribute("sandbox","");const i=new o({title:this.title,content:t}),s=new r({sourceLayer:this,popupTemplate:i});return Promise.resolve([s])}async _fetchService(e){if(!this.resourceInfo&&this.parsedUrl?.path){const{path:t,query:r}=this.parsedUrl,{data:o}=await i(t,{query:{SERVICE:"WMS",REQUEST:"GetCapabilities",...r,...this.customParameters},responseType:"xml",signal:e});this.resourceInfo=A(o)}if(this.parsedUrl){const e=new v(this.parsedUrl.path),{httpsDomains:r}=t.request;"https"!==e.scheme||e.port&&"443"!==e.port||!e.host||r.includes(e.host)||r.push(e.host)}this.read(this.resourceInfo,{origin:"service"})}_checkLayerValidity(){if(!this.allSublayers.length)throw new n("wmslayer:empty-layer","The layer doesn't have any sublayer")}_mixCustomParameters(e){if(!this.customLayerParameters&&!this.customParameters)return e;const t={...this.customParameters,...this.customLayerParameters};for(const r in t)e[r.toLowerCase()]=t[r];return e}};function te(e,t){return e.some(e=>{for(const r in e)if(S(e,r,null,t))return!0;return!1})}function re(e,t,r){e=e??[];const o=new Map;e.every(e=>null==e.id)&&(e=p(e)).forEach((e,t)=>e.id=t);for(const s of e){const e=new H;e.read(s,t),r&&!r.includes(e.name)&&(e.visible=!1),o.set(e.id,e)}const i=[];for(const a of e){const e=null!=a.id?o.get(a.id):null;if(e)if(null!=a.parentLayerId&&a.parentLayerId>=0){const t=o.get(a.parentLayerId);if(!t)continue;t.sublayers||(t.sublayers=new s),t.sublayers.push(e)}else i.push(e)}return i}e([x({type:D})],ee.prototype,"timeExtent",void 0),e([x({type:J})],ee.prototype,"timeOffset",void 0),e([x({readOnly:!0})],ee.prototype,"allSublayers",void 0),e([x({json:{type:Object,write:!0}})],ee.prototype,"customParameters",void 0),e([x({json:{type:Object,write:!0}})],ee.prototype,"customLayerParameters",void 0),e([x({type:String,json:{write:!0}})],ee.prototype,"copyright",void 0),e([x()],ee.prototype,"description",void 0),e([x({readOnly:!0})],ee.prototype,"dimensions",void 0),e([x({json:{type:[[Number]],read:{source:"extent"},write:{target:"extent"},origins:{"web-document":{write:{ignoreOrigin:!0}},"portal-item":{write:{ignoreOrigin:!0}}}}})],ee.prototype,"fullExtent",void 0),e([Q(["web-document","portal-item"],"fullExtent",["extent"])],ee.prototype,"readFullExtentFromItemOrMap",null),e([K(["web-document","portal-item"],"fullExtent",{extent:{type:[[Number]]}})],ee.prototype,"writeFullExtent",null),e([x({type:[F]})],ee.prototype,"fullExtents",void 0),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"featureInfoFormat",null),e([x({type:[String],readOnly:!0})],ee.prototype,"featureInfoFormats",void 0),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"featureInfoUrl",void 0),e([x()],ee.prototype,"fetchFeatureInfoFunction",void 0),e([x({type:String,json:{origins:{"web-document":{default:"image/png",type:X.jsonValues,read:{reader:X.read,source:"format"},write:{writer:X.write,target:"format"}}}}})],ee.prototype,"imageFormat",void 0),e([Q("imageFormat",["supportedImageFormatTypes"])],ee.prototype,"readImageFormat",null),e([x({type:Number,json:{read:{source:"maxHeight"},write:{target:"maxHeight"}}})],ee.prototype,"imageMaxHeight",void 0),e([x({type:Number,json:{read:{source:"maxWidth"},write:{target:"maxWidth"}}})],ee.prototype,"imageMaxWidth",void 0),e([x()],ee.prototype,"imageTransparency",void 0),e([x(N)],ee.prototype,"legendEnabled",void 0),e([x({type:["show","hide","hide-children"]})],ee.prototype,"listMode",void 0),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"mapUrl",void 0),e([x({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],ee.prototype,"isReference",void 0),e([x({type:["WMS"]})],ee.prototype,"operationalLayerType",void 0),e([x()],ee.prototype,"resourceInfo",void 0),e([x({type:E,json:{origins:{service:{read:{source:"extent.spatialReference"}}},write:!1}})],ee.prototype,"spatialReference",void 0),e([Q(["web-document","portal-item"],"spatialReference",["spatialReferences"])],ee.prototype,"readSpatialReferenceFromItemOrDocument",null),e([x({type:[I],json:{read:!1,origins:{service:{read:!0},"web-document":{read:!1,write:{ignoreOrigin:!0}},"portal-item":{read:!1,write:{ignoreOrigin:!0}}}}})],ee.prototype,"spatialReferences",void 0),e([K(["web-document","portal-item"],"spatialReferences")],ee.prototype,"writeSpatialReferences",null),e([x({type:s.ofType(H),json:{write:{target:"layers",overridePolicy(e,t,r){if(te(this.allSublayers,r))return{ignoreOrigin:!0}}}}})],ee.prototype,"sublayers",void 0),e([Q(["web-document","portal-item"],"sublayers",["layers","visibleLayers"])],ee.prototype,"readSublayersFromItemOrMap",null),e([Q("service","sublayers",["layers"])],ee.prototype,"readSublayers",null),e([K("sublayers",{layers:{type:[H]},visibleLayers:{type:[String]}})],ee.prototype,"writeSublayers",null),e([x({json:{read:!1},readOnly:!0,value:"wms"})],ee.prototype,"type",void 0),e([x($)],ee.prototype,"url",null),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"version",void 0),ee=e([j("esri.layers.WMSLayer")],ee);const oe=ee;export{oe as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../config.js";import r from"../Graphic.js";import o from"../PopupTemplate.js";import i from"../request.js";import s from"../core/Collection.js";import a from"../core/CollectionFlattener.js";import n from"../core/Error.js";import{JSONMap as l}from"../core/jsonMap.js";import{clone as p}from"../core/lang.js";import{MultiOriginJSONSupportMixin as m}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u}from"../core/promiseUtils.js";import{on as c,sync as f,watch as y}from"../core/reactiveUtils.js";import{renderingSanitizer as d}from"../core/sanitizerUtils.js";import{urlToObject as h,addQueryParameters as g,addProxy as b,makeAbsolute as w,Url as v}from"../core/urlUtils.js";import{property as x,subclass as j}from"../core/accessorSupport/decorators.js";import{Integer as I}from"../core/accessorSupport/ensureType.js";import{willPropertyWrite as S}from"../core/accessorSupport/write.js";import F from"../geometry/Extent.js";import E from"../geometry/SpatialReference.js";import{getScale as P}from"../geometry/support/scaleUtils.js";import{equals as R}from"../geometry/support/spatialReferenceUtils.js";import O from"./Layer.js";import{BlendLayer as L}from"./mixins/BlendLayer.js";import{OperationalLayer as U}from"./mixins/OperationalLayer.js";import{PortalLayer as M}from"./mixins/PortalLayer.js";import{RefreshableLayer as T}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as _}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as C}from"./mixins/TemporalLayer.js";import{isAxesOrderReversedForWkid as W}from"./ogc/crsUtils.js";import{isWmsServer as q}from"./support/arcgisLayerUrl.js";import{legendEnabled as N,url as $}from"./support/commonProperties.js";import{ExportWMSImageParameters as B}from"./support/ExportWMSImageParameters.js";import{createBitmap as k}from"./support/imageBitmapUtils.js";import H from"./support/WMSSublayer.js";import{normalizeWKID as G,toTimeQueryParameter as V,getPopupLayers as z,parseCapabilities as A}from"./support/wmsUtils.js";import D from"../time/TimeExtent.js";import J from"../time/TimeInterval.js";import{reader as Q}from"../core/accessorSupport/decorators/reader.js";import{writer as K}from"../core/accessorSupport/decorators/writer.js";const X=new l({bmp:"image/bmp",gif:"image/gif",jpg:"image/jpeg",png:"image/png",svg:"image/svg+xml"},{ignoreUnknown:!1});function Y(e){return"text/html"===e}function Z(e){return"text/plain"===e}let ee=class extends(L(C(T(_(U(M(m(O)))))))){constructor(...e){super(...e),this.allSublayers=new a({getCollections:()=>[this.sublayers],getChildrenFunction:e=>e.sublayers}),this.customParameters=null,this.customLayerParameters=null,this.copyright=null,this.description=null,this.dimensions=null,this.fullExtent=null,this.fullExtents=null,this.featureInfoFormats=null,this.featureInfoUrl=null,this.fetchFeatureInfoFunction=null,this.imageFormat=null,this.imageMaxHeight=2048,this.imageMaxWidth=2048,this.imageTransparency=!0,this.legendEnabled=!0,this.mapUrl=null,this.isReference=null,this.operationalLayerType="WMS",this.spatialReference=null,this.spatialReferences=null,this.sublayers=null,this.type="wms",this.version=null,this.addHandles([c(()=>this.sublayers,"after-add",({item:e})=>{e.parent=e.layer=this},f),c(()=>this.sublayers,"after-remove",({item:e})=>{e.layer=e.parent=null},f),y(()=>this.sublayers,(e,t)=>{if(t)for(const r of t)r.layer=r.parent=null;if(e)for(const r of e)r.parent=r.layer=this},f)])}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}destroy(){this.allSublayers.destroy()}load(e){const t=null!=e?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WMS"]},e).catch(u).then(()=>this._fetchService(t)).then(()=>this._checkLayerValidity())),Promise.resolve(this)}get timeInfo(){return super.timeInfo}set timeInfo(e){super.timeInfo=e}readFullExtentFromItemOrMap(e,t){const r=t.extent;return r?new F({xmin:r[0][0],ymin:r[0][1],xmax:r[1][0],ymax:r[1][1]}):null}writeFullExtent(e,t){t.extent=[[e.xmin,e.ymin],[e.xmax,e.ymax]]}get featureInfoFormat(){return null==this.featureInfoFormats?null:this.featureInfoFormats.find(Y)??this.featureInfoFormats.find(Z)??null}set featureInfoFormat(e){null==e?(this.revertToOrigin("featureInfoFormat","service"),this._clearOverride("featureInfoFormat")):(Y(e)||Z(e))&&this._override("featureInfoFormat",e)}readImageFormat(e,t){const r=t.supportedImageFormatTypes;return r&&r.includes("image/png")?"image/png":r&&r[0]}readSpatialReferenceFromItemOrDocument(e,t){return new E(t.spatialReferences[0])}writeSpatialReferences(e,t){const r=this.spatialReference?.wkid;e&&r?(t.spatialReferences=e.filter(e=>e!==r),t.spatialReferences.unshift(r)):t.spatialReferences=e}readSublayersFromItemOrMap(e,t,r){return re(t.layers,r,t.visibleLayers)}readSublayers(e,t,r){return re(t.layers,r)}writeSublayers(e,t,r,o){t.layers=[];const i=new Map,s=e.flatten(({sublayers:e})=>e??[]);for(const a of s)if("number"==typeof a.parent?.id){const e=i.get(a.parent.id);null!=e?e.push(a.id):i.set(a.parent.id,[a.id])}for(const a of s){const e={sublayer:a,...o},r=a.write({parentLayerId:"number"==typeof a.parent?.id?a.parent.id:-1},e);if(i.has(a.id)&&(r.sublayerIds=i.get(a.id)),!a.sublayers&&a.name){const r=a.write({},e);delete r.id,t.layers.push(r)}}t.visibleLayers=s.filter(({visible:e,sublayers:t})=>e&&!t).map(({name:e})=>e).toArray()}set url(e){if(!e)return void this._set("url",e);const{path:t,query:r}=h(e);for(const i in r)/^(request|service)$/i.test(i)&&delete r[i];const o=g(t,r??{});this._set("url",o)}createExportImageParameters(e,t,r,o){const i=o?.pixelRatio??1,s=P({extent:e,width:t})*i,a=new B({layer:this,scale:s}),{xmin:n,ymin:l,xmax:p,ymax:m,spatialReference:u}=e,c=G(u,this.spatialReferences),f="1.3.0"===this.version&&W(c)?`${l},${n},${m},${p}`:`${n},${l},${p},${m}`,y=a.toJSON(),d="1.3.0"===this.version?"crs":"srs";return{bbox:f,[d]:null==c||isNaN(c)?void 0:"EPSG:"+c,...y}}async fetchImage(e,t,r,o){const s=this.mapUrl,a=this.createExportImageParameters(e,t,r,o);if(!a.layers){const e=document.createElement("canvas");return e.width=t,e.height=r,e}const n=V(o?.timeExtent),l={responseType:"image",query:this._mixCustomParameters({width:t,height:r,...a,time:n,...this.refreshParameters}),signal:o?.signal};return i(s??"",l).then(e=>e.data)}async fetchImageBitmap(e,t,r,o){const s=this.mapUrl??"",a=this.createExportImageParameters(e,t,r,o);if(!a.layers){const e=document.createElement("canvas");return e.width=t,e.height=r,e}const n=V(o?.timeExtent),l={responseType:"blob",query:this._mixCustomParameters({width:t,height:r,...a,time:n,...this.refreshParameters}),signal:o?.signal},{data:p}=await i(s,l);return k(p,s,o)}fetchFeatureInfo(e,t,r,o,i){const s=P({extent:e,width:t}),a=new B({layer:this,scale:s}),n=z(a.visibleSublayers);if(null==this.featureInfoUrl||null==n)return Promise.resolve([]);if(null==this.fetchFeatureInfoFunction&&null==this.featureInfoFormat)return Promise.resolve([]);const l="1.3.0"===this.version?{I:o,J:i}:{x:o,y:i},p={query_layers:n,request:"GetFeatureInfo",info_format:this.featureInfoFormat,feature_count:25,width:t,height:r,...l},m={...this.createExportImageParameters(e,t,r),...p},u=this._mixCustomParameters(m);return null!=this.fetchFeatureInfoFunction?this.fetchFeatureInfoFunction(u):this._defaultFetchFeatureInfoFunction(g(this.featureInfoUrl,u))}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}findSublayerByName(e){return this.allSublayers.find(t=>t.name===e)}serviceSupportsSpatialReference(e){return q(this.url)||null!=this.spatialReferences&&this.spatialReferences.some(t=>{const r=900913===t?E.WebMercator:new E({wkid:t});return R(r,e)})}_defaultFetchFeatureInfoFunction(e){const t=document.createElement("iframe");t.src=b(d.sanitizeUrl(w(e))),t.style.border="none",t.style.margin="0",t.style.width="100%",t.setAttribute("sandbox","");const i=new o({title:this.title,content:t}),s=new r({sourceLayer:this,popupTemplate:i});return Promise.resolve([s])}async _fetchService(e){if(!this.resourceInfo&&this.parsedUrl?.path){const{path:t,query:r}=this.parsedUrl,{data:o}=await i(t,{query:{SERVICE:"WMS",REQUEST:"GetCapabilities",...r,...this.customParameters},responseType:"xml",signal:e});this.resourceInfo=A(o)}if(this.parsedUrl){const e=new v(this.parsedUrl.path),{httpsDomains:r}=t.request;"https"!==e.scheme||e.port&&"443"!==e.port||!e.host||r.includes(e.host)||r.push(e.host)}this.read(this.resourceInfo,{origin:"service"})}_checkLayerValidity(){if(!this.allSublayers.length)throw new n("wmslayer:empty-layer","The layer doesn't have any sublayer")}_mixCustomParameters(e){if(!this.customLayerParameters&&!this.customParameters)return e;const t={...this.customParameters,...this.customLayerParameters};for(const r in t)e[r.toLowerCase()]=t[r];return e}};function te(e,t){return e.some(e=>{for(const r in e)if(S(e,r,null,t))return!0;return!1})}function re(e,t,r){e=e??[];const o=new Map;e.every(e=>null==e.id)&&(e=p(e)).forEach((e,t)=>e.id=t);for(const s of e){const e=new H;e.read(s,t),r&&!r.includes(e.name)&&(e.visible=!1),o.set(e.id,e)}const i=[];for(const a of e){const e=null!=a.id?o.get(a.id):null;if(e)if(null!=a.parentLayerId&&a.parentLayerId>=0){const t=o.get(a.parentLayerId);if(!t)continue;t.sublayers||(t.sublayers=new s),t.sublayers.push(e)}else i.push(e)}return i}e([x({type:D})],ee.prototype,"timeExtent",void 0),e([x({type:J})],ee.prototype,"timeOffset",void 0),e([x({readOnly:!0})],ee.prototype,"allSublayers",void 0),e([x({json:{type:Object,write:!0}})],ee.prototype,"customParameters",void 0),e([x({json:{type:Object,write:!0}})],ee.prototype,"customLayerParameters",void 0),e([x({type:String,json:{write:!0}})],ee.prototype,"copyright",void 0),e([x()],ee.prototype,"description",void 0),e([x({readOnly:!0})],ee.prototype,"dimensions",void 0),e([x({json:{type:[[Number]],read:{source:"extent"},write:{target:"extent"},origins:{"web-document":{write:{ignoreOrigin:!0}},"portal-item":{write:{ignoreOrigin:!0}}}}})],ee.prototype,"fullExtent",void 0),e([Q(["web-document","portal-item"],"fullExtent",["extent"])],ee.prototype,"readFullExtentFromItemOrMap",null),e([K(["web-document","portal-item"],"fullExtent",{extent:{type:[[Number]]}})],ee.prototype,"writeFullExtent",null),e([x({type:[F]})],ee.prototype,"fullExtents",void 0),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"featureInfoFormat",null),e([x({type:[String],readOnly:!0})],ee.prototype,"featureInfoFormats",void 0),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"featureInfoUrl",void 0),e([x()],ee.prototype,"fetchFeatureInfoFunction",void 0),e([x({type:String,json:{origins:{"web-document":{default:"image/png",type:X.jsonValues,read:{reader:X.read,source:"format"},write:{writer:X.write,target:"format"}}}}})],ee.prototype,"imageFormat",void 0),e([Q("imageFormat",["supportedImageFormatTypes"])],ee.prototype,"readImageFormat",null),e([x({type:Number,json:{read:{source:"maxHeight"},write:{target:"maxHeight"}}})],ee.prototype,"imageMaxHeight",void 0),e([x({type:Number,json:{read:{source:"maxWidth"},write:{target:"maxWidth"}}})],ee.prototype,"imageMaxWidth",void 0),e([x()],ee.prototype,"imageTransparency",void 0),e([x(N)],ee.prototype,"legendEnabled",void 0),e([x({type:["show","hide","hide-children"]})],ee.prototype,"listMode",void 0),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"mapUrl",void 0),e([x({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],ee.prototype,"isReference",void 0),e([x({type:["WMS"]})],ee.prototype,"operationalLayerType",void 0),e([x()],ee.prototype,"resourceInfo",void 0),e([x({type:E,json:{origins:{service:{read:{source:"extent.spatialReference"}}},write:!1}})],ee.prototype,"spatialReference",void 0),e([Q(["web-document","portal-item"],"spatialReference",["spatialReferences"])],ee.prototype,"readSpatialReferenceFromItemOrDocument",null),e([x({type:[I],json:{read:!1,origins:{service:{read:!0},"web-document":{read:!1,write:{ignoreOrigin:!0}},"portal-item":{read:!1,write:{ignoreOrigin:!0}}}}})],ee.prototype,"spatialReferences",void 0),e([K(["web-document","portal-item"],"spatialReferences")],ee.prototype,"writeSpatialReferences",null),e([x({type:s.ofType(H),json:{write:{target:"layers",overridePolicy(e,t,r){if(te(this.allSublayers,r))return{ignoreOrigin:!0}}}}})],ee.prototype,"sublayers",void 0),e([Q(["web-document","portal-item"],"sublayers",["layers","visibleLayers"])],ee.prototype,"readSublayersFromItemOrMap",null),e([Q("service","sublayers",["layers"])],ee.prototype,"readSublayers",null),e([K("sublayers",{layers:{type:[H]},visibleLayers:{type:[String]}})],ee.prototype,"writeSublayers",null),e([x({json:{read:!1},readOnly:!0,value:"wms"})],ee.prototype,"type",void 0),e([x($)],ee.prototype,"url",null),e([x({type:String,json:{write:{ignoreOrigin:!0}}})],ee.prototype,"version",void 0),ee=e([j("esri.layers.WMSLayer")],ee);const oe=ee;export{oe as default};
|
package/layers/WMTSLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../request.js";import{isSome as r}from"../core/arrayUtils.js";import i from"../core/Collection.js";import s from"../core/Error.js";import{clone as a}from"../core/lang.js";import{MultiOriginJSONSupportMixin as o}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l}from"../core/promiseUtils.js";import{watch as n,sync as m,on as p}from"../core/reactiveUtils.js";import{urlToObject as c,objectToQuery as u}from"../core/urlUtils.js";import{property as y,subclass as d}from"../core/accessorSupport/decorators.js";import h from"../geometry/Extent.js";import f from"./Layer.js";import v from"./WebTileLayer.js";import{BlendLayer as g}from"./mixins/BlendLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{PortalLayer as I}from"./mixins/PortalLayer.js";import{RefreshableLayer as L}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as S}from"./mixins/ScaleRangeLayer.js";import{createTileBitmap as M}from"./support/imageBitmapUtils.js";import T from"./support/TileInfo.js";import P from"./support/TileInfoTilemapCache.js";import{WMTSLayerInfo as b}from"./support/WMTSLayerInfo.js";import j from"./support/WMTSSublayer.js";import{getTileUrlFromResourceUrls as x,getTileUrlTemplateFromResourceUrls as E,parseResourceInfo as _,parseText as C,validateCapabilities as U,parseCapabilities as R}from"./support/wmtsUtils.js";import{reader as O}from"../core/accessorSupport/decorators/reader.js";import{writer as A}from"../core/accessorSupport/decorators/writer.js";var W;const F={"image/png":".png","image/png8":".png","image/png24":".png","image/png32":".png","image/jpg":".jpg","image/jpeg":".jpeg","image/gif":".gif","image/bmp":".bmp","image/tiff":".tif","image/jpgpng":"","image/jpegpng":"","image/unknown":""},V=new Set(["version","service","request","layer","style","format","tilematrixset","tilematrix","tilerow","tilecol"]);let B=W=class extends(g(L(S(w(I(o(f))))))){constructor(...e){super(...e),this.activeLayer=null,this.copyright="",this.customParameters=null,this.customLayerParameters=null,this.fullExtent=null,this.operationalLayerType="WebTiledLayer",this.resourceInfo=null,this.serviceMode="RESTful",this.sublayers=null,this.type="wmts",this.version="1.0.0",this.addHandles([n(()=>this.activeLayer,(e,t)=>{t&&!this.sublayers?.includes(t)&&(t.layer=null,t.parent=null),e&&(e.layer=this,e.parent=this)},m),p(()=>this.sublayers,"after-add",({item:e})=>{e.layer=this,e.parent=this},m),p(()=>this.sublayers,"after-remove",({item:e})=>{e.layer=null,e.parent=null},m),n(()=>this.sublayers,(e,t)=>{if(t)for(const r of t)r.layer=null,r.parent=null;if(e)for(const r of e)r.layer=this,r.parent=this},m)])}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WMTS"]},e).catch(l).then(()=>this._fetchService(e)).catch(e=>{throw l(e),new s("wmtslayer:unsupported-service-data","Invalid response from the WMTS service.",{error:e})})),Promise.resolve(this)}readActiveLayerFromService(e,t,r){this.activeLayer||(this.activeLayer=new j);let i=t.layers.find(e=>e.id===this.activeLayer.id);return i||(i=t.layers[0]),this.activeLayer.read(i,r),this.activeLayer}readActiveLayerFromItemOrWebDoc(e,t){const{templateUrl:r,wmtsInfo:i}=t,s=r?this._getLowerCasedUrlParams(r):null,a=i?.layerIdentifier;let o=null;const l=i?.tileMatrixSet;l&&(Array.isArray(l)?l.length&&(o=l[0]):o=l);const n=s?.format,m=s?.style;return new j({id:a,imageFormat:n,styleId:m,tileMatrixSetId:o})}writeActiveLayer(e,t,r,i){const{activeLayer:s,loaded:a}=this,{id:o,tileMatrixSet:l,tileMatrixSetId:n,imageFormat:m,styleId:p}=s;t.templateUrl=a?this.getUrlTemplate(o,n,m,p):void 0,t.tileInfo=a?l?.tileInfo?.toJSON(i)??null:void 0,t.wmtsInfo={...t.wmtsInfo,layerIdentifier:o,tileMatrixSet:n}}readCustomParameters(e,t){const r=t.wmtsInfo;return r?this._mergeParams(r.customParameters,r.url):null}get fullExtents(){return this.activeLayer.fullExtents}readServiceMode(e,t){return t.templateUrl.includes("?")?"KVP":"RESTful"}readSublayersFromService(e,t,r){return $(t.layers,r)}get supportedSpatialReferences(){return this.activeLayer.tileMatrixSets?.map(e=>e.tileInfo?.spatialReference).toArray().filter(r)??[]}get tilemapCache(){const e=this.activeLayer?.tileMatrixSet?.tileInfo;return e?new P(e):void 0}get title(){return this.activeLayer?.title??"Layer"}set title(e){this._overrideIfSome("title",e)}get url(){return this._get("url")}set url(e){e&&e.endsWith("/")?this._set("url",e.slice(0,-1)):this._set("url",e)}createWebTileLayer(e){const t=this.getUrlTemplate(this.activeLayer.id,this.activeLayer.tileMatrixSetId,this.activeLayer.imageFormat,this.activeLayer.styleId),r=this._getTileMatrixSetById(e.tileMatrixSetId),i=r?.tileInfo,s=e.fullExtent,a=new b({layerIdentifier:e.id,tileMatrixSet:e.tileMatrixSetId,url:this.url});return this.customLayerParameters&&(a.customLayerParameters=this.customLayerParameters),this.customParameters&&(a.customParameters=this.customParameters),new v({fullExtent:s,urlTemplate:t,tileInfo:i,wmtsInfo:a})}async fetchTile(e,r,i,s={}){const{signal:a}=s,o=this.getTileUrl(e,r,i),{data:l}=await t(o,{responseType:"image",signal:a});return l}async fetchImageBitmapTile(e,r,i,s={}){const{signal:a}=s;if(this.fetchTile!==W.prototype.fetchTile){const t=await this.fetchTile(e,r,i,s);return M(t,e,r,i,a)}const o=this.getTileUrl(e,r,i),{data:l}=await t(o,{responseType:"blob",signal:a});return M(l,e,r,i,a)}findSublayerById(e){return this.sublayers?.find(t=>t.id===e)}getTileUrl(e,t,r){const i=this._getTileMatrixSetById(this.activeLayer.tileMatrixSetId),s=i?.tileInfo?.lods[e],a=s?s.levelValue||`${s.level}`:`${e}`;let o=this.resourceInfo?"":x({dimensionMap:this.dimensionMap,layerMap:this.layerMap},this.activeLayer.id,this.activeLayer.tileMatrixSetId,this.activeLayer.imageFormat,this.activeLayer.styleId,a,t,r);if(!o){o=this.getUrlTemplate(this.activeLayer.id,this.activeLayer.tileMatrixSetId,this.activeLayer.imageFormat,this.activeLayer.styleId).replaceAll(/\{level\}/gi,a).replaceAll(/\{row\}/gi,`${t}`).replaceAll(/\{col\}/gi,`${r}`)}return o=this._appendCustomLayerParameters(o),o}getUrlTemplate(e,t,r,i){if(!this.resourceInfo){const r=E({dimensionMap:this.dimensionMap,layerMap:this.layerMap},e,t,i);if(r)return r}if("KVP"===this.serviceMode)return this.url+"?SERVICE=WMTS&VERSION="+this.version+"&REQUEST=GetTile&LAYER="+e+"&STYLE="+i+"&FORMAT="+r+"&TILEMATRIXSET="+t+"&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}";if("RESTful"===this.serviceMode){let s="";const a=r.toLowerCase();return F[a]&&(s=F[a]),this.url+e+"/"+i+"/"+t+"/{level}/{row}/{col}"+s}return""}async _fetchService(e){if(this.resourceInfo)return"KVP"!==this.resourceInfo.serviceMode||this.url.includes("?")||(this.url+="?"),_(this.resourceInfo),void this.read(this.resourceInfo,{origin:"service"});let t=null;try{const{data:r}=await this._getCapabilities(this.serviceMode,e);t=C(r),U(t)}catch{const r="KVP"===this.serviceMode?"RESTful":"KVP";try{const{data:i}=await this._getCapabilities(r,e);t=C(i),U(t),this.serviceMode=r}catch(o){throw new s("wmtslayer:unsupported-service-data","Services does not support RESTful or KVP service modes.",{error:o})}}const{serviceMode:r,url:i}=this,a=R(t,{serviceMode:r,url:i});this.read(a,{origin:"service"})}async _getCapabilities(e,r){const i=this._getCapabilitiesUrl(e);return await t(i,{...r,responseType:"text"})}_getTileMatrixSetById(e){const t=this.findSublayerById(this.activeLayer.id);return t?.tileMatrixSets?.find(({id:t})=>t===e)}_appendCustomParameters(e){return this._appendParameters(e,this.customParameters)}_appendCustomLayerParameters(e){return this._appendParameters(e,{...a(this.customParameters),...this.customLayerParameters})}_appendParameters(e,t){const r=c(e),i={...r.query,...t},s=u(i);return""===s?r.path:`${r.path}?${s}`}_getCapabilitiesUrl(e){this.url=c(this.url).path;let t=this.url;switch(e){case"KVP":t+=`?request=GetCapabilities&service=WMTS&version=${this.version}`;break;case"RESTful":{const e=`/${this.version}/WMTSCapabilities.xml`,r=new RegExp(e,"i");t=t.replace(r,""),t+=e;break}}return this._appendCustomParameters(t)}_getLowerCasedUrlParams(e){if(!e)return null;const t=c(e).query;if(!t)return null;const r={};return Object.keys(t).forEach(e=>{r[e.toLowerCase()]=t[e]}),r}_mergeParams(e,t){const r=this._getLowerCasedUrlParams(t);if(r){const t=Object.keys(r);t.length&&(e=e?a(e):{},t.forEach(t=>{e.hasOwnProperty(t)||V.has(t)||(e[t]=r[t])}))}return e}};function $(e,t){return e.map(e=>{const r=new j;return r.read(e,t),r})}e([y()],B.prototype,"dimensionMap",void 0),e([y()],B.prototype,"layerMap",void 0),e([y({type:j,json:{origins:{"web-document":{write:{ignoreOrigin:!0}}}}})],B.prototype,"activeLayer",void 0),e([O("service","activeLayer",["layers"])],B.prototype,"readActiveLayerFromService",null),e([O(["web-document","portal-item"],"activeLayer",["wmtsInfo"])],B.prototype,"readActiveLayerFromItemOrWebDoc",null),e([A(["web-document","portal-item"],"activeLayer",{templateUrl:{type:String},tileInfo:{type:T},"wmtsInfo.layerIdentifier":{type:String},"wmtsInfo.tileMatrixSet":{type:String}})],B.prototype,"writeActiveLayer",null),e([y({type:String,value:"",json:{write:!0}})],B.prototype,"copyright",void 0),e([y({type:["show","hide"]})],B.prototype,"listMode",void 0),e([y({json:{read:!0,write:!0}})],B.prototype,"blendMode",void 0),e([y({json:{origins:{"web-document":{read:{source:["wmtsInfo.customParameters","wmtsInfo.url"]},write:{target:"wmtsInfo.customParameters"}},"portal-item":{read:{source:["wmtsInfo.customParameters","wmtsInfo.url"]},write:{target:"wmtsInfo.customParameters"}}}}})],B.prototype,"customParameters",void 0),e([O(["portal-item","web-document"],"customParameters")],B.prototype,"readCustomParameters",null),e([y({json:{origins:{"web-document":{read:{source:"wmtsInfo.customLayerParameters"},write:{target:"wmtsInfo.customLayerParameters"}},"portal-item":{read:{source:"wmtsInfo.customLayerParameters"},write:{target:"wmtsInfo.customLayerParameters"}}}}})],B.prototype,"customLayerParameters",void 0),e([y({type:h,json:{write:{ignoreOrigin:!0},origins:{"web-document":{read:{source:"fullExtent"}},"portal-item":{read:{source:"fullExtent"}}}}})],B.prototype,"fullExtent",void 0),e([y({readOnly:!0})],B.prototype,"fullExtents",null),e([y({type:["WebTiledLayer"]})],B.prototype,"operationalLayerType",void 0),e([y()],B.prototype,"resourceInfo",void 0),e([y()],B.prototype,"serviceMode",void 0),e([O(["portal-item","web-document"],"serviceMode",["templateUrl"])],B.prototype,"readServiceMode",null),e([y({type:i.ofType(j)})],B.prototype,"sublayers",void 0),e([O("service","sublayers",["layers"])],B.prototype,"readSublayersFromService",null),e([y({readOnly:!0})],B.prototype,"supportedSpatialReferences",null),e([y({readOnly:!0})],B.prototype,"tilemapCache",null),e([y({json:{read:{source:"title"}}})],B.prototype,"title",null),e([y({json:{read:!1},readOnly:!0,value:"wmts"})],B.prototype,"type",void 0),e([y({json:{origins:{service:{read:{source:"tileUrl"}},"web-document":{read:{source:"wmtsInfo.url"},write:{target:"wmtsInfo.url"}},"portal-item":{read:{source:"wmtsInfo.url"},write:{target:"wmtsInfo.url"}}}}})],B.prototype,"url",null),e([y()],B.prototype,"version",void 0),B=W=e([d("esri.layers.WMTSLayer")],B);const K=B;export{K as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../request.js";import{isSome as r}from"../core/arrayUtils.js";import i from"../core/Collection.js";import s from"../core/Error.js";import{clone as a}from"../core/lang.js";import{MultiOriginJSONSupportMixin as o}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as l}from"../core/promiseUtils.js";import{watch as n,sync as m,on as p}from"../core/reactiveUtils.js";import{urlToObject as c,objectToQuery as u}from"../core/urlUtils.js";import{property as y,subclass as d}from"../core/accessorSupport/decorators.js";import h from"../geometry/Extent.js";import f from"./Layer.js";import v from"./WebTileLayer.js";import{BlendLayer as g}from"./mixins/BlendLayer.js";import{OperationalLayer as w}from"./mixins/OperationalLayer.js";import{PortalLayer as I}from"./mixins/PortalLayer.js";import{RefreshableLayer as L}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as S}from"./mixins/ScaleRangeLayer.js";import{createTileBitmap as M}from"./support/imageBitmapUtils.js";import T from"./support/TileInfo.js";import P from"./support/TileInfoTilemapCache.js";import{WMTSLayerInfo as b}from"./support/WMTSLayerInfo.js";import j from"./support/WMTSSublayer.js";import{getTileUrlFromResourceUrls as x,getTileUrlTemplateFromResourceUrls as E,parseResourceInfo as _,parseText as C,validateCapabilities as U,parseCapabilities as R}from"./support/wmtsUtils.js";import{reader as O}from"../core/accessorSupport/decorators/reader.js";import{writer as A}from"../core/accessorSupport/decorators/writer.js";var W;const F={"image/png":".png","image/png8":".png","image/png24":".png","image/png32":".png","image/jpg":".jpg","image/jpeg":".jpeg","image/gif":".gif","image/bmp":".bmp","image/tiff":".tif","image/jpgpng":"","image/jpegpng":"","image/unknown":""},V=new Set(["version","service","request","layer","style","format","tilematrixset","tilematrix","tilerow","tilecol"]);let B=W=class extends(g(L(S(w(I(o(f))))))){constructor(...e){super(...e),this.activeLayer=null,this.copyright="",this.customParameters=null,this.customLayerParameters=null,this.fullExtent=null,this.operationalLayerType="WebTiledLayer",this.resourceInfo=null,this.serviceMode="RESTful",this.sublayers=null,this.type="wmts",this.version="1.0.0",this.addHandles([n(()=>this.activeLayer,(e,t)=>{t&&!this.sublayers?.includes(t)&&(t.layer=null,t.parent=null),e&&(e.layer=this,e.parent=this)},m),p(()=>this.sublayers,"after-add",({item:e})=>{e.layer=this,e.parent=this},m),p(()=>this.sublayers,"after-remove",({item:e})=>{e.layer=null,e.parent=null},m),n(()=>this.sublayers,(e,t)=>{if(t)for(const r of t)r.layer=null,r.parent=null;if(e)for(const r of e)r.layer=this,r.parent=this},m)])}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["WMTS"]},e).catch(l).then(()=>this._fetchService(e)).catch(e=>{throw l(e),new s("wmtslayer:unsupported-service-data","Invalid response from the WMTS service.",{error:e})})),Promise.resolve(this)}readActiveLayerFromService(e,t,r){this.activeLayer||(this.activeLayer=new j);let i=t.layers.find(e=>e.id===this.activeLayer.id);return i||(i=t.layers[0]),this.activeLayer.read(i,r),this.activeLayer}readActiveLayerFromItemOrWebDoc(e,t){const{templateUrl:r,wmtsInfo:i}=t,s=r?this._getLowerCasedUrlParams(r):null,a=i?.layerIdentifier;let o=null;const l=i?.tileMatrixSet;l&&(Array.isArray(l)?l.length&&(o=l[0]):o=l);const n=s?.format,m=s?.style;return new j({id:a,imageFormat:n,styleId:m,tileMatrixSetId:o})}writeActiveLayer(e,t,r,i){const{activeLayer:s,loaded:a}=this,{id:o,tileMatrixSet:l,tileMatrixSetId:n,imageFormat:m,styleId:p}=s;t.templateUrl=a?this.getUrlTemplate(o,n,m,p):void 0,t.tileInfo=a?l?.tileInfo?.toJSON(i)??null:void 0,t.wmtsInfo={...t.wmtsInfo,layerIdentifier:o,tileMatrixSet:n}}readCustomParameters(e,t){const r=t.wmtsInfo;return r?this._mergeParams(r.customParameters,r.url):null}get fullExtents(){return this.activeLayer.fullExtents}readServiceMode(e,t){return t.templateUrl.includes("?")?"KVP":"RESTful"}readSublayersFromService(e,t,r){return $(t.layers,r)}get supportedSpatialReferences(){return this.activeLayer.tileMatrixSets?.map(e=>e.tileInfo?.spatialReference).toArray().filter(r)??[]}get tilemapCache(){const e=this.activeLayer?.tileMatrixSet?.tileInfo;return e?new P(e):void 0}get title(){return this.activeLayer?.title??"Layer"}set title(e){this._overrideIfSome("title",e)}get url(){return this._get("url")}set url(e){e&&e.endsWith("/")?this._set("url",e.slice(0,-1)):this._set("url",e)}createWebTileLayer(e){const t=this.getUrlTemplate(this.activeLayer.id,this.activeLayer.tileMatrixSetId,this.activeLayer.imageFormat,this.activeLayer.styleId),r=this._getTileMatrixSetById(e.tileMatrixSetId),i=r?.tileInfo,s=e.fullExtent,a=new b({layerIdentifier:e.id,tileMatrixSet:e.tileMatrixSetId,url:this.url});return this.customLayerParameters&&(a.customLayerParameters=this.customLayerParameters),this.customParameters&&(a.customParameters=this.customParameters),new v({fullExtent:s,urlTemplate:t,tileInfo:i,wmtsInfo:a})}async fetchTile(e,r,i,s={}){const{signal:a}=s,o=this.getTileUrl(e,r,i),{data:l}=await t(o,{responseType:"image",signal:a});return l}async fetchImageBitmapTile(e,r,i,s={}){const{signal:a}=s;if(this.fetchTile!==W.prototype.fetchTile){const t=await this.fetchTile(e,r,i,s);return M(t,e,r,i,s)}const o=this.getTileUrl(e,r,i),{data:l}=await t(o,{responseType:"blob",signal:a});return M(l,e,r,i,s)}findSublayerById(e){return this.sublayers?.find(t=>t.id===e)}getTileUrl(e,t,r){const i=this._getTileMatrixSetById(this.activeLayer.tileMatrixSetId),s=i?.tileInfo?.lods[e],a=s?s.levelValue||`${s.level}`:`${e}`;let o=this.resourceInfo?"":x({dimensionMap:this.dimensionMap,layerMap:this.layerMap},this.activeLayer.id,this.activeLayer.tileMatrixSetId,this.activeLayer.imageFormat,this.activeLayer.styleId,a,t,r);if(!o){o=this.getUrlTemplate(this.activeLayer.id,this.activeLayer.tileMatrixSetId,this.activeLayer.imageFormat,this.activeLayer.styleId).replaceAll(/\{level\}/gi,a).replaceAll(/\{row\}/gi,`${t}`).replaceAll(/\{col\}/gi,`${r}`)}return o=this._appendCustomLayerParameters(o),o}getUrlTemplate(e,t,r,i){if(!this.resourceInfo){const r=E({dimensionMap:this.dimensionMap,layerMap:this.layerMap},e,t,i);if(r)return r}if("KVP"===this.serviceMode)return this.url+"?SERVICE=WMTS&VERSION="+this.version+"&REQUEST=GetTile&LAYER="+e+"&STYLE="+i+"&FORMAT="+r+"&TILEMATRIXSET="+t+"&TILEMATRIX={level}&TILEROW={row}&TILECOL={col}";if("RESTful"===this.serviceMode){let s="";const a=r.toLowerCase();return F[a]&&(s=F[a]),this.url+e+"/"+i+"/"+t+"/{level}/{row}/{col}"+s}return""}async _fetchService(e){if(this.resourceInfo)return"KVP"!==this.resourceInfo.serviceMode||this.url.includes("?")||(this.url+="?"),_(this.resourceInfo),void this.read(this.resourceInfo,{origin:"service"});let t=null;try{const{data:r}=await this._getCapabilities(this.serviceMode,e);t=C(r),U(t)}catch{const r="KVP"===this.serviceMode?"RESTful":"KVP";try{const{data:i}=await this._getCapabilities(r,e);t=C(i),U(t),this.serviceMode=r}catch(o){throw new s("wmtslayer:unsupported-service-data","Services does not support RESTful or KVP service modes.",{error:o})}}const{serviceMode:r,url:i}=this,a=R(t,{serviceMode:r,url:i});this.read(a,{origin:"service"})}async _getCapabilities(e,r){const i=this._getCapabilitiesUrl(e);return await t(i,{...r,responseType:"text"})}_getTileMatrixSetById(e){const t=this.findSublayerById(this.activeLayer.id);return t?.tileMatrixSets?.find(({id:t})=>t===e)}_appendCustomParameters(e){return this._appendParameters(e,this.customParameters)}_appendCustomLayerParameters(e){return this._appendParameters(e,{...a(this.customParameters),...this.customLayerParameters})}_appendParameters(e,t){const r=c(e),i={...r.query,...t},s=u(i);return""===s?r.path:`${r.path}?${s}`}_getCapabilitiesUrl(e){this.url=c(this.url).path;let t=this.url;switch(e){case"KVP":t+=`?request=GetCapabilities&service=WMTS&version=${this.version}`;break;case"RESTful":{const e=`/${this.version}/WMTSCapabilities.xml`,r=new RegExp(e,"i");t=t.replace(r,""),t+=e;break}}return this._appendCustomParameters(t)}_getLowerCasedUrlParams(e){if(!e)return null;const t=c(e).query;if(!t)return null;const r={};return Object.keys(t).forEach(e=>{r[e.toLowerCase()]=t[e]}),r}_mergeParams(e,t){const r=this._getLowerCasedUrlParams(t);if(r){const t=Object.keys(r);t.length&&(e=e?a(e):{},t.forEach(t=>{e.hasOwnProperty(t)||V.has(t)||(e[t]=r[t])}))}return e}};function $(e,t){return e.map(e=>{const r=new j;return r.read(e,t),r})}e([y()],B.prototype,"dimensionMap",void 0),e([y()],B.prototype,"layerMap",void 0),e([y({type:j,json:{origins:{"web-document":{write:{ignoreOrigin:!0}}}}})],B.prototype,"activeLayer",void 0),e([O("service","activeLayer",["layers"])],B.prototype,"readActiveLayerFromService",null),e([O(["web-document","portal-item"],"activeLayer",["wmtsInfo"])],B.prototype,"readActiveLayerFromItemOrWebDoc",null),e([A(["web-document","portal-item"],"activeLayer",{templateUrl:{type:String},tileInfo:{type:T},"wmtsInfo.layerIdentifier":{type:String},"wmtsInfo.tileMatrixSet":{type:String}})],B.prototype,"writeActiveLayer",null),e([y({type:String,value:"",json:{write:!0}})],B.prototype,"copyright",void 0),e([y({type:["show","hide"]})],B.prototype,"listMode",void 0),e([y({json:{read:!0,write:!0}})],B.prototype,"blendMode",void 0),e([y({json:{origins:{"web-document":{read:{source:["wmtsInfo.customParameters","wmtsInfo.url"]},write:{target:"wmtsInfo.customParameters"}},"portal-item":{read:{source:["wmtsInfo.customParameters","wmtsInfo.url"]},write:{target:"wmtsInfo.customParameters"}}}}})],B.prototype,"customParameters",void 0),e([O(["portal-item","web-document"],"customParameters")],B.prototype,"readCustomParameters",null),e([y({json:{origins:{"web-document":{read:{source:"wmtsInfo.customLayerParameters"},write:{target:"wmtsInfo.customLayerParameters"}},"portal-item":{read:{source:"wmtsInfo.customLayerParameters"},write:{target:"wmtsInfo.customLayerParameters"}}}}})],B.prototype,"customLayerParameters",void 0),e([y({type:h,json:{write:{ignoreOrigin:!0},origins:{"web-document":{read:{source:"fullExtent"}},"portal-item":{read:{source:"fullExtent"}}}}})],B.prototype,"fullExtent",void 0),e([y({readOnly:!0})],B.prototype,"fullExtents",null),e([y({type:["WebTiledLayer"]})],B.prototype,"operationalLayerType",void 0),e([y()],B.prototype,"resourceInfo",void 0),e([y()],B.prototype,"serviceMode",void 0),e([O(["portal-item","web-document"],"serviceMode",["templateUrl"])],B.prototype,"readServiceMode",null),e([y({type:i.ofType(j)})],B.prototype,"sublayers",void 0),e([O("service","sublayers",["layers"])],B.prototype,"readSublayersFromService",null),e([y({readOnly:!0})],B.prototype,"supportedSpatialReferences",null),e([y({readOnly:!0})],B.prototype,"tilemapCache",null),e([y({json:{read:{source:"title"}}})],B.prototype,"title",null),e([y({json:{read:!1},readOnly:!0,value:"wmts"})],B.prototype,"type",void 0),e([y({json:{origins:{service:{read:{source:"tileUrl"}},"web-document":{read:{source:"wmtsInfo.url"},write:{target:"wmtsInfo.url"}},"portal-item":{read:{source:"wmtsInfo.url"},write:{target:"wmtsInfo.url"}}}}})],B.prototype,"url",null),e([y()],B.prototype,"version",void 0),B=W=e([d("esri.layers.WMTSLayer")],B);const K=B;export{K as default};
|
package/layers/WebTileLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../request.js";import l from"../core/Error.js";import{MultiOriginJSONSupportMixin as r}from"../core/MultiOriginJSONSupport.js";import{replace as o}from"../core/string.js";import{Url as s,ensureTrailingSlash as i,isProtocolRelative as n,normalize as a}from"../core/urlUtils.js";import{property as p,subclass as u}from"../core/accessorSupport/decorators.js";import m from"../geometry/Extent.js";import c from"../geometry/Point.js";import f from"../geometry/SpatialReference.js";import y from"./Layer.js";import{BlendLayer as h}from"./mixins/BlendLayer.js";import{OperationalLayer as d}from"./mixins/OperationalLayer.js";import{PortalLayer as v}from"./mixins/PortalLayer.js";import{RefreshableLayer as w}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as g}from"./mixins/ScaleRangeLayer.js";import{createTileBitmap as T}from"./support/imageBitmapUtils.js";import j from"./support/LOD.js";import b from"./support/TileInfo.js";import{WMTSLayerInfo as R}from"./support/WMTSLayerInfo.js";import{reader as S}from"../core/accessorSupport/decorators/reader.js";import{writer as x}from"../core/accessorSupport/decorators/writer.js";var L;let U=L=class extends(h(w(g(d(v(r(y))))))){constructor(...e){super(...e),this.copyright="",this.fullExtent=new m(-20037508.342787,-20037508.34278,20037508.34278,20037508.342787,f.WebMercator),this.legendEnabled=!1,this.isReference=null,this.popupEnabled=!1,this.spatialReference=f.WebMercator,this.subDomains=null,this.tileInfo=new b({size:[256,256],dpi:96,format:"png8",compressionQuality:0,origin:new c({x:-20037508.342787,y:20037508.342787,spatialReference:f.WebMercator}),spatialReference:f.WebMercator,lods:[new j({level:0,scale:591657527.591555,resolution:156543.033928}),new j({level:1,scale:295828763.795777,resolution:78271.5169639999}),new j({level:2,scale:147914381.897889,resolution:39135.7584820001}),new j({level:3,scale:73957190.948944,resolution:19567.8792409999}),new j({level:4,scale:36978595.474472,resolution:9783.93962049996}),new j({level:5,scale:18489297.737236,resolution:4891.96981024998}),new j({level:6,scale:9244648.868618,resolution:2445.98490512499}),new j({level:7,scale:4622324.434309,resolution:1222.99245256249}),new j({level:8,scale:2311162.217155,resolution:611.49622628138}),new j({level:9,scale:1155581.108577,resolution:305.748113140558}),new j({level:10,scale:577790.554289,resolution:152.874056570411}),new j({level:11,scale:288895.277144,resolution:76.4370282850732}),new j({level:12,scale:144447.638572,resolution:38.2185141425366}),new j({level:13,scale:72223.819286,resolution:19.1092570712683}),new j({level:14,scale:36111.909643,resolution:9.55462853563415}),new j({level:15,scale:18055.954822,resolution:4.77731426794937}),new j({level:16,scale:9027.977411,resolution:2.38865713397468}),new j({level:17,scale:4513.988705,resolution:1.19432856685505}),new j({level:18,scale:2256.994353,resolution:.597164283559817}),new j({level:19,scale:1128.497176,resolution:.298582141647617}),new j({level:20,scale:564.248588,resolution:.14929107082380833}),new j({level:21,scale:282.124294,resolution:.07464553541190416}),new j({level:22,scale:141.062147,resolution:.03732276770595208}),new j({level:23,scale:70.5310735,resolution:.01866138385297604})]}),this.type="web-tile",this.urlTemplate=null,this.wmtsInfo=null}normalizeCtorArgs(e,t){return"string"==typeof e?{urlTemplate:e,...t}:e}load(e){const t=this.loadFromPortal({supportedTypes:["WMTS"]},e).then(()=>{let e="";if(this.urlTemplate)if(this.spatialReference.equals(this.tileInfo.spatialReference)){const t=new s(this.urlTemplate);!(!!this.subDomains&&this.subDomains.length>0)&&t.authority?.includes("{subDomain}")&&(e="is missing 'subDomains' property")}else e="spatialReference must match tileInfo.spatialReference";else e="is missing the required 'urlTemplate' property value";if(e)throw new l("web-tile-layer:load",`WebTileLayer (title: '${this.title}', id: '${this.id}') ${e}`)});return this.addResolvingPromise(t),Promise.resolve(this)}get levelValues(){const e=[];if(!this.tileInfo)return null;for(const t of this.tileInfo.lods)e[t.level]=t.levelValue||t.level;return e}get loaded(){return super.loaded}readSpatialReference(e,t){return e||f.fromJSON(t.fullExtent?.spatialReference)}get tileServers(){if(!this.urlTemplate)return null;const e=[],{urlTemplate:t,subDomains:l}=this,r=new s(t),o=r.scheme?r.scheme+"://":"//",n=o+r.authority+"/",a=r.authority;if(a?.includes("{subDomain}")){if(l&&l.length>0&&a.split(".").length>1)for(const s of l)e.push(o+a.replaceAll(/\{subDomain\}/gi,s)+"/")}else e.push(n);return e.map(i)}get urlPath(){if(!this.urlTemplate)return null;const e=this.urlTemplate,t=new s(e),l=(t.scheme?t.scheme+"://":"//")+t.authority+"/";return e.slice(l.length)}readUrlTemplate(e,t){return e||t.templateUrl}writeUrlTemplate(e,t){n(e)&&(e="https:"+e),e&&(e=e.replaceAll(/\{z\}/gi,"{level}").replaceAll(/\{x\}/gi,"{col}").replaceAll(/\{y\}/gi,"{row}"),e=a(e)),t.templateUrl=e}fetchTile(e,l,r,o={}){const{signal:s}=o,i=this.getTileUrl(e,l,r),n={responseType:"image",signal:s,query:{...this.refreshParameters}};return t(i,n).then(e=>e.data)}async fetchImageBitmapTile(e,l,r,o={}){const{signal:s}=o;if(this.fetchTile!==L.prototype.fetchTile){const t=await this.fetchTile(e,l,r,o);return T(t,e,l,r,
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../request.js";import l from"../core/Error.js";import{MultiOriginJSONSupportMixin as r}from"../core/MultiOriginJSONSupport.js";import{replace as o}from"../core/string.js";import{Url as s,ensureTrailingSlash as i,isProtocolRelative as n,normalize as a}from"../core/urlUtils.js";import{property as p,subclass as u}from"../core/accessorSupport/decorators.js";import m from"../geometry/Extent.js";import c from"../geometry/Point.js";import f from"../geometry/SpatialReference.js";import y from"./Layer.js";import{BlendLayer as h}from"./mixins/BlendLayer.js";import{OperationalLayer as d}from"./mixins/OperationalLayer.js";import{PortalLayer as v}from"./mixins/PortalLayer.js";import{RefreshableLayer as w}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as g}from"./mixins/ScaleRangeLayer.js";import{createTileBitmap as T}from"./support/imageBitmapUtils.js";import j from"./support/LOD.js";import b from"./support/TileInfo.js";import{WMTSLayerInfo as R}from"./support/WMTSLayerInfo.js";import{reader as S}from"../core/accessorSupport/decorators/reader.js";import{writer as x}from"../core/accessorSupport/decorators/writer.js";var L;let U=L=class extends(h(w(g(d(v(r(y))))))){constructor(...e){super(...e),this.copyright="",this.fullExtent=new m(-20037508.342787,-20037508.34278,20037508.34278,20037508.342787,f.WebMercator),this.legendEnabled=!1,this.isReference=null,this.popupEnabled=!1,this.spatialReference=f.WebMercator,this.subDomains=null,this.tileInfo=new b({size:[256,256],dpi:96,format:"png8",compressionQuality:0,origin:new c({x:-20037508.342787,y:20037508.342787,spatialReference:f.WebMercator}),spatialReference:f.WebMercator,lods:[new j({level:0,scale:591657527.591555,resolution:156543.033928}),new j({level:1,scale:295828763.795777,resolution:78271.5169639999}),new j({level:2,scale:147914381.897889,resolution:39135.7584820001}),new j({level:3,scale:73957190.948944,resolution:19567.8792409999}),new j({level:4,scale:36978595.474472,resolution:9783.93962049996}),new j({level:5,scale:18489297.737236,resolution:4891.96981024998}),new j({level:6,scale:9244648.868618,resolution:2445.98490512499}),new j({level:7,scale:4622324.434309,resolution:1222.99245256249}),new j({level:8,scale:2311162.217155,resolution:611.49622628138}),new j({level:9,scale:1155581.108577,resolution:305.748113140558}),new j({level:10,scale:577790.554289,resolution:152.874056570411}),new j({level:11,scale:288895.277144,resolution:76.4370282850732}),new j({level:12,scale:144447.638572,resolution:38.2185141425366}),new j({level:13,scale:72223.819286,resolution:19.1092570712683}),new j({level:14,scale:36111.909643,resolution:9.55462853563415}),new j({level:15,scale:18055.954822,resolution:4.77731426794937}),new j({level:16,scale:9027.977411,resolution:2.38865713397468}),new j({level:17,scale:4513.988705,resolution:1.19432856685505}),new j({level:18,scale:2256.994353,resolution:.597164283559817}),new j({level:19,scale:1128.497176,resolution:.298582141647617}),new j({level:20,scale:564.248588,resolution:.14929107082380833}),new j({level:21,scale:282.124294,resolution:.07464553541190416}),new j({level:22,scale:141.062147,resolution:.03732276770595208}),new j({level:23,scale:70.5310735,resolution:.01866138385297604})]}),this.type="web-tile",this.urlTemplate=null,this.wmtsInfo=null}normalizeCtorArgs(e,t){return"string"==typeof e?{urlTemplate:e,...t}:e}load(e){const t=this.loadFromPortal({supportedTypes:["WMTS"]},e).then(()=>{let e="";if(this.urlTemplate)if(this.spatialReference.equals(this.tileInfo.spatialReference)){const t=new s(this.urlTemplate);!(!!this.subDomains&&this.subDomains.length>0)&&t.authority?.includes("{subDomain}")&&(e="is missing 'subDomains' property")}else e="spatialReference must match tileInfo.spatialReference";else e="is missing the required 'urlTemplate' property value";if(e)throw new l("web-tile-layer:load",`WebTileLayer (title: '${this.title}', id: '${this.id}') ${e}`)});return this.addResolvingPromise(t),Promise.resolve(this)}get levelValues(){const e=[];if(!this.tileInfo)return null;for(const t of this.tileInfo.lods)e[t.level]=t.levelValue||t.level;return e}get loaded(){return super.loaded}readSpatialReference(e,t){return e||f.fromJSON(t.fullExtent?.spatialReference)}get tileServers(){if(!this.urlTemplate)return null;const e=[],{urlTemplate:t,subDomains:l}=this,r=new s(t),o=r.scheme?r.scheme+"://":"//",n=o+r.authority+"/",a=r.authority;if(a?.includes("{subDomain}")){if(l&&l.length>0&&a.split(".").length>1)for(const s of l)e.push(o+a.replaceAll(/\{subDomain\}/gi,s)+"/")}else e.push(n);return e.map(i)}get urlPath(){if(!this.urlTemplate)return null;const e=this.urlTemplate,t=new s(e),l=(t.scheme?t.scheme+"://":"//")+t.authority+"/";return e.slice(l.length)}readUrlTemplate(e,t){return e||t.templateUrl}writeUrlTemplate(e,t){n(e)&&(e="https:"+e),e&&(e=e.replaceAll(/\{z\}/gi,"{level}").replaceAll(/\{x\}/gi,"{col}").replaceAll(/\{y\}/gi,"{row}"),e=a(e)),t.templateUrl=e}fetchTile(e,l,r,o={}){const{signal:s}=o,i=this.getTileUrl(e,l,r),n={responseType:"image",signal:s,query:{...this.refreshParameters}};return t(i,n).then(e=>e.data)}async fetchImageBitmapTile(e,l,r,o={}){const{signal:s}=o;if(this.fetchTile!==L.prototype.fetchTile){const t=await this.fetchTile(e,l,r,o);return T(t,e,l,r,o)}const i=this.getTileUrl(e,l,r),n={responseType:"blob",signal:s,query:{...this.refreshParameters}},{data:a}=await t(i,n);return T(a,e,l,r,o)}getTileUrl(e,t,l){const{levelValues:r,tileServers:s,urlPath:i}=this;if(!r||!s||!i)return"";const n=r[e];return s[t%s.length]+o(i,{level:n,z:n,col:l,x:l,row:t,y:t})}};e([p({type:String,value:"",json:{write:!0}})],U.prototype,"copyright",void 0),e([p({type:m,json:{write:!0},nonNullable:!0})],U.prototype,"fullExtent",void 0),e([p({readOnly:!0,json:{read:!1,write:!1}})],U.prototype,"legendEnabled",void 0),e([p({type:["show","hide"]})],U.prototype,"listMode",void 0),e([p({json:{read:!0,write:!0}})],U.prototype,"blendMode",void 0),e([p()],U.prototype,"levelValues",null),e([p({type:Boolean,json:{read:!1,write:{enabled:!0,overridePolicy:()=>({enabled:!1})}}})],U.prototype,"isReference",void 0),e([p({type:["WebTiledLayer"],value:"WebTiledLayer"})],U.prototype,"operationalLayerType",void 0),e([p({readOnly:!0,json:{read:!1,write:!1}})],U.prototype,"popupEnabled",void 0),e([p({type:f})],U.prototype,"spatialReference",void 0),e([S("spatialReference",["spatialReference","fullExtent.spatialReference"])],U.prototype,"readSpatialReference",null),e([p({type:[String],json:{write:!0}})],U.prototype,"subDomains",void 0),e([p({type:b,json:{write:!0}})],U.prototype,"tileInfo",void 0),e([p({readOnly:!0})],U.prototype,"tileServers",null),e([p({json:{read:!1}})],U.prototype,"type",void 0),e([p()],U.prototype,"urlPath",null),e([p({type:String,json:{origins:{"portal-item":{read:{source:"url"}}}}})],U.prototype,"urlTemplate",void 0),e([S("urlTemplate",["urlTemplate","templateUrl"])],U.prototype,"readUrlTemplate",null),e([x("urlTemplate",{templateUrl:{type:String}})],U.prototype,"writeUrlTemplate",null),e([p({type:R,json:{write:!0}})],U.prototype,"wmtsInfo",void 0),U=L=e([u("esri.layers.WebTileLayer")],U);export{U as default};
|