@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.83 kB
JavaScript
/*
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 o from"../../../core/Logger.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import{cast as r}from"../../../core/accessorSupport/decorators/cast.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import m from"./AttachmentsColumnTemplate.js";import p from"./ColumnTemplate.js";import a from"./ColumnTemplateBase.js";import{isTemplateObjectWithType as l}from"./columnUtils.js";import n from"./FieldColumnTemplate.js";import i from"./RelationshipColumnTemplate.js";let u=class extends a{constructor(e){super(e),this.columnTemplates=null,this.type="group"}castColumnTemplates(e){if(!e||!Array.isArray(e))return[];const t=[];return e.forEach((e=>{if(e instanceof n||e instanceof p||e instanceof m||e instanceof i)t.push(e);else if(l(e)){const r=e.type;"field"===r?t.push(new n(e)):"group"===r?o.getLogger(this).warn("A GroupColumnTemplate cannot contain other GroupColumn templates. Template removed from 'GroupColumnTemplate.columnTemplates'."):"column"===r?t.push(new p(e)):"attachment"===r?t.push(new m(e)):"relationship"===r&&t.push(new i(e))}else o.getLogger(this).warn("Property 'type' is missing from the provided template. Template removed from 'tableTemplate.columnTemplates'.")})),t}};e([t({json:{write:!0}})],u.prototype,"columnTemplates",void 0),e([r("columnTemplates")],u.prototype,"castColumnTemplates",null),e([t({type:String,json:{read:!1,write:!0}})],u.prototype,"type",void 0),u=e([s("esri.widgets.FeatureTable.support.GroupColumnTemplate")],u);const c=u;export{c as default};