UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

3 lines (2 loc) 1.9 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{__decorate as e}from"tslib";import o from"../request.js";import{Clonable as r}from"../core/Clonable.js";import{JSONSupportMixin as t}from"../core/JSONSupport.js";import{generateUUID as s}from"../core/uuid.js";import{property as i,subclass as n}from"../core/accessorSupport/decorators.js";import{persistable as p}from"../core/accessorSupport/decorators/persistable.js";import l from"./FocusAreaOutline.js";import a from"../layers/support/PolygonCollection.js";import{f as m}from"../chunks/persistableUrlUtils.js";import{reader as c}from"../core/accessorSupport/decorators/reader.js";let d=class extends(t(r)){constructor(e){super(e),this.id=`focusarea-${s()}`,this.title=null,this.enabled=!0,this.outline=null,this.geometries=new a}readGeometries(e,o,r){Array.isArray(e)?this.geometries=a.fromJSON(e,r):"web-scene"!==r.origin&&"portal-item"!==r.origin||r.hooks?.onAfterLoad?.(()=>this._loadGeometries(m(e,r),r))}async _loadGeometries(e,r){const t=await o(e,{responseType:"json"});this.geometries=a.fromJSON(t.data,r)}};e([i({type:String,nonNullable:!0,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}}),i()],d.prototype,"id",void 0),e([i({type:String,json:{write:!0}})],d.prototype,"title",void 0),e([i({type:Boolean,nonNullable:!0,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}}})],d.prototype,"enabled",void 0),e([i({type:l,json:{write:!0}})],d.prototype,"outline",void 0),e([i({type:a,nonNullable:!0,json:{write:!0,origins:{"web-scene":{write:{isRequired:!0}}}},clonable:e=>new a(e.items.map(e=>e.clone()))}),p({origins:["web-scene","portal-item"],type:"resource",prefix:"geometries",contentAddressed:!0})],d.prototype,"geometries",void 0),e([c(["web-scene","portal-item","service"],"geometries")],d.prototype,"readGeometries",null),d=e([n("esri.effects.FocusArea")],d);const u=d;export{u as default};