UNPKG

@arcgis/core

Version:

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

3 lines (2 loc) 1.86 kB
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */ import{__decorate as e}from"tslib";import t from"../../core/Error.js";import{LoadableMixin as o}from"../../core/Loadable.js";import{EsriPromiseMixin as r}from"../../core/Promise.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import s from"./SharedTemplateMetadata.js";import{SharedTemplateRequiredPropsNotSetError as n}from"./support/sharedTemplateErrors.js";import p from"./templateDefinitions/FeatureTemplateDefinition.js";import m from"./templateDefinitions/GroupTemplateDefinition.js";import l from"./templateDefinitions/PresetTemplateDefinition.js";import{isFeatureTemplateDefinition as f}from"./templateDefinitions/templateDefinitionUtils.js";import{reader as d}from"../../core/accessorSupport/decorators/reader.js";const c=e=>u.fromJSON(e);let u=class extends(o(r(s))){constructor(e){super(e),this.definition=null,this.layer=null,this.type="feature",this.view=null}readDefinition(e,o){switch(o.type){case"feature":return p.fromJSON(e);case"group":return m.fromJSON(e);case"preset":return l.fromJSON(e);default:throw o.type,new t("shared-template:no-definition","No value for 'definition' provided to 'SharedTemplate' constructor")}}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){const{definition:t,featureService:o,layer:r,view:i}=this;if(!(t&&o&&r&&i))throw new n;t.featureService=o,t.makeSharedTemplateFromJSON=c,t.view=i,await(this.definition?.load(e)),f(t)&&t.initializeRelationshipMetadata(r)}};e([i({json:{write:!0}})],u.prototype,"definition",void 0),e([d("definition")],u.prototype,"readDefinition",null),e([i()],u.prototype,"layer",void 0),e([i()],u.prototype,"type",void 0),e([i()],u.prototype,"view",void 0),u=e([a("esri.editing.sharedTemplates.SharedTemplate")],u);const h=u;export{h as default};