@arcgis/core 4.27.0-rc.0 → 4.27.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/actions/OrderBy.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0407bf97ad621c89a734.js +1 -0
- package/assets/esri/core/workers/chunks/0610691a0c0d9fbbd6d2.js +1 -0
- package/assets/esri/core/workers/chunks/{7ec6be2bc0f354011e46.js → 07651ef8348f702d59ac.js} +1 -1
- package/assets/esri/core/workers/chunks/0a02ac5628d1739372c6.js +1 -0
- package/assets/esri/core/workers/chunks/0a86c458916e83d6c523.js +1 -0
- package/assets/esri/core/workers/chunks/14145959a3dab1437818.js +1 -0
- package/assets/esri/core/workers/chunks/16db0bc87d87a7313dc4.js +1 -0
- package/assets/esri/core/workers/chunks/183e2e0cb86c1c640d94.js +1 -0
- package/assets/esri/core/workers/chunks/19d329b9d4ec2eff1d13.js +1 -0
- package/assets/esri/core/workers/chunks/1b8074269800b384ecf6.js +1 -0
- package/assets/esri/core/workers/chunks/2154d395f405be3cd3ba.js +1 -0
- package/assets/esri/core/workers/chunks/{33dbba3b7fc648437e50.js → 21e1f3b11e7d363b727a.js} +1 -1
- package/assets/esri/core/workers/chunks/{31a158c73994603c169d.js → 2446e336b1f7256d4fde.js} +1 -1
- package/assets/esri/core/workers/chunks/29290a44fd3b183c24e3.js +1 -0
- package/assets/esri/core/workers/chunks/{f498c4d4831141125781.js → 2f5639886f577baedbca.js} +1 -1
- package/assets/esri/core/workers/chunks/33901eb1574e46abd9af.js +1 -0
- package/assets/esri/core/workers/chunks/{9c78ad5ab57e0d47ac43.js → 3ba2fcb9110230f8790c.js} +1 -1
- package/assets/esri/core/workers/chunks/3e239bfad611985e50fb.js +1 -0
- package/assets/esri/core/workers/chunks/42f3421740a5479559dc.js +1 -0
- package/assets/esri/core/workers/chunks/474d9b334812533bab36.js +1 -0
- package/assets/esri/core/workers/chunks/53ad34bf32f5f3d4fe18.js +1 -0
- package/assets/esri/core/workers/chunks/{97cdbec7532cfcdf9ad2.js → 595a2baa04d92de59558.js} +1 -1
- package/assets/esri/core/workers/chunks/624521961fe1f2c4f2c5.js +1 -0
- package/assets/esri/core/workers/chunks/{212d59764c275c763941.js → 659b7bad7281c0e2aed3.js} +1 -1
- package/assets/esri/core/workers/chunks/6a3d611e8842afbb50ab.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/6e562fa57c0347091154.js +1 -0
- package/assets/esri/core/workers/chunks/7479dc0c790337af7597.js +1 -0
- package/assets/esri/core/workers/chunks/{e88cff2537be52da6531.js → 74fd2059ddda9083cbcc.js} +1 -1
- package/assets/esri/core/workers/chunks/7dc6774c77c822b68c99.js +1 -0
- package/assets/esri/core/workers/chunks/82a103a8b5382300889d.js +1 -0
- package/assets/esri/core/workers/chunks/{3fe357df92afa1bee70a.js → 90da1ed112b82712d0ef.js} +1 -1
- package/assets/esri/core/workers/chunks/{9849f64793f2ad39366b.js → 9290b0d330f02233d803.js} +1 -1
- package/assets/esri/core/workers/chunks/92e7f224a80195e606d6.js +1 -0
- package/assets/esri/core/workers/chunks/{36df72362b38759b895b.js → 9648a8f2b24f1ca3d637.js} +1 -1
- package/assets/esri/core/workers/chunks/{ad18fb7bb54a0c4bdb38.js → a20361b4d3bdd7d196ca.js} +1 -1
- package/assets/esri/core/workers/chunks/a7fd2a95fde197c06828.js +1 -0
- package/assets/esri/core/workers/chunks/b0cda39b53ecd6c44cd0.js +1 -0
- package/assets/esri/core/workers/chunks/b2a423d9ce8bb784267c.js +1 -0
- package/assets/esri/core/workers/chunks/b5fc6f2044ed047c5afd.js +1 -0
- package/assets/esri/core/workers/chunks/{df0453cdfe685d6436cc.js → b6dc41fce601b9d3480e.js} +1 -1
- package/assets/esri/core/workers/chunks/b8e6c64792a512df4c4d.js +1 -0
- package/assets/esri/core/workers/chunks/c6617a937440701c0180.js +1 -0
- package/assets/esri/core/workers/chunks/c6efe2e04ea6a55bb6e3.js +1 -0
- package/assets/esri/core/workers/chunks/d8607326a199dd994844.js +1 -0
- package/assets/esri/core/workers/chunks/d8bd3f498b3fa8153404.js +1 -0
- package/assets/esri/core/workers/chunks/{39e473586579d11d6732.js → e2432871f1329f47465d.js} +1 -1
- package/assets/esri/core/workers/chunks/ee5ee03dd2c7dc940272.js +1 -0
- package/assets/esri/core/workers/chunks/{c83669cf08391a62fb72.js → f1da7b29eecad0e9efae.js} +1 -1
- package/assets/esri/core/workers/chunks/{2e627c94e57c924e5917.js → f339db2b599fa9585283.js} +1 -1
- package/assets/esri/core/workers/chunks/f505ebd4bd3bfb6c790d.js +1 -0
- package/assets/esri/core/workers/chunks/{3c6c082157c916f8ddba.js → ffe61d5a6a9b34bee9d4.js} +1 -1
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +5 -0
- package/assets/esri/themes/base/widgets/_Features.scss +5 -7
- package/assets/esri/themes/base/widgets/_Popup.scss +3 -3
- package/assets/esri/themes/base/widgets/_Swipe.scss +11 -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/chunks/SSAO.glsl.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/support/DoubleArray.js +1 -1
- package/geometry/support/meshUtils/bounds.js +5 -0
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/interfaces.d.ts +2 -2
- package/kernel.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/support/FeatureReductionBinning.js +1 -1
- package/layers/support/FeatureReductionCluster.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/layers/support/rasterFunctions/colormaps.js +1 -1
- package/package.json +2 -2
- package/renderers/support/utils.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/effects/EffectBuffer.js +1 -1
- package/symbols/cim/effects/EffectDonut.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/views/2d/layers/features/Store2D.js +1 -1
- package/views/2d/layers/features/sources/StreamSource.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/webStyleUtils.js +1 -1
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/materials/pbrUtils.js +5 -0
- package/webdoc/support/writeUtils.js +1 -1
- package/widgets/Bookmarks/css.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/Features.js +1 -1
- package/assets/esri/core/workers/chunks/0b03165dbf289797cefa.js +0 -1
- package/assets/esri/core/workers/chunks/0c1c0024879f944f44c4.js +0 -1
- package/assets/esri/core/workers/chunks/13a48796905613bc1679.js +0 -1
- package/assets/esri/core/workers/chunks/1ea1104651ab15f9a13c.js +0 -1
- package/assets/esri/core/workers/chunks/2108cfc7921430f0b805.js +0 -1
- package/assets/esri/core/workers/chunks/2eacca322737aafd8f0c.js +0 -1
- package/assets/esri/core/workers/chunks/39577683e334eb4d904c.js +0 -1
- package/assets/esri/core/workers/chunks/4d3deeb0ebd0ce8c1215.js +0 -1
- package/assets/esri/core/workers/chunks/576bddc3fa7d91a7e5bd.js +0 -1
- package/assets/esri/core/workers/chunks/623d6710a4f800c622ce.js +0 -1
- package/assets/esri/core/workers/chunks/6782cc3feb713676d544.js +0 -1
- package/assets/esri/core/workers/chunks/6e7178de0b2c3d2f7e6b.js +0 -1
- package/assets/esri/core/workers/chunks/78ce0b1af62435d8ebf4.js +0 -1
- package/assets/esri/core/workers/chunks/79d2baf392589588ef9b.js +0 -1
- package/assets/esri/core/workers/chunks/7bbdba52157da13a01fc.js +0 -1
- package/assets/esri/core/workers/chunks/84860b535a70ec448cfe.js +0 -1
- package/assets/esri/core/workers/chunks/9035d9e09a4e7cb94d37.js +0 -1
- package/assets/esri/core/workers/chunks/956b0fef7bc849415354.js +0 -1
- package/assets/esri/core/workers/chunks/9ab98321a4a7eaeeb018.js +0 -1
- package/assets/esri/core/workers/chunks/9cb7a68ff46e5c43e1d2.js +0 -1
- package/assets/esri/core/workers/chunks/a0f7f7f578521970c714.js +0 -1
- package/assets/esri/core/workers/chunks/a60eac45d3c65bd0216f.js +0 -1
- package/assets/esri/core/workers/chunks/aca5260f6984952a6e3d.js +0 -1
- package/assets/esri/core/workers/chunks/b05be356743fa5d24573.js +0 -1
- package/assets/esri/core/workers/chunks/ba6024465308c248170b.js +0 -1
- package/assets/esri/core/workers/chunks/d0983f808008920514f2.js +0 -1
- package/assets/esri/core/workers/chunks/dab832799bc06b0fec34.js +0 -1
- package/assets/esri/core/workers/chunks/e45d36aef2bc69ee9132.js +0 -1
- package/assets/esri/core/workers/chunks/e5bbd4cc5edbf7ab3624.js +0 -1
- package/assets/esri/core/workers/chunks/e700cf4d1f99291a4396.js +0 -1
- package/assets/esri/core/workers/chunks/f398a5cf33c3fd2522a5.js +0 -1
- package/assets/esri/core/workers/chunks/f4ee94a6cde4ea8837f1.js +0 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../../chunks/tslib.es6.js";import i from"../../../../core/Accessor.js";import e from"../../../../core/Logger.js";import{lerp as r}from"../../../../core/mathUtils.js";import{createScreenPointArray as s,createRenderScreenPointArray3 as h}from"../../../../core/screenUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{c as a,m as p,q as _,j as u,a as v,t as l,u as c}from"../../../../chunks/mat4.js";import{c as w}from"../../../../chunks/mat4f64.js";import{j as d,m as g}from"../../../../chunks/vec2.js";import{f as y}from"../../../../chunks/vec2f64.js";import{b as f,i as m,c as x,k as M,w as T,e as D,E as j,z as R,g as P,l as F,s as O,f as V,n as S,r as C}from"../../../../chunks/vec3.js";import{c as I}from"../../../../chunks/vec3f64.js";import{b,h as E,g as L,c as k,i as H,t as U}from"../../../../chunks/vec4.js";import{f as B,c as G}from"../../../../chunks/vec4f64.js";import{create as A,copy as z,fromMatrix as W}from"../../../../geometry/support/frustum.js";import{create as X}from"../../../../geometry/support/ray.js";import{projectPointSignedLength as Y}from"../../../../geometry/support/vector.js";import{ViewingMode as q}from"../../../ViewingMode.js";import{fovd2fovx as N,fovx2fovd as J,fovd2fovy as K,fovy2fovd as Q}from"./fov.js";var Z;let $=Z=class extends i{constructor(t={}){super(t),this._center=I(),this._up=I(),this._viewUp=I(),this._viewForward=I(),this._viewRight=I(),this._ray=X(),this._viewport=B(0,0,1,1),this._padding=B(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=y(1,1e3),this._viewDirty=!0,this._viewMatrix=w(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=w(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=w(),this._frustumDirty=!0,this._frustum=A(),this._fullViewport=G(),this._pixelRatio=1,this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(t){this._pixelRatio=t>0?t:1}get eye(){return this._ray.origin}set eye(t){this._compareAndSetView(t,this._ray.origin)}get center(){return this._center}set center(t){this._compareAndSetView(t,this._center,"_center")}get ray(){return f(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(t){this._compareAndSetView(t,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(t){a(this._viewMatrix,t),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),this._viewForward}get viewUp(){return this._ensureViewClean(),this._viewUp}get viewRight(){return this._ensureViewClean(),this._viewRight}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(t){this._nearFar[0]!==t&&(this._nearFar[0]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(t){this._nearFar[1]!==t&&(this._nearFar[1]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(t){this.x=t[0],this.y=t[1],this.width=t[2],this.height=t[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const t=b(G(),this._viewport,1/this.pixelRatio),i=this._get("screenViewport");return i&&E(t,i)?i:t}get screenPadding(){if(1===this.pixelRatio)return this._padding;const t=b(G(),this._padding,1/this.pixelRatio),i=this._get("screenPadding");return i&&E(t,i)?i:t}get x(){return this._viewport[0]}set x(t){t+=this._padding[ht.LEFT],this._viewport[0]!==t&&(this._viewport[0]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(t){t+=this._padding[ht.BOTTOM],this._viewport[1]!==t&&(this._viewport[1]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(t){this._viewport[2]!==t&&(this._viewport[2]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(t){this._viewport[3]!==t&&(this._viewport[3]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[ht.RIGHT]+this._padding[ht.LEFT]}set fullWidth(t){this.width=t-(this._padding[ht.RIGHT]+this._padding[ht.LEFT])}get fullHeight(){return this._viewport[3]+this._padding[ht.TOP]+this._padding[ht.BOTTOM]}set fullHeight(t){this.height=t-(this._padding[ht.TOP]+this._padding[ht.BOTTOM])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[ht.LEFT],this._fullViewport[1]=this._viewport[1]-this._padding[ht.BOTTOM],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(t){L(this._padding,t)||(this._viewport[0]+=t[ht.LEFT]-this._padding[ht.LEFT],this._viewport[1]+=t[ht.BOTTOM]-this._padding[ht.BOTTOM],this._viewport[2]-=t[ht.RIGHT]+t[ht.LEFT]-(this._padding[ht.RIGHT]+this._padding[ht.LEFT]),this._viewport[3]-=t[ht.TOP]+t[ht.BOTTOM]-(this._padding[ht.TOP]+this._padding[ht.BOTTOM]),k(this._padding,t),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&(p(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){const t=this.width,i=this.height,e=this.near*Math.tan(this.fovY/2),r=e*this._aspect,s=_(w(),-r*(1+2*this._padding[ht.LEFT]/t),r*(1+2*this._padding[ht.RIGHT]/t),-e*(1+2*this._padding[ht.BOTTOM]/i),e*(1+2*this._padding[ht.TOP]/i),this.near,this.far),h=this._get("projectionMatrix");return h&&u(h,s)?h:s}get inverseProjectionMatrix(){return v(w(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||w()}get fov(){return this._fov}set fov(t){this._fov=t,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return N(this._fov,this.width,this.height)}set fovX(t){this._fov=J(t,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return K(this._fov,this.width,this.height)}set fovY(t){this._fov=Q(t,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return m(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&(v(this._viewInverseTransposeMatrix,this.viewMatrix),l(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(t){const i=2*t-1;return 2*this.near*this.far/(this.far+this.near-i*(this.far-this.near))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}copyFrom(t){x(this._ray.origin,t.eye),this.center=t.center,this.up=t.up,k(this._viewport,t.viewport),this.notifyChange("_viewport"),k(this._padding,t.padding),this.notifyChange("_padding"),d(this._nearFar,t.nearFar),this.notifyChange("_nearFar"),this._fov=t.fov,this.relativeElevation=t.relativeElevation;const i=t;return this._viewDirty=i._viewDirty,this._viewDirty||(a(this._viewMatrix,t.viewMatrix),x(this._viewRight,t.viewRight),x(this._viewUp,t.viewUp),x(this._viewForward,t.viewForward)),this._viewProjectionDirty=!0,this._frustumDirty=i._frustumDirty,this._frustumDirty||(z(this._frustum,t.frustum),this._frustumDirty=!1),i._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:(a(this._viewInverseTransposeMatrix,t.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),k(this._fullViewport,t.fullViewport),this.pixelRatio=t.pixelRatio,this}copyViewFrom(t){this.eye=t.eye,this.center=t.center,this.up=t.up}clone(){return(new Z).copyFrom(this)}equals(t){return M(this.eye,t.eye)&&M(this.center,t.center)&&M(this.up,t.up)&&L(this._viewport,t.viewport)&&L(this._padding,t.padding)&&g(this.nearFar,t.nearFar)&&this._fov===t.fov&&this.pixelRatio===t.pixelRatio&&this.relativeElevation===t.relativeElevation}almostEquals(t){if(Math.abs(t.fov-this._fov)>=.001||H(t.screenPadding,this.screenPadding)>=1||H(this.screenViewport,t.screenViewport)>=1)return!1;T(et,t.eye,t.center),T(rt,this.eye,this.center);const i=D(et,rt),e=j(et),r=j(rt),s=5e-4;return i*i>=(1-1e-10)*e*r&&R(t.eye,this.eye)<Math.max(e,r)*s*s}computeRenderPixelSizeAt(t){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(t))}computeRenderPixelSizeAtDist(t){return t*this.perRenderPixelRatio}computeScreenPixelSizeAt(t){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(t))}_viewDirectionDistance(t){return Math.abs(Y(this.viewForward,f(et,t,this.eye)))}computeScreenPixelSizeAtDist(t){return t*this.perScreenPixelRatio}computeDistanceFromRadius(t,i){return t/Math.tan(Math.min(this.fovX,this.fovY)/(2*(i||1)))}getScreenCenter(t=s()){return t[0]=(this.padding[ht.LEFT]+this.width/2)/this.pixelRatio,t[1]=(this.padding[ht.TOP]+this.height/2)/this.pixelRatio,t}getRenderCenter(t,i=.5,e=.5){return t[0]=this.padding[ht.LEFT]+this.width*i,t[1]=this.padding[ht.BOTTOM]+this.height*e,t[2]=.5,t}setGLViewport(t){const i=this.viewport,e=this.padding;t.setViewport(i[0]-e[3],i[1]-e[2],i[2]+e[1]+e[3],i[3]+e[0]+e[2])}applyProjection(t,i){t!==tt&&x(tt,t),tt[3]=1,U(tt,tt,this.projectionMatrix);const e=Math.abs(tt[3]);P(tt,tt,1/e);const s=this.fullViewport;i[0]=r(0,s[0]+s[2],.5+.5*tt[0]),i[1]=r(0,s[1]+s[3],.5+.5*tt[1]),i[2]=.5*(tt[2]+1),i[3]=e}unapplyProjection(t,i){const e=this.fullViewport;tt[0]=(t[0]/(e[0]+e[2])*2-1)*t[3],tt[1]=(t[1]/(e[1]+e[3])*2-1)*t[3],tt[2]=(2*t[2]-1)*t[3],tt[3]=t[3],null!=this.inverseProjectionMatrix&&(U(tt,tt,this.inverseProjectionMatrix),i[0]=tt[0],i[1]=tt[1],i[2]=tt[2])}projectToScreen(t,i){return this.projectToRenderScreen(t,st),this.renderToScreen(st,i),i}projectToRenderScreen(t,i){if(tt[0]=t[0],tt[1]=t[1],tt[2]=t[2],tt[3]=1,U(tt,tt,this.viewProjectionMatrix),0===tt[3])return null;P(tt,tt,1/Math.abs(tt[3]));const e=this.fullViewport;return"x"in i?(i.x=r(0,e[0]+e[2],.5+.5*tt[0]),i.y=r(0,e[1]+e[3],.5+.5*tt[1])):(i[0]=r(0,e[0]+e[2],.5+.5*tt[0]),i[1]=r(0,e[1]+e[3],.5+.5*tt[1]),i.length>2&&(i[2]=.5*(tt[2]+1))),i}unprojectFromScreen(t,i){return this.unprojectFromRenderScreen(this.screenToRender(t,st),i)}unprojectFromRenderScreen(t,i){if(p(it,this.projectionMatrix,this.viewMatrix),!v(it,it))return null;const e=this.fullViewport;return tt[0]=2*(t[0]-e[0])/e[2]-1,tt[1]=2*(t[1]-e[1])/e[3]-1,tt[2]=2*t[2]-1,tt[3]=1,U(tt,tt,it),0===tt[3]?null:(i[0]=tt[0]/tt[3],i[1]=tt[1]/tt[3],i[2]=tt[2]/tt[3],i)}constrainWindowSize(t,i,e,r){const s=t*this.pixelRatio,h=i*this.pixelRatio,o=Math.max(s-e/2,0),n=Math.max(this.fullHeight-h-r/2,0),a=-Math.min(s-e/2,0),p=-Math.min(this.fullHeight-h-r/2,0);return[o,n,e-a- -Math.min(this.fullWidth-s-e/2,0),r-p- -Math.min(h-r/2,0)]}computeUp(t){t===q.Global?this._computeUpGlobal():this._computeUpLocal()}screenToRender(t,i){const e=t[0]*this.pixelRatio,r=this.fullHeight-t[1]*this.pixelRatio;return i[0]=e,i[1]=r,i}renderToScreen(t,i){const e=t[0]/this.pixelRatio,r=(this.fullHeight-t[1])/this.pixelRatio;i[0]=e,i[1]=r}_computeUpGlobal(){f(et,this.center,this.eye);const t=F(this.center);t<1?(O(this._up,0,0,1),this._markViewDirty(),this.notifyChange("_up")):Math.abs(D(et,this.center))>.9999*F(et)*t||(V(this._up,et,this.center),V(this._up,this._up,et),S(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_computeUpLocal(){C(et,this.eye,this.center),Math.abs(et[2])<=.9999&&(P(et,et,et[2]),O(this._up,-et[0],-et[1],1-et[2]),S(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_compareAndSetView(t,i,r=""){"number"==typeof t[0]&&isFinite(t[0])&&"number"==typeof t[1]&&isFinite(t[1])&&"number"==typeof t[2]&&isFinite(t[2])?M(t,i)||(x(i,t),this._markViewDirty(),r.length&&this.notifyChange(r)):e.getLogger("esri.views.3d.webgl-engine.lib.Camera").warn("Camera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&(W(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&(c(this._viewMatrix,this.eye,this.center,this.up),O(this._viewForward,-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10]),O(this._viewUp,this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9]),O(this._viewRight,this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8]),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};t([o()],$.prototype,"_center",void 0),t([o()],$.prototype,"_up",void 0),t([o()],$.prototype,"_viewport",void 0),t([o()],$.prototype,"_padding",void 0),t([o()],$.prototype,"_fov",void 0),t([o()],$.prototype,"_nearFar",void 0),t([o()],$.prototype,"_pixelRatio",void 0),t([o()],$.prototype,"pixelRatio",null),t([o()],$.prototype,"eye",null),t([o()],$.prototype,"center",null),t([o()],$.prototype,"up",null),t([o({readOnly:!0})],$.prototype,"nearFar",null),t([o()],$.prototype,"near",null),t([o()],$.prototype,"far",null),t([o()],$.prototype,"viewport",null),t([o({readOnly:!0})],$.prototype,"screenViewport",null),t([o({readOnly:!0})],$.prototype,"screenPadding",null),t([o()],$.prototype,"x",null),t([o()],$.prototype,"y",null),t([o()],$.prototype,"width",null),t([o()],$.prototype,"height",null),t([o()],$.prototype,"fullWidth",null),t([o()],$.prototype,"fullHeight",null),t([o({readOnly:!0})],$.prototype,"_aspect",null),t([o()],$.prototype,"padding",null),t([o({readOnly:!0})],$.prototype,"projectionMatrix",null),t([o({readOnly:!0})],$.prototype,"inverseProjectionMatrix",null),t([o()],$.prototype,"fov",null),t([o()],$.prototype,"fovX",null),t([o()],$.prototype,"fovY",null),$=Z=t([n("esri.views.3d.webgl-engine.lib.Camera")],$);const tt=G(),it=w(),et=I(),rt=I(),st=h();var ht;!function(t){t[t.TOP=0]="TOP",t[t.RIGHT=1]="RIGHT",t[t.BOTTOM=2]="BOTTOM",t[t.LEFT=3]="LEFT"}(ht||(ht={}));export{$ as Camera,ht as PaddingSide};
|
|
5
|
+
import{_ as t}from"../../../../chunks/tslib.es6.js";import i from"../../../../core/Accessor.js";import e from"../../../../core/Logger.js";import{lerp as r}from"../../../../core/mathUtils.js";import{createScreenPointArray as s,createRenderScreenPointArray3 as h}from"../../../../core/screenUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{c as a,m as p,q as _,j as u,a as v,t as c,u as l}from"../../../../chunks/mat4.js";import{c as w}from"../../../../chunks/mat4f64.js";import{j as d,m as g}from"../../../../chunks/vec2.js";import{f as y}from"../../../../chunks/vec2f64.js";import{b as f,i as m,c as x,k as M,w as T,e as D,E as j,z as R,g as P,l as F,s as O,f as V,n as S,r as C}from"../../../../chunks/vec3.js";import{c as I}from"../../../../chunks/vec3f64.js";import{b,h as E,g as L,c as k,i as H,t as U}from"../../../../chunks/vec4.js";import{f as B,c as G}from"../../../../chunks/vec4f64.js";import{create as A,copy as z,fromMatrix as W}from"../../../../geometry/support/frustum.js";import{create as X}from"../../../../geometry/support/ray.js";import{projectPointSignedLength as Y}from"../../../../geometry/support/vector.js";import{ViewingMode as q}from"../../../ViewingMode.js";import{fovd2fovx as N,fovx2fovd as J,fovd2fovy as K,fovy2fovd as Q}from"./fov.js";var Z;let $=Z=class extends i{constructor(t={}){super(t),this._center=I(),this._up=I(),this._viewUp=I(),this._viewForward=I(),this._viewRight=I(),this._ray=X(),this._viewport=B(0,0,1,1),this._padding=B(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=y(1,1e3),this._viewDirty=!0,this._viewMatrix=w(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=w(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=w(),this._frustumDirty=!0,this._frustum=A(),this._fullViewport=G(),this._pixelRatio=1,this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(t){this._pixelRatio=t>0?t:1}get eye(){return this._ray.origin}set eye(t){this._compareAndSetView(t,this._ray.origin)}get center(){return this._center}set center(t){this._compareAndSetView(t,this._center,"_center")}get ray(){return f(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(t){this._compareAndSetView(t,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(t){a(this._viewMatrix,t),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),this._viewForward}get viewUp(){return this._ensureViewClean(),this._viewUp}get viewRight(){return this._ensureViewClean(),this._viewRight}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(t){this._nearFar[0]!==t&&(this._nearFar[0]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(t){this._nearFar[1]!==t&&(this._nearFar[1]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(t){this.x=t[0],this.y=t[1],this.width=t[2],this.height=t[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const t=b(G(),this._viewport,1/this.pixelRatio),i=this._get("screenViewport");return i&&E(t,i)?i:t}get screenPadding(){if(1===this.pixelRatio)return this._padding;const t=b(G(),this._padding,1/this.pixelRatio),i=this._get("screenPadding");return i&&E(t,i)?i:t}get x(){return this._viewport[0]}set x(t){t+=this._padding[ht.LEFT],this._viewport[0]!==t&&(this._viewport[0]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(t){t+=this._padding[ht.BOTTOM],this._viewport[1]!==t&&(this._viewport[1]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(t){this._viewport[2]!==t&&(this._viewport[2]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(t){this._viewport[3]!==t&&(this._viewport[3]=t,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[ht.RIGHT]+this._padding[ht.LEFT]}set fullWidth(t){this.width=t-(this._padding[ht.RIGHT]+this._padding[ht.LEFT])}get fullHeight(){return this._viewport[3]+this._padding[ht.TOP]+this._padding[ht.BOTTOM]}set fullHeight(t){this.height=t-(this._padding[ht.TOP]+this._padding[ht.BOTTOM])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[ht.LEFT],this._fullViewport[1]=this._viewport[1]-this._padding[ht.BOTTOM],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(t){L(this._padding,t)||(this._viewport[0]+=t[ht.LEFT]-this._padding[ht.LEFT],this._viewport[1]+=t[ht.BOTTOM]-this._padding[ht.BOTTOM],this._viewport[2]-=t[ht.RIGHT]+t[ht.LEFT]-(this._padding[ht.RIGHT]+this._padding[ht.LEFT]),this._viewport[3]-=t[ht.TOP]+t[ht.BOTTOM]-(this._padding[ht.TOP]+this._padding[ht.BOTTOM]),k(this._padding,t),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&(p(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){const t=this.width,i=this.height,e=this.near*Math.tan(this.fovY/2),r=e*this._aspect,s=_(w(),-r*(1+2*this._padding[ht.LEFT]/t),r*(1+2*this._padding[ht.RIGHT]/t),-e*(1+2*this._padding[ht.BOTTOM]/i),e*(1+2*this._padding[ht.TOP]/i),this.near,this.far),h=this._get("projectionMatrix");return h&&u(h,s)?h:s}get inverseProjectionMatrix(){return v(w(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||w()}get fov(){return this._fov}set fov(t){this._fov=t,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return N(this._fov,this.width,this.height)}set fovX(t){this._fov=J(t,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return K(this._fov,this.width,this.height)}set fovY(t){this._fov=Q(t,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return m(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&(v(this._viewInverseTransposeMatrix,this.viewMatrix),c(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(t){const i=2*t-1;return 2*this.near*this.far/(this.far+this.near-i*(this.far-this.near))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}copyFrom(t){x(this._ray.origin,t.eye),this.center=t.center,this.up=t.up,k(this._viewport,t.viewport),this.notifyChange("_viewport"),k(this._padding,t.padding),this.notifyChange("_padding"),d(this._nearFar,t.nearFar),this.notifyChange("_nearFar"),this._fov=t.fov,this.relativeElevation=t.relativeElevation;const i=t;return this._viewDirty=i._viewDirty,this._viewDirty||(a(this._viewMatrix,t.viewMatrix),x(this._viewRight,t.viewRight),x(this._viewUp,t.viewUp),x(this._viewForward,t.viewForward)),this._viewProjectionDirty=!0,this._frustumDirty=i._frustumDirty,this._frustumDirty||(z(this._frustum,t.frustum),this._frustumDirty=!1),i._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:(a(this._viewInverseTransposeMatrix,t.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),k(this._fullViewport,t.fullViewport),this.pixelRatio=t.pixelRatio,this}copyViewFrom(t){this.eye=t.eye,this.center=t.center,this.up=t.up}clone(){return(new Z).copyFrom(this)}equals(t){return M(this.eye,t.eye)&&M(this.center,t.center)&&M(this.up,t.up)&&L(this._viewport,t.viewport)&&L(this._padding,t.padding)&&g(this.nearFar,t.nearFar)&&this._fov===t.fov&&this.pixelRatio===t.pixelRatio&&this.relativeElevation===t.relativeElevation}almostEquals(t){if(Math.abs(t.fov-this._fov)>=.001||H(t.screenPadding,this.screenPadding)>=1||H(this.screenViewport,t.screenViewport)>=1)return!1;T(et,t.eye,t.center),T(rt,this.eye,this.center);const i=D(et,rt),e=j(et),r=j(rt),s=5e-4;return i*i>=(1-1e-10)*e*r&&R(t.eye,this.eye)<Math.max(e,r)*s*s}computeRenderPixelSizeAt(t){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(t))}computeRenderPixelSizeAtDist(t){return t*this.perScreenPixelRatio}computeScreenPixelSizeAt(t){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(t))}_viewDirectionDistance(t){return Math.abs(Y(this.viewForward,f(et,t,this.eye)))}computeScreenPixelSizeAtDist(t){return t*this.perScreenPixelRatio}computeDistanceFromRadius(t,i){return t/Math.tan(Math.min(this.fovX,this.fovY)/(2*(i||1)))}getScreenCenter(t=s()){return t[0]=(this.padding[ht.LEFT]+this.width/2)/this.pixelRatio,t[1]=(this.padding[ht.TOP]+this.height/2)/this.pixelRatio,t}getRenderCenter(t,i=.5,e=.5){return t[0]=this.padding[ht.LEFT]+this.width*i,t[1]=this.padding[ht.BOTTOM]+this.height*e,t[2]=.5,t}setGLViewport(t){const i=this.viewport,e=this.padding;t.setViewport(i[0]-e[3],i[1]-e[2],i[2]+e[1]+e[3],i[3]+e[0]+e[2])}applyProjection(t,i){t!==tt&&x(tt,t),tt[3]=1,U(tt,tt,this.projectionMatrix);const e=Math.abs(tt[3]);P(tt,tt,1/e);const s=this.fullViewport;i[0]=r(0,s[0]+s[2],.5+.5*tt[0]),i[1]=r(0,s[1]+s[3],.5+.5*tt[1]),i[2]=.5*(tt[2]+1),i[3]=e}unapplyProjection(t,i){const e=this.fullViewport;tt[0]=(t[0]/(e[0]+e[2])*2-1)*t[3],tt[1]=(t[1]/(e[1]+e[3])*2-1)*t[3],tt[2]=(2*t[2]-1)*t[3],tt[3]=t[3],null!=this.inverseProjectionMatrix&&(U(tt,tt,this.inverseProjectionMatrix),i[0]=tt[0],i[1]=tt[1],i[2]=tt[2])}projectToScreen(t,i){return this.projectToRenderScreen(t,st),this.renderToScreen(st,i),i}projectToRenderScreen(t,i){if(tt[0]=t[0],tt[1]=t[1],tt[2]=t[2],tt[3]=1,U(tt,tt,this.viewProjectionMatrix),0===tt[3])return null;P(tt,tt,1/Math.abs(tt[3]));const e=this.fullViewport;return"x"in i?(i.x=r(0,e[0]+e[2],.5+.5*tt[0]),i.y=r(0,e[1]+e[3],.5+.5*tt[1])):(i[0]=r(0,e[0]+e[2],.5+.5*tt[0]),i[1]=r(0,e[1]+e[3],.5+.5*tt[1]),i.length>2&&(i[2]=.5*(tt[2]+1))),i}unprojectFromScreen(t,i){return this.unprojectFromRenderScreen(this.screenToRender(t,st),i)}unprojectFromRenderScreen(t,i){if(p(it,this.projectionMatrix,this.viewMatrix),!v(it,it))return null;const e=this.fullViewport;return tt[0]=2*(t[0]-e[0])/e[2]-1,tt[1]=2*(t[1]-e[1])/e[3]-1,tt[2]=2*t[2]-1,tt[3]=1,U(tt,tt,it),0===tt[3]?null:(i[0]=tt[0]/tt[3],i[1]=tt[1]/tt[3],i[2]=tt[2]/tt[3],i)}constrainWindowSize(t,i,e,r){const s=t*this.pixelRatio,h=i*this.pixelRatio,o=Math.max(s-e/2,0),n=Math.max(this.fullHeight-h-r/2,0),a=-Math.min(s-e/2,0),p=-Math.min(this.fullHeight-h-r/2,0);return[o,n,e-a- -Math.min(this.fullWidth-s-e/2,0),r-p- -Math.min(h-r/2,0)]}computeUp(t){t===q.Global?this._computeUpGlobal():this._computeUpLocal()}screenToRender(t,i){const e=t[0]*this.pixelRatio,r=this.fullHeight-t[1]*this.pixelRatio;return i[0]=e,i[1]=r,i}renderToScreen(t,i){const e=t[0]/this.pixelRatio,r=(this.fullHeight-t[1])/this.pixelRatio;i[0]=e,i[1]=r}_computeUpGlobal(){f(et,this.center,this.eye);const t=F(this.center);t<1?(O(this._up,0,0,1),this._markViewDirty(),this.notifyChange("_up")):Math.abs(D(et,this.center))>.9999*F(et)*t||(V(this._up,et,this.center),V(this._up,this._up,et),S(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_computeUpLocal(){C(et,this.eye,this.center),Math.abs(et[2])<=.9999&&(P(et,et,et[2]),O(this._up,-et[0],-et[1],1-et[2]),S(this._up,this._up),this.notifyChange("_up"),this._markViewDirty())}_compareAndSetView(t,i,r=""){"number"==typeof t[0]&&isFinite(t[0])&&"number"==typeof t[1]&&isFinite(t[1])&&"number"==typeof t[2]&&isFinite(t[2])?M(t,i)||(x(i,t),this._markViewDirty(),r.length&&this.notifyChange(r)):e.getLogger("esri.views.3d.webgl-engine.lib.Camera").warn("Camera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&(W(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&(l(this._viewMatrix,this.eye,this.center,this.up),O(this._viewForward,-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10]),O(this._viewUp,this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9]),O(this._viewRight,this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8]),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};t([o()],$.prototype,"_center",void 0),t([o()],$.prototype,"_up",void 0),t([o()],$.prototype,"_viewport",void 0),t([o()],$.prototype,"_padding",void 0),t([o()],$.prototype,"_fov",void 0),t([o()],$.prototype,"_nearFar",void 0),t([o()],$.prototype,"_pixelRatio",void 0),t([o()],$.prototype,"pixelRatio",null),t([o()],$.prototype,"eye",null),t([o()],$.prototype,"center",null),t([o()],$.prototype,"up",null),t([o({readOnly:!0})],$.prototype,"nearFar",null),t([o()],$.prototype,"near",null),t([o()],$.prototype,"far",null),t([o()],$.prototype,"viewport",null),t([o({readOnly:!0})],$.prototype,"screenViewport",null),t([o({readOnly:!0})],$.prototype,"screenPadding",null),t([o()],$.prototype,"x",null),t([o()],$.prototype,"y",null),t([o()],$.prototype,"width",null),t([o()],$.prototype,"height",null),t([o()],$.prototype,"fullWidth",null),t([o()],$.prototype,"fullHeight",null),t([o({readOnly:!0})],$.prototype,"_aspect",null),t([o()],$.prototype,"padding",null),t([o({readOnly:!0})],$.prototype,"projectionMatrix",null),t([o({readOnly:!0})],$.prototype,"inverseProjectionMatrix",null),t([o()],$.prototype,"fov",null),t([o()],$.prototype,"fovX",null),t([o()],$.prototype,"fovY",null),$=Z=t([n("esri.views.3d.webgl-engine.lib.Camera")],$);const tt=G(),it=w(),et=I(),rt=I(),st=h();var ht;!function(t){t[t.TOP=0]="TOP",t[t.RIGHT=1]="RIGHT",t[t.BOTTOM=2]="BOTTOM",t[t.LEFT=3]="LEFT"}(ht||(ht={}));export{$ as Camera,ht as PaddingSide};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import{k as e}from"../../../../chunks/vec3.js";import{Z as l}from"../../../../chunks/vec3f64.js";function u({normalTexture:u,metallicRoughnessTexture:n,metallicFactor:r,roughnessFactor:s,emissiveTexture:o,emissiveFactor:t,occlusionTexture:c}){return null==u&&null==n&&null==o&&(null==t||e(t,l))&&null==c&&(null==s||1===s)&&(null==r||1===r||0===r)}export{u as useSchematicPBR};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../core/Error.js";import{clone as t}from"../../core/lang.js";import{getDeepValue as n}from"../../core/object.js";import{numberToJSON as
|
|
5
|
+
import e from"../../core/Error.js";import{clone as t}from"../../core/lang.js";import{getDeepValue as n}from"../../core/object.js";import{numberToJSON as r}from"../../core/accessorSupport/extensions/serializableProperty/writer.js";import{isFeatureCollectionLayer as i}from"../../layers/support/layerUtils.js";const o=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wms","wmts"]),l=new Set(["csv","feature","geo-rss","geojson","group","imagery","imagery-tile","kml","map-image","map-notes","media","ogc-feature","route","stream","subtype-group","tile","unknown","unsupported","vector-tile","web-tile","wfs","wms","wmts"]);function a(e){o.delete(e),l.delete(e)}function s(e){o.add(e),l.add(e)}function p(e){return"basemap"===e.layerContainerType?o:"operational-layers"===e.layerContainerType?l:null}function m(e,t){if(t.restrictedWebMapWriting){const n=p(t);return null==n||n.has(e.type)&&!i(e)}return!0}function u(e,t){if(t)if(i(e)){const r=n("featureCollection.layers",t),i=r&&r[0]&&r[0].layerDefinition;i&&c(e,i)}else"group"!==e.type&&c(e,t)}function c(e,t){"maxScale"in e&&(t.maxScale=r(e.maxScale)??void 0),"minScale"in e&&(t.minScale=r(e.minScale)??void 0)}function d(e,t){if(u(e,t),t&&("blendMode"in e&&(t.blendMode=e.blendMode,"normal"===t.blendMode&&delete t.blendMode),t.opacity=r(e.opacity)??void 0,t.title=e.title||"Layer",t.visibility=e.visible,"legendEnabled"in e&&"wmts"!==e.type))if(i(e)){const n=t.featureCollection;n&&(n.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}function f(n,r,i){if(!("write"in n)||!n.write)return i&&i.messages&&i.messages.push(new e("layer:unsupported",`Layers (${n.title}, ${n.id}) of type '${n.declaredClass}' cannot be persisted`,{layer:n})),null;if(m(n,i)){const e={};return n.write(e,i)?e:null}return null!=r&&d(n,r=t(r)),r}export{s as disableRestrictedWriting,a as enableRestrictedWriting,f as getLayerJSON};
|
package/widgets/Bookmarks/css.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
const o="esri-bookmarks",
|
|
5
|
+
const o="esri-bookmarks",a=`${o}__authoring`,e=`${o}__bookmark`,i=`${o}__time-extent`,n={base:`${o} esri-widget--panel`,loaderContainer:`${o}__loader-container`,loader:`${o}__loader`,fadeIn:`${o}--fade-in`,bookmarkList:`${o}__list`,bookmarkListSortable:`${o}__list--sortable`,bookmark:e,bookmarkButton:`${e}-button`,bookmarkImageContainer:`${e}-image-container`,bookmarkImageContainerHasImage:`${e}-image-container--has-image`,bookmarkEditButtonContainer:`${e}-edit-button-container`,bookmarkEditButton:`${e}-edit-button`,bookmarkDragHandle:`${o}_bookmark-drag-handle`,bookmarkDragHandleIcon:`${o}_bookmark-drag-handle-icon`,bookmarkIcon:`${e}-icon`,bookmarkImage:`${o}__image`,bookmarkLabel:`${e}-label`,bookmarkName:`${e}-name`,bookmarkTimeExtent:`${e}-time-extent`,bookmarkActive:`${e}--active`,noBookmarksContainer:"esri-widget__content--empty",noBookmarksHeader:`${o}__no-bookmarks-heading`,noBookmarksIcon:"esri-widget__no-bookmark-icon",noBookmarksDescription:`${o}__no-bookmarks-description`,addingBookmark:`${o}__adding-bookmark`,addBookmark:`${o}__add-bookmark`,addBookmarkButton:`${o}__add-bookmark-button`,addBookmarkIcon:`${o}__add-bookmark-icon`,authoringCard:`${a}-card`,authoringContainer:`${a}-container`,authoringForm:`${a}-form`,authoringFormAdding:`${a}-form--adding`,authoringLabel:`${a}-label`,authoringLabelStartPadding:`${a}-label--start-padding`,authoringActions:`${a}-actions`,authoringInputInvalid:`${a}-input--invalid`,authoringDeleteButton:`${a}-delete-button`,authoringCancelButton:`${a}-cancel-button`,timeExtentContainer:`${i}-container`,timeExtent:i,timeExtentGroup:`${i}-group`,timeExtentDate:`${i}-date`,timeExtentTime:`${i}-time`,esriWidget:"esri-widget",esriWidgetDisabled:"esri-widget--disabled",esriButton:"esri-button",esriButtonTertiary:"esri-button--tertiary",esriInput:"esri-input",iconHandle:"esri-icon-handle-vertical",iconPlus:"esri-icon-plus",iconEdit:"esri-icon-edit",iconHandleHorizontal:"esri-icon-handle-horizontal",iconRefresh:"esri-icon-refresh",iconLink:"esri-icon-link",iconRemove:"esri-icon-erase",widgetIcon:"esri-icon-bookmark",header:"esri-widget__heading",loading:"esri-icon-loading-indicator",rotating:"esri-rotating"};export{n as CSS};
|
package/widgets/Bookmarks.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../chunks/tslib.es6.js";import{isSome as e}from"../core/arrayUtils.js";import{eventKey as o}from"../core/events.js";import{watch as s,initial as i,on as r}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as l,convertDateFormatToIntlOptions as u}from"../intl/date.js";import{SlideThumbnail as m}from"../webdoc/support/SlideThumbnail.js";import k from"./Widget.js";import h from"./Bookmarks/BookmarksUserState.js";import c from"./Bookmarks/BookmarksViewModel.js";import{CSS as p}from"./Bookmarks/css.js";import b from"./FeatureTable/Grid/support/ButtonMenu.js";import _ from"./FeatureTable/Grid/support/ButtonMenuItem.js";import{loadCalciteComponents as g}from"./support/componentsUtils.js";import{Heading as B}from"./support/Heading.js";import{isActivationKey as f}from"./support/widgetUtils.js";import{messageBundle as v}from"./support/decorators/messageBundle.js";import{vmEvent as E}from"./support/decorators/vmEvent.js";import{tsx as I}from"./support/jsxFactory.js";import y from"sortablejs";function S(t,e,o){t.splice(o,0,t.splice(e,1)[0])}const w="bookmarks",T="data-bookmark-uid",A={addBookmark:!0,thumbnail:!0,time:!0},x=/^https:\/\/.*/i,U="esri.widgets.Bookmarks";let C=class extends k{constructor(t,e){super(t,e),this._tooltipReferenceMap=new Map,this._addInputNode=null,this._editInputNode=null,this._urlEditInputNode=null,this._addBookmarkButtonNode=null,this._focusAddBookmarkButton=!1,this._focusEditInputBox=!1,this._focusAddInputBox=!1,this._focusUrlEditInputBox=!1,this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this._selectedSortUid=null,this._sortableSavedItems=[],this._editIncludeTimeExtent=void 0,this._userState=null,this.disabled=!1,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=p.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.viewModel=new c,this.visibleElements={...A}}initialize(){this.addHandles([s((()=>this.viewModel?.bookmarks),(()=>this._bookmarksInitialized()),i),s((()=>this.editingEnabled),(()=>this._toggleSorting()),i)])}destroy(){this.removeAllHandles(),this._destroySortable(),this._editMenu.destroy(),this._tooltipReferenceMap.clear()}loadDependencies(){return g({label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}get _editMenuItems(){const{messages:t,_userState:o}=this,s=o?.editedBookmark?.thumbnail?.url;return[new _({label:t?.menu.refreshThumbnail,iconClass:p.iconRefresh,clickFunction:()=>this._refreshThumbnail()}),new _({label:s&&x.test(s)?t?.menu.editImageUrl:t?.menu.useImageUrl,iconClass:p.iconLink,clickFunction:()=>this._startUseImageUrl()}),s?new _({label:t?.menu.removeThumbnail,iconClass:p.iconRemove,clickFunction:()=>this._removeThumbnail()}):null].filter(e)}get _editMenu(){const{_editMenuItems:t,messages:e,disabled:o}=this,s=this._get("_editMenu");s&&s.destroy();const i=new b({disabled:o,iconClass:p.iconHandleHorizontal,label:e?.menu.label});return i.items=t,i}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(t){this.viewModel.defaultCreateOptions=t}get defaultEditOptions(){return this.viewModel.defaultEditOptions}set defaultEditOptions(t){this.viewModel.defaultEditOptions=t}get bookmarks(){return this.viewModel.bookmarks}set bookmarks(t){this.viewModel.bookmarks=t}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(t){this.viewModel.goToOverride=t}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}castVisibleElements(t){return{...A,...t}}endAddBookmark(){this._userState=null}goTo(t){return this.viewModel.goTo(t)}render(){const{state:t}=this.viewModel,e="loading"===t?this.renderLoading():this.renderBookmarks();return I("div",{class:this.classes(p.base,p.esriWidget,{[p.esriWidgetDisabled]:this.disabled})},e)}startAddBookmark(){this._userState=new h({state:"add"}),this._focusAddInputBox=!0,this.scheduleRender()}renderBookmarkTooltips(t){return t.toArray().map((t=>this.renderBookmarkTooltip(t)))??[]}renderBookmarkTooltip(t){const{_tooltipReferenceMap:e,messagesCommon:o}=this,s=this._getBookmarkTitle(t),i=`${o?.dragHandleTitle} ${s}`;return t?I("calcite-tooltip",{key:`tooltip-${t.uid}`,label:i,referenceElement:e.get(t.uid)},i):null}renderLoading(){return I("div",{class:p.loaderContainer,key:"loader",tabIndex:this.disabled?-1:void 0},I("div",{class:p.loader}))}renderNoBookmarksContainer(){const{messages:t,disabled:e}=this;return I("div",{class:p.noBookmarksContainer,key:"no-bookmarks",tabIndex:e?-1:void 0},I("span",{"aria-hidden":"true",class:this.classes(p.noBookmarksIcon,p.widgetIcon)}),I(B,{level:this.headingLevel,class:this.classes(p.header,p.noBookmarksHeader)},t?.noBookmarksHeading),I("p",{class:p.noBookmarksDescription},t?.noBookmarksDescription))}renderAddBookmarkLoading(){return I("div",{key:"adding-bookmark",class:p.addingBookmark},I("span",{"aria-hidden":"true",class:this.classes(p.loading,p.rotating)}),this.messages?.addingBookmark)}renderBookmarkItems(t){if(!t)return[];const{_userState:e,editingEnabled:o}=this;return t.map((t=>o&&t&&e&&("edit"===e.state||"edit-thumbnail"===e.state)&&e.bookmark===t?"edit-thumbnail"===e.state?this.renderEditingBookmarkUrl(e.editedBookmark):this.renderEditingBookmark(e.editedBookmark):this.renderBookmark(t))).toArray()}renderBookmarksContainer(t){const{_userState:e,editingEnabled:o,disabled:s}=this,i="add"===e?.state,r=o&&!i?this.renderAddBookmarkButton():null,a=o?i&&e.loading?this.renderAddBookmarkLoading():"add"===e?.state?this.renderAddingBookmark():null:null;return[I("ul",{key:"bookmark-list","aria-label":this.messages?.widgetLabel,class:this.classes(p.bookmarkList,{[p.bookmarkListSortable]:this.editingEnabled}),afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"data-node-ref":"_sortableNode",bind:this,tabIndex:s?-1:void 0},this.renderBookmarkItems(t)),r,a]}renderAddBookmarkButton(){return this.visibleElements.addBookmark?I("div",{key:"add-bookmark-item",class:p.addBookmark},I("button",{class:this.classes(p.esriButton,p.esriButtonTertiary,p.addBookmarkButton),disabled:this.disabled,onclick:this.startAddBookmark,afterCreate:this._storeAddBookmarkButton,afterUpdate:this._storeAddBookmarkButton,"data-node-ref":"_addBookmarkButtonNode",bind:this,type:"button"},I("span",{"aria-hidden":"true",class:this.classes(p.addBookmarkIcon,p.iconPlus)}),this.messages?.addBookmark)):null}renderBookmarks(){const{bookmarks:t}=this.viewModel,e=t&&t.filter(Boolean),o=e&&e.length,s=o||this.editingEnabled?this.renderBookmarksContainer(e):null;return[o?null:this.renderNoBookmarksContainer(),s,this.renderBookmarkTooltips(t)]}renderEditContainer(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t);return I("div",{class:p.bookmarkEditButtonContainer,key:"edit-container"},I("button",{disabled:o,title:`${e?.edit} ${s}`,"aria-label":`${e?.edit} ${s}`,"data-bookmark":t,onclick:this._showEditBookmarkForm,bind:this,class:p.bookmarkEditButton,type:"button"},I("span",{"aria-hidden":"true",class:p.iconEdit})))}renderDragHandle(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t),i={[T]:t.uid};return I("div",{role:"button",tabIndex:o?-1:0,key:"drag-handle",bind:this,class:p.bookmarkDragHandle,onkeydown:this._dragHandleKeydown,"data-bookmark":t,afterCreate:this._focusDragHandle,afterUpdate:this._focusDragHandle,onblur:this._dragHandleBlur,"aria-pressed":this._selectedSortUid===t.uid?"true":"false","aria-label":`${e?.dragHandleTitle} ${s}`,...i},I("span",{"aria-hidden":"true",class:this.classes(p.bookmarkDragHandleIcon,p.iconHandle)}))}renderBookmarkImageIcon(){return I("span",{"aria-hidden":"true",class:this.classes(p.bookmarkIcon,p.widgetIcon)})}renderBookmarkImage(t){const{visibleElements:e}=this,{thumbnail:o}=t,s=o&&o.url||"";return e.thumbnail&&s?I("img",{src:s,alt:"",class:p.bookmarkImage}):null}renderBookmarkTimeSwitch(t){const{messages:e,disabled:o}=this,{timeExtent:s}=t,{view:i}=this.viewModel;return i?.timeExtent??s?I("calcite-label",{layout:"inline-space-between"},e?.includeTimeExtent,I("calcite-switch",{scale:"s",disabled:o,checked:!!s,onCalciteSwitchChange:t=>{const e=t.currentTarget;this._editIncludeTimeExtent=!!e.checked}})):null}renderBookmarkTimeExtent(t){const{visibleElements:e}=this,{timeExtent:o}=t;return o?I("span",{class:p.timeExtent},[null!=o.start&&I("span",{key:"start-date-group",class:p.timeExtentGroup},I("span",{key:"start-date",class:p.timeExtentDate},this._formatDate(o.start)),e.time&&I("span",{key:"start-time",class:p.timeExtentTime},this._formatTime(o.start))),null!=o.end&&(null==o.start||o.start.getTime()!==o.end.getTime())&&I("span",{key:"end-date-group",class:p.timeExtentGroup},I("span",{key:"end-date",class:p.timeExtentDate},this._formatDate(o.end)),e.time&&I("span",{key:"end-time",class:p.timeExtentTime},this._formatTime(o.end)))]):null}renderBookmarkButton(t){const{disabled:e}=this,{timeExtent:o}=t,{capabilities:s}=this.viewModel,i=this._getBookmarkTitle(t),{thumbnail:r}=t,a=I("div",{class:this.classes(p.bookmarkImageContainer,r&&r.url?p.bookmarkImageContainerHasImage:null)},this.renderBookmarkImage(t)||this.renderBookmarkImageIcon()),n=s.time&&o?I("span",{key:"time-extent",class:p.bookmarkTimeExtent},this.renderBookmarkTimeExtent(t)):null;return I("button",{disabled:e,key:"bookmark-button",class:p.bookmarkButton,bind:this,"data-bookmark":t,onclick:this._goToBookmark,type:"button"},a,I("div",{class:p.bookmarkLabel},I("span",{key:"bookmark-title",class:p.bookmarkName},i),n))}renderBookmark(t){const{activeBookmark:e}=this.viewModel,o={[p.bookmarkActive]:e===t},s=this.editingEnabled?this.renderEditContainer(t):null,i={[T]:t.uid},r=this.editingEnabled?this.renderDragHandle(t):null;return I("li",{key:t,class:this.classes(p.bookmark,o),...i},r,this.renderBookmarkButton(t),s)}renderEditingBookmarkName(t){const{messages:e,_userState:o,disabled:s}=this,i="name-required"===o?.validationState;return I("label",{class:this.classes({[p.authoringLabel]:!0,[p.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},e?.title,i?I("strong",null,e?.invalidTitle):null,I("input",{required:!0,disabled:s,bind:this,class:this.classes(p.esriInput,i?p.authoringInputInvalid:null),type:"text",value:t.name,afterCreate:this._storeEditInput,afterUpdate:this._focusEditInput,"data-bookmark":t,"data-node-ref":"_editInputNode",placeholder:e?.titlePlaceholder}))}renderEditingBookmarkUrlActions(){const{messagesCommon:t,disabled:e}=this;return I("div",{class:p.authoringActions},I("input",{type:"button",disabled:e,value:t?.back,class:this.classes(p.esriButton,p.esriButtonTertiary),onclick:this._closeUrlEditBookmarkForm,bind:this}),I("input",{class:p.esriButton,disabled:e,type:"submit",value:t?.add}))}renderEditingBookmarkActions(){const{messagesCommon:t,disabled:e}=this,o=this._userState?.bookmark;return I("div",{class:p.authoringActions},I("input",{type:"button",disabled:e,value:t?.delete,class:this.classes(p.esriButton,p.esriButtonTertiary,p.authoringDeleteButton),"data-bookmark":o,onclick:this._deleteBookmark,bind:this}),I("input",{disabled:e,type:"button",value:t?.cancel,class:this.classes(p.esriButton,p.esriButtonTertiary),onclick:this._closeEditBookmarkForm,bind:this}),I("input",{class:p.esriButton,disabled:e,type:"submit",value:t?.save}))}renderEditingBookmarkUrlInput(t){const{messages:e,_userState:o,disabled:s}=this,i=t.thumbnail?.url,r=i&&x.test(i)?i:void 0,a="absolute-url-required"===o?.validationState;return I("label",{class:this.classes({[p.authoringLabel]:!0,[p.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},a?I("strong",null,e?.invalidImageUrl):null,I("input",{required:!0,disabled:s,bind:this,class:this.classes(p.esriInput,a?p.authoringInputInvalid:null),type:"text",value:r,afterCreate:this._storeUrlEditInput,afterUpdate:this._focusUrlEditInput,"data-bookmark":t,"data-node-ref":"_urlEditInputNode",title:e?.imageUrlTooltip,placeholder:e?`https://<${e.imageUrlPlaceholder}>`:void 0}))}renderEditingBookmarkUrl(t){if(!t)return null;const e={[T]:t.uid};return I("li",{key:"edit-bookmark-url-form",class:p.authoringCard,...e},I("form",{class:p.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkUrlSubmit,bind:this},this.renderEditingBookmarkUrlInput(t),this.renderEditingBookmarkUrlActions()))}renderEditingBookmark(t){if(!t)return null;const e={[T]:t.uid},{capabilities:o}=this.viewModel,s=o.time?I("div",{key:"edit-bookmark-time-container",class:p.timeExtentContainer},this.renderBookmarkTimeSwitch(t),this._editIncludeTimeExtent&&this.renderBookmarkTimeExtent(t)):null;return I("li",{key:"edit-bookmark-form",class:p.authoringCard,...e},I("form",{class:p.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkSubmit,bind:this},I("div",{class:p.authoringContainer},this.visibleElements.thumbnail?I("div",{class:p.bookmarkImageContainer},this.renderBookmarkImage(t),this._editMenu.render()):null,this.renderEditingBookmarkName(t)),s,this.renderEditingBookmarkActions()))}renderAddingBookmarkName(){const{_userState:t,messages:e,disabled:o}=this,s="name-required"===t?.validationState;return I("label",{class:this.classes({[p.authoringLabel]:!0,[p.authoringLabelStartPadding]:!0})},e?.title,s?I("strong",null,e?.invalidTitle):null,I("input",{required:!0,disabled:o,bind:this,class:this.classes(p.esriInput,s?p.authoringInputInvalid:null),type:"text",afterCreate:this._storeAddInput,afterUpdate:this._focusAddInput,"data-node-ref":"_addInputNode",value:"",placeholder:e?.titlePlaceholder}))}renderAddingBookmarkActions(){const{messagesCommon:t,disabled:e}=this;return I("div",{class:this.classes(p.authoringActions)},I("input",{type:"button",disabled:e,value:t?.cancel,class:this.classes(p.esriButton,p.esriButtonTertiary,p.authoringCancelButton),onclick:this._endAddBookmark.bind(this),bind:this}),I("input",{class:p.esriButton,disabled:e,type:"submit",value:t?.add}))}renderAddingBookmark(){return I("div",{key:"add-bookmark-form",class:p.authoringCard},I("form",{class:p.authoringForm,onsubmit:this._addBookmarkSubmit,bind:this},this.renderAddingBookmarkName(),this.renderAddingBookmarkActions()))}_setTooltipReference(t,e){this._tooltipReferenceMap.set(e.uid,t),this.scheduleRender()}_getBookmarkTitle(t){return(t?.name||this.messagesCommon?.untitled)??""}_formatDate(t){return t?l(t,u("short-date")):""}_formatTime(t){return t?l(t,u("long-time")):""}_dragHandleBlur(){this._selectedSortUid=null,this.scheduleRender()}_dragHandleKeydown(t){const{_sortableSavedItems:e}=this,s=["ArrowDown","ArrowUp","Escape","Tab"," ","Enter"],i=o(t);if(!s.includes(i))return;const{_sortable:r,_selectedSortUid:a}=this;if(!r)return;const n=r.toArray(),d=t.target.getAttribute(T),l=n.indexOf(d);if(f(i)){const t=a&&a===d;return this._selectedSortUid=t?null:d,this._sortableSavedItems=t?[]:r.toArray(),void this.scheduleRender()}if("Tab"===i)return this._selectedSortUid=null,void this.scheduleRender();if("Escape"===i&&0!==e.length)return t.stopPropagation(),this._selectedSortUid=null,this._updateSortItems(e,r,d),void this.scheduleRender();if(-1===l||!a)return;const u="ArrowUp"===i?l-1:l+1;u>=n.length||u<=-1||(S(n,l,u),this._updateSortItems(n,r,d))}_updateSortItems(t,e,o){e.sort(t),this._sortBookmarks(e),this._focusSortUid=o,this._selectedSortUid=o}_focusDragHandle(t){const e=M(t);if(!e)return;this._setTooltipReference(t,e);const{_focusSortUid:o}=this;if(!t||!o)return;t.getAttribute(T)===o&&(t.focus(),this._focusSortUid=null)}_toggleSorting(){const{_sortable:t,_sortableNode:e,editingEnabled:o,disabled:s}=this;if(e)if(t)t.option("disabled",s||!o);else{const t=y.create(e,{dataIdAttr:T,handle:`.${p.bookmarkDragHandle}`,group:w,disabled:s||!o,onSort:()=>this._sortBookmarks(t)});this._sortable=t}}_sortNodeCreated(t){this._sortableNode=t,this._toggleSorting()}_sortBookmarks(t){const{bookmarks:e}=this.viewModel;if(!e)return;const o=t.toArray();e.sort(((t,e)=>{const s=o.indexOf(t.uid),i=o.indexOf(e.uid);return s>i?1:s<i?-1:0}))}_destroySortable(){const{_sortable:t}=this;t&&t.destroy(),this._sortable=null}_endAddBookmark(){this._focusAddBookmarkButton=!0,this.endAddBookmark()}_bookmarksInitialized(){const t="bookmarks-init";this.removeHandles(t),this.addHandles(r((()=>this.viewModel?.bookmarks),"change",(()=>this._bookmarksChanged())),t)}_bookmarksChanged(){const t="bookmarks-change",{bookmarks:e}=this.viewModel;this.removeHandles(t);const o=e.map((t=>s((()=>[t?.name,t?.thumbnail?.url]),(()=>this.scheduleRender()))));this.addHandles(o.toArray(),t),this.scheduleRender()}_showEditBookmarkForm(t){const e=M(t.currentTarget);e&&(this._editIncludeTimeExtent=!!e.timeExtent,this._focusEditInputBox=!0,this._userState=new h({bookmark:e,state:"edit"}),this.viewModel.goTo(e),this.scheduleRender())}_closeUrlEditBookmarkForm(){this._focusEditInputBox=!0,this._userState&&(this._userState.state="edit")}_closeEditBookmarkForm(){this._userState=null}_addBookmarkSubmit(t){t.preventDefault();const{_addInputNode:e,_userState:o}=this;if(!o)return;const s=e?e.value.trim():null;s?(o.loading=!0,this.viewModel.createBookmark().then((t=>{t.name=s,this.viewModel.bookmarks.add(t),this._endAddBookmark()}))):o.validationState="name-required"}async _editBookmarkAndClose(t,e){const{viewModel:o}=this;await o.editBookmark(t,{...o.defaultEditOptions,...e}),this._closeEditBookmarkForm()}_editBookmarkSubmit(t){t.preventDefault();const{_editInputNode:e,_userState:o,_editIncludeTimeExtent:s}=this;if(!o?.bookmark||!o.editedBookmark)return;const i=e&&e.value.trim();i?(o.bookmark.name=i,o.bookmark.thumbnail=o.editedBookmark.thumbnail,s||(o.bookmark.timeExtent=null),this._editBookmarkAndClose(o.bookmark,{takeScreenshot:!1,captureTimeExtent:s})):o.validationState="name-required"}_storeAddBookmarkButton(t){this._addBookmarkButtonNode=t,this._focusAddBookmark()}_storeEditInput(t){this._editInputNode=t,this._focusEditInput()}_storeAddInput(t){this._addInputNode=t,this._focusAddInput()}_storeUrlEditInput(t){this._urlEditInputNode=t,this._focusUrlEditInput()}_focusUrlEditInput(){this._urlEditInputNode&&this._focusUrlEditInputBox&&(this._focusUrlEditInputBox=!1,this._urlEditInputNode.focus())}_focusAddInput(){this._addInputNode&&this._focusAddInputBox&&(this._focusAddInputBox=!1,this._addInputNode.focus())}_focusAddBookmark(){this._addBookmarkButtonNode&&this._focusAddBookmarkButton&&(this._focusAddBookmarkButton=!1,this._addBookmarkButtonNode.focus())}_focusEditInput(){this._editInputNode&&this._focusEditInputBox&&(this._focusEditInputBox=!1,this._editInputNode.focus())}_deleteBookmark(t){const e=M(t.currentTarget);e&&this.viewModel.bookmarks.remove(e)}_goToBookmark(t){const e=M(t.currentTarget);e&&(this.endAddBookmark(),this._closeEditBookmarkForm(),this.viewModel.goTo(e))}async _refreshThumbnail(){const{_userState:t,_editMenu:e,viewModel:o}=this;t&&(t.validationState=void 0,await o.editBookmark(t.editedBookmark,{takeScreenshot:!0,captureViewpoint:!1,captureRotation:!1,captureScale:!1,captureTimeExtent:!1}),e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_removeThumbnail(){const{_userState:t,_editMenu:e}=this;t?.editedBookmark&&(t.editedBookmark.thumbnail=null,t.validationState=void 0,e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_startUseImageUrl(){this._userState&&(this._userState.state="edit-thumbnail"),this._editMenu.open=!1,this._focusUrlEditInputBox=!0,this.scheduleRender()}_editBookmarkUrlSubmit(t){t.preventDefault();const{_urlEditInputNode:e,_userState:o}=this;if(!e||!o)return;const s=e.value;x.test(s)?(s&&o.editedBookmark&&(o.editedBookmark.thumbnail=new m({url:s})),this._closeUrlEditBookmarkForm()):o.validationState="absolute-url-required"}};function M(t){return t["data-bookmark"]}t([a()],C.prototype,"_editIncludeTimeExtent",void 0),t([a({type:h})],C.prototype,"_userState",void 0),t([a({readOnly:!0})],C.prototype,"_editMenuItems",null),t([a({readOnly:!0})],C.prototype,"_editMenu",null),t([a()],C.prototype,"defaultCreateOptions",null),t([a()],C.prototype,"defaultEditOptions",null),t([a()],C.prototype,"bookmarks",null),t([a()],C.prototype,"disabled",void 0),t([a()],C.prototype,"editingEnabled",void 0),t([a()],C.prototype,"headingLevel",void 0),t([a()],C.prototype,"goToOverride",null),t([a()],C.prototype,"iconClass",void 0),t([a()],C.prototype,"icon",void 0),t([a()],C.prototype,"label",null),t([a(),v("esri/widgets/Bookmarks/t9n/Bookmarks")],C.prototype,"messages",void 0),t([a(),v("esri/t9n/common")],C.prototype,"messagesCommon",void 0),t([a(),v("esri/core/t9n/Units")],C.prototype,"messagesUnits",void 0),t([a()],C.prototype,"uiStrings",void 0),t([a()],C.prototype,"view",null),t([a({type:c}),E(["select-bookmark","bookmark-edit","bookmark-select"])],C.prototype,"viewModel",void 0),t([a()],C.prototype,"visibleElements",void 0),t([n("visibleElements")],C.prototype,"castVisibleElements",null),t([a()],C.prototype,"endAddBookmark",null),t([a()],C.prototype,"startAddBookmark",null),C=t([d(U)],C);const N=C;export{N as default};
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import{isSome as e}from"../core/arrayUtils.js";import{eventKey as o}from"../core/events.js";import{watch as s,initial as i,on as r}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/has.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as l,convertDateFormatToIntlOptions as u}from"../intl/date.js";import{SlideThumbnail as m}from"../webdoc/support/SlideThumbnail.js";import k from"./Widget.js";import h from"./Bookmarks/BookmarksUserState.js";import c from"./Bookmarks/BookmarksViewModel.js";import{CSS as p}from"./Bookmarks/css.js";import b from"./FeatureTable/Grid/support/ButtonMenu.js";import _ from"./FeatureTable/Grid/support/ButtonMenuItem.js";import{loadCalciteComponents as g}from"./support/componentsUtils.js";import{Heading as B}from"./support/Heading.js";import{isActivationKey as f}from"./support/widgetUtils.js";import{messageBundle as v}from"./support/decorators/messageBundle.js";import{vmEvent as E}from"./support/decorators/vmEvent.js";import{tsx as I}from"./support/jsxFactory.js";import y from"sortablejs";function S(t,e,o){t.splice(o,0,t.splice(e,1)[0])}const w="bookmarks",T="data-bookmark-uid",A={addBookmark:!0,thumbnail:!0,time:!0},x=/^https:\/\/.*/i,U="esri.widgets.Bookmarks";let C=class extends k{constructor(t,e){super(t,e),this._tooltipReferenceMap=new Map,this._addInputNode=null,this._editInputNode=null,this._urlEditInputNode=null,this._addBookmarkButtonNode=null,this._focusAddBookmarkButton=!1,this._focusEditInputBox=!1,this._focusAddInputBox=!1,this._focusUrlEditInputBox=!1,this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this._selectedSortUid=null,this._sortableSavedItems=[],this._editIncludeTimeExtent=void 0,this._userState=null,this.disabled=!1,this.editingEnabled=!1,this.headingLevel=2,this.iconClass=p.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.viewModel=new c,this.visibleElements={...A}}initialize(){this.addHandles([s((()=>this.viewModel?.bookmarks),(()=>this._bookmarksInitialized()),i),s((()=>this.editingEnabled),(()=>this._toggleSorting()),i)])}destroy(){this.removeAllHandles(),this._destroySortable(),this._editMenu.destroy(),this._tooltipReferenceMap.clear()}loadDependencies(){return g({label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}get _editMenuItems(){const{messages:t,_userState:o}=this,s=o?.editedBookmark?.thumbnail?.url;return[new _({label:t?.menu.refreshThumbnail,iconClass:p.iconRefresh,clickFunction:()=>this._refreshThumbnail()}),new _({label:s&&x.test(s)?t?.menu.editImageUrl:t?.menu.useImageUrl,iconClass:p.iconLink,clickFunction:()=>this._startUseImageUrl()}),s?new _({label:t?.menu.removeThumbnail,iconClass:p.iconRemove,clickFunction:()=>this._removeThumbnail()}):null].filter(e)}get _editMenu(){const{_editMenuItems:t,messages:e,disabled:o}=this,s=this._get("_editMenu");s&&s.destroy();const i=new b({disabled:o,iconClass:p.iconHandleHorizontal,label:e?.menu.label});return i.items=t,i}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(t){this.viewModel.defaultCreateOptions=t}get defaultEditOptions(){return this.viewModel.defaultEditOptions}set defaultEditOptions(t){this.viewModel.defaultEditOptions=t}get bookmarks(){return this.viewModel.bookmarks}set bookmarks(t){this.viewModel.bookmarks=t}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(t){this.viewModel.goToOverride=t}get label(){return this.messages?.widgetLabel??""}set label(t){this._overrideIfSome("label",t)}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}castVisibleElements(t){return{...A,...t}}endAddBookmark(){this._userState=null}goTo(t){return this.viewModel.goTo(t)}render(){const{state:t}=this.viewModel,e="loading"===t?this.renderLoading():this.renderBookmarks();return I("div",{class:this.classes(p.base,p.esriWidget,{[p.esriWidgetDisabled]:this.disabled})},e)}startAddBookmark(){this._userState=new h({state:"add"}),this._focusAddInputBox=!0,this.scheduleRender()}renderBookmarkTooltips(t){return t.toArray().map((t=>this.renderBookmarkTooltip(t)))??[]}renderBookmarkTooltip(t){const{_tooltipReferenceMap:e,messagesCommon:o}=this,s=this._getBookmarkTitle(t),i=`${o?.dragHandleTitle} ${s}`;return t?I("calcite-tooltip",{key:`tooltip-${t.uid}`,label:i,referenceElement:e.get(t.uid)},i):null}renderLoading(){return I("div",{class:p.loaderContainer,key:"loader",tabIndex:this.disabled?-1:void 0},I("div",{class:p.loader}))}renderNoBookmarksContainer(){const{messages:t,disabled:e}=this;return I("div",{class:p.noBookmarksContainer,key:"no-bookmarks",tabIndex:e?-1:void 0},I("span",{"aria-hidden":"true",class:this.classes(p.noBookmarksIcon,p.widgetIcon)}),I(B,{level:this.headingLevel,class:this.classes(p.header,p.noBookmarksHeader)},t?.noBookmarksHeading),I("p",{class:p.noBookmarksDescription},t?.noBookmarksDescription))}renderAddBookmarkLoading(){return I("div",{key:"adding-bookmark",class:p.addingBookmark},I("span",{"aria-hidden":"true",class:this.classes(p.loading,p.rotating)}),this.messages?.addingBookmark)}renderBookmarkItems(t){if(!t)return[];const{_userState:e,editingEnabled:o}=this;return t.map((t=>o&&t&&e&&("edit"===e.state||"edit-thumbnail"===e.state)&&e.bookmark===t?"edit-thumbnail"===e.state?this.renderEditingBookmarkUrl(e.editedBookmark):this.renderEditingBookmark(e.editedBookmark):this.renderBookmark(t))).toArray()}renderBookmarksContainer(t){const{_userState:e,editingEnabled:o,disabled:s}=this,i="add"===e?.state,r=o&&!i?this.renderAddBookmarkButton():null,a=o?i&&e.loading?this.renderAddBookmarkLoading():"add"===e?.state?this.renderAddingBookmark():null:null;return[I("ul",{key:"bookmark-list","aria-label":this.messages?.widgetLabel,class:this.classes(p.bookmarkList,{[p.bookmarkListSortable]:this.editingEnabled}),afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"data-node-ref":"_sortableNode",bind:this,tabIndex:s?-1:void 0},this.renderBookmarkItems(t)),r,a]}renderAddBookmarkButton(){return this.visibleElements.addBookmark?I("div",{key:"add-bookmark-item",class:p.addBookmark},I("button",{class:this.classes(p.esriButton,p.esriButtonTertiary,p.addBookmarkButton),disabled:this.disabled,onclick:this.startAddBookmark,afterCreate:this._storeAddBookmarkButton,afterUpdate:this._storeAddBookmarkButton,"data-node-ref":"_addBookmarkButtonNode",bind:this,type:"button"},I("span",{"aria-hidden":"true",class:this.classes(p.addBookmarkIcon,p.iconPlus)}),this.messages?.addBookmark)):null}renderBookmarks(){const{bookmarks:t}=this.viewModel,e=t&&t.filter(Boolean),o=e&&e.length,s=o||this.editingEnabled?this.renderBookmarksContainer(e):null;return[o?null:this.renderNoBookmarksContainer(),s,this.renderBookmarkTooltips(t)]}renderEditContainer(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t);return I("div",{class:p.bookmarkEditButtonContainer,key:"edit-container"},I("button",{disabled:o,title:`${e?.edit} ${s}`,"aria-label":`${e?.edit} ${s}`,"data-bookmark":t,onclick:this._showEditBookmarkForm,bind:this,class:p.bookmarkEditButton,type:"button"},I("span",{"aria-hidden":"true",class:p.iconEdit})))}renderDragHandle(t){const{messagesCommon:e,disabled:o}=this,s=this._getBookmarkTitle(t),i={[T]:t.uid};return I("div",{role:"button",tabIndex:o?-1:0,key:"drag-handle",bind:this,class:p.bookmarkDragHandle,onkeydown:this._dragHandleKeydown,"data-bookmark":t,afterCreate:this._focusDragHandle,afterUpdate:this._focusDragHandle,onblur:this._dragHandleBlur,"aria-pressed":this._selectedSortUid===t.uid?"true":"false","aria-label":`${e?.dragHandleTitle} ${s}`,...i},I("span",{"aria-hidden":"true",class:this.classes(p.bookmarkDragHandleIcon,p.iconHandle)}))}renderBookmarkImageIcon(){return I("span",{"aria-hidden":"true",class:this.classes(p.bookmarkIcon,p.widgetIcon)})}renderBookmarkImage(t){const{visibleElements:e}=this,{thumbnail:o}=t,s=o&&o.url||"";return e.thumbnail&&s?I("img",{src:s,alt:"",class:p.bookmarkImage}):null}renderBookmarkTimeSwitch(t){const{messages:e,disabled:o}=this,{timeExtent:s}=t,{view:i}=this.viewModel;return i?.timeExtent??s?I("calcite-label",{layout:"inline-space-between"},e?.includeTimeExtent,I("calcite-switch",{scale:"s",disabled:o,checked:!!s,onCalciteSwitchChange:t=>{const e=t.currentTarget;this._editIncludeTimeExtent=!!e.checked}})):null}renderBookmarkTimeExtent(t){const{visibleElements:e}=this,{timeExtent:o}=t;return o?I("span",{class:p.timeExtent},[null!=o.start&&I("span",{key:"start-date-group",class:p.timeExtentGroup},I("span",{key:"start-date",class:p.timeExtentDate},this._formatDate(o.start)),e.time&&I("span",{key:"start-time",class:p.timeExtentTime},this._formatTime(o.start))),null!=o.end&&(null==o.start||o.start.getTime()!==o.end.getTime())&&I("span",{key:"end-date-group",class:p.timeExtentGroup},I("span",{key:"end-date",class:p.timeExtentDate},this._formatDate(o.end)),e.time&&I("span",{key:"end-time",class:p.timeExtentTime},this._formatTime(o.end)))]):null}renderBookmarkButton(t){const{disabled:e}=this,{timeExtent:o}=t,{capabilities:s}=this.viewModel,i=this._getBookmarkTitle(t),{thumbnail:r}=t,a=I("div",{class:this.classes(p.bookmarkImageContainer,r&&r.url?p.bookmarkImageContainerHasImage:null)},this.renderBookmarkImage(t)||this.renderBookmarkImageIcon()),n=s.time&&o?I("span",{key:"time-extent",class:p.bookmarkTimeExtent},this.renderBookmarkTimeExtent(t)):null;return I("button",{disabled:e,key:"bookmark-button",class:p.bookmarkButton,bind:this,"data-bookmark":t,onclick:this._goToBookmark,type:"button"},a,I("div",{class:p.bookmarkLabel},I("span",{key:"bookmark-title",class:p.bookmarkName},i),n))}renderBookmark(t){const{activeBookmark:e}=this.viewModel,o={[p.bookmarkActive]:e===t},s=this.editingEnabled?this.renderEditContainer(t):null,i={[T]:t.uid},r=this.editingEnabled?this.renderDragHandle(t):null;return I("li",{key:t,class:this.classes(p.bookmark,o),...i},r,this.renderBookmarkButton(t),s)}renderEditingBookmarkName(t){const{messages:e,_userState:o,disabled:s}=this,i="name-required"===o?.validationState;return I("label",{class:this.classes({[p.authoringLabel]:!0,[p.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},e?.title,i?I("strong",null,e?.invalidTitle):null,I("input",{required:!0,disabled:s,bind:this,class:this.classes(p.esriInput,i?p.authoringInputInvalid:null),type:"text",value:t.name,afterCreate:this._storeEditInput,afterUpdate:this._focusEditInput,"data-bookmark":t,"data-node-ref":"_editInputNode",placeholder:e?.titlePlaceholder}))}renderEditingBookmarkUrlActions(){const{messagesCommon:t,disabled:e}=this;return I("div",{class:p.authoringActions},I("input",{type:"button",disabled:e,value:t?.back,class:this.classes(p.esriButton,p.esriButtonTertiary),onclick:this._closeUrlEditBookmarkForm,bind:this}),I("input",{class:p.esriButton,disabled:e,type:"submit",value:t?.add}))}renderEditingBookmarkActions(){const{messagesCommon:t,disabled:e}=this,o=this._userState?.bookmark;return I("div",{class:p.authoringActions},I("input",{type:"button",disabled:e,value:t?.delete,class:this.classes(p.esriButton,p.esriButtonTertiary,p.authoringDeleteButton),"data-bookmark":o,onclick:this._deleteBookmark,bind:this}),I("input",{disabled:e,type:"button",value:t?.cancel,class:this.classes(p.esriButton,p.esriButtonTertiary),onclick:this._closeEditBookmarkForm,bind:this}),I("input",{class:p.esriButton,disabled:e,type:"submit",value:t?.save}))}renderEditingBookmarkUrlInput(t){const{messages:e,_userState:o,disabled:s}=this,i=t.thumbnail?.url,r=i&&x.test(i)?i:void 0,a="absolute-url-required"===o?.validationState;return I("label",{class:this.classes({[p.authoringLabel]:!0,[p.authoringLabelStartPadding]:!!this.visibleElements?.thumbnail})},a?I("strong",null,e?.invalidImageUrl):null,I("input",{required:!0,disabled:s,bind:this,class:this.classes(p.esriInput,a?p.authoringInputInvalid:null),type:"text",value:r,afterCreate:this._storeUrlEditInput,afterUpdate:this._focusUrlEditInput,"data-bookmark":t,"data-node-ref":"_urlEditInputNode",title:e?.imageUrlTooltip,placeholder:e?`https://<${e.imageUrlPlaceholder}>`:void 0}))}renderEditingBookmarkUrl(t){if(!t)return null;const e={[T]:t.uid};return I("li",{key:"edit-bookmark-url-form",class:p.authoringCard,...e},I("form",{class:p.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkUrlSubmit,bind:this},this.renderEditingBookmarkUrlInput(t),this.renderEditingBookmarkUrlActions()))}renderEditingBookmark(t){if(!t)return null;const e={[T]:t.uid},{capabilities:o}=this.viewModel,s=o.time?I("div",{key:"edit-bookmark-time-container",class:p.timeExtentContainer},this.renderBookmarkTimeSwitch(t),this._editIncludeTimeExtent&&this.renderBookmarkTimeExtent(t)):null;return I("li",{key:"edit-bookmark-form",class:p.authoringCard,...e},I("form",{class:p.authoringForm,disabled:this.disabled,onsubmit:this._editBookmarkSubmit,bind:this},I("div",{class:p.authoringContainer},this.visibleElements.thumbnail?I("div",{class:p.bookmarkImageContainer},this.renderBookmarkImage(t),this._editMenu.render()):null,this.renderEditingBookmarkName(t)),s,this.renderEditingBookmarkActions()))}renderAddingBookmarkName(){const{_userState:t,messages:e,disabled:o}=this,s="name-required"===t?.validationState;return I("label",{class:p.authoringLabel},e?.title,s?I("strong",null,e?.invalidTitle):null,I("input",{required:!0,disabled:o,bind:this,class:this.classes(p.esriInput,s?p.authoringInputInvalid:null),type:"text",afterCreate:this._storeAddInput,afterUpdate:this._focusAddInput,"data-node-ref":"_addInputNode",value:"",placeholder:e?.titlePlaceholder}))}renderAddingBookmarkActions(){const{messagesCommon:t,disabled:e}=this;return I("div",{class:this.classes(p.authoringActions)},I("input",{type:"button",disabled:e,value:t?.cancel,class:this.classes(p.esriButton,p.esriButtonTertiary,p.authoringCancelButton),onclick:this._endAddBookmark.bind(this),bind:this}),I("input",{class:p.esriButton,disabled:e,type:"submit",value:t?.add}))}renderAddingBookmark(){return I("div",{key:"add-bookmark-form",class:p.authoringCard},I("form",{class:this.classes(p.authoringForm,p.authoringFormAdding),onsubmit:this._addBookmarkSubmit,bind:this},this.renderAddingBookmarkName(),this.renderAddingBookmarkActions()))}_setTooltipReference(t,e){this._tooltipReferenceMap.set(e.uid,t),this.scheduleRender()}_getBookmarkTitle(t){return(t?.name||this.messagesCommon?.untitled)??""}_formatDate(t){return t?l(t,u("short-date")):""}_formatTime(t){return t?l(t,u("long-time")):""}_dragHandleBlur(){this._selectedSortUid=null,this.scheduleRender()}_dragHandleKeydown(t){const{_sortableSavedItems:e}=this,s=["ArrowDown","ArrowUp","Escape","Tab"," ","Enter"],i=o(t);if(!s.includes(i))return;const{_sortable:r,_selectedSortUid:a}=this;if(!r)return;const n=r.toArray(),d=t.target.getAttribute(T),l=n.indexOf(d);if(f(i)){const t=a&&a===d;return this._selectedSortUid=t?null:d,this._sortableSavedItems=t?[]:r.toArray(),void this.scheduleRender()}if("Tab"===i)return this._selectedSortUid=null,void this.scheduleRender();if("Escape"===i&&0!==e.length)return t.stopPropagation(),this._selectedSortUid=null,this._updateSortItems(e,r,d),void this.scheduleRender();if(-1===l||!a)return;const u="ArrowUp"===i?l-1:l+1;u>=n.length||u<=-1||(S(n,l,u),this._updateSortItems(n,r,d))}_updateSortItems(t,e,o){e.sort(t),this._sortBookmarks(e),this._focusSortUid=o,this._selectedSortUid=o}_focusDragHandle(t){const e=M(t);if(!e)return;this._setTooltipReference(t,e);const{_focusSortUid:o}=this;if(!t||!o)return;t.getAttribute(T)===o&&(t.focus(),this._focusSortUid=null)}_toggleSorting(){const{_sortable:t,_sortableNode:e,editingEnabled:o,disabled:s}=this;if(e)if(t)t.option("disabled",s||!o);else{const t=y.create(e,{dataIdAttr:T,handle:`.${p.bookmarkDragHandle}`,group:w,disabled:s||!o,onSort:()=>this._sortBookmarks(t)});this._sortable=t}}_sortNodeCreated(t){this._sortableNode=t,this._toggleSorting()}_sortBookmarks(t){const{bookmarks:e}=this.viewModel;if(!e)return;const o=t.toArray();e.sort(((t,e)=>{const s=o.indexOf(t.uid),i=o.indexOf(e.uid);return s>i?1:s<i?-1:0}))}_destroySortable(){const{_sortable:t}=this;t&&t.destroy(),this._sortable=null}_endAddBookmark(){this._focusAddBookmarkButton=!0,this.endAddBookmark()}_bookmarksInitialized(){const t="bookmarks-init";this.removeHandles(t),this.addHandles(r((()=>this.viewModel?.bookmarks),"change",(()=>this._bookmarksChanged())),t)}_bookmarksChanged(){const t="bookmarks-change",{bookmarks:e}=this.viewModel;this.removeHandles(t);const o=e.map((t=>s((()=>[t?.name,t?.thumbnail?.url]),(()=>this.scheduleRender()))));this.addHandles(o.toArray(),t),this.scheduleRender()}_showEditBookmarkForm(t){const e=M(t.currentTarget);e&&(this._editIncludeTimeExtent=!!e.timeExtent,this._focusEditInputBox=!0,this._userState=new h({bookmark:e,state:"edit"}),this.viewModel.goTo(e),this.scheduleRender())}_closeUrlEditBookmarkForm(){this._focusEditInputBox=!0,this._userState&&(this._userState.state="edit")}_closeEditBookmarkForm(){this._userState=null}_addBookmarkSubmit(t){t.preventDefault();const{_addInputNode:e,_userState:o}=this;if(!o)return;const s=e?e.value.trim():null;s?(o.loading=!0,this.viewModel.createBookmark().then((t=>{t.name=s,this.viewModel.bookmarks.add(t),this._endAddBookmark()}))):o.validationState="name-required"}async _editBookmarkAndClose(t,e){const{viewModel:o}=this;await o.editBookmark(t,{...o.defaultEditOptions,...e}),this._closeEditBookmarkForm()}_editBookmarkSubmit(t){t.preventDefault();const{_editInputNode:e,_userState:o,_editIncludeTimeExtent:s}=this;if(!o?.bookmark||!o.editedBookmark)return;const i=e&&e.value.trim();i?(o.bookmark.name=i,o.bookmark.thumbnail=o.editedBookmark.thumbnail,s||(o.bookmark.timeExtent=null),this._editBookmarkAndClose(o.bookmark,{takeScreenshot:!1,captureTimeExtent:s})):o.validationState="name-required"}_storeAddBookmarkButton(t){this._addBookmarkButtonNode=t,this._focusAddBookmark()}_storeEditInput(t){this._editInputNode=t,this._focusEditInput()}_storeAddInput(t){this._addInputNode=t,this._focusAddInput()}_storeUrlEditInput(t){this._urlEditInputNode=t,this._focusUrlEditInput()}_focusUrlEditInput(){this._urlEditInputNode&&this._focusUrlEditInputBox&&(this._focusUrlEditInputBox=!1,this._urlEditInputNode.focus())}_focusAddInput(){this._addInputNode&&this._focusAddInputBox&&(this._focusAddInputBox=!1,this._addInputNode.focus())}_focusAddBookmark(){this._addBookmarkButtonNode&&this._focusAddBookmarkButton&&(this._focusAddBookmarkButton=!1,this._addBookmarkButtonNode.focus())}_focusEditInput(){this._editInputNode&&this._focusEditInputBox&&(this._focusEditInputBox=!1,this._editInputNode.focus())}_deleteBookmark(t){const e=M(t.currentTarget);e&&this.viewModel.bookmarks.remove(e)}_goToBookmark(t){const e=M(t.currentTarget);e&&(this.endAddBookmark(),this._closeEditBookmarkForm(),this.viewModel.goTo(e))}async _refreshThumbnail(){const{_userState:t,_editMenu:e,viewModel:o}=this;t&&(t.validationState=void 0,await o.editBookmark(t.editedBookmark,{takeScreenshot:!0,captureViewpoint:!1,captureRotation:!1,captureScale:!1,captureTimeExtent:!1}),e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_removeThumbnail(){const{_userState:t,_editMenu:e}=this;t?.editedBookmark&&(t.editedBookmark.thumbnail=null,t.validationState=void 0,e.open=!1,this._focusEditInputBox=!0,this.scheduleRender())}_startUseImageUrl(){this._userState&&(this._userState.state="edit-thumbnail"),this._editMenu.open=!1,this._focusUrlEditInputBox=!0,this.scheduleRender()}_editBookmarkUrlSubmit(t){t.preventDefault();const{_urlEditInputNode:e,_userState:o}=this;if(!e||!o)return;const s=e.value;x.test(s)?(s&&o.editedBookmark&&(o.editedBookmark.thumbnail=new m({url:s})),this._closeUrlEditBookmarkForm()):o.validationState="absolute-url-required"}};function M(t){return t["data-bookmark"]}t([a()],C.prototype,"_editIncludeTimeExtent",void 0),t([a({type:h})],C.prototype,"_userState",void 0),t([a({readOnly:!0})],C.prototype,"_editMenuItems",null),t([a({readOnly:!0})],C.prototype,"_editMenu",null),t([a()],C.prototype,"defaultCreateOptions",null),t([a()],C.prototype,"defaultEditOptions",null),t([a()],C.prototype,"bookmarks",null),t([a()],C.prototype,"disabled",void 0),t([a()],C.prototype,"editingEnabled",void 0),t([a()],C.prototype,"headingLevel",void 0),t([a()],C.prototype,"goToOverride",null),t([a()],C.prototype,"iconClass",void 0),t([a()],C.prototype,"icon",void 0),t([a()],C.prototype,"label",null),t([a(),v("esri/widgets/Bookmarks/t9n/Bookmarks")],C.prototype,"messages",void 0),t([a(),v("esri/t9n/common")],C.prototype,"messagesCommon",void 0),t([a(),v("esri/core/t9n/Units")],C.prototype,"messagesUnits",void 0),t([a()],C.prototype,"uiStrings",void 0),t([a()],C.prototype,"view",null),t([a({type:c}),E(["select-bookmark","bookmark-edit","bookmark-select"])],C.prototype,"viewModel",void 0),t([a()],C.prototype,"visibleElements",void 0),t([n("visibleElements")],C.prototype,"castVisibleElements",null),t([a()],C.prototype,"endAddBookmark",null),t([a()],C.prototype,"startAddBookmark",null),C=t([d(U)],C);const N=C;export{N as default};
|
package/widgets/Features.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import o from"../core/Logger.js";import{watch as s}from"../core/reactiveUtils.js";import{throttle as r}from"../core/throttle.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import a from"./Feature.js";import c from"./Spinner.js";import d from"./Widget.js";import{CSS as u}from"./Feature/resources.js";import{FeatureContentMixin as h}from"./Feature/support/FeatureContentMixin.js";import p from"./Features/FeaturesViewModel.js";import m from"./Features/FeaturesVisibleElements.js";import{getPointFromGeometry as v}from"./Popup/actionUtils.js";import{loadCalciteComponents as w}from"./support/componentsUtils.js";import"./support/widgetUtils.js";import{messageBundle as _}from"./support/decorators/messageBundle.js";import{vmEvent as g}from"./support/decorators/vmEvent.js";import{tsx as F}from"./support/jsxFactory.js";import{substitute as f}from"../intl/substitute.js";const M="esri-features",b={calciteModeLight:"calcite-mode-light",calciteModeDark:"calcite-mode-dark",esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",base:`${M}`,container:`${M}__container`,actionBar:`${M}__action-bar`,footerActions:`${M}__footer-actions`,featureMenuObserver:`${M}__feature-menu-observer`,actionExit:`${M}__action--exit`},y="selected-index",I=0,R="features-spinner";let x=class extends(h(d)){constructor(e,i){super(e,i),this._featureMenuIntersectionObserverCallback=([e])=>{e?.isIntersecting&&null!=this.viewModel.featurePage&&this.viewModel.featurePage++},this._featureMenuIntersectionObserver=new IntersectionObserver(this._featureMenuIntersectionObserverCallback,{root:window.document}),this._featureMenuIntersectionObserverNode=null,this._focusFeatureMenuFlowItem=!1,this._spinner=null,this._feature=null,this._relatedRecordsFlowItems=new t,this._focusRootFlowItem=!1,this._rootFlowItemNode=null,this._featureMenuViewportNode=null,this._exitRelatedRecordsActions=new WeakMap,this._featureSelectionActions=new WeakMap,this.icon=null,this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.viewModel=new p,this.visibleElements=new m,this._renderAction=(e,t)=>{const i=this._getActionTitle(e);return F("calcite-action",{appearance:"solid",bind:this,icon:this._getActionIcon(e),onclick:this._triggerAction,"data-action-uid":e.uid,disabled:e.disabled,indicator:e.indicator,loading:e.active,active:"toggle"===e.type&&e.value,key:`action-${t}`,text:i},F("calcite-tooltip",{placement:"bottom",overlayPositioning:"fixed",label:i,slot:"tooltip"},i))},this._openFeatureMenu=()=>{this.featureMenuOpen=!0},this._previousFeature=()=>{this.viewModel.selectedFeatureIndex--},this._nextFeature=()=>{this.viewModel.selectedFeatureIndex++},this._handleFeatureMenuBack=()=>{this._focusRootFlowItem=!0,this.featureMenuOpen=!1,this.viewModel.browseClusterEnabled=!1},this._handleOpenRelatedFeature=e=>{this._openRelatedFeature(e)},this._displaySpinnerThrottled=r((()=>this._displaySpinner()),I),this._addSelectedFeatureIndexHandle(),this.addHandles([this._displaySpinnerThrottled,s((()=>this.viewModel?.active),(()=>this._toggleScreenLocationEnabled())),s((()=>this.visibleElements?.spinner),(e=>this._spinnerEnabledChange(e))),s((()=>this.viewModel?.view),((e,t)=>this._viewChange(e,t))),s((()=>this.viewModel?.view?.ready),((e,t)=>this._viewReadyChange(e??!1,t??!1))),s((()=>[this.viewModel?.waitingForResult,this.viewModel?.location]),(()=>{this._hideSpinner(),this._displaySpinnerThrottled()})),s((()=>this.selectedFeatureWidget),(()=>this._destroyRelatedRecordsFlowItemWidgets())),s((()=>{const e=this.selectedFeatureWidget?.viewModel;return[e?.title,e?.state]}),(()=>this._setTitleFromFeatureWidget())),s((()=>{const e=this.selectedFeatureWidget?.viewModel;return[e?.content,e?.state]}),(()=>this._setContentFromFeatureWidget())),s((()=>this.viewModel?.featureViewModels),(()=>this._featureMenuViewportScrollTop()))])}loadDependencies(){return w({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar.js"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow.js"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}destroy(){this._destroyRelatedRecordsFlowItemWidgets(),this._destroySelectedFeatureWidget(),this._destroySpinner(),this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver?.disconnect()}get _featureNavigationVisible(){return this.viewModel.active&&this.viewModel.featureCount>1&&this.visibleElements.featureNavigation}get _activeFlowItemWidget(){return this._relatedRecordsFlowItems.at(-1)??null}get content(){return this.viewModel.content}set content(e){this.viewModel.content=e}get featureMenuOpen(){return this.viewModel.featureMenuOpen}set featureMenuOpen(e){this.viewModel.featureMenuOpen=e}get features(){return this.viewModel.features}set features(e){this.viewModel.features=e}get location(){return this.viewModel.location}set location(e){this.viewModel.location=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get promises(){return this.viewModel.promises}set promises(e){this.viewModel.promises=e}get selectedFeature(){return this.viewModel.selectedFeature}get selectedFeatureIndex(){return this.viewModel.selectedFeatureIndex}set selectedFeatureIndex(e){this.viewModel.selectedFeatureIndex=e}get selectedFeatureWidget(){const{_feature:e,headingLevel:t,_relatedRecordsFlowItems:i}=this,{selectedFeatureViewModel:o}=this.viewModel,s={title:!1};return o?(e?(e.viewModel=o,e.visibleElements=s):this._feature=new a({flowItems:i,headingLevel:t+1,viewModel:o,visibleElements:s}),this._feature):null}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}get updateLocationEnabled(){return this.viewModel.updateLocationEnabled}set updateLocationEnabled(e){this.viewModel.updateLocationEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}blur(){const{active:e}=this.viewModel;e||o.getLogger(this.declaredClass).warn("Features can only be blurred when currently active."),this._rootFlowItemNode?.blur()}clear(){return this.viewModel.clear()}close(){this.viewModel.visible=!1}fetchFeatures(e,t){return this.viewModel.fetchFeatures(e,t)}focus(){const{container:e}=this,{active:t}=this.viewModel;if(t||o.getLogger(this.declaredClass).warn("Features can only be blurred when currently active."),!e)return;const i=e.querySelectorAll("calcite-flow-item"),s=i[i?.length-1];this.scheduleRender(),requestAnimationFrame((()=>s?.setFocus()))}next(){return this.viewModel.next()}open(e){this.removeHandles(y),this.viewModel.open(e),this._addSelectedFeatureIndexHandle()}previous(){return this.viewModel.previous()}triggerAction(e){return this.viewModel.triggerAction(e)}render(){return F("div",{class:this.classes(b.base,b.esriWidget,b.esriWidgetPanel)},this._renderContentContainer())}_renderFooter(){return this._featureNavigationVisible?F("div",{slot:"footer",class:b.footerActions,key:"footer-actions"},this._renderPagination(),this._renderFeatureMenuButton()):null}_renderFeatureMenuButton(){const{messages:e,messagesCommon:t}=this,{featureCount:i,selectedFeatureIndex:o,pendingPromisesCount:s}=this.viewModel;return F("calcite-action-group",{layout:"horizontal"},s>0?F("calcite-action",{appearance:"solid",key:"feature-menu-loading-action",loading:!0,scale:"s",text:t.loading||"",label:t.loading||""}):F("calcite-action",{appearance:"solid",key:"feature-menu-button",bind:this,scale:"s",textEnabled:!0,label:e.selectFeature||"",text:f(e.pageText||"",{total:i,index:(o+1).toLocaleString(void 0,{minimumIntegerDigits:i.toString().length,useGrouping:!1})}),onclick:this._openFeatureMenu,icon:"list"},F("calcite-tooltip",{overlayPositioning:"fixed",label:e.selectFeature,placement:"bottom",slot:"tooltip"},e.selectFeature)))}_renderPagination(){const{previous:e,next:t}=this.messagesCommon.pagination;return F("calcite-action-group",{layout:"horizontal"},F("calcite-action",{appearance:"solid",label:e,text:e,iconFlipRtl:!0,icon:"chevron-left",scale:"s",onclick:this._previousFeature},F("calcite-tooltip",{placement:"bottom",overlayPositioning:"fixed",label:e,slot:"tooltip"},e)),F("calcite-action",{appearance:"solid",label:t,text:t,iconFlipRtl:!0,icon:"chevron-right",scale:"s",onclick:this._nextFeature},F("calcite-tooltip",{placement:"bottom",overlayPositioning:"fixed",label:t,slot:"tooltip"},t)))}_renderFeatureMenuItem(e,t){const{selectedFeatureViewModel:i}=this.viewModel,o=e===i;return F("calcite-list-item",{bind:this,key:`feature-menu-item-${e.uid}`,selected:o,onblur:this._removeActiveFeature,onfocus:this._setActiveFeature,onmouseover:this._setActiveFeature,onmouseleave:this._removeActiveFeature,"data-feature-index":t,onCalciteListItemSelect:this._selectFeature,label:e.title||this.messagesCommon.untitled})}_renderFeatureMenu(){const{featureViewModels:e}=this.viewModel;return e.length>1?F("calcite-list",{selectionMode:"single",selectionAppearance:"icon"},e.filter((e=>!!e.graphic)).map(((e,t)=>this._renderFeatureMenuItem(e,t)))):null}_renderContentFeature(){const{headingLevel:e,visibleElements:t}=this,{title:i,active:o}=this.viewModel,s=t.heading&&i?i:"";return F("calcite-flow-item",{bind:this,closed:!o,closable:t.closeButton,heading:s,headingLevel:e,onCalciteFlowItemClose:this.close,afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,key:"root-flow-item",onkeydown:this._onMainKeydown},this._renderActionBar(),F("div",{class:b.container},this._renderContent()),this._renderFooter())}_renderFeatureMenuContainer(){const{viewModel:e,featureMenuOpen:t,messages:i,messagesCommon:o}=this,{active:s,featureViewModels:r}=e;return t?F("calcite-flow-item",{bind:this,closable:!1,closed:!s,afterCreate:this._focusFeatureMenuFlowItemNode,afterUpdate:this._focusFeatureMenuFlowItemNode,loading:e.isLoadingFeature,heading:i.selectFeature,description:f(i.total,{total:r.length}),key:"feature-menu",onCalciteFlowItemBack:this._handleFeatureMenuBack},F("div",{class:b.container},this._renderFeatureMenu()),F("div",{class:b.featureMenuObserver,bind:this,afterCreate:this._featureMenuIntersectionObserverCreated}),F("calcite-button",{onclick:this._handleFeatureMenuBack,slot:"footer-actions",appearance:"transparent",width:"full"},o.back)):null}_renderContentContainer(){const{_relatedRecordsFlowItems:e}=this,{content:t}=this.viewModel,i=e.toArray();return F("calcite-flow",{key:t??"content"},this._renderContentFeature(),this._renderFeatureMenuContainer(),i.map((e=>this._renderRelatedRecordsFlowItem(e))),F("div",{key:"content-tooltips"},i.map((e=>this._renderRelatedRecordsFlowItemTooltips(e)))))}_renderActionBar(){return this.visibleElements.actionBar&&this.viewModel.allActions?.length?F("calcite-action-bar",{key:"header-action-bar",class:b.actionBar,layout:"horizontal",expandDisabled:!0},F("calcite-action-group",{layout:"horizontal"},this._renderActions())):null}_renderActions(){return this.viewModel.allActions.toArray().map(this._renderAction)}_renderContent(){const e=this.viewModel?.content;return e?"string"==typeof e?F("div",{class:u.contentNode,key:e,innerHTML:e}):this.renderNodeContent(e):null}_renderRelatedRecordsFlowItem(e){const{messages:t}=this,{visibleElements:i}=this,{active:o}=this.viewModel,s="graphic"in e&&!e.isTable;return F("calcite-flow-item",{bind:this,closed:!o,closable:i.closeButton,heading:e.title??"",description:this._getRelatedRecordsFlowItemDescription(e),onCalciteFlowItemBack:this._handleRelatedRecordsBackClick,onCalciteFlowItemClose:this.close,key:`flow-item-${e.viewModel.uid}`},F("calcite-action",{appearance:"transparent",class:b.actionExit,icon:"move-up",label:t.exitRelatedRecords,text:t.exitRelatedRecords,slot:"header-actions-start",bind:this,afterCreate:t=>this._storeExitRelatedRecordsAction(e,t),onclick:this._destroyRelatedRecordsFlowItemWidgets}),s?F("calcite-action",{appearance:"transparent",icon:"zoom-to-object",label:t.selectFeature,text:t.selectFeature,slot:"header-actions-end",bind:this,afterCreate:t=>this._storeFeatureSelectionAction(e,t),onclick:()=>this._handleOpenRelatedFeature(e)}):null,F("div",{class:b.container},e.render()))}_renderRelatedRecordsFlowItemTooltips(e){const{messages:t,_exitRelatedRecordsActions:i,_featureSelectionActions:o}=this,s=o.get(e);return[F("calcite-tooltip",{key:`exit-related-records-tooltip-${e.viewModel.uid}`,label:t.exitRelatedRecords,overlayPositioning:"fixed",referenceElement:i.get(e),placement:"top"},t.exitRelatedRecords),s?F("calcite-tooltip",{key:`select-related-record-tooltip-${e.viewModel.uid}`,label:t.selectFeature,overlayPositioning:"fixed",referenceElement:s,placement:"top"},t.selectFeature):null]}_focusRootFlowItemNode(e){this._rootFlowItemNode=e,this._focusRootFlowItem&&(this._focusRootFlowItem=!1,requestAnimationFrame((()=>e?.setFocus())))}_focusFeatureMenuFlowItemNode(e){this._featureMenuViewportNode=e,this._focusFeatureMenuFlowItem&&(this._focusFeatureMenuFlowItem=!1,requestAnimationFrame((()=>e?.setFocus())))}_setActiveFeature(e){const{viewModel:t}=this,i=e.currentTarget["data-feature-index"];t.activeFeature=t.features[i]||null}_removeActiveFeature(){this.viewModel.activeFeature=null}_selectFeature(e){const t=e.currentTarget["data-feature-index"];isNaN(t)||(this.viewModel.selectedFeatureIndex=t),this.featureMenuOpen=!1,this._focusFeatureMenuFlowItem=!0}_unobserveFeatureMenuObserver(){this._featureMenuIntersectionObserverNode&&this._featureMenuIntersectionObserver.unobserve(this._featureMenuIntersectionObserverNode)}_featureMenuIntersectionObserverCreated(e){this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver.observe(e),this._featureMenuIntersectionObserverNode=e}_getActionIcon(e){return e.icon||"question"}_getActionTitle(e){const{messages:t,selectedFeature:i,messagesCommon:o}=this,{id:s}=e,r=i?.attributes,n=e.title??"",l="zoom-to-feature"===s?f(n,{messages:t}):"remove-selected-feature"===s?f(n,{messages:o}):"zoom-to-clustered-features"===s||"browse-clustered-features"===s?f(n,{messages:t}):e.title;return l&&r?f(l,r):l??""}_onMainKeydown(e){const t=i(e);"ArrowLeft"===t&&(e.stopPropagation(),this.previous()),"ArrowRight"===t&&(e.stopPropagation(),this.next())}_storeFeatureSelectionAction(e,t){this._featureSelectionActions.set(e,t),this.scheduleRender()}_storeExitRelatedRecordsAction(e,t){this._exitRelatedRecordsActions.set(e,t),this.scheduleRender()}_getRelatedRecordsFlowItemDescription(e){return"featureCountDescription"in e?e.featureCountDescription:e.viewModel.description??""}_handleRelatedRecordsBackClick(){const e=this._relatedRecordsFlowItems.pop();e&&(this._exitRelatedRecordsActions.delete(e),this._featureSelectionActions.delete(e),"showAllEnabled"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e&&(e.viewModel=null,e.destroy()))}_featureMenuViewportScrollTop(){this._featureMenuViewportNode&&this._featureMenuViewportNode.scrollContentTo({top:0})}_setContentFromFeatureWidget(){const{selectedFeatureWidget:e}=this;e&&(this.viewModel.content=e)}async _openRelatedFeature(e){await e.viewModel.updateGeometry();const t=e.graphic,i=t?.geometry;if(null==i||null==t)return;this._destroyRelatedRecordsFlowItemWidgets(),await this.viewModel.zoomTo({target:i});const o=v(i);this.open({features:[t],location:null!=o?o:void 0})}_setTitleFromFeatureWidget(){const{selectedFeatureWidget:e,messagesCommon:t}=this,i=e?.viewModel;e&&(this.viewModel.title="error"===i?.state?t?.errorMessage:i?.title||"")}_addSelectedFeatureIndexHandle(){const e=s((()=>this.viewModel?.selectedFeatureIndex),((e,t)=>this._selectedFeatureIndexUpdated(e,t)));this.addHandles(e,y)}_selectedFeatureIndexUpdated(e,t){const{featureCount:i}=this.viewModel;i&&e!==t&&-1!==e&&(this._destroyRelatedRecordsFlowItemWidgets(),this.featureMenuOpen=!1,this._rootFlowItemNode&&this._rootFlowItemNode.scrollContentTo({top:0}))}_triggerAction(e){const t=e.currentTarget;if(t.disabled)return;const i=t.dataset.actionUid,{allActions:o}=this.viewModel,s=o.findIndex((e=>e.uid===i)),r=o.at(s);r&&"toggle"===r.type&&(r.value=!r.value),this.viewModel.triggerAction(s)}_createSpinner(e){e&&(this._spinner=new c({view:e}),e.ui.add(this._spinner,{key:R,position:"manual"}))}_wireUpView(e){this._destroySpinner(),e&&this.visibleElements?.spinner&&this._createSpinner(e)}_hideSpinner(){const{_spinner:e}=this;e&&(e.location=null,e.hide())}_viewReadyChange(e,t){e?this._wireUpView(this.viewModel?.view):t&&this.viewModel.clear()}_viewChange(e,t){e&&t&&this.viewModel.clear()}_destroySelectedFeatureWidget(){const{_feature:e}=this;e&&(e.viewModel=null,!e.destroyed&&e.destroy()),this._feature=null}_destroyRelatedRecordsFlowItemWidgets(){this._relatedRecordsFlowItems.removeAll().forEach((e=>{"showAllEnabled"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e.viewModel=null,e.destroy()}))}_toggleScreenLocationEnabled(){const{viewModel:e}=this;e&&(e.screenLocationEnabled=e.active)}_displaySpinner(){const{_spinner:e}=this;if(!e)return;const{location:t,waitingForResult:i}=this.viewModel;i&&t?e.show({location:t}):e.hide()}_destroySpinner(){const{_spinner:e,view:t}=this;e&&(t?.ui?.remove(e,R),e.destroy(),this._spinner=null)}_spinnerEnabledChange(e){this._destroySpinner(),e&&this._createSpinner(this.viewModel?.view)}};e([n()],x.prototype,"_focusFeatureMenuFlowItem",void 0),e([n()],x.prototype,"_relatedRecordsFlowItems",void 0),e([n()],x.prototype,"_focusRootFlowItem",void 0),e([n()],x.prototype,"_featureNavigationVisible",null),e([n()],x.prototype,"_activeFlowItemWidget",null),e([n()],x.prototype,"content",null),e([n()],x.prototype,"icon",void 0),e([n()],x.prototype,"featureMenuOpen",null),e([n()],x.prototype,"features",null),e([n()],x.prototype,"headingLevel",void 0),e([n()],x.prototype,"location",null),e([n()],x.prototype,"label",null),e([n(),_("esri/widgets/Features/t9n/Features")],x.prototype,"messages",void 0),e([n(),_("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([n()],x.prototype,"promises",null),e([n({readOnly:!0})],x.prototype,"selectedFeature",null),e([n()],x.prototype,"selectedFeatureIndex",null),e([n({readOnly:!0})],x.prototype,"selectedFeatureWidget",null),e([n()],x.prototype,"title",null),e([n()],x.prototype,"updateLocationEnabled",null),e([n()],x.prototype,"view",null),e([n({type:p}),g(["triggerAction","trigger-action"])],x.prototype,"viewModel",void 0),e([n({type:m,nonNullable:!0})],x.prototype,"visibleElements",void 0),e([n()],x.prototype,"visible",null),x=e([l("esri.widgets.Features")],x);const C=x;export{C as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import o from"../core/Logger.js";import{watch as s}from"../core/reactiveUtils.js";import{throttle as r}from"../core/throttle.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import a from"./Feature.js";import c from"./Spinner.js";import d from"./Widget.js";import{CSS as u}from"./Feature/resources.js";import{FeatureContentMixin as h}from"./Feature/support/FeatureContentMixin.js";import p from"./Features/FeaturesViewModel.js";import m from"./Features/FeaturesVisibleElements.js";import{getPointFromGeometry as v}from"./Popup/actionUtils.js";import{loadCalciteComponents as w}from"./support/componentsUtils.js";import"./support/widgetUtils.js";import{messageBundle as _}from"./support/decorators/messageBundle.js";import{vmEvent as g}from"./support/decorators/vmEvent.js";import{tsx as F}from"./support/jsxFactory.js";import{substitute as f}from"../intl/substitute.js";const M="esri-features",b={calciteModeLight:"calcite-mode-light",calciteModeDark:"calcite-mode-dark",esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",base:`${M}`,container:`${M}__container`,contentFeature:`${M}__content-feature`,footer:`${M}__footer`,featureMenuObserver:`${M}__feature-menu-observer`,actionExit:`${M}__action--exit`},y="selected-index",I=0,R="features-spinner";let x=class extends(h(d)){constructor(e,i){super(e,i),this._featureMenuIntersectionObserverCallback=([e])=>{e?.isIntersecting&&null!=this.viewModel.featurePage&&this.viewModel.featurePage++},this._featureMenuIntersectionObserver=new IntersectionObserver(this._featureMenuIntersectionObserverCallback,{root:window.document}),this._featureMenuIntersectionObserverNode=null,this._focusFeatureMenuFlowItem=!1,this._spinner=null,this._feature=null,this._relatedRecordsFlowItems=new t,this._focusRootFlowItem=!1,this._rootFlowItemNode=null,this._featureMenuViewportNode=null,this._exitRelatedRecordsActions=new WeakMap,this._featureSelectionActions=new WeakMap,this.icon=null,this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.viewModel=new p,this.visibleElements=new m,this._renderAction=(e,t)=>{const i=this._getActionTitle(e);return F("calcite-action",{appearance:"solid",bind:this,icon:this._getActionIcon(e),onclick:this._triggerAction,"data-action-uid":e.uid,disabled:e.disabled,indicator:e.indicator,loading:e.active,active:"toggle"===e.type&&e.value,key:`action-${t}`,text:i},F("calcite-tooltip",{placement:"bottom",overlayPositioning:"fixed",label:i,slot:"tooltip"},i))},this._openFeatureMenu=()=>{this.featureMenuOpen=!0},this._previousFeature=()=>{this.viewModel.selectedFeatureIndex--},this._nextFeature=()=>{this.viewModel.selectedFeatureIndex++},this._handleFeatureMenuBack=()=>{this._focusRootFlowItem=!0,this.featureMenuOpen=!1,this.viewModel.browseClusterEnabled=!1},this._handleOpenRelatedFeature=e=>{this._openRelatedFeature(e)},this._displaySpinnerThrottled=r((()=>this._displaySpinner()),I),this._addSelectedFeatureIndexHandle(),this.addHandles([this._displaySpinnerThrottled,s((()=>this.viewModel?.active),(()=>this._toggleScreenLocationEnabled())),s((()=>this.visibleElements?.spinner),(e=>this._spinnerEnabledChange(e))),s((()=>this.viewModel?.view),((e,t)=>this._viewChange(e,t))),s((()=>this.viewModel?.view?.ready),((e,t)=>this._viewReadyChange(e??!1,t??!1))),s((()=>[this.viewModel?.waitingForResult,this.viewModel?.location]),(()=>{this._hideSpinner(),this._displaySpinnerThrottled()})),s((()=>this.selectedFeatureWidget),(()=>this._destroyRelatedRecordsFlowItemWidgets())),s((()=>{const e=this.selectedFeatureWidget?.viewModel;return[e?.title,e?.state]}),(()=>this._setTitleFromFeatureWidget())),s((()=>{const e=this.selectedFeatureWidget?.viewModel;return[e?.content,e?.state]}),(()=>this._setContentFromFeatureWidget())),s((()=>this.viewModel?.featureViewModels),(()=>this._featureMenuViewportScrollTop()))])}loadDependencies(){return w({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar.js"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow.js"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}destroy(){this._destroyRelatedRecordsFlowItemWidgets(),this._destroySelectedFeatureWidget(),this._destroySpinner(),this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver?.disconnect()}get _featureNavigationVisible(){return this.viewModel.active&&this.viewModel.featureCount>1&&this.visibleElements.featureNavigation}get _activeFlowItemWidget(){return this._relatedRecordsFlowItems.at(-1)??null}get content(){return this.viewModel.content}set content(e){this.viewModel.content=e}get featureMenuOpen(){return this.viewModel.featureMenuOpen}set featureMenuOpen(e){this.viewModel.featureMenuOpen=e}get features(){return this.viewModel.features}set features(e){this.viewModel.features=e}get location(){return this.viewModel.location}set location(e){this.viewModel.location=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get promises(){return this.viewModel.promises}set promises(e){this.viewModel.promises=e}get selectedFeature(){return this.viewModel.selectedFeature}get selectedFeatureIndex(){return this.viewModel.selectedFeatureIndex}set selectedFeatureIndex(e){this.viewModel.selectedFeatureIndex=e}get selectedFeatureWidget(){const{_feature:e,headingLevel:t,_relatedRecordsFlowItems:i}=this,{selectedFeatureViewModel:o}=this.viewModel,s={title:!1};return o?(e?(e.viewModel=o,e.visibleElements=s):this._feature=new a({flowItems:i,headingLevel:t+1,viewModel:o,visibleElements:s}),this._feature):null}get title(){return this.viewModel.title}set title(e){this.viewModel.title=e}get updateLocationEnabled(){return this.viewModel.updateLocationEnabled}set updateLocationEnabled(e){this.viewModel.updateLocationEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}blur(){const{active:e}=this.viewModel;e||o.getLogger(this.declaredClass).warn("Features can only be blurred when currently active."),this._rootFlowItemNode?.blur()}clear(){return this.viewModel.clear()}close(){this.viewModel.visible=!1}fetchFeatures(e,t){return this.viewModel.fetchFeatures(e,t)}focus(){const{container:e}=this,{active:t}=this.viewModel;if(t||o.getLogger(this.declaredClass).warn("Features can only be blurred when currently active."),!e)return;const i=e.querySelectorAll("calcite-flow-item"),s=i[i?.length-1];this.scheduleRender(),requestAnimationFrame((()=>s?.setFocus()))}next(){return this.viewModel.next()}open(e){this.removeHandles(y),this.viewModel.open(e),this._addSelectedFeatureIndexHandle()}previous(){return this.viewModel.previous()}triggerAction(e){return this.viewModel.triggerAction(e)}render(){return F("div",{class:this.classes(b.base,b.esriWidget,b.esriWidgetPanel)},this._renderContentContainer())}_renderFooter(){return this._featureNavigationVisible?F("div",{slot:"footer",class:b.footer,key:"footer-actions"},this._renderPagination(),this._renderFeatureMenuButton()):null}_renderFeatureMenuButton(){const{messages:e,messagesCommon:t}=this,{featureCount:i,selectedFeatureIndex:o,pendingPromisesCount:s}=this.viewModel;return F("calcite-action-group",{layout:"horizontal"},s>0?F("calcite-action",{appearance:"solid",key:"feature-menu-loading-action",loading:!0,scale:"s",text:t.loading||"",label:t.loading||""}):F("calcite-action",{appearance:"solid",key:"feature-menu-button",bind:this,scale:"s",textEnabled:!0,label:e.selectFeature||"",text:f(e.pageText||"",{total:i,index:(o+1).toLocaleString(void 0,{minimumIntegerDigits:i.toString().length,useGrouping:!1})}),onclick:this._openFeatureMenu,icon:"list"},F("calcite-tooltip",{overlayPositioning:"fixed",label:e.selectFeature,placement:"bottom",slot:"tooltip"},e.selectFeature)))}_renderPagination(){const{previous:e,next:t}=this.messagesCommon.pagination;return F("calcite-action-group",{layout:"horizontal"},F("calcite-action",{appearance:"solid",label:e,text:e,iconFlipRtl:!0,icon:"chevron-left",scale:"s",onclick:this._previousFeature},F("calcite-tooltip",{placement:"bottom",overlayPositioning:"fixed",label:e,slot:"tooltip"},e)),F("calcite-action",{appearance:"solid",label:t,text:t,iconFlipRtl:!0,icon:"chevron-right",scale:"s",onclick:this._nextFeature},F("calcite-tooltip",{placement:"bottom",overlayPositioning:"fixed",label:t,slot:"tooltip"},t)))}_renderFeatureMenuItem(e,t){const{selectedFeatureViewModel:i}=this.viewModel,o=e===i;return F("calcite-list-item",{bind:this,key:`feature-menu-item-${e.uid}`,selected:o,onblur:this._removeActiveFeature,onfocus:this._setActiveFeature,onmouseover:this._setActiveFeature,onmouseleave:this._removeActiveFeature,"data-feature-index":t,onCalciteListItemSelect:this._selectFeature,label:e.title||this.messagesCommon.untitled})}_renderFeatureMenu(){const{featureViewModels:e}=this.viewModel;return e.length>1?F("calcite-list",{selectionMode:"single",selectionAppearance:"icon"},e.filter((e=>!!e.graphic)).map(((e,t)=>this._renderFeatureMenuItem(e,t)))):null}_renderContentFeature(){const{headingLevel:e,visibleElements:t}=this,{title:i,active:o}=this.viewModel,s=t.heading&&i?i:"";return F("calcite-flow-item",{bind:this,closed:!o,class:b.contentFeature,closable:t.closeButton,heading:s,headingLevel:e,onCalciteFlowItemClose:this.close,afterCreate:this._focusRootFlowItemNode,afterUpdate:this._focusRootFlowItemNode,key:"root-flow-item",onkeydown:this._onMainKeydown},this._renderActionBar(),F("div",{class:b.container},this._renderContent()),this._renderFooter())}_renderFeatureMenuContainer(){const{viewModel:e,featureMenuOpen:t,messages:i,messagesCommon:o}=this,{active:s,featureViewModels:r}=e;return t?F("calcite-flow-item",{bind:this,closable:!1,closed:!s,afterCreate:this._focusFeatureMenuFlowItemNode,afterUpdate:this._focusFeatureMenuFlowItemNode,loading:e.isLoadingFeature,heading:i.selectFeature,description:f(i.total,{total:r.length}),key:"feature-menu",onCalciteFlowItemBack:this._handleFeatureMenuBack},F("div",{class:b.container},this._renderFeatureMenu()),F("div",{class:b.featureMenuObserver,bind:this,afterCreate:this._featureMenuIntersectionObserverCreated}),F("calcite-button",{onclick:this._handleFeatureMenuBack,slot:"footer-actions",appearance:"transparent",width:"full"},o.back)):null}_renderContentContainer(){const{_relatedRecordsFlowItems:e}=this,{content:t}=this.viewModel,i=e.toArray();return F("calcite-flow",{key:t??"content"},this._renderContentFeature(),this._renderFeatureMenuContainer(),i.map((e=>this._renderRelatedRecordsFlowItem(e))),F("div",{key:"content-tooltips"},i.map((e=>this._renderRelatedRecordsFlowItemTooltips(e)))))}_renderActionBar(){return this.visibleElements.actionBar&&this.viewModel.allActions?.length?F("calcite-action-bar",{key:"header-action-bar",expandDisabled:!0,slot:"action-bar"},F("calcite-action-group",null,this._renderActions())):null}_renderActions(){return this.viewModel.allActions.toArray().map(this._renderAction)}_renderContent(){const e=this.viewModel?.content;return e?"string"==typeof e?F("div",{class:u.contentNode,key:e,innerHTML:e}):this.renderNodeContent(e):null}_renderRelatedRecordsFlowItem(e){const{messages:t}=this,{visibleElements:i}=this,{active:o}=this.viewModel,s="graphic"in e&&!e.isTable;return F("calcite-flow-item",{bind:this,closed:!o,closable:i.closeButton,heading:e.title??"",description:this._getRelatedRecordsFlowItemDescription(e),onCalciteFlowItemBack:this._handleRelatedRecordsBackClick,onCalciteFlowItemClose:this.close,key:`flow-item-${e.viewModel.uid}`},F("calcite-action",{appearance:"transparent",class:b.actionExit,icon:"move-up",label:t.exitRelatedRecords,text:t.exitRelatedRecords,slot:"header-actions-start",bind:this,afterCreate:t=>this._storeExitRelatedRecordsAction(e,t),onclick:this._destroyRelatedRecordsFlowItemWidgets}),s?F("calcite-action",{appearance:"transparent",icon:"zoom-to-object",label:t.selectFeature,text:t.selectFeature,slot:"header-actions-end",bind:this,afterCreate:t=>this._storeFeatureSelectionAction(e,t),onclick:()=>this._handleOpenRelatedFeature(e)}):null,F("div",{class:b.container},e.render()))}_renderRelatedRecordsFlowItemTooltips(e){const{messages:t,_exitRelatedRecordsActions:i,_featureSelectionActions:o}=this,s=o.get(e);return[F("calcite-tooltip",{key:`exit-related-records-tooltip-${e.viewModel.uid}`,label:t.exitRelatedRecords,overlayPositioning:"fixed",referenceElement:i.get(e),placement:"top"},t.exitRelatedRecords),s?F("calcite-tooltip",{key:`select-related-record-tooltip-${e.viewModel.uid}`,label:t.selectFeature,overlayPositioning:"fixed",referenceElement:s,placement:"top"},t.selectFeature):null]}_focusRootFlowItemNode(e){this._rootFlowItemNode=e,this._focusRootFlowItem&&(this._focusRootFlowItem=!1,requestAnimationFrame((()=>e?.setFocus())))}_focusFeatureMenuFlowItemNode(e){this._featureMenuViewportNode=e,this._focusFeatureMenuFlowItem&&(this._focusFeatureMenuFlowItem=!1,requestAnimationFrame((()=>e?.setFocus())))}_setActiveFeature(e){const{viewModel:t}=this,i=e.currentTarget["data-feature-index"];t.activeFeature=t.features[i]||null}_removeActiveFeature(){this.viewModel.activeFeature=null}_selectFeature(e){const t=e.currentTarget["data-feature-index"];isNaN(t)||(this.viewModel.selectedFeatureIndex=t),this.featureMenuOpen=!1,this._focusFeatureMenuFlowItem=!0}_unobserveFeatureMenuObserver(){this._featureMenuIntersectionObserverNode&&this._featureMenuIntersectionObserver.unobserve(this._featureMenuIntersectionObserverNode)}_featureMenuIntersectionObserverCreated(e){this._unobserveFeatureMenuObserver(),this._featureMenuIntersectionObserver.observe(e),this._featureMenuIntersectionObserverNode=e}_getActionIcon(e){return e.icon||"question"}_getActionTitle(e){const{messages:t,selectedFeature:i,messagesCommon:o}=this,{id:s}=e,r=i?.attributes,n=e.title??"",l="zoom-to-feature"===s?f(n,{messages:t}):"remove-selected-feature"===s?f(n,{messages:o}):"zoom-to-clustered-features"===s||"browse-clustered-features"===s?f(n,{messages:t}):e.title;return l&&r?f(l,r):l??""}_onMainKeydown(e){const t=i(e);"ArrowLeft"===t&&(e.stopPropagation(),this.previous()),"ArrowRight"===t&&(e.stopPropagation(),this.next())}_storeFeatureSelectionAction(e,t){this._featureSelectionActions.set(e,t),this.scheduleRender()}_storeExitRelatedRecordsAction(e,t){this._exitRelatedRecordsActions.set(e,t),this.scheduleRender()}_getRelatedRecordsFlowItemDescription(e){return"featureCountDescription"in e?e.featureCountDescription:e.viewModel.description??""}_handleRelatedRecordsBackClick(){const e=this._relatedRecordsFlowItems.pop();e&&(this._exitRelatedRecordsActions.delete(e),this._featureSelectionActions.delete(e),"showAllEnabled"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e&&(e.viewModel=null,e.destroy()))}_featureMenuViewportScrollTop(){this._featureMenuViewportNode&&this._featureMenuViewportNode.scrollContentTo({top:0})}_setContentFromFeatureWidget(){const{selectedFeatureWidget:e}=this;e&&(this.viewModel.content=e)}async _openRelatedFeature(e){await e.viewModel.updateGeometry();const t=e.graphic,i=t?.geometry;if(null==i||null==t)return;this._destroyRelatedRecordsFlowItemWidgets(),await this.viewModel.zoomTo({target:i});const o=v(i);this.open({features:[t],location:null!=o?o:void 0})}_setTitleFromFeatureWidget(){const{selectedFeatureWidget:e,messagesCommon:t}=this,i=e?.viewModel;e&&(this.viewModel.title="error"===i?.state?t?.errorMessage:i?.title||"")}_addSelectedFeatureIndexHandle(){const e=s((()=>this.viewModel?.selectedFeatureIndex),((e,t)=>this._selectedFeatureIndexUpdated(e,t)));this.addHandles(e,y)}_selectedFeatureIndexUpdated(e,t){const{featureCount:i}=this.viewModel;i&&e!==t&&-1!==e&&(this._destroyRelatedRecordsFlowItemWidgets(),this.featureMenuOpen=!1,this._rootFlowItemNode&&this._rootFlowItemNode.scrollContentTo({top:0}))}_triggerAction(e){const t=e.currentTarget;if(t.disabled)return;const i=t.dataset.actionUid,{allActions:o}=this.viewModel,s=o.findIndex((e=>e.uid===i)),r=o.at(s);r&&"toggle"===r.type&&(r.value=!r.value),this.viewModel.triggerAction(s)}_createSpinner(e){e&&(this._spinner=new c({view:e}),e.ui.add(this._spinner,{key:R,position:"manual"}))}_wireUpView(e){this._destroySpinner(),e&&this.visibleElements?.spinner&&this._createSpinner(e)}_hideSpinner(){const{_spinner:e}=this;e&&(e.location=null,e.hide())}_viewReadyChange(e,t){e?this._wireUpView(this.viewModel?.view):t&&this.viewModel.clear()}_viewChange(e,t){e&&t&&this.viewModel.clear()}_destroySelectedFeatureWidget(){const{_feature:e}=this;e&&(e.viewModel=null,!e.destroyed&&e.destroy()),this._feature=null}_destroyRelatedRecordsFlowItemWidgets(){this._relatedRecordsFlowItems.removeAll().forEach((e=>{"showAllEnabled"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e.viewModel=null,e.destroy()}))}_toggleScreenLocationEnabled(){const{viewModel:e}=this;e&&(e.screenLocationEnabled=e.active)}_displaySpinner(){const{_spinner:e}=this;if(!e)return;const{location:t,waitingForResult:i}=this.viewModel;i&&t?e.show({location:t}):e.hide()}_destroySpinner(){const{_spinner:e,view:t}=this;e&&(t?.ui?.remove(e,R),e.destroy(),this._spinner=null)}_spinnerEnabledChange(e){this._destroySpinner(),e&&this._createSpinner(this.viewModel?.view)}};e([n()],x.prototype,"_focusFeatureMenuFlowItem",void 0),e([n()],x.prototype,"_relatedRecordsFlowItems",void 0),e([n()],x.prototype,"_focusRootFlowItem",void 0),e([n()],x.prototype,"_featureNavigationVisible",null),e([n()],x.prototype,"_activeFlowItemWidget",null),e([n()],x.prototype,"content",null),e([n()],x.prototype,"icon",void 0),e([n()],x.prototype,"featureMenuOpen",null),e([n()],x.prototype,"features",null),e([n()],x.prototype,"headingLevel",void 0),e([n()],x.prototype,"location",null),e([n()],x.prototype,"label",null),e([n(),_("esri/widgets/Features/t9n/Features")],x.prototype,"messages",void 0),e([n(),_("esri/t9n/common")],x.prototype,"messagesCommon",void 0),e([n()],x.prototype,"promises",null),e([n({readOnly:!0})],x.prototype,"selectedFeature",null),e([n()],x.prototype,"selectedFeatureIndex",null),e([n({readOnly:!0})],x.prototype,"selectedFeatureWidget",null),e([n()],x.prototype,"title",null),e([n()],x.prototype,"updateLocationEnabled",null),e([n()],x.prototype,"view",null),e([n({type:p}),g(["triggerAction","trigger-action"])],x.prototype,"viewModel",void 0),e([n({type:m,nonNullable:!0})],x.prototype,"visibleElements",void 0),e([n()],x.prototype,"visible",null),x=e([l("esri.widgets.Features")],x);const C=x;export{C as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2651,5159],{3920:(e,t,r)=>{r.d(t,{p:()=>l,r:()=>u});var o=r(43697),s=r(92036),i=r(61247),n=r(5600),a=r(52011),p=r(72762);const l=e=>{let t=class extends e{constructor(){super(...arguments),this._handles=new i.Z,this._updatingHandles=new p.t}destroy(){this.destroyed||(this._handles.destroy(),this._updatingHandles.destroy())}get handles(){return this._handles}get updatingHandles(){return this._updatingHandles}};return(0,o._)([(0,n.Cb)({readOnly:!0})],t.prototype,"handles",null),(0,o._)([(0,n.Cb)({readOnly:!0})],t.prototype,"updatingHandles",null),t=(0,o._)([(0,a.j)("esri.core.HandleOwner")],t),t};let u=class extends(l(s.Z)){};u=(0,o._)([(0,a.j)("esri.core.HandleOwner")],u)},42033:(e,t,r)=>{async function o(e,t){const{WhereClause:o}=await r.e(1534).then(r.bind(r,41534));return o.create(e,t)}function s(e,t){return null!=e?null!=t?`(${e}) AND (${t})`:e:t}r.d(t,{E:()=>o,_:()=>s})},72762:(e,t,r)=>{r.d(t,{t:()=>d});var o=r(43697),s=r(92036),i=r(61247),n=r(50758),a=r(17445),p=r(1654),l=r(5600),u=r(52011);let d=class extends s.Z{constructor(){super(...arguments),this.updating=!1,this._handleId=0,this._handles=new i.Z,this._scheduleHandleId=0,this._pendingPromises=new Set}destroy(){this.removeAll(),this._handles.destroy()}add(e,t,r={}){return this._installWatch(e,t,r,a.YP)}addWhen(e,t,r={}){return this._installWatch(e,t,r,a.gx)}addOnCollectionChange(e,t,{initial:r=!1,final:o=!1}={}){const s=++this._handleId;return this._handles.add([(0,a.on)(e,"after-changes",this._createSyncUpdatingCallback(),a.Z_),(0,a.on)(e,"change",t,{onListenerAdd:r?e=>t({added:e.toArray(),removed:[]}):void 0,onListenerRemove:o?e=>t({added:[],removed:e.toArray()}):void 0})],s),(0,n.kB)((()=>this._handles.remove(s)))}addPromise(e){if(null==e)return e;const t=++this._handleId;this._handles.add({remove:()=>{this._pendingPromises.delete(e)&&(0!==this._pendingPromises.size||this._handles.has(c)||this._set("updating",!1))}},t),this._pendingPromises.add(e),this._set("updating",!0);const r=()=>this._handles.remove(t);return e.then(r,r),e}removeAll(){this._pendingPromises.clear(),this._handles.removeAll(),this._set("updating",!1)}_installWatch(e,t,r={},o){const s=++this._handleId;r.sync||this._installSyncUpdatingWatch(e,s);const i=o(e,t,r);return this._handles.add(i,s),(0,n.kB)((()=>this._handles.remove(s)))}_installSyncUpdatingWatch(e,t){const r=this._createSyncUpdatingCallback(),o=(0,a.YP)(e,r,{sync:!0,equals:()=>!1});return this._handles.add(o,t),o}_createSyncUpdatingCallback(){return()=>{this._handles.remove(c),++this._scheduleHandleId;const e=this._scheduleHandleId;this._get("updating")||this._set("updating",!0),this._handles.add((0,p.Os)((()=>{e===this._scheduleHandleId&&(this._set("updating",this._pendingPromises.size>0),this._handles.remove(c))})),c)}}};(0,o._)([(0,l.Cb)({readOnly:!0})],d.prototype,"updating",void 0),d=(0,o._)([(0,u.j)("esri.core.support.WatchUpdatingTracking")],d);const c=-42},52781:(e,t,r)=>{r.r(t),r.d(t,{default:()=>m});var o=r(43697),s=r(20102),i=r(5600),n=(r(75215),r(67676),r(80442),r(52011)),a=r(19238),p=r(2368),l=r(96674);let u=class extends((0,p.J)(l.wq)){constructor(e){super(e)}read(e,t){const r={};for(const t in e)r[t.toLowerCase()]=e[t];super.read(r,t)}};(0,o._)([(0,i.Cb)({json:{name:"dempathprefix"}})],u.prototype,"demPathPrefix",void 0),(0,o._)([(0,i.Cb)({json:{name:"dempathsuffix"}})],u.prototype,"demPathSuffix",void 0),(0,o._)([(0,i.Cb)({json:{name:"imagepathprefix"}})],u.prototype,"imagePathPrefix",void 0),(0,o._)([(0,i.Cb)({json:{name:"imagepathsuffix"}})],u.prototype,"imagePathSuffix",void 0),(0,o._)([(0,i.Cb)({json:{name:"depthimagepathprefix"}})],u.prototype,"depthImagePathPrefix",void 0),(0,o._)([(0,i.Cb)({json:{name:"depthimagepathsuffix"}})],u.prototype,"depthImagePathSuffix",void 0),(0,o._)([(0,i.Cb)({json:{name:"localimagepathprefix"}})],u.prototype,"localImagePathPrefix",void 0),(0,o._)([(0,i.Cb)({json:{name:"localimagepathsuffix"}})],u.prototype,"localImagePathSuffix",void 0),(0,o._)([(0,i.Cb)({json:{name:"videopathprefix"}})],u.prototype,"videoPathPrefix",void 0),(0,o._)([(0,i.Cb)({json:{name:"videopathsuffix"}})],u.prototype,"videoPathSuffix",void 0),u=(0,o._)([(0,n.j)("esri.layers.orientedImagery.core.Affixes")],u);const d=u;let c=class extends l.wq{constructor(e){super(e)}};(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"averageHeightAboveGround",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"cameraHeading",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"cameraPitch",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"cameraRoll",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"farDistance",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"horizontalFieldOfView",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"nearDistance",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],c.prototype,"orientedImageryType",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],c.prototype,"verticalFieldOfView",void 0),c=(0,o._)([(0,n.j)("esri.layers.orientedImagery.core.CameraProperties")],c);const y=c;let h=class extends a.default{constructor(){super(...arguments),this.affixes=null,this.geometryType="point",this.operationalLayerType="OrientedImageryLayer",this.type="oriented-imagery"}get effectiveElevationSource(){const{elevationSource:e,affixes:t}=this;if(!e||!e.url?.trim())return;let r=e.url.trim();if(t){const{demPathSuffix:e,demPathPrefix:o}=t;o?.trim()&&(r=`${o.trim()}/${r}`),e?.trim()&&(r+=`/${e.trim()}`)}return{...e,url:r}}_verifySource(){if(super._verifySource(),"point"!==this.geometryType)throw new s.Z("oriented-imagery-layer:invalid-geometry-type","OrientedImageryLayer only supports point geometry type")}};(0,o._)([(0,i.Cb)({type:d,json:{write:!0}})],h.prototype,"affixes",void 0),(0,o._)([(0,i.Cb)({type:y,json:{write:!0}})],h.prototype,"cameraProperties",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],h.prototype,"coverage",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],h.prototype,"coveragePercent",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],h.prototype,"defaultSearchLocation",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],h.prototype,"depthImage",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],h.prototype,"geometryType",void 0),(0,o._)([(0,i.Cb)()],h.prototype,"imageProperties",void 0),(0,o._)([(0,i.Cb)({type:Number,json:{write:!0}})],h.prototype,"maximumDistance",void 0),(0,o._)([(0,i.Cb)({type:["OrientedImageryLayer"]})],h.prototype,"operationalLayerType",void 0),(0,o._)([(0,i.Cb)({json:{read:!1},value:"oriented-imagery",readOnly:!0})],h.prototype,"type",void 0),(0,o._)([(0,i.Cb)({json:{write:!0}})],h.prototype,"elevationSource",void 0),(0,o._)([(0,i.Cb)()],h.prototype,"effectiveElevationSource",null),h=(0,o._)([(0,n.j)("esri.layers.OrientedImageryLayer")],h);const m=h},54295:(e,t,r)=>{r.d(t,{V:()=>n});var o=r(43697),s=r(5600),i=(r(75215),r(67676),r(80442),r(52011));const n=e=>{let t=class extends e{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,o._)([(0,s.Cb)({type:String})],t.prototype,"apiKey",null),t=(0,o._)([(0,i.j)("esri.layers.mixins.APIKeyMixin")],t),t}},17287:(e,t,r)=>{r.d(t,{Y:()=>p});var o=r(43697),s=r(92604),i=r(5600),n=(r(75215),r(67676),r(80442),r(52011)),a=r(66677);const p=e=>{let t=class extends e{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,a.Qc)(this.url);if(null!=e&&e.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Nm)(e,s.Z.getLogger(this)))}};return(0,o._)([(0,i.Cb)()],t.prototype,"title",null),(0,o._)([(0,i.Cb)({type:String})],t.prototype,"url",null),t=(0,o._)([(0,n.j)("esri.layers.mixins.ArcGISService")],t),t}},70082:(e,t,r)=>{r.d(t,{Z:()=>d});var o=r(43697),s=r(2368),i=r(35454),n=r(96674),a=r(5600),p=(r(75215),r(67676),r(80442),r(52011));const l=new i.X({esriFeatureEditToolAutoCompletePolygon:"auto-complete-polygon",esriFeatureEditToolCircle:"circle",esriFeatureEditToolEllipse:"ellipse",esriFeatureEditToolFreehand:"freehand",esriFeatureEditToolLine:"line",esriFeatureEditToolNone:"none",esriFeatureEditToolPoint:"point",esriFeatureEditToolPolygon:"polygon",esriFeatureEditToolRectangle:"rectangle",esriFeatureEditToolArrow:"arrow",esriFeatureEditToolTriangle:"triangle",esriFeatureEditToolLeftArrow:"left-arrow",esriFeatureEditToolRightArrow:"right-arrow",esriFeatureEditToolUpArrow:"up-arrow",esriFeatureEditToolDownArrow:"down-arrow"});let u=class extends((0,s.J)(n.wq)){constructor(e){super(e),this.name=null,this.description=null,this.drawingTool=null,this.prototype=null,this.thumbnail=null}};(0,o._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"name",void 0),(0,o._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"description",void 0),(0,o._)([(0,a.Cb)({json:{read:l.read,write:l.write}})],u.prototype,"drawingTool",void 0),(0,o._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"prototype",void 0),(0,o._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"thumbnail",void 0),u=(0,o._)([(0,p.j)("esri.layers.support.FeatureTemplate")],u);const d=u},16451:(e,t,r)=>{r.d(t,{Z:()=>y});var o=r(43697),s=r(2368),i=r(96674),n=r(5600),a=(r(75215),r(67676),r(80442),r(71715)),p=r(52011),l=r(30556),u=r(72729),d=r(70082);let c=class extends((0,s.J)(i.wq)){constructor(e){super(e),this.id=null,this.name=null,this.domains=null,this.templates=null}readDomains(e){const t={};for(const r of Object.keys(e))t[r]=(0,u.im)(e[r]);return t}writeDomains(e,t){const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,o._)([(0,n.Cb)({json:{write:!0}})],c.prototype,"id",void 0),(0,o._)([(0,n.Cb)({json:{write:!0}})],c.prototype,"name",void 0),(0,o._)([(0,n.Cb)({json:{write:!0}})],c.prototype,"domains",void 0),(0,o._)([(0,a.r)("domains")],c.prototype,"readDomains",null),(0,o._)([(0,l.c)("domains")],c.prototype,"writeDomains",null),(0,o._)([(0,n.Cb)({type:[d.Z],json:{write:!0}})],c.prototype,"templates",void 0),c=(0,o._)([(0,p.j)("esri.layers.support.FeatureType")],c);const y=c},56765:(e,t,r)=>{r.d(t,{Z:()=>u});var o,s=r(43697),i=r(46791),n=r(96674),a=r(5600),p=(r(75215),r(67676),r(80442),r(52011));let l=o=class extends n.wq{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new i.Z}clone(){return new o({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,s._)([(0,a.Cb)({type:String,json:{write:!0}})],l.prototype,"floorField",void 0),(0,s._)([(0,a.Cb)({json:{read:!1,write:!1}})],l.prototype,"viewAllMode",void 0),(0,s._)([(0,a.Cb)({json:{read:!1,write:!1}})],l.prototype,"viewAllLevelIds",void 0),l=o=(0,s._)([(0,p.j)("esri.layers.support.LayerFloorInfo")],l);const u=l},72064:(e,t,r)=>{r.d(t,{h:()=>d});var o=r(80442),s=r(66677);const i={name:"supportsName",size:"supportsSize",contentType:"supportsContentType",keywords:"supportsKeywords",exifInfo:"supportsExifInfo"};function n(e,t,r){return!!p(e,t,r)}function a(e,t,r){return p(e,t,r)}function p(e,t,r){return e&&e.hasOwnProperty(t)?e[t]:r}function l(e){const t=e?.supportedSpatialAggregationStatistics?.map((e=>e.toLowerCase()));return{envelope:!!t?.includes("envelopeaggregate"),centroid:!!t?.includes("centroidaggregate"),convexHull:!!t?.includes("convexhullaggregate")}}function u(e,t){const r=e?.supportedOperationsWithCacheHint?.map((e=>e.toLowerCase()));return!!r?.includes(t.toLowerCase())}function d(e,t){return{analytics:c(e),attachment:y(e),data:h(e),metadata:m(e),operations:f(e.capabilities,e,t),query:g(e,t),queryRelated:v(e),queryTopFeatures:_(e),editing:w(e)}}function c(e){return{supportsCacheHint:u(e.advancedQueryCapabilities,"queryAnalytics")}}function y(e){const t=e.attachmentProperties,r={supportsName:!1,supportsSize:!1,supportsContentType:!1,supportsKeywords:!1,supportsExifInfo:!1,supportsCacheHint:u(e.advancedQueryCapabilities,"queryAttachments"),supportsResize:n(e,"supportsAttachmentsResizing",!1)};return t&&Array.isArray(t)&&t.forEach((e=>{const t=i[e.name];t&&(r[t]=!!e.isEnabled)})),r}function h(e){return{isVersioned:n(e,"isDataVersioned",!1),supportsAttachment:n(e,"hasAttachments",!1),supportsM:n(e,"hasM",!1),supportsZ:n(e,"hasZ",!1)}}function m(e){return{supportsAdvancedFieldProperties:n(e,"supportsFieldDescriptionProperty",!1)}}function f(e,t,r){const o=e?e.toLowerCase().split(",").map((e=>e.trim())):[],i=r?(0,s.Qc)(r):null,a=o.includes(null!=i&&"MapServer"===i.serverType?"data":"query"),p=o.includes("editing")&&!t.datesInUnknownTimezone;let l=p&&o.includes("create"),u=p&&o.includes("delete"),d=p&&o.includes("update");const c=o.includes("changetracking"),y=t.advancedQueryCapabilities;return p&&!(l||u||d)&&(l=u=d=!0),{supportsCalculate:n(t,"supportsCalculate",!1),supportsTruncate:n(t,"supportsTruncate",!1),supportsValidateSql:n(t,"supportsValidateSql",!1),supportsAdd:l,supportsDelete:u,supportsEditing:p,supportsChangeTracking:c,supportsQuery:a,supportsQueryAnalytics:n(y,"supportsQueryAnalytic",!1),supportsQueryAttachments:n(y,"supportsQueryAttachments",!1),supportsQueryTopFeatures:n(y,"supportsTopFeaturesQuery",!1),supportsResizeAttachments:n(t,"supportsAttachmentsResizing",!1),supportsSync:o.includes("sync"),supportsUpdate:d,supportsExceedsLimitStatistics:n(t,"supportsExceedsLimitStatistics",!1)}}function g(e,t){const r=e.advancedQueryCapabilities,i=e.ownershipBasedAccessControlForFeatures,p=e.archivingInfo,d=e.currentVersion,c=t?.includes("MapServer"),y=!c||d>=(0,o.Z)("mapserver-pbf-version-support"),h=(0,s.M8)(t),m=new Set((e.supportedQueryFormats??"").split(",").map((e=>e.toLowerCase().trim())));return{supportsStatistics:n(r,"supportsStatistics",e.supportsStatistics),supportsPercentileStatistics:n(r,"supportsPercentileStatistics",!1),supportsSpatialAggregationStatistics:n(r,"supportsSpatialAggregationStatistics",!1),supportedSpatialAggregationStatistics:l(r),supportsCentroid:n(r,"supportsReturningGeometryCentroid",!1),supportsDistance:n(r,"supportsQueryWithDistance",!1),supportsDistinct:n(r,"supportsDistinct",e.supportsAdvancedQueries),supportsExtent:n(r,"supportsReturningQueryExtent",!1),supportsGeometryProperties:n(r,"supportsReturningGeometryProperties",!1),supportsHavingClause:n(r,"supportsHavingClause",!1),supportsOrderBy:n(r,"supportsOrderBy",e.supportsAdvancedQueries),supportsPagination:n(r,"supportsPagination",!1),supportsQuantization:n(e,"supportsCoordinatesQuantization",!1),supportsQuantizationEditMode:n(e,"supportsQuantizationEditMode",!1),supportsQueryGeometry:n(e,"supportsReturningQueryGeometry",!1),supportsResultType:n(r,"supportsQueryWithResultType",!1),supportsMaxRecordCountFactor:n(r,"supportsMaxRecordCountFactor",!1),supportsSqlExpression:n(r,"supportsSqlExpression",!1),supportsStandardizedQueriesOnly:n(e,"useStandardizedQueries",!1),supportsTopFeaturesQuery:n(r,"supportsTopFeaturesQuery",!1),supportsQueryByOthers:n(i,"allowOthersToQuery",!0),supportsHistoricMoment:n(p,"supportsQueryWithHistoricMoment",!1),supportsFormatPBF:y&&m.has("pbf"),supportsDisjointSpatialRelationship:n(r,"supportsDisjointSpatialRel",!1),supportsCacheHint:n(r,"supportsQueryWithCacheHint",!1)||u(r,"query"),supportsDefaultSpatialReference:n(r,"supportsDefaultSR",!1),supportsCompactGeometry:h,supportsFullTextSearch:n(r,"supportsFullTextSearch",!1),maxRecordCountFactor:a(e,"maxRecordCountFactor",void 0),maxRecordCount:a(e,"maxRecordCount",void 0),standardMaxRecordCount:a(e,"standardMaxRecordCount",void 0),tileMaxRecordCount:a(e,"tileMaxRecordCount",void 0)}}function v(e){const t=e.advancedQueryCapabilities,r=n(t,"supportsAdvancedQueryRelated",!1);return{supportsPagination:n(t,"supportsQueryRelatedPagination",!1),supportsCount:r,supportsOrderBy:r,supportsCacheHint:u(t,"queryRelated")}}function _(e){return{supportsCacheHint:u(e.advancedQueryCapabilities,"queryTopFilter")}}function w(e){const t=e.ownershipBasedAccessControlForFeatures,r=e?e.advancedEditingCapabilities:void 0;return{supportsGeometryUpdate:n(e,"allowGeometryUpdates",!0),supportsGlobalId:n(e,"supportsApplyEditsWithGlobalIds",!1),supportsReturnServiceEditsInSourceSpatialReference:n(e,"supportsReturnServiceEditsInSourceSR",!1),supportsRollbackOnFailure:n(e,"supportsRollbackOnFailureParameter",!1),supportsUpdateWithoutM:n(e,"allowUpdateWithoutMValues",!1),supportsUploadWithItemId:n(e,"supportsAttachmentsByUploadId",!1),supportsDeleteByAnonymous:n(t,"allowAnonymousToDelete",!0),supportsDeleteByOthers:n(t,"allowOthersToDelete",!0),supportsUpdateByAnonymous:n(t,"allowAnonymousToUpdate",!0),supportsUpdateByOthers:n(t,"allowOthersToUpdate",!0),supportsAsyncApplyEdits:n(r,"supportsAsyncApplyEdits",!1)}}},51706:(e,t,r)=>{var o,s;function i(e){return e&&"esri.renderers.visualVariables.SizeVariable"===e.declaredClass}function n(e){return null!=e&&!isNaN(e)&&isFinite(e)}function a(e){return e.valueExpression?o.Expression:e.field&&"string"==typeof e.field?o.Field:o.Unknown}function p(e,t){const r=t||a(e),i=e.valueUnit||"unknown";return r===o.Unknown?s.Constant:e.stops?s.Stops:null!=e.minSize&&null!=e.maxSize&&null!=e.minDataValue&&null!=e.maxDataValue?s.ClampedLinear:"unknown"===i?null!=e.minSize&&null!=e.minDataValue?e.minSize&&e.minDataValue?s.Proportional:s.Additive:s.Identity:s.RealWorldSize}r.d(t,{PS:()=>a,QW:()=>p,RY:()=>o,hL:()=>s,iY:()=>i,qh:()=>n}),function(e){e.Unknown="unknown",e.Expression="expression",e.Field="field"}(o||(o={})),function(e){e.Unknown="unknown",e.Stops="stops",e.ClampedLinear="clamped-linear",e.Proportional="proportional",e.Additive="additive",e.Constant="constant",e.Identity="identity",e.RealWorldSize="real-world-size"}(s||(s={}))},28694:(e,t,r)=>{r.d(t,{p:()=>s});var o=r(69285);function s(e,t,r){if(!r||!r.features||!r.hasZ)return;const s=(0,o.k)(r.geometryType,t,e.outSpatialReference);if(null!=s)for(const e of r.features)s(e.geometry)}},56545:(e,t,r)=>{r.d(t,{Z:()=>c});var o,s=r(43697),i=r(96674),n=r(22974),a=r(5600),p=r(75215),l=r(52011),u=r(30556);let d=o=class extends i.wq{constructor(e){super(e),this.attachmentTypes=null,this.attachmentsWhere=null,this.cacheHint=void 0,this.keywords=null,this.globalIds=null,this.name=null,this.num=null,this.objectIds=null,this.returnMetadata=!1,this.size=null,this.start=null,this.where=null}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10}clone(){return new o((0,n.d9)({attachmentTypes:this.attachmentTypes,attachmentsWhere:this.attachmentsWhere,cacheHint:this.cacheHint,keywords:this.keywords,where:this.where,globalIds:this.globalIds,name:this.name,num:this.num,objectIds:this.objectIds,returnMetadata:this.returnMetadata,size:this.size,start:this.start}))}};(0,s._)([(0,a.Cb)({type:[String],json:{write:!0}})],d.prototype,"attachmentTypes",void 0),(0,s._)([(0,a.Cb)({type:String,json:{read:{source:"attachmentsDefinitionExpression"},write:{target:"attachmentsDefinitionExpression"}}})],d.prototype,"attachmentsWhere",void 0),(0,s._)([(0,a.Cb)({type:Boolean,json:{write:!0}})],d.prototype,"cacheHint",void 0),(0,s._)([(0,a.Cb)({type:[String],json:{write:!0}})],d.prototype,"keywords",void 0),(0,s._)([(0,a.Cb)({type:[Number],json:{write:!0}})],d.prototype,"globalIds",void 0),(0,s._)([(0,a.Cb)({json:{write:!0}})],d.prototype,"name",void 0),(0,s._)([(0,a.Cb)({type:Number,json:{read:{source:"resultRecordCount"}}})],d.prototype,"num",void 0),(0,s._)([(0,a.Cb)({type:[Number],json:{write:!0}})],d.prototype,"objectIds",void 0),(0,s._)([(0,a.Cb)({type:Boolean,json:{default:!1,write:!0}})],d.prototype,"returnMetadata",void 0),(0,s._)([(0,a.Cb)({type:[Number],json:{write:!0}})],d.prototype,"size",void 0),(0,s._)([(0,a.Cb)({type:Number,json:{read:{source:"resultOffset"}}})],d.prototype,"start",void 0),(0,s._)([(0,u.c)("start"),(0,u.c)("num")],d.prototype,"writeStart",null),(0,s._)([(0,a.Cb)({type:String,json:{read:{source:"definitionExpression"},write:{target:"definitionExpression"}}})],d.prototype,"where",void 0),d=o=(0,s._)([(0,l.j)("esri.rest.support.AttachmentQuery")],d),d.from=(0,p.se)(d);const c=d},74889:(e,t,r)=>{r.d(t,{Z:()=>_});var o,s=r(43697),i=r(66577),n=r(38171),a=r(35454),p=r(96674),l=r(22974),u=r(5600),d=(r(75215),r(71715)),c=r(52011),y=r(30556),h=r(82971),m=r(33955),f=r(1231);const g=new a.X({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryEnvelope:"extent",mesh:"mesh","":null});let v=o=class extends p.wq{constructor(e){super(e),this.displayFieldName=null,this.exceededTransferLimit=!1,this.features=[],this.fields=null,this.geometryType=null,this.hasM=!1,this.hasZ=!1,this.queryGeometry=null,this.spatialReference=null}readFeatures(e,t){const r=h.Z.fromJSON(t.spatialReference),o=[];for(let t=0;t<e.length;t++){const s=e[t],i=n.Z.fromJSON(s),a=s.geometry&&s.geometry.spatialReference;null==i.geometry||a||(i.geometry.spatialReference=r);const p=s.aggregateGeometries,l=i.aggregateGeometries;if(p&&null!=l)for(const e in l){const t=l[e],o=p[e],s=o?.spatialReference;null==t||s||(t.spatialReference=r)}o.push(i)}return o}writeGeometryType(e,t,r,o){if(e)return void g.write(e,t,r,o);const{features:s}=this;if(s)for(const e of s)if(e&&null!=e.geometry)return void g.write(e.geometry.type,t,r,o)}readQueryGeometry(e,t){if(!e)return null;const r=!!e.spatialReference,o=(0,m.im)(e);return o&&!r&&t.spatialReference&&(o.spatialReference=h.Z.fromJSON(t.spatialReference)),o}writeSpatialReference(e,t){if(e)return void(t.spatialReference=e.toJSON());const{features:r}=this;if(r)for(const e of r)if(e&&null!=e.geometry&&e.geometry.spatialReference)return void(t.spatialReference=e.geometry.spatialReference.toJSON())}clone(){return new o(this.cloneProperties())}cloneProperties(){return(0,l.d9)({displayFieldName:this.displayFieldName,exceededTransferLimit:this.exceededTransferLimit,features:this.features,fields:this.fields,geometryType:this.geometryType,hasM:this.hasM,hasZ:this.hasZ,queryGeometry:this.queryGeometry,spatialReference:this.spatialReference,transform:this.transform})}toJSON(e){const t=this.write();if(t.features&&Array.isArray(e)&&e.length>0)for(let r=0;r<t.features.length;r++){const o=t.features[r];if(o.geometry){const t=e&&e[r];o.geometry=t&&t.toJSON()||o.geometry}}return t}quantize(e){const{scale:[t,r],translate:[o,s]}=e,i=this.features,n=this._getQuantizationFunction(this.geometryType,(e=>Math.round((e-o)/t)),(e=>Math.round((s-e)/r)));for(let e=0,t=i.length;e<t;e++)n?.(i[e].geometry)||(i.splice(e,1),e--,t--);return this.transform=e,this}unquantize(){const{geometryType:e,features:t,transform:r}=this;if(!r)return this;const{translate:[o,s],scale:[i,n]}=r;let a=null,p=null;if(this.hasZ&&null!=r?.scale?.[2]){const{translate:[,,e],scale:[,,t]}=r;a=r=>r*t+e}if(this.hasM&&null!=r?.scale?.[3]){const{translate:[,,,e],scale:[,,,t]}=r;p=r=>null==r?r:r*t+e}const l=this._getHydrationFunction(e,(e=>e*i+o),(e=>s-e*n),a,p);for(const{geometry:e}of t)null!=e&&l&&l(e);return this.transform=null,this}_quantizePoints(e,t,r){let o,s;const i=[];for(let n=0,a=e.length;n<a;n++){const a=e[n];if(n>0){const e=t(a[0]),n=r(a[1]);e===o&&n===s||(i.push([e-o,n-s]),o=e,s=n)}else o=t(a[0]),s=r(a[1]),i.push([o,s])}return i.length>0?i:null}_getQuantizationFunction(e,t,r){return"point"===e?e=>(e.x=t(e.x),e.y=r(e.y),e):"polyline"===e||"polygon"===e?e=>{const o=(0,m.oU)(e)?e.rings:e.paths,s=[];for(let e=0,i=o.length;e<i;e++){const i=o[e],n=this._quantizePoints(i,t,r);n&&s.push(n)}return s.length>0?((0,m.oU)(e)?e.rings=s:e.paths=s,e):null}:"multipoint"===e?e=>{const o=this._quantizePoints(e.points,t,r);return o&&o.length>0?(e.points=o,e):null}:"extent"===e?e=>e:null}_getHydrationFunction(e,t,r,o,s){return"point"===e?e=>{e.x=t(e.x),e.y=r(e.y),o&&(e.z=o(e.z))}:"polyline"===e||"polygon"===e?e=>{const i=(0,m.oU)(e)?e.rings:e.paths;let n,a;for(let e=0,o=i.length;e<o;e++){const o=i[e];for(let e=0,s=o.length;e<s;e++){const s=o[e];e>0?(n+=s[0],a+=s[1]):(n=s[0],a=s[1]),s[0]=t(n),s[1]=r(a)}}if(o&&s)for(let e=0,t=i.length;e<t;e++){const t=i[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=o(r[2]),r[3]=s(r[3])}}else if(o)for(let e=0,t=i.length;e<t;e++){const t=i[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=o(r[2])}}else if(s)for(let e=0,t=i.length;e<t;e++){const t=i[e];for(let e=0,r=t.length;e<r;e++){const r=t[e];r[2]=s(r[2])}}}:"extent"===e?e=>{e.xmin=t(e.xmin),e.ymin=r(e.ymin),e.xmax=t(e.xmax),e.ymax=r(e.ymax),o&&null!=e.zmax&&null!=e.zmin&&(e.zmax=o(e.zmax),e.zmin=o(e.zmin)),s&&null!=e.mmax&&null!=e.mmin&&(e.mmax=s(e.mmax),e.mmin=s(e.mmin))}:"multipoint"===e?e=>{const i=e.points;let n,a;for(let e=0,o=i.length;e<o;e++){const o=i[e];e>0?(n+=o[0],a+=o[1]):(n=o[0],a=o[1]),o[0]=t(n),o[1]=r(a)}if(o&&s)for(let e=0,t=i.length;e<t;e++){const t=i[e];t[2]=o(t[2]),t[3]=s(t[3])}else if(o)for(let e=0,t=i.length;e<t;e++){const t=i[e];t[2]=o(t[2])}else if(s)for(let e=0,t=i.length;e<t;e++){const t=i[e];t[2]=s(t[2])}}:null}};(0,s._)([(0,u.Cb)({type:String,json:{write:!0}})],v.prototype,"displayFieldName",void 0),(0,s._)([(0,u.Cb)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"exceededTransferLimit",void 0),(0,s._)([(0,u.Cb)({type:[n.Z],json:{write:!0}})],v.prototype,"features",void 0),(0,s._)([(0,d.r)("features")],v.prototype,"readFeatures",null),(0,s._)([(0,u.Cb)({type:[f.Z],json:{write:!0}})],v.prototype,"fields",void 0),(0,s._)([(0,u.Cb)({type:["point","multipoint","polyline","polygon","extent","mesh"],json:{read:{reader:g.read}}})],v.prototype,"geometryType",void 0),(0,s._)([(0,y.c)("geometryType")],v.prototype,"writeGeometryType",null),(0,s._)([(0,u.Cb)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasM",void 0),(0,s._)([(0,u.Cb)({type:Boolean,json:{write:{overridePolicy:e=>({enabled:e})}}})],v.prototype,"hasZ",void 0),(0,s._)([(0,u.Cb)({types:i.qM,json:{write:!0}})],v.prototype,"queryGeometry",void 0),(0,s._)([(0,d.r)("queryGeometry")],v.prototype,"readQueryGeometry",null),(0,s._)([(0,u.Cb)({type:h.Z,json:{write:!0}})],v.prototype,"spatialReference",void 0),(0,s._)([(0,y.c)("spatialReference")],v.prototype,"writeSpatialReference",null),(0,s._)([(0,u.Cb)({json:{write:!0}})],v.prototype,"transform",void 0),v=o=(0,s._)([(0,c.j)("esri.rest.support.FeatureSet")],v),v.prototype.toJSON.isDefaultToJSON=!0;const _=v},58333:(e,t,r)=>{r.d(t,{ET:()=>i,I4:()=>s,eG:()=>p,lF:()=>n,lj:()=>u,qP:()=>a,wW:()=>l});const o=[252,146,31,255],s={type:"esriSMS",style:"esriSMSCircle",size:6,color:o,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},i={type:"esriSLS",style:"esriSLSSolid",width:.75,color:o},n={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},a={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},p={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},l={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},u={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[4668],{3920:(e,t,r)=>{r.d(t,{p:()=>p,r:()=>u});var s=r(43697),i=r(92036),o=r(61247),n=r(5600),a=r(52011),l=r(72762);const p=e=>{let t=class extends e{constructor(){super(...arguments),this._handles=new o.Z,this._updatingHandles=new l.t}destroy(){this.destroyed||(this._handles.destroy(),this._updatingHandles.destroy())}get handles(){return this._handles}get updatingHandles(){return this._updatingHandles}};return(0,s._)([(0,n.Cb)({readOnly:!0})],t.prototype,"handles",null),(0,s._)([(0,n.Cb)({readOnly:!0})],t.prototype,"updatingHandles",null),t=(0,s._)([(0,a.j)("esri.core.HandleOwner")],t),t};let u=class extends(p(i.Z)){};u=(0,s._)([(0,a.j)("esri.core.HandleOwner")],u)},68668:(e,t,r)=>{r.d(t,{G:()=>n,w:()=>a});var s=r(66643),i=r(46791),o=r(83379);async function n(e,t){return await e.load(),a(e,t)}async function a(e,t){const r=[],n=(...e)=>{for(const t of e)null!=t&&(Array.isArray(t)?n(...t):i.Z.isCollection(t)?t.forEach((e=>n(e))):o.Z.isLoadable(t)&&r.push(t))};t(n);let a=null;if(await(0,s.UI)(r,(async e=>{const t=await(0,s.q6)(function(e){return"loadAll"in e&&"function"==typeof e.loadAll}(e)?e.loadAll():e.load());!1!==t.ok||a||(a=t)})),a)throw a.error;return e}},42033:(e,t,r)=>{async function s(e,t){const{WhereClause:s}=await r.e(1534).then(r.bind(r,41534));return s.create(e,t)}function i(e,t){return null!=e?null!=t?`(${e}) AND (${t})`:e:t}r.d(t,{E:()=>s,_:()=>i})},72762:(e,t,r)=>{r.d(t,{t:()=>d});var s=r(43697),i=r(92036),o=r(61247),n=r(50758),a=r(17445),l=r(1654),p=r(5600),u=r(52011);let d=class extends i.Z{constructor(){super(...arguments),this.updating=!1,this._handleId=0,this._handles=new o.Z,this._scheduleHandleId=0,this._pendingPromises=new Set}destroy(){this.removeAll(),this._handles.destroy()}add(e,t,r={}){return this._installWatch(e,t,r,a.YP)}addWhen(e,t,r={}){return this._installWatch(e,t,r,a.gx)}addOnCollectionChange(e,t,{initial:r=!1,final:s=!1}={}){const i=++this._handleId;return this._handles.add([(0,a.on)(e,"after-changes",this._createSyncUpdatingCallback(),a.Z_),(0,a.on)(e,"change",t,{onListenerAdd:r?e=>t({added:e.toArray(),removed:[]}):void 0,onListenerRemove:s?e=>t({added:[],removed:e.toArray()}):void 0})],i),(0,n.kB)((()=>this._handles.remove(i)))}addPromise(e){if(null==e)return e;const t=++this._handleId;this._handles.add({remove:()=>{this._pendingPromises.delete(e)&&(0!==this._pendingPromises.size||this._handles.has(y)||this._set("updating",!1))}},t),this._pendingPromises.add(e),this._set("updating",!0);const r=()=>this._handles.remove(t);return e.then(r,r),e}removeAll(){this._pendingPromises.clear(),this._handles.removeAll(),this._set("updating",!1)}_installWatch(e,t,r={},s){const i=++this._handleId;r.sync||this._installSyncUpdatingWatch(e,i);const o=s(e,t,r);return this._handles.add(o,i),(0,n.kB)((()=>this._handles.remove(i)))}_installSyncUpdatingWatch(e,t){const r=this._createSyncUpdatingCallback(),s=(0,a.YP)(e,r,{sync:!0,equals:()=>!1});return this._handles.add(s,t),s}_createSyncUpdatingCallback(){return()=>{this._handles.remove(y),++this._scheduleHandleId;const e=this._scheduleHandleId;this._get("updating")||this._set("updating",!0),this._handles.add((0,l.Os)((()=>{e===this._scheduleHandleId&&(this._set("updating",this._pendingPromises.size>0),this._handles.remove(y))})),y)}}};(0,s._)([(0,p.Cb)({readOnly:!0})],d.prototype,"updating",void 0),d=(0,s._)([(0,u.j)("esri.core.support.WatchUpdatingTracking")],d);const y=-42},4632:(e,t,r)=>{r.r(t),r.d(t,{default:()=>W});var s=r(43697),i=r(46791),o=r(20102),n=r(3920),a=r(68668),l=r(16453),p=r(95330),u=r(17445),d=r(42033),y=r(81271),c=r(5600),h=(r(75215),r(67676),r(80442),r(71715)),b=r(52011),g=r(31263),m=r(87085),f=r(54295),v=r(17287),w=r(71612),_=r(17017),C=r(66361),S=r(53713),F=r(38009),I=r(16859),T=r(34760),A=r(72965),j=r(28294),O=r(66677),E=r(21506),x=r(50957),R=r(53518),P=r(35671),L=r(96674),Z=r(30556),Q=r(72729);let M=class extends L.wq{constructor(){super(...arguments),this.code=null,this.defaultValues={},this.domains=null,this.name=null}readDomains(e){if(!e)return null;const t={};for(const r of Object.keys(e))t[r]=(0,Q.im)(e[r]);return t}writeDomains(e,t){if(!e)return;const r={};for(const t of Object.keys(e))e[t]&&(r[t]=e[t]?.toJSON());t.domains=r}};(0,s._)([(0,c.Cb)({type:Number,json:{write:!0}})],M.prototype,"code",void 0),(0,s._)([(0,c.Cb)({type:Object,json:{write:!0}})],M.prototype,"defaultValues",void 0),(0,s._)([(0,c.Cb)({json:{write:!0}})],M.prototype,"domains",void 0),(0,s._)([(0,h.r)("domains")],M.prototype,"readDomains",null),(0,s._)([(0,Z.c)("domains")],M.prototype,"writeDomains",null),(0,s._)([(0,c.Cb)({type:String,json:{write:!0}})],M.prototype,"name",void 0),M=(0,s._)([(0,b.j)("esri.layers.support.Subtype")],M);const D=M;var q=r(65791),G=r(76259),k=r(60199),U=r(14165);const H="SubtypeGroupLayer";function z(e,t){return new o.Z("layer:unsupported",`Layer (${e.title}, ${e.id}) of type '${e.declaredClass}' ${t}`,{layer:e})}const N=(0,R.v)();let V=class extends((0,S.B)((0,C.o1)((0,w.h)((0,j.n)((0,A.M)((0,T.Q)((0,v.Y)((0,F.q)((0,I.I)((0,l.R)((0,_.N)((0,f.V)((0,n.p)(m.Z)))))))))))))){constructor(...e){super(...e),this._sublayersCollectionChanged=!1,this._sublayerLookup=new Map,this.fields=null,this.fieldsIndex=null,this.outFields=null,this.subtypes=null,this.sublayers=new(i.Z.ofType(q.Z)),this.timeInfo=null,this.title="Layer",this.type="subtype-group",this.addHandles((0,u.YP)((()=>this.sublayers),((e,t)=>this._handleSublayersChange(e,t)),u.Z_))}destroy(){this.source?.destroy()}normalizeCtorArgs(e,t){return"string"==typeof e?{url:e,...t}:e}load(e){const t=null!=e?e.signal:null,r=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(p.r9).then((async()=>{if(!this.url)throw new o.Z("subtype-grouplayer:missing-url-or-source","SubtypeGroupLayer must be created with either a url or a portal item");if(null==this.layerId)throw new o.Z("subtype-grouplayer:missing-layerid","layerId is required for a SubtypeGroupLayer created with url");return this._initLayerProperties(await this.createGraphicsSource(t))})).then((()=>this._setUserPrivileges(this.serviceItemId,e))).then((()=>(0,x.nU)(this,e)));return this.addResolvingPromise(r),Promise.resolve(this)}get createQueryVersion(){return this.commitProperty("definitionExpression"),this.commitProperty("timeExtent"),this.commitProperty("timeOffset"),this.commitProperty("geometryType"),this.commitProperty("gdbVersion"),this.commitProperty("historicMoment"),this.commitProperty("returnZ"),this.commitProperty("capabilities"),this.commitProperty("returnM"),(this._get("createQueryVersion")??0)+1}get editingEnabled(){return this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}get effectiveEditingEnabled(){return(0,x.sX)(this)}get parsedUrl(){const e=(0,y.mN)(this.url);return null!=e&&null!=this.layerId&&(e.path=(0,y.v_)(e.path,this.layerId.toString())),e}set source(e){this._get("source")!==e&&this._set("source",e)}readTitleFromService(e,{name:t}){return this.url?(0,O.a7)(this.url,t):t}async addAttachment(e,t){return(0,x.JD)(this,e,t,H)}async updateAttachment(e,t,r){return(0,x.Y5)(this,e,t,r,H)}async applyEdits(e,t){return(0,x.Jj)(this,e,t)}on(e,t){return super.on(e,t)}async createGraphicsSource(e){const{default:t}=await(0,p.Hl)(Promise.all([r.e(4599),r.e(9771)]).then(r.bind(r,6502)),e);return new t({layer:this}).load({signal:e})}createQuery(){const e=(0,x.rP)(this),t=this.sublayers.map((e=>e.subtypeCode));return e.where=(0,d._)(`${this.subtypeField} IN (${t.join(",")})`,this.definitionExpression),e}async deleteAttachments(e,t){return(0,x.FV)(this,e,t,H)}async fetchRecomputedExtents(e){return(0,x.Ci)(this,e,H)}findSublayerForFeature(e){const t=this.fieldsIndex.get(this.subtypeField),r=e.attributes[t.name];return this.findSublayerForSubtypeCode(r)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){return this._getLayerDomain(e)}getField(e){return this.fieldsIndex.get(e)}loadAll(){return(0,a.G)(this,(e=>{e(this.sublayers)}))}async queryAttachments(e,t){return(0,x.SU)(this,e,t,H)}async queryFeatures(e,t){const r=await this.load(),s=U.Z.from(e)??r.createQuery(),i=s.outFields??[];i.includes(this.subtypeField)||(i.push(this.subtypeField),s.outFields=i);const o=await r.source.queryFeatures(s,t);if(o?.features)for(const e of o.features)e.layer=e.sourceLayer=this.findSublayerForFeature(e);return o}async queryObjectIds(e,t){return(0,x.tD)(this,e,t,H)}async queryFeatureCount(e,t){return(0,x.VG)(this,e,t,H)}async queryExtent(e,t){return(0,x.KE)(this,e,t,H)}async queryRelatedFeatures(e,t){return(0,x.kp)(this,e,t,H)}async queryRelatedFeaturesCount(e,t){return(0,x.C9)(this,e,t,H)}write(e,t){const{origin:r,layerContainerType:s,messages:i}=t;if(this.isTable){if("web-scene"===r||"web-map"===r&&"tables"!==s)return i?.push(z(this,"using a table source cannot be written to web scenes and web maps")),null}else if(this.loaded&&"web-map"===r&&"tables"===s)return i?.push(z(this,"using a non-table source cannot be written to tables in web maps")),null;return this.sublayers?.length?super.write(e,t):(i?.push(new o.Z("web-document-write:invalid-property",`Layer (${this.title}, ${this.id}) of type '${this.declaredClass}' has invalid value for 'sublayers' property. 'sublayers' collection should contain at least one sublayer`,{layer:this})),null)}serviceSupportsSpatialReference(e){return!!this.loaded&&(0,k.D)(this,e)}_getLayerDomain(e){const t=this.fieldsIndex.get(e);return t?t.domain:null}async _initLayerProperties(e){this._set("source",e);const{sourceJSON:t}=e;if(t&&(this.sourceJSON=t,this.read(t,{origin:"service",url:this.parsedUrl})),this.isTable)throw new o.Z("subtype-grouplayer:unsupported-source","SubtypeGroupLayer cannot be created using a layer with table source");if(!this.subtypes?.length)throw new o.Z("subtype-grouplayer:missing-subtypes","SubtypeGroupLayer must be created using a layer with subtypes");this._verifyFields(),(0,P.UF)(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return(0,x.gG)(this)}_verifyFields(){const e=this.parsedUrl?.path??"undefined";this.objectIdField||console.log("SubtypeGroupLayer: 'objectIdField' property is not defined (url: "+e+")"),this.isTable||-1!==e.search(/\/FeatureServer\//i)||this.fields?.some((e=>"geometry"===e.type))||console.log("SubtypeGroupLayer: unable to find field of type 'geometry' in the layer 'fields' list. If you are using a map service layer, features will not have geometry (url: "+e+")")}_handleSublayersChange(e,t){t&&(t.forEach((e=>{e.parent=null})),this.handles.remove("sublayers-owner"),this._sublayerLookup.clear()),e&&(e.forEach((e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)})),this._sublayersCollectionChanged=!1,this.handles.add([e.on("after-add",(({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)})),e.on("after-remove",(({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)})),e.on("after-changes",(()=>{this._sublayersCollectionChanged=!0}))],"sublayers-owner"))}};(0,s._)([(0,c.Cb)({readOnly:!0})],V.prototype,"createQueryVersion",null),(0,s._)([(0,c.Cb)({readOnly:!0})],V.prototype,"editingEnabled",null),(0,s._)([(0,c.Cb)({readOnly:!0})],V.prototype,"effectiveEditingEnabled",null),(0,s._)([(0,c.Cb)({...N.fields,readOnly:!0,json:{origins:{service:{read:!0}},read:!1}})],V.prototype,"fields",void 0),(0,s._)([(0,c.Cb)(N.fieldsIndex)],V.prototype,"fieldsIndex",void 0),(0,s._)([(0,c.Cb)(E.id)],V.prototype,"id",void 0),(0,s._)([(0,c.Cb)({type:["show","hide","hide-children"]})],V.prototype,"listMode",void 0),(0,s._)([(0,c.Cb)({value:"SubtypeGroupLayer",type:["SubtypeGroupLayer"]})],V.prototype,"operationalLayerType",void 0),(0,s._)([(0,c.Cb)(N.outFields)],V.prototype,"outFields",void 0),(0,s._)([(0,c.Cb)({readOnly:!0})],V.prototype,"parsedUrl",null),(0,s._)([(0,c.Cb)()],V.prototype,"source",null),(0,s._)([(0,c.Cb)({type:[D],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],V.prototype,"subtypes",void 0),(0,s._)([(0,c.Cb)({type:i.Z.ofType(q.Z),json:{origins:{service:{read:{source:"subtypes",reader:(e,t,r)=>{const s=e.map((({code:e})=>{const s=new q.Z({subtypeCode:e});return s.read(t,r),s}));return new(i.Z.ofType(q.Z))(s)}}}},name:"layers",write:{overridePolicy(e,t,r){const s=this.originOf("sublayers"),i=g.s3.PORTAL_ITEM;let o=!0;if((0,g.M9)(s)===i&&(0,g.M9)(r.origin)>i){const t=e.some((e=>e.hasUserOverrides()));o=this._sublayersCollectionChanged||t}return{enabled:o,ignoreOrigin:!0}}}}})],V.prototype,"sublayers",void 0),(0,s._)([(0,c.Cb)({type:G.Z})],V.prototype,"timeInfo",void 0),(0,s._)([(0,c.Cb)({json:{origins:{"portal-item":{write:{ignoreOrigin:!0,writerEnsuresNonNull:!0}}}}})],V.prototype,"title",void 0),(0,s._)([(0,h.r)("service","title",["name"])],V.prototype,"readTitleFromService",null),(0,s._)([(0,c.Cb)({json:{read:!1}})],V.prototype,"type",void 0),V=(0,s._)([(0,b.j)("esri.layers.SubtypeGroupLayer")],V);const W=V},54295:(e,t,r)=>{r.d(t,{V:()=>n});var s=r(43697),i=r(5600),o=(r(75215),r(67676),r(80442),r(52011));const n=e=>{let t=class extends e{get apiKey(){return this._isOverridden("apiKey")?this._get("apiKey"):"portalItem"in this?this.portalItem?.apiKey:null}set apiKey(e){null!=e?this._override("apiKey",e):(this._clearOverride("apiKey"),this.clear("apiKey","user"))}};return(0,s._)([(0,i.Cb)({type:String})],t.prototype,"apiKey",null),t=(0,s._)([(0,o.j)("esri.layers.mixins.APIKeyMixin")],t),t}},17287:(e,t,r)=>{r.d(t,{Y:()=>l});var s=r(43697),i=r(92604),o=r(5600),n=(r(75215),r(67676),r(80442),r(52011)),a=r(66677);const l=e=>{let t=class extends e{get title(){if(this._get("title")&&"defaults"!==this.originOf("title"))return this._get("title");if(this.url){const e=(0,a.Qc)(this.url);if(null!=e&&e.title)return e.title}return this._get("title")||""}set title(e){this._set("title",e)}set url(e){this._set("url",(0,a.Nm)(e,i.Z.getLogger(this)))}};return(0,s._)([(0,o.Cb)()],t.prototype,"title",null),(0,s._)([(0,o.Cb)({type:String})],t.prototype,"url",null),t=(0,s._)([(0,n.j)("esri.layers.mixins.ArcGISService")],t),t}},70082:(e,t,r)=>{r.d(t,{Z:()=>d});var s=r(43697),i=r(2368),o=r(35454),n=r(96674),a=r(5600),l=(r(75215),r(67676),r(80442),r(52011));const p=new o.X({esriFeatureEditToolAutoCompletePolygon:"auto-complete-polygon",esriFeatureEditToolCircle:"circle",esriFeatureEditToolEllipse:"ellipse",esriFeatureEditToolFreehand:"freehand",esriFeatureEditToolLine:"line",esriFeatureEditToolNone:"none",esriFeatureEditToolPoint:"point",esriFeatureEditToolPolygon:"polygon",esriFeatureEditToolRectangle:"rectangle",esriFeatureEditToolArrow:"arrow",esriFeatureEditToolTriangle:"triangle",esriFeatureEditToolLeftArrow:"left-arrow",esriFeatureEditToolRightArrow:"right-arrow",esriFeatureEditToolUpArrow:"up-arrow",esriFeatureEditToolDownArrow:"down-arrow"});let u=class extends((0,i.J)(n.wq)){constructor(e){super(e),this.name=null,this.description=null,this.drawingTool=null,this.prototype=null,this.thumbnail=null}};(0,s._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"name",void 0),(0,s._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"description",void 0),(0,s._)([(0,a.Cb)({json:{read:p.read,write:p.write}})],u.prototype,"drawingTool",void 0),(0,s._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"prototype",void 0),(0,s._)([(0,a.Cb)({json:{write:!0}})],u.prototype,"thumbnail",void 0),u=(0,s._)([(0,l.j)("esri.layers.support.FeatureTemplate")],u);const d=u},56765:(e,t,r)=>{r.d(t,{Z:()=>u});var s,i=r(43697),o=r(46791),n=r(96674),a=r(5600),l=(r(75215),r(67676),r(80442),r(52011));let p=s=class extends n.wq{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new o.Z}clone(){return new s({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,i._)([(0,a.Cb)({type:String,json:{write:!0}})],p.prototype,"floorField",void 0),(0,i._)([(0,a.Cb)({json:{read:!1,write:!1}})],p.prototype,"viewAllMode",void 0),(0,i._)([(0,a.Cb)({json:{read:!1,write:!1}})],p.prototype,"viewAllLevelIds",void 0),p=s=(0,i._)([(0,l.j)("esri.layers.support.LayerFloorInfo")],p);const u=p},65791:(e,t,r)=>{r.d(t,{Z:()=>B});var s=r(43697),i=r(51773),o=r(16050),n=(r(12501),r(28756),r(92271),r(72529),r(5499)),a=r(84382),l=r(81571),p=(r(91423),r(80442),r(20102)),u=r(3920),d=r(10699),y=r(22974),c=r(83379),h=r(92604),b=r(16453),g=r(78286),m=r(42033),f=r(5600),v=(r(75215),r(71715)),w=r(52011),_=r(30556),C=r(31263),S=r(63213),F=r(55343),I=r(21506),T=r(50957),A=r(70082),j=r(53518),O=r(35671),E=r(54306),x=r(30707),R=r(14165),P=r(32163),L=r(28412);const Z=["charts","editingEnabled","formTemplate","labelsVisible","labelingInfo","legendEnabled","minScale","maxScale","opacity","popupEnabled","popupTemplate","renderer","subtypeCode","templates","title","visible"],Q={key:"type",base:n.Z,errorContext:"renderer",typeMap:{simple:a.Z,"unique-value":l.Z,"class-breaks":o.Z}},M=(0,j.v)(),D=(0,S.d)({types:Q});let q=0;function G(e){const t=e.json.write;return"object"==typeof t?t.ignoreOrigin=!0:e.json.write={ignoreOrigin:!0},e}function k(e){switch(e){case"point":case"multipoint":return L.xA.clone();case"polyline":return L.CJ.clone();case"polygon":case"multipatch":return L.z3.clone();default:return null}}function U(e,t){return null==e?null:t.subtypes?.find((t=>t.code===e))}function H(e,t){let r=null;switch(t.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":r="point";break;case"esriGeometryPolyline":r="line";break;case"esriGeometryPolygon":case"esriGeometryMultiPatch":r="polygon";break;default:t.type,r=null}const s={},i=U(e,t);if(null!=i){const{defaultValues:e}=i;for(const t in e)s[t]=e[t]}return s[t.subtypeField]=e,new A.Z({name:"New Feature",drawingTool:r,prototype:{attributes:s}})}const z="esri.layers.support.SubtypeSublayer";let N=class extends((0,u.p)((0,b.R)((0,d.IG)(c.Z)))){constructor(e){super(e),this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.id=`${Date.now().toString(16)}-subtype-sublayer-${q++}`,this.type="subtype-sublayer",this.labelsVisible=!0,this.labelingInfo=null,this.layerType="ArcGISFeatureLayer",this.legendEnabled=!0,this.listMode="show",this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.templates=null,this.title=null,this.visible=!0}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){const{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}writeFieldOverrides(e,t,r){const{fields:s,parent:i}=this;let o;if(s){o=[];let e=0;s.forEach((({name:t,alias:r,editable:s,visible:n})=>{if(!n)return;const a=i?.fields?.find((e=>e.name===t));if(!a)return;const l={name:t};let p=!1;r!==a.alias&&(l.alias=r,p=!0),s!==a.editable&&(l.editable=s,p=!0),o.push(l),p&&e++})),0===e&&o.length===s.length&&(o=null)}else o=(0,y.d9)(e);o?.length&&(0,g.RB)(r,o,t)}get fields(){const{parent:e,fieldOverrides:t,subtypeCode:r}=this,s=e?.fields;if(!e||!s?.length)return null;const{subtypes:i,subtypeField:o}=e,n=i?.find((e=>e.code===r)),a=n?.defaultValues,l=n?.domains,p=[];for(const e of s){const s=e.clone(),{name:i}=s,n=t?.find((e=>e.name===i));if(s.visible=!t||!!n,n){const{alias:e,editable:t}=n;e&&(s.alias=e),!1===t&&(s.editable=!1)}const u=a?.[i]??null;s.defaultValue=i===o?r:u;const d=l?.[i]??null;s.domain=i===o?null:d?"inherited"===d.type?s.domain:d.clone():null,p.push(s)}return p}get geometryType(){return this.parent?.geometryType}get effectiveScaleRange(){const{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}get objectIdField(){return this.parent||h.Z.getLogger(z).error(W("objectIdField")),this.parent?.objectIdField}get defaultPopupTemplate(){return this.createPopupTemplate()}set renderer(e){(0,O.YN)(e,this.fieldsIndex),this._override("renderer",e)}get renderer(){if(this._isOverridden("renderer"))return this._get("renderer");const{parent:e}=this;return e&&!e.isTable&&"mesh"!==e.geometryType?function(e){return new a.Z({symbol:k(e)})}(e.geometryType):null}readRendererFromService(e,t,r){if("Table"===t.type)return null;const s=t.drawingInfo?.renderer,i=D(s,t,r);let o;const{subtypeCode:n}=this;if(null!=n&&function(e,t){return!(!t||"unique-value"!==e?.type||"string"!=typeof e.field||e.field.toLowerCase()!==t.toLowerCase()||e.field2||e.field3||e.valueExpression)}(i,t.subtypeField)){const e=i.uniqueValueInfos?.find((({value:e})=>(e="number"==typeof e?String(e):e)===String(n)));e&&(o=new a.Z({symbol:e.symbol}))}else"simple"!==i?.type||i.visualVariables?.length||(o=i);return o}readRenderer(e,t,r){const s=t?.layerDefinition?.drawingInfo?.renderer;if(!s)return;const i=s.visualVariables?.some((e=>"rotationInfo"!==e.type));return i?void 0:D(s,t,r)||void 0}get spatialReference(){return this.parent?.spatialReference}readTemplatesFromService(e,t){return[H(this.subtypeCode,t)]}readTitleFromService(e,t){const r=U(this.subtypeCode,t);return null!=r?r.name:null}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t){const{parent:r}=this;if(!r)throw W("addAttachment");if(e.getAttribute(r.subtypeField)!==this.subtypeCode)throw new p.Z("subtype-sublayer:addAttachment","The feature provided does not belong to this SubtypeSublayer");return r.addAttachment(e,t)}async updateAttachment(e,t,r){const{parent:s}=this;if(!s)throw W("updateAttachment");if(e.getAttribute(s.subtypeField)!==this.subtypeCode)throw new p.Z("subtype-sublayer:updateAttachment","The feature provided does not belong to this SubtypeSublayer");return s.updateAttachment(e,t,r)}async deleteAttachments(e,t){const{parent:r}=this;if(!r)throw W("deleteAttachments");if(e.getAttribute(r.subtypeField)!==this.subtypeCode)throw new p.Z("subtype-sublayer:deleteAttachments","The feature provided does not belong to this SubtypeSublayer");return r.deleteAttachments(e,t)}async applyEdits(e,t){if(!this.parent)throw W("applyEdits");return this.parent.applyEdits(e,t)}createPopupTemplate(e){let t=this;const{parent:r,fields:s,title:i}=this;if(r){const{displayField:e,editFieldsInfo:o,objectIdField:n}=r;t={displayField:e,editFieldsInfo:o,fields:s,objectIdField:n,title:i}}return(0,P.eZ)(t,e)}createQuery(){if(!this.parent)throw W("createQuery");const e=(0,T.rP)(this.parent),t=`${this.parent.subtypeField}=${this.subtypeCode}`;return e.where=(0,m._)(t,this.parent.definitionExpression),e}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e){return this._getLayerDomain(e)}hasUserOverrides(){return Z.some((e=>this.originIdOf(e)===C.s3.USER))}async queryAttachments(e,t){const r=await this.load();if(!r.parent)throw W("queryAttachments");const s=e.clone();return s.where=V(s.where,r.parent.subtypeField,r.subtypeCode),r.parent.queryAttachments(e,t)}async queryFeatures(e,t){const r=await this.load();if(!r.parent)throw W("queryFeatures");const s=R.Z.from(e)??r.createQuery();return null!=e&&(s.where=V(s.where,r.parent.subtypeField,r.subtypeCode)),r.parent.queryFeatures(s,t)}_getLayerDomain(e){const t=this.fieldsIndex.get(e);return t?t.domain:null}};(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"capabilities",null),(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"effectiveCapabilities",null),(0,s._)([(0,f.Cb)({json:{write:{ignoreOrigin:!0}}})],N.prototype,"charts",void 0),(0,s._)([(0,f.Cb)({type:Boolean,nonNullable:!0,json:{name:"enableEditing",write:{ignoreOrigin:!0}}})],N.prototype,"editingEnabled",void 0),(0,s._)([(0,f.Cb)({type:Boolean,readOnly:!0})],N.prototype,"effectiveEditingEnabled",null),(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"elevationInfo",null),(0,s._)([(0,f.Cb)({readOnly:!0,json:{name:"layerDefinition.fieldOverrides",origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],N.prototype,"fieldOverrides",void 0),(0,s._)([(0,_.c)("fieldOverrides")],N.prototype,"writeFieldOverrides",null),(0,s._)([(0,f.Cb)({...M.fields,readOnly:!0,json:{read:!1}})],N.prototype,"fields",null),(0,s._)([(0,f.Cb)(M.fieldsIndex)],N.prototype,"fieldsIndex",void 0),(0,s._)([(0,f.Cb)({type:F.Z,json:{name:"formInfo",write:{ignoreOrigin:!0}}})],N.prototype,"formTemplate",void 0),(0,s._)([(0,f.Cb)({type:String,readOnly:!0,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],N.prototype,"id",void 0),(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"geometryType",null),(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"type",void 0),(0,s._)([(0,f.Cb)(G((0,y.d9)(I.iR)))],N.prototype,"labelsVisible",void 0),(0,s._)([(0,f.Cb)({type:[E.Z],json:{name:"layerDefinition.drawingInfo.labelingInfo",origins:{service:{read:!1}},read:{reader:x.r},write:{ignoreOrigin:!0}}})],N.prototype,"labelingInfo",void 0),(0,s._)([(0,f.Cb)({type:["ArcGISFeatureLayer"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],N.prototype,"layerType",void 0),(0,s._)([(0,f.Cb)(G((0,y.d9)(I.rn)))],N.prototype,"legendEnabled",void 0),(0,s._)([(0,f.Cb)({type:["show","hide"]})],N.prototype,"listMode",void 0),(0,s._)([(0,f.Cb)((()=>{const e=(0,y.d9)(I.rO);return e.json.origins.service.read=!1,G(e)})())],N.prototype,"minScale",void 0),(0,s._)([(0,f.Cb)((()=>{const e=(0,y.d9)(I.u1);return e.json.origins.service.read=!1,G(e)})())],N.prototype,"maxScale",void 0),(0,s._)([(0,f.Cb)({readOnly:!0})],N.prototype,"effectiveScaleRange",null),(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"objectIdField",null),(0,s._)([(0,f.Cb)({type:Number,range:{min:0,max:1},nonNullable:!0,json:{write:{ignoreOrigin:!0}}})],N.prototype,"opacity",void 0),(0,s._)([(0,f.Cb)()],N.prototype,"parent",void 0),(0,s._)([(0,f.Cb)(G((0,y.d9)(I.C_)))],N.prototype,"popupEnabled",void 0),(0,s._)([(0,f.Cb)({type:i.Z,json:{name:"popupInfo",write:{ignoreOrigin:!0}}})],N.prototype,"popupTemplate",void 0),(0,s._)([(0,f.Cb)({readOnly:!0})],N.prototype,"defaultPopupTemplate",null),(0,s._)([(0,f.Cb)({types:Q,json:{write:{target:"layerDefinition.drawingInfo.renderer",ignoreOrigin:!0}}})],N.prototype,"renderer",null),(0,s._)([(0,v.r)("service","renderer",["drawingInfo.renderer","subtypeField","type"])],N.prototype,"readRendererFromService",null),(0,s._)([(0,v.r)("renderer",["layerDefinition.drawingInfo.renderer"])],N.prototype,"readRenderer",null),(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"spatialReference",null),(0,s._)([(0,f.Cb)({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],N.prototype,"subtypeCode",void 0),(0,s._)([(0,f.Cb)({type:[A.Z],json:{name:"layerDefinition.templates",write:{ignoreOrigin:!0}}})],N.prototype,"templates",void 0),(0,s._)([(0,v.r)("service","templates",["geometryType","subtypeField","subtypes","type"])],N.prototype,"readTemplatesFromService",null),(0,s._)([(0,f.Cb)({type:String,json:{write:{ignoreOrigin:!0}}})],N.prototype,"title",void 0),(0,s._)([(0,v.r)("service","title",["subtypes"])],N.prototype,"readTitleFromService",null),(0,s._)([(0,f.Cb)({readOnly:!0,json:{read:!1}})],N.prototype,"url",null),(0,s._)([(0,f.Cb)({readOnly:!0})],N.prototype,"userHasUpdateItemPrivileges",null),(0,s._)([(0,f.Cb)({type:Boolean,nonNullable:!0,json:{name:"visibility",write:{ignoreOrigin:!0}}})],N.prototype,"visible",void 0),N=(0,s._)([(0,w.j)(z)],N);const V=(e,t,r)=>{const s=new RegExp(`${t}\\s*=\\s*\\d+`),i=`${t}=${r}`,o=e??"";return s.test(o)?o.replace(s,i):(0,m._)(i,o)},W=e=>new p.Z(`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`),B=N},72064:(e,t,r)=>{r.d(t,{h:()=>d});var s=r(80442),i=r(66677);const o={name:"supportsName",size:"supportsSize",contentType:"supportsContentType",keywords:"supportsKeywords",exifInfo:"supportsExifInfo"};function n(e,t,r){return!!l(e,t,r)}function a(e,t,r){return l(e,t,r)}function l(e,t,r){return e&&e.hasOwnProperty(t)?e[t]:r}function p(e){const t=e?.supportedSpatialAggregationStatistics?.map((e=>e.toLowerCase()));return{envelope:!!t?.includes("envelopeaggregate"),centroid:!!t?.includes("centroidaggregate"),convexHull:!!t?.includes("convexhullaggregate")}}function u(e,t){const r=e?.supportedOperationsWithCacheHint?.map((e=>e.toLowerCase()));return!!r?.includes(t.toLowerCase())}function d(e,t){return{analytics:y(e),attachment:c(e),data:h(e),metadata:b(e),operations:g(e.capabilities,e,t),query:m(e,t),queryRelated:f(e),queryTopFeatures:v(e),editing:w(e)}}function y(e){return{supportsCacheHint:u(e.advancedQueryCapabilities,"queryAnalytics")}}function c(e){const t=e.attachmentProperties,r={supportsName:!1,supportsSize:!1,supportsContentType:!1,supportsKeywords:!1,supportsExifInfo:!1,supportsCacheHint:u(e.advancedQueryCapabilities,"queryAttachments"),supportsResize:n(e,"supportsAttachmentsResizing",!1)};return t&&Array.isArray(t)&&t.forEach((e=>{const t=o[e.name];t&&(r[t]=!!e.isEnabled)})),r}function h(e){return{isVersioned:n(e,"isDataVersioned",!1),supportsAttachment:n(e,"hasAttachments",!1),supportsM:n(e,"hasM",!1),supportsZ:n(e,"hasZ",!1)}}function b(e){return{supportsAdvancedFieldProperties:n(e,"supportsFieldDescriptionProperty",!1)}}function g(e,t,r){const s=e?e.toLowerCase().split(",").map((e=>e.trim())):[],o=r?(0,i.Qc)(r):null,a=s.includes(null!=o&&"MapServer"===o.serverType?"data":"query"),l=s.includes("editing")&&!t.datesInUnknownTimezone;let p=l&&s.includes("create"),u=l&&s.includes("delete"),d=l&&s.includes("update");const y=s.includes("changetracking"),c=t.advancedQueryCapabilities;return l&&!(p||u||d)&&(p=u=d=!0),{supportsCalculate:n(t,"supportsCalculate",!1),supportsTruncate:n(t,"supportsTruncate",!1),supportsValidateSql:n(t,"supportsValidateSql",!1),supportsAdd:p,supportsDelete:u,supportsEditing:l,supportsChangeTracking:y,supportsQuery:a,supportsQueryAnalytics:n(c,"supportsQueryAnalytic",!1),supportsQueryAttachments:n(c,"supportsQueryAttachments",!1),supportsQueryTopFeatures:n(c,"supportsTopFeaturesQuery",!1),supportsResizeAttachments:n(t,"supportsAttachmentsResizing",!1),supportsSync:s.includes("sync"),supportsUpdate:d,supportsExceedsLimitStatistics:n(t,"supportsExceedsLimitStatistics",!1)}}function m(e,t){const r=e.advancedQueryCapabilities,o=e.ownershipBasedAccessControlForFeatures,l=e.archivingInfo,d=e.currentVersion,y=t?.includes("MapServer"),c=!y||d>=(0,s.Z)("mapserver-pbf-version-support"),h=(0,i.M8)(t),b=new Set((e.supportedQueryFormats??"").split(",").map((e=>e.toLowerCase().trim())));return{supportsStatistics:n(r,"supportsStatistics",e.supportsStatistics),supportsPercentileStatistics:n(r,"supportsPercentileStatistics",!1),supportsSpatialAggregationStatistics:n(r,"supportsSpatialAggregationStatistics",!1),supportedSpatialAggregationStatistics:p(r),supportsCentroid:n(r,"supportsReturningGeometryCentroid",!1),supportsDistance:n(r,"supportsQueryWithDistance",!1),supportsDistinct:n(r,"supportsDistinct",e.supportsAdvancedQueries),supportsExtent:n(r,"supportsReturningQueryExtent",!1),supportsGeometryProperties:n(r,"supportsReturningGeometryProperties",!1),supportsHavingClause:n(r,"supportsHavingClause",!1),supportsOrderBy:n(r,"supportsOrderBy",e.supportsAdvancedQueries),supportsPagination:n(r,"supportsPagination",!1),supportsQuantization:n(e,"supportsCoordinatesQuantization",!1),supportsQuantizationEditMode:n(e,"supportsQuantizationEditMode",!1),supportsQueryGeometry:n(e,"supportsReturningQueryGeometry",!1),supportsResultType:n(r,"supportsQueryWithResultType",!1),supportsMaxRecordCountFactor:n(r,"supportsMaxRecordCountFactor",!1),supportsSqlExpression:n(r,"supportsSqlExpression",!1),supportsStandardizedQueriesOnly:n(e,"useStandardizedQueries",!1),supportsTopFeaturesQuery:n(r,"supportsTopFeaturesQuery",!1),supportsQueryByOthers:n(o,"allowOthersToQuery",!0),supportsHistoricMoment:n(l,"supportsQueryWithHistoricMoment",!1),supportsFormatPBF:c&&b.has("pbf"),supportsDisjointSpatialRelationship:n(r,"supportsDisjointSpatialRel",!1),supportsCacheHint:n(r,"supportsQueryWithCacheHint",!1)||u(r,"query"),supportsDefaultSpatialReference:n(r,"supportsDefaultSR",!1),supportsCompactGeometry:h,supportsFullTextSearch:n(r,"supportsFullTextSearch",!1),maxRecordCountFactor:a(e,"maxRecordCountFactor",void 0),maxRecordCount:a(e,"maxRecordCount",void 0),standardMaxRecordCount:a(e,"standardMaxRecordCount",void 0),tileMaxRecordCount:a(e,"tileMaxRecordCount",void 0)}}function f(e){const t=e.advancedQueryCapabilities,r=n(t,"supportsAdvancedQueryRelated",!1);return{supportsPagination:n(t,"supportsQueryRelatedPagination",!1),supportsCount:r,supportsOrderBy:r,supportsCacheHint:u(t,"queryRelated")}}function v(e){return{supportsCacheHint:u(e.advancedQueryCapabilities,"queryTopFilter")}}function w(e){const t=e.ownershipBasedAccessControlForFeatures,r=e?e.advancedEditingCapabilities:void 0;return{supportsGeometryUpdate:n(e,"allowGeometryUpdates",!0),supportsGlobalId:n(e,"supportsApplyEditsWithGlobalIds",!1),supportsReturnServiceEditsInSourceSpatialReference:n(e,"supportsReturnServiceEditsInSourceSR",!1),supportsRollbackOnFailure:n(e,"supportsRollbackOnFailureParameter",!1),supportsUpdateWithoutM:n(e,"allowUpdateWithoutMValues",!1),supportsUploadWithItemId:n(e,"supportsAttachmentsByUploadId",!1),supportsDeleteByAnonymous:n(t,"allowAnonymousToDelete",!0),supportsDeleteByOthers:n(t,"allowOthersToDelete",!0),supportsUpdateByAnonymous:n(t,"allowAnonymousToUpdate",!0),supportsUpdateByOthers:n(t,"allowOthersToUpdate",!0),supportsAsyncApplyEdits:n(r,"supportsAsyncApplyEdits",!1)}}},56545:(e,t,r)=>{r.d(t,{Z:()=>y});var s,i=r(43697),o=r(96674),n=r(22974),a=r(5600),l=r(75215),p=r(52011),u=r(30556);let d=s=class extends o.wq{constructor(e){super(e),this.attachmentTypes=null,this.attachmentsWhere=null,this.cacheHint=void 0,this.keywords=null,this.globalIds=null,this.name=null,this.num=null,this.objectIds=null,this.returnMetadata=!1,this.size=null,this.start=null,this.where=null}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10}clone(){return new s((0,n.d9)({attachmentTypes:this.attachmentTypes,attachmentsWhere:this.attachmentsWhere,cacheHint:this.cacheHint,keywords:this.keywords,where:this.where,globalIds:this.globalIds,name:this.name,num:this.num,objectIds:this.objectIds,returnMetadata:this.returnMetadata,size:this.size,start:this.start}))}};(0,i._)([(0,a.Cb)({type:[String],json:{write:!0}})],d.prototype,"attachmentTypes",void 0),(0,i._)([(0,a.Cb)({type:String,json:{read:{source:"attachmentsDefinitionExpression"},write:{target:"attachmentsDefinitionExpression"}}})],d.prototype,"attachmentsWhere",void 0),(0,i._)([(0,a.Cb)({type:Boolean,json:{write:!0}})],d.prototype,"cacheHint",void 0),(0,i._)([(0,a.Cb)({type:[String],json:{write:!0}})],d.prototype,"keywords",void 0),(0,i._)([(0,a.Cb)({type:[Number],json:{write:!0}})],d.prototype,"globalIds",void 0),(0,i._)([(0,a.Cb)({json:{write:!0}})],d.prototype,"name",void 0),(0,i._)([(0,a.Cb)({type:Number,json:{read:{source:"resultRecordCount"}}})],d.prototype,"num",void 0),(0,i._)([(0,a.Cb)({type:[Number],json:{write:!0}})],d.prototype,"objectIds",void 0),(0,i._)([(0,a.Cb)({type:Boolean,json:{default:!1,write:!0}})],d.prototype,"returnMetadata",void 0),(0,i._)([(0,a.Cb)({type:[Number],json:{write:!0}})],d.prototype,"size",void 0),(0,i._)([(0,a.Cb)({type:Number,json:{read:{source:"resultOffset"}}})],d.prototype,"start",void 0),(0,i._)([(0,u.c)("start"),(0,u.c)("num")],d.prototype,"writeStart",null),(0,i._)([(0,a.Cb)({type:String,json:{read:{source:"definitionExpression"},write:{target:"definitionExpression"}}})],d.prototype,"where",void 0),d=s=(0,i._)([(0,p.j)("esri.rest.support.AttachmentQuery")],d),d.from=(0,l.se)(d);const y=d},58333:(e,t,r)=>{r.d(t,{ET:()=>o,I4:()=>i,eG:()=>l,lF:()=>n,lj:()=>u,qP:()=>a,wW:()=>p});const s=[252,146,31,255],i={type:"esriSMS",style:"esriSMSCircle",size:6,color:s,outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[153,153,153,255]}},o={type:"esriSLS",style:"esriSLSSolid",width:.75,color:s},n={type:"esriSFS",style:"esriSFSSolid",color:[252,146,31,196],outline:{type:"esriSLS",style:"esriSLSSolid",width:.75,color:[255,255,255,191]}},a={type:"esriTS",color:[255,255,255,255],font:{family:"arial-unicode-ms",size:10,weight:"bold"},horizontalAlignment:"center",kerning:!0,haloColor:[0,0,0,255],haloSize:1,rotated:!1,text:"",xoffset:0,yoffset:0,angle:0},l={type:"esriSMS",style:"esriSMSCircle",color:[0,0,0,255],outline:null,size:10.5},p={type:"esriSLS",style:"esriSLSSolid",color:[0,0,0,255],width:1.5},u={type:"esriSFS",style:"esriSFSSolid",color:[0,0,0,255],outline:null}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8008,8062],{52104:(e,a,t)=>{t.d(a,{V:()=>n});var r=t(96187);async function n(e,a){const t=await(0,r.T)(e,a);t.layers=t.layers.filter(i);const n={serviceJSON:t};if((t.currentVersion??0)<10.5)return n;const l=await(0,r.T)(e+"/layers",a);return n.layersJSON={layers:l.layers.filter(i),tables:l.tables},n}function i(e){return!e.type||"Feature Layer"===e.type}},87344:(e,a,t)=>{t.d(a,{T:()=>r});const r={BingMapsLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(8153)]).then(t.bind(t,2723))).default,BuildingSceneLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(773),t.e(9238),t.e(5590),t.e(6935),t.e(632),t.e(223)]).then(t.bind(t,30223))).default,CSVLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(773),t.e(9238),t.e(9675)]).then(t.bind(t,45425))).default,DimensionLayer:async()=>(await Promise.all([t.e(163),t.e(9037),t.e(81)]).then(t.bind(t,40081))).default,ElevationLayer:async()=>(await Promise.all([t.e(163),t.e(8346),t.e(9016),t.e(1596)]).then(t.bind(t,65665))).default,FeatureLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(773),t.e(9238),t.e(5159)]).then(t.bind(t,19238))).default,GeoJSONLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(7202)]).then(t.bind(t,23477))).default,GeoRSSLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(8024)]).then(t.bind(t,3723))).default,GroupLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9059)]).then(t.bind(t,40504))).default,ImageryLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(4165),t.e(4599),t.e(6610),t.e(6326),t.e(1194)]).then(t.bind(t,90444))).default,ImageryTileLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(6610),t.e(8681),t.e(6326),t.e(5913)]).then(t.bind(t,74878))).default,IntegratedMeshLayer:async()=>(await Promise.all([t.e(163),t.e(6935),t.e(1537)]).then(t.bind(t,9310))).default,KMLLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(1423),t.e(739)]).then(t.bind(t,42756))).default,LineOfSightLayer:async()=>(await Promise.all([t.e(163),t.e(7316)]).then(t.bind(t,30690))).default,LinkChartLayer:async()=>(await Promise.all([t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(7215),t.e(1534),t.e(5261),t.e(41)]).then(t.bind(t,28552))).default,MapImageLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(1423),t.e(4165),t.e(4390),t.e(4599),t.e(6368),t.e(7374)]).then(t.bind(t,27374))).default,MapNotesLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(773),t.e(9238),t.e(1227)]).then(t.bind(t,62128))).default,MediaLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(4828)]).then(t.bind(t,57765))).default,OGCFeatureLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(2855)]).then(t.bind(t,88068))).default,OpenStreetMapLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9971),t.e(6237)]).then(t.bind(t,66237))).default,OrientedImageryLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(773),t.e(9238),t.e(2651)]).then(t.bind(t,52781))).default,PointCloudLayer:async()=>(await Promise.all([t.e(163),t.e(1773),t.e(4266),t.e(237)]).then(t.bind(t,10608))).default,RouteLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(1423),t.e(4286)]).then(t.bind(t,40153))).default,SceneLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(773),t.e(9238),t.e(5590),t.e(6935),t.e(632),t.e(7476)]).then(t.bind(t,57476))).default,StreamLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(5004)]).then(t.bind(t,88387))).default,SubtypeGroupLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(1423),t.e(4165),t.e(4390),t.e(773),t.e(4668),t.e(1397)]).then(t.bind(t,4632))).default,TileLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(1423),t.e(4165),t.e(4390),t.e(4599),t.e(9016),t.e(6368),t.e(8636)]).then(t.bind(t,98636))).default,UnknownLayer:async()=>(await t.e(4166).then(t.bind(t,44166))).default,UnsupportedLayer:async()=>(await t.e(9296).then(t.bind(t,39296))).default,VectorTileLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9016),t.e(4325),t.e(9805),t.e(5481)]).then(t.bind(t,94756))).default,VoxelLayer:async()=>(await Promise.all([t.e(163),t.e(1773),t.e(9037),t.e(8865)]).then(t.bind(t,28865))).default,WFSLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(9469),t.e(6082),t.e(8346),t.e(1423),t.e(4165),t.e(4390),t.e(7215),t.e(3974)]).then(t.bind(t,12653))).default,WMSLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9790),t.e(1773),t.e(2462)]).then(t.bind(t,25906))).default,WMTSLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9971),t.e(2594)]).then(t.bind(t,72594))).default,WebTileLayer:async()=>(await Promise.all([t.e(163),t.e(4609),t.e(9971)]).then(t.bind(t,16199))).default}},33516:(e,a,t)=>{t.d(a,{Y:()=>l,h:()=>i});var r=t(81271),n=t(48522);function i(e){return{origin:"portal-item",url:(0,r.mN)(e.itemUrl),portal:e.portal||n.Z.getDefault(),portalItem:e,readResourcePaths:[]}}function l(e){return{origin:"portal-item",messages:[],writtenProperties:[],url:e.itemUrl?(0,r.mN)(e.itemUrl):null,portal:e.portal||n.Z.getDefault(),portalItem:e}}},18062:(e,a,t)=>{t.d(a,{$O:()=>b,Ok:()=>h,Q4:()=>g,XX:()=>S,load:()=>p});var r=t(20102),n=t(87085),i=t(66677),l=t(52104),s=t(48522),o=t(15235),c=t(33516),u=t(14661),y=t(40555),d=t(96187);async function p(e,a){const t=e.instance.portalItem;if(t&&t.id)return await t.load(a),function(e){const a=e.instance.portalItem;if(!a?.type||!e.supportedTypes.includes(a.type))throw new r.Z("portal:invalid-layer-item-type","Invalid layer item type '${type}', expected '${expectedType}'",{type:a?.type,expectedType:e.supportedTypes.join(", ")})}(e),async function(e,a){const t=e.instance,n=t.portalItem;if(!n)return;const{url:i,title:s}=n,o=(0,c.h)(n);if("group"===t.type)return t.read({title:s},o),async function(e,a){let t;const{portalItem:n}=e;if(!n)return;const i=n.type,s=a.layerModuleTypeMap,o=(0,u._$)(n,"Oriented Imagery Layer")??!1;switch(i){case"Feature Service":t=o?s.OrientedImageryLayer:s.FeatureLayer;break;case"Stream Service":t=s.StreamLayer;break;case"Scene Service":t=s.SceneLayer;break;case"Feature Collection":t=s.FeatureLayer;break;default:throw new r.Z("portal:unsupported-item-type-as-group",`The item type '${i}' is not supported as a 'IGroupLayer'`)}let[c,y]=await Promise.all([t(),L(a)]),p=()=>c;if("Feature Service"===i){if(y=n.url?await b(y,n.url):{},S(y).length){const e=s.SubtypeGroupLayer,a=await e();p=e=>"SubtypeGroupLayer"===e.layerType?a:c}return m(e,p,y,await async function(e){const{layersJSON:a}=await(0,l.V)(e);if(!a)return null;const t=[...a.layers,...a.tables];return e=>t.find((a=>a.id===e.id))}(n.url))}return g(y)>0?m(e,p,y):async function(e,a){const{portalItem:t}=e;if(!t?.url)return;const r=await(0,d.T)(t.url);r&&m(e,a,{layers:r.layers?.map(f),tables:r.tables?.map(f)})}(e,p)}(t,e);i&&t.read({url:i},o);const p=await L(e,a);return p&&t.read(p,o),t.resourceReferences={portalItem:n,paths:o.readResourcePaths??[]},"subtype-group"!==t.type&&t.read({title:s},o),(0,y.y)(t,o)}(e,a)}function f(e){return{id:e.id,name:e.name}}function m(e,a,t,l){let s=t.layers||[];const c=t.tables||[];if("Feature Collection"===e.portalItem?.type&&(s.forEach((e=>{"Table"===e?.layerDefinition?.type&&c.push(e)})),s=s.filter((e=>"Table"!==e?.layerDefinition?.type))),"coverage"in t){const a=function(e){const{coverage:a}=e;if(!a)return null;const t=new URL(a);if(a.toLowerCase().includes("item.html")){const e=t.searchParams.get("id"),a=t.origin;return n.Z.fromPortalItem({portalItem:new o.default({id:e,url:a})})}if((0,i.B5)(a))return n.Z.fromArcGISServerUrl({url:a});throw new r.Z("portal:oriented-imagery-layer-coverage","the provided coverage url couldn't be loaded as a layer")}(t);a&&e.add(a)}s.reverse().forEach((r=>{const n=l?.(r);if(n||!l){const i=w(e,a(r),t,r,n);e.add(i)}})),c.reverse().forEach((r=>{const n=l?.(r);if(n||!l){const i=w(e,a(r),t,r,n);e.tables.add(i)}}))}function w(e,a,t,r,n){const i=e.portalItem,l=new a({portalItem:i.clone(),layerId:r.id});if("sourceJSON"in l&&(l.sourceJSON=n),"subtype-group"!==l.type&&(l.sublayerTitleMode="service-name"),"Feature Collection"===i.type){const e={origin:"portal-item",portal:i.portal||s.Z.getDefault()};l.read(r,e);const a=t.showLegend;null!=a&&l.read({showLegend:a},e)}return l}async function L(e,a){if(!1===e.supportsData)return;const t=e.instance,r=t.portalItem;if(!r)return;let n=null;try{n=await r.fetchData("json",a)}catch(e){}if(function(e){return"stream"!==e.type&&"oriented-imagery"!==e.type&&"layerId"in e}(t)){let e=null,a=!0;if(n&&g(n)>0){if(null==t.layerId){const e=S(n);t.layerId="subtype-group"===t.type?e?.[0]:h(n)}e=function(e,a){const{layerId:t}=a,r=e.layers?.find((e=>e.id===t))||e.tables?.find((e=>e.id===t));return r&&function(e,a){return!("feature"===a.type&&"layerType"in e&&"SubtypeGroupLayer"===e.layerType||"subtype-group"===a.type&&!("layerType"in e))}(r,a)?r:null}(n,t),e&&(1===g(n)&&(a=!1),null!=n.showLegend&&(e.showLegend=n.showLegend))}return a&&"sublayerTitleMode"in t&&"service-name"!==t.sublayerTitleMode&&(t.sublayerTitleMode="item-title-and-service-name"),e}return n}async function b(e,a){if(null==e?.layers||null==e?.tables){const t=await(0,d.T)(a);(e=e||{}).layers=e.layers||t?.layers,e.tables=e.tables||t?.tables}return e}function h(e){const a=e.layers;if(a&&a.length)return a[0].id;const t=e.tables;return t&&t.length?t[0].id:null}function g(e){return(e?.layers?.length??0)+(e?.tables?.length??0)}function S(e){const a=[];return e?.layers?.forEach((e=>{"SubtypeGroupLayer"===e.layerType&&a.push(e.id)})),a}},28008:(e,a,t)=>{t.d(a,{fromItem:()=>u,v:()=>y});var r=t(20102),n=t(84230),i=t(87344),l=t(15235),s=t(18062),o=t(14661),c=t(96187);async function u(e){!e.portalItem||e.portalItem instanceof l.default||(e={...e,portalItem:new l.default(e.portalItem)});const a=await async function(e){return await e.load(),async function(e){const a=e.className,t=i.T[a];return{constructor:await t(),properties:e.properties}}(await y(e))}(e.portalItem);return new(0,a.constructor)({portalItem:e.portalItem,...a.properties})}async function y(e){switch(e.type){case"Map Service":return async function(e){return await async function(e){return(await(0,c.T)(e.url)).tileInfo}(e)?{className:"TileLayer"}:{className:"MapImageLayer"}}(e);case"Feature Service":return async function(e){if((0,o._$)(e,"Oriented Imagery Layer"))return async function(e){return await e.load(),{className:"OrientedImageryLayer",properties:await e.fetchData()}}(e);const a=await d(e);if("object"==typeof a){const e={};return null!=a.id&&(e.layerId=a.id),{className:a.className||"FeatureLayer",properties:e}}return{className:"GroupLayer"}}(e);case"Feature Collection":return async function(e){await e.load();const a=(0,o._$)(e,"Map Notes"),t=(0,o._$)(e,"Markup");if(a||t)return{className:"MapNotesLayer"};if((0,o._$)(e,"Route Layer"))return{className:"RouteLayer"};const r=await e.fetchData();return 1===(0,s.Q4)(r)?{className:"FeatureLayer"}:{className:"GroupLayer"}}(e);case"Scene Service":return async function(e){const a=await d(e);if("object"==typeof a){const t={};let r;if(null!=a.id?(t.layerId=a.id,r=`${e.url}/layers/${a.id}`):r=e.url,e.typeKeywords?.length)for(const a of Object.keys(n.fb))if(e.typeKeywords.includes(a))return{className:n.fb[a]};const i=await(0,c.T)(r);return{className:n.fb[i?.layerType]||"SceneLayer",properties:t}}if(!1===a){const a=await(0,c.T)(e.url);return"Voxel"===a?.layerType?{className:"VoxelLayer"}:{className:"GroupLayer"}}return{className:"GroupLayer"}}(e);case"Image Service":return async function(e){await e.load();const a=e.typeKeywords?.map((e=>e.toLowerCase()))??[];if(a.includes("elevation 3d layer"))return{className:"ElevationLayer"};if(a.includes("tiled imagery"))return{className:"ImageryTileLayer"};const t=await e.fetchData(),r=t?.layerType;if("ArcGISTiledImageServiceLayer"===r)return{className:"ImageryTileLayer"};if("ArcGISImageServiceLayer"===r)return{className:"ImageryLayer"};const n=await(0,c.T)(e.url),i=n.cacheType?.toLowerCase(),l=n.capabilities?.toLowerCase().includes("tilesonly");return"map"===i||l?{className:"ImageryTileLayer"}:{className:"ImageryLayer"}}(e);case"Stream Service":case"Feed":return{className:"StreamLayer"};case"Vector Tile Service":return{className:"VectorTileLayer"};case"GeoJson":return{className:"GeoJSONLayer"};case"CSV":return{className:"CSVLayer"};case"KML":return{className:"KMLLayer"};case"WFS":return{className:"WFSLayer"};case"WMTS":return{className:"WMTSLayer"};case"WMS":return{className:"WMSLayer"};default:throw new r.Z("portal:unknown-item-type","Unknown item type '${type}'",{type:e.type})}}async function d(e){const a=e.url;if(!a||/\/\d+$/.test(a))return{};await e.load();const t=await e.fetchData();if("Feature Service"===e.type){const e=p(await(0,s.$O)(t,a));if("object"==typeof e){const a=(0,s.XX)(t);e.className=null!=e.id&&a.includes(e.id)?"SubtypeGroupLayer":"FeatureLayer"}return e}return(0,s.Q4)(t)>0?p(t):p(await(0,c.T)(a))}function p(e){return 1===(0,s.Q4)(e)&&{id:(0,s.Ok)(e)}}},40555:(e,a,t)=>{t.d(a,{y:()=>l});var r=t(66643),n=t(95330),i=t(20941);async function l(e,a,t){const l=e&&e.getAtOrigin&&e.getAtOrigin("renderer",a.origin);if(l&&"unique-value"===l.type&&l.styleOrigin){const s=await(0,r.q6)(l.populateFromStyle());if((0,n.k_)(t),!1===s.ok){const t=s.error;a&&a.messages&&a.messages.push(new i.Z("renderer:style-reference",`Failed to create unique value renderer from style reference: ${t.message}`,{error:t,context:a})),e.clear("renderer",a?.origin)}}}},96187:(e,a,t)=>{t.d(a,{T:()=>n});var r=t(3172);async function n(e,a){const{data:t}=await(0,r.default)(e,{responseType:"json",query:{f:"json",...a?.customParameters,token:a?.apiKey}});return t}}}]);
|