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