1 |
- import{N as O,iw as F,cH as g,dg as y,R as S,d8 as m,a as h,cA as b,hE as j,ct as c,_ as s,$ as l,jt as M,cK as d,a0 as w,hW as N,i5 as C,iG as I,ih as K,eC as R,eD as P,eE as T,e0 as A,aL as E,ey as H,aM as J,dN as W,eH as z,cu as D}from"./index.6c049565.js";import{j as G,S as x,g as k,d as L}from"./kmlUtils.8643ad03.js";var u;let o=u=class extends O.EventedMixin(F(N)){constructor(...e){super(...e),this.description=null,this.id=null,this.networkLink=null,this.sublayers=null,this.title=null,this.sourceJSON=null,this.fullExtent=null,this.addHandles([g(()=>this.sublayers,"after-add",({item:t})=>{t.parent=this,t.layer=this.layer},y),g(()=>this.sublayers,"after-remove",({item:t})=>{t.layer=t.parent=null},y),S(()=>this.sublayers,(t,i)=>{if(i)for(const r of i)r.layer=r.parent=null;if(t)for(const r of t)r.parent=this,r.layer=this.layer},y)])}initialize(){m(()=>this.networkLink).then(()=>m(()=>this.visible===!0)).then(()=>this.load())}load(e){var r,n;if(!this.networkLink||this.networkLink.viewFormat)return;const t=h(e)?e.signal:null,i=this._fetchService((n=(r=this._get("networkLink"))==null?void 0:r.href)!=null?n:"",t).then(p=>{var f;const $=G(p.sublayers);this.fullExtent=b.fromJSON($),this.sourceJSON=p;const v=j(c.ofType(u),x(u,p));this.sublayers?this.sublayers.addMany(v):this.sublayers=v,(f=this.layer)==null||f.emit("sublayer-update"),this.layer&&this.layer.notifyChange("visibleSublayers")});return this.addResolvingPromise(i),Promise.resolve(this)}get visible(){return this._get("visible")}set visible(e){this._get("visible")!==e&&(this._set("visible",e),this.layer&&this.layer.notifyChange("visibleSublayers"))}readVisible(e,t){return!!t.visibility}set layer(e){this._set("layer",e),this.sublayers&&this.sublayers.forEach(t=>t.layer=e)}_fetchService(e,t){return k(e,this.layer.outSpatialReference,this.layer.refreshInterval,t).then(i=>L(i.data))}};s([l()],o.prototype,"description",void 0),s([l()],o.prototype,"id",void 0),s([l({readOnly:!0,value:null})],o.prototype,"networkLink",void 0),s([l({json:{write:{allowNull:!0}}})],o.prototype,"parent",void 0),s([l({type:c.ofType(u),json:{write:{allowNull:!0}}})],o.prototype,"sublayers",void 0),s([l({value:null,json:{read:{source:"name",reader:e=>M(e)}}})],o.prototype,"title",void 0),s([l({value:!0})],o.prototype,"visible",null),s([d("visible",["visibility"])],o.prototype,"readVisible",null),s([l()],o.prototype,"sourceJSON",void 0),s([l({value:null})],o.prototype,"layer",null),s([l({type:b})],o.prototype,"fullExtent",void 0),o=u=s([w("esri.layers.support.KMLSublayer")],o);const _=o,U=["kml","xml"];let a=class extends C(I(K(R(P(T(D)))))){constructor(...e){super(...e),this._visibleFolders=[],this.allSublayers=new A({getCollections:()=>[this.sublayers],getChildrenFunction:t=>t.sublayers}),this.outSpatialReference=E.WGS84,this.path=null,this.legendEnabled=!1,this.operationalLayerType="KML",this.sublayers=null,this.type="kml",this.url=null}initialize(){this.addHandles([S(()=>this.sublayers,(e,t)=>{t&&t.forEach(i=>{i.parent=null,i.layer=null}),e&&e.forEach(i=>{i.parent=this,i.layer=this})},y),this.on("sublayer-update",()=>this.notifyChange("fullExtent"))])}normalizeCtorArgs(e,t){return typeof e=="string"?{url:e,...t}:e}readSublayersFromItemOrWebMap(e,t){this._visibleFolders=t.visibleFolders}readSublayers(e,t,i){return x(_,t,i,this._visibleFolders)}writeSublayers(e,t){const i=[],r=e.toArray();for(;r.length;){const n=r[0];n.networkLink||(n.visible&&i.push(n.id),n.sublayers&&r.push(...n.sublayers.toArray())),r.shift()}t.visibleFolders=i}get title(){const e=this._get("title");return e&&this.originOf("title")!=="defaults"?e:this.url?H(this.url,U)||"KML":e||""}set title(e){this._set("title",e)}get visibleSublayers(){const e=this.sublayers,t=[],i=r=>{r.visible&&(t.push(r),r.sublayers&&r.sublayers.forEach(i))};return e&&e.forEach(i),t}get fullExtent(){return this._recomputeFullExtent()}load(e){const t=h(e)?e.signal:null;return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["KML"],supportsData:!1},e).catch(J).then(()=>this._fetchService(t))),Promise.resolve(this)}destroy(){super.destroy(),this.allSublayers.destroy()}async _fetchService(e){const t=await Promise.resolve().then(()=>{var r;return this.resourceInfo?{ssl:!1,data:this.resourceInfo}:k((r=this.url)!=null?r:"",this.outSpatialReference,this.refreshInterval,e)}),i=L(t.data);i&&this.read(i,{origin:"service"})}_recomputeFullExtent(){let e=null;h(this.extent)&&(e=this.extent.clone());const t=i=>{if(i.sublayers)for(const r of i.sublayers.items)t(r),r.visible&&r.fullExtent&&(h(e)?e.union(r.fullExtent):e=r.fullExtent.clone())};return t(this),e}};s([l({readOnly:!0})],a.prototype,"allSublayers",void 0),s([l({type:E})],a.prototype,"outSpatialReference",void 0),s([l({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],a.prototype,"path",void 0),s([l({readOnly:!0,json:{read:!1,write:!1}})],a.prototype,"legendEnabled",void 0),s([l({type:["show","hide","hide-children"]})],a.prototype,"listMode",void 0),s([l({type:["KML"]})],a.prototype,"operationalLayerType",void 0),s([l({})],a.prototype,"resourceInfo",void 0),s([l({type:c.ofType(_),json:{write:{ignoreOrigin:!0}}})],a.prototype,"sublayers",void 0),s([d(["web-map","portal-item"],"sublayers",["visibleFolders"])],a.prototype,"readSublayersFromItemOrWebMap",null),s([d("service","sublayers",["sublayers"])],a.prototype,"readSublayers",null),s([W("sublayers")],a.prototype,"writeSublayers",null),s([l({readOnly:!0,json:{read:!1}})],a.prototype,"type",void 0),s([l({json:{origins:{"web-map":{read:{source:"title"}}},write:{ignoreOrigin:!0}}})],a.prototype,"title",null),s([l(z)],a.prototype,"url",void 0),s([l({readOnly:!0})],a.prototype,"visibleSublayers",null),s([l({type:b})],a.prototype,"extent",void 0),s([l()],a.prototype,"fullExtent",null),a=s([w("esri.layers.KMLLayer")],a);const B=a;export{B as default};
|