UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 1.56 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.32/esri/copyright.txt for details. */ import{_ as e}from"../../../chunks/tslib.es6.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import{SharedTemplateRelationshipNotFound as o}from"../support/sharedTemplateErrors.js";import{TemplateDefinitionBase as s}from"./TemplateDefinitionBase.js";import{FeatureTemplateRelationshipPart as i}from"./parts/FeatureTemplateRelationshipPart.js";let a=class extends s{constructor(e){super(e),this.type="feature",this.defaultValues=null,this.relationships=[]}get allParts(){return this.relationships}initializeRelationshipMetadata(e){for(const t of this.relationships){const{relationshipCatalogId:r}=t,s=t.template?.layer,i=e.relationships?.find((e=>e.catalogId===r)),a=s?.relationships?.find((e=>e.catalogId===r));if(!i||!s||!a)throw new o(r);t.relationshipMetadata={destinationField:a.keyField,destinationLayerId:s.layerId,sourceField:i.keyField,sourceLayerId:e.layerId}}}};e([t({readOnly:!0})],a.prototype,"type",void 0),e([t()],a.prototype,"allParts",null),e([t()],a.prototype,"defaultValues",void 0),e([t({constructOnly:!0,type:[i]})],a.prototype,"relationships",void 0),a=e([r("esri.editing.sharedTemplates.templateDefinitions.FeatureTemplateDefinition")],a);export{a as FeatureTemplateDefinition};