@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 2.13 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{_ as e}from"../../chunks/tslib.es6.js";import{neverReached as o}from"../../core/compilerUtils.js";import t from"../../core/Error.js";import r from"../../core/Loadable.js";import i from"../../core/Promise.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import n from"./SharedTemplateMetadata.js";import{SharedTemplateRequiredPropsNotSetError as m}from"./support/sharedTemplateErrors.js";import l from"./templateDefinitions/FeatureTemplateDefinition.js";import f from"./templateDefinitions/GroupTemplateDefinition.js";import d from"./templateDefinitions/PresetTemplateDefinition.js";import{isFeatureTemplateDefinition as c}from"./templateDefinitions/templateDefinitionUtils.js";const u=e=>h.fromJSON(e);let h=class extends(r.LoadableMixin(i.EsriPromiseMixin(n))){constructor(e){super(e),this.definition=null,this.layer=null,this.type="feature",this.view=null}readDefinition(e,r){switch(r.type){case"feature":return l.fromJSON(e);case"group":return f.fromJSON(e);case"preset":return d.fromJSON(e);default:throw o(r.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:o,featureService:t,layer:r,view:i}=this;if(!(o&&t&&r&&i))throw new m;o.featureService=t,o.makeSharedTemplateFromJSON=u,o.view=i,await(this.definition?.load(e)),c(o)&&o.initializeRelationshipMetadata(r)}};e([s()],h.prototype,"definition",void 0),e([a("definition")],h.prototype,"readDefinition",null),e([s()],h.prototype,"layer",void 0),e([s()],h.prototype,"type",void 0),e([s()],h.prototype,"view",void 0),h=e([p("esri.editing.sharedTemplates.SharedTemplate")],h);const j=h;export{j as default};