MapNotesLayer.e7b5bd07.js 11 KB

1
  1. import{i5 as $,ih as j,di as D,_ as i,$ as n,gr as U,jy as Y,a0 as T,cu as R,gB as P,iL as q,iJ as H,dT as M,jz as Q,eC as X,eD as Z,eE as V,aL as w,ct as J,i0 as ee,aY as L,eU as _,a as f,jA as C,dX as v,jB as G,da as A,cJ as te,t as h,g as re,hY as ie,bC as oe,dm as ae,dk as ne,dl as le,cx as se,dP as ye,id as I,cK as b,dN as pe,cA as ue,jC as B}from"./index.6c049565.js";import{n as de}from"./objectIdUtils.83ac3f67.js";let m=class extends $(j(R)){constructor(e){super(e),this.elevationInfo=null,this.graphics=new D,this.screenSizePerspectiveEnabled=!0,this.type="graphics",this.internal=!1}destroy(){this.removeAll(),this.graphics.destroy()}add(e){return this.graphics.add(e),this}addMany(e){return this.graphics.addMany(e),this}removeAll(){return this.graphics.removeAll(),this}remove(e){this.graphics.remove(e)}removeMany(e){this.graphics.removeMany(e)}on(e,t){return super.on(e,t)}graphicChanged(e){this.emit("graphic-update",e)}};i([n({type:U})],m.prototype,"elevationInfo",void 0),i([n(Y(D,"graphics"))],m.prototype,"graphics",void 0),i([n({type:["show","hide"]})],m.prototype,"listMode",void 0),i([n()],m.prototype,"screenSizePerspectiveEnabled",void 0),i([n({readOnly:!0})],m.prototype,"type",void 0),i([n({constructOnly:!0})],m.prototype,"internal",void 0),m=i([T("esri.layers.GraphicsLayer")],m);const ce=m;function O(e){return e.featureCollectionType==="markup"||e.layers.some(t=>t.layerDefinition.visibilityField!=null||!F(t))}function F({layerDefinition:e,featureSet:t}){var o;const r=(o=e.geometryType)!=null?o:t.geometryType;return x.find(a=>{var s,y,p;return r===a.geometryTypeJSON&&((p=(y=(s=e.drawingInfo)==null?void 0:s.renderer)==null?void 0:y.symbol)==null?void 0:p.type)===a.identifyingSymbol.type})}function z(){return new ue({xmin:-180,ymin:-90,xmax:180,ymax:90})}const E=new P({name:"OBJECTID",alias:"OBJECTID",type:"oid",nullable:!1,editable:!1}),me=new P({name:"title",alias:"Title",type:"string",nullable:!0,editable:!0});let d=class extends ce{constructor(e){super(e),this.visibilityMode="inherited"}initialize(){for(const e of this.graphics)e.sourceLayer=this.layer;this.graphics.on("after-add",e=>{e.item.sourceLayer=this.layer}),this.graphics.on("after-remove",e=>{e.item.sourceLayer=null})}get fullExtent(){var r;const e=(r=this.layer)==null?void 0:r.spatialReference,t=this.fullBounds;return e?h(t)?v(z(),e).geometry:A(t,e):null}get fullBounds(){var r;const e=(r=this.layer)==null?void 0:r.spatialReference;if(!e)return null;const t=_();return this.graphics.forEach(o=>{const a=f(o.geometry)?v(o.geometry,e).geometry:null;f(a)&&C(t,a.type==="point"?a:a.extent,t)}),G(t,B)?null:t}get sublayers(){return this.graphics}};i([n({readOnly:!0})],d.prototype,"fullExtent",null),i([n({readOnly:!0})],d.prototype,"fullBounds",null),i([n({readOnly:!0})],d.prototype,"sublayers",null),i([n()],d.prototype,"layer",void 0),i([n()],d.prototype,"layerId",void 0),i([n({readOnly:!0})],d.prototype,"visibilityMode",void 0),d=i([T("esri.layers.MapNotesLayer.MapNotesSublayer")],d);const x=[{geometryType:"polygon",geometryTypeJSON:"esriGeometryPolygon",id:"polygonLayer",layerId:0,title:"Polygons",identifyingSymbol:new q().toJSON()},{geometryType:"polyline",geometryTypeJSON:"esriGeometryPolyline",id:"polylineLayer",layerId:1,title:"Polylines",identifyingSymbol:new H().toJSON()},{geometryType:"multipoint",geometryTypeJSON:"esriGeometryMultipoint",id:"multipointLayer",layerId:2,title:"Multipoints",identifyingSymbol:new M().toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"pointLayer",layerId:3,title:"Points",identifyingSymbol:new M().toJSON()},{geometryType:"point",geometryTypeJSON:"esriGeometryPoint",id:"textLayer",layerId:4,title:"Text",identifyingSymbol:new Q().toJSON()}];let l=class extends $(j(X(Z(V(R))))){constructor(e){super(e),this.capabilities={operations:{supportsMapNotesEditing:!0}},this.featureCollections=null,this.featureCollectionJSON=null,this.featureCollectionType="notes",this.legendEnabled=!1,this.listMode="hide-children",this.minScale=0,this.maxScale=0,this.spatialReference=w.WGS84,this.sublayers=new J(x.map(t=>new d({id:t.id,layerId:t.layerId,title:t.title,layer:this}))),this.title="Map Notes",this.type="map-notes",this.visibilityMode="inherited"}readCapabilities(e,t,r){return{operations:{supportsMapNotesEditing:!O(t)&&(r==null?void 0:r.origin)!=="portal-item"}}}readFeatureCollections(e,t,r){if(!O(t))return null;const o=t.layers.map(a=>{const s=new ee;return s.read(a,r),s});return new J({items:o})}readLegacyfeatureCollectionJSON(e,t){return O(t)?L(t.featureCollection):null}get fullExtent(){var r;const e=this.spatialReference,t=_();return f(this.sublayers)?this.sublayers.forEach(({fullBounds:o})=>f(o)?C(t,o,t):t,t):(r=this.featureCollectionJSON)!=null&&r.layers.some(o=>o.layerDefinition.extent)&&this.featureCollectionJSON.layers.forEach(o=>{const a=v(o.layerDefinition.extent,e).geometry;f(a)&&C(t,a,t)}),G(t,B)?v(z(),e).geometry:A(t,e)}readMinScale(e,t){for(const r of t.layers)if(r.layerDefinition.minScale!=null)return r.layerDefinition.minScale;return 0}readMaxScale(e,t){for(const r of t.layers)if(r.layerDefinition.maxScale!=null)return r.layerDefinition.maxScale;return 0}get multipointLayer(){return this._findSublayer("multipointLayer")}get pointLayer(){return this._findSublayer("pointLayer")}get polygonLayer(){return this._findSublayer("polygonLayer")}get polylineLayer(){return this._findSublayer("polylineLayer")}readSpatialReference(e,t){return t.layers.length?w.fromJSON(t.layers[0].layerDefinition.spatialReference):w.WGS84}readSublayers(e,t,r){var s;if(O(t))return null;const o=[];let a=t.layers.reduce((y,p)=>{var u;return Math.max(y,(u=p.layerDefinition.id)!=null?u:-1)},-1)+1;for(const y of t.layers){const{layerDefinition:p,featureSet:u}=y,g=(s=p.id)!=null?s:a++,c=F(y);if(f(c)){const S=new d({id:c.id,title:p.name,layerId:g,layer:this,graphics:u.features.map(({geometry:N,symbol:k,attributes:K,popupInfo:W})=>te.fromJSON({attributes:K,geometry:N,symbol:k,popupTemplate:W}))});o.push(S)}}return new J(o)}writeSublayers(e,t,r,o){var g;const{minScale:a,maxScale:s}=this;if(h(e))return;const y=e.some(c=>c.graphics.length>0);if(!this.capabilities.operations.supportsMapNotesEditing)return void(y&&((g=o==null?void 0:o.messages)==null?void 0:g.push(new re("map-notes-layer:editing-not-supported","New map notes cannot be added to this layer"))));const p=[];let u=this.spatialReference.toJSON();e:for(const c of e)for(const S of c.graphics)if(f(S.geometry)){u=S.geometry.spatialReference.toJSON();break e}for(const c of x){const S=e.find(N=>c.id===N.id);this._writeMapNoteSublayer(p,S,c,a,s,u,o)}ie("featureCollection.layers",p,t)}get textLayer(){return this._findSublayer("textLayer")}load(e){return this.addResolvingPromise(this.loadFromPortal({supportedTypes:["Feature Collection"]},e)),Promise.resolve(this)}read(e,t){"featureCollection"in e&&(e=L(e),Object.assign(e,e.featureCollection)),super.read(e,t)}async beforeSave(){if(h(this.sublayers))return;let e=null;const t=[];for(const o of this.sublayers)for(const a of o.graphics)if(f(a.geometry)){const s=a.geometry;e?oe(s.spatialReference,e)||(ae(s.spatialReference,e)||ne()||await le(),a.geometry=se(s,e)):e=s.spatialReference,t.push(a)}const r=await ye(t.map(o=>o.geometry));t.forEach((o,a)=>o.geometry=r[a])}_findSublayer(e){var t,r;return h(this.sublayers)?null:(r=(t=this.sublayers)==null?void 0:t.find(o=>o.id===e))!=null?r:null}_writeMapNoteSublayer(e,t,r,o,a,s,y){const p=[];if(!h(t)){for(const u of t.graphics)this._writeMapNote(p,u,r.geometryType,y);this._normalizeObjectIds(p,E),e.push({layerDefinition:{name:t.title,drawingInfo:{renderer:{type:"simple",symbol:L(r.identifyingSymbol)}},id:t.layerId,geometryType:r.geometryTypeJSON,minScale:o,maxScale:a,objectIdField:"OBJECTID",fields:[E.toJSON(),me.toJSON()],spatialReference:s},featureSet:{features:p,geometryType:r.geometryTypeJSON}})}}_writeMapNote(e,t,r,o){var u,g;if(h(t))return;const{geometry:a,symbol:s,popupTemplate:y}=t;if(h(a))return;if(a.type!==r)return void((u=o==null?void 0:o.messages)==null?void 0:u.push(new I("map-notes-layer:invalid-geometry-type",`Geometry "${a.type}" cannot be saved in "${r}" layer`,{graphic:t})));if(h(s))return void((g=o==null?void 0:o.messages)==null?void 0:g.push(new I("map-notes-layer:no-symbol","Skipping map notes with no symbol",{graphic:t})));const p={attributes:{...t.attributes},geometry:a.toJSON(),symbol:s.toJSON()};f(y)&&(p.popupInfo=y.toJSON()),e.push(p)}_normalizeObjectIds(e,t){const r=t.name;let o=de(r,e)+1;const a=new Set;for(const s of e){s.attributes||(s.attributes={});const{attributes:y}=s;(y[r]==null||a.has(y[r]))&&(y[r]=o++),a.add(y[r])}}};i([n({readOnly:!0})],l.prototype,"capabilities",void 0),i([b(["portal-item","web-map"],"capabilities",["layers"])],l.prototype,"readCapabilities",null),i([n({readOnly:!0})],l.prototype,"featureCollections",void 0),i([b(["web-map","portal-item"],"featureCollections",["layers"])],l.prototype,"readFeatureCollections",null),i([n({readOnly:!0,json:{origins:{"web-map":{write:{enabled:!0,target:"featureCollection"}}}}})],l.prototype,"featureCollectionJSON",void 0),i([b(["web-map","portal-item"],"featureCollectionJSON",["featureCollection"])],l.prototype,"readLegacyfeatureCollectionJSON",null),i([n({readOnly:!0,json:{read:!0,write:{enabled:!0,ignoreOrigin:!0}}})],l.prototype,"featureCollectionType",void 0),i([n({readOnly:!0})],l.prototype,"fullExtent",null),i([n({readOnly:!0,json:{origins:{"web-map":{write:{target:"featureCollection.showLegend",overridePolicy(){return{enabled:this.featureCollectionJSON!=null}}}}}}})],l.prototype,"legendEnabled",void 0),i([n({type:["show","hide","hide-children"]})],l.prototype,"listMode",void 0),i([n({type:Number,nonNullable:!0,json:{write:!1}})],l.prototype,"minScale",void 0),i([b(["web-map","portal-item"],"minScale",["layers"])],l.prototype,"readMinScale",null),i([n({type:Number,nonNullable:!0,json:{write:!1}})],l.prototype,"maxScale",void 0),i([b(["web-map","portal-item"],"maxScale",["layers"])],l.prototype,"readMaxScale",null),i([n({readOnly:!0})],l.prototype,"multipointLayer",null),i([n({value:"ArcGISFeatureLayer",type:["ArcGISFeatureLayer"]})],l.prototype,"operationalLayerType",void 0),i([n({readOnly:!0})],l.prototype,"pointLayer",null),i([n({readOnly:!0})],l.prototype,"polygonLayer",null),i([n({readOnly:!0})],l.prototype,"polylineLayer",null),i([n({type:w})],l.prototype,"spatialReference",void 0),i([b(["web-map","portal-item"],"spatialReference",["layers"])],l.prototype,"readSpatialReference",null),i([n({readOnly:!0,json:{origins:{"web-map":{write:{ignoreOrigin:!0}}}}})],l.prototype,"sublayers",void 0),i([b("web-map","sublayers",["layers"])],l.prototype,"readSublayers",null),i([pe("web-map","sublayers")],l.prototype,"writeSublayers",null),i([n({readOnly:!0})],l.prototype,"textLayer",null),i([n()],l.prototype,"title",void 0),i([n({readOnly:!0,json:{read:!1}})],l.prototype,"type",void 0),l=i([T("esri.layers.MapNotesLayer")],l);const ge=l;export{ge as default};