// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("../../chunks/tslib.es6 ../../PopupTemplate ../../renderers/ClassBreaksRenderer ../../renderers/DictionaryRenderer ../../renderers/DotDensityRenderer ../../renderers/HeatmapRenderer ../../renderers/PieChartRenderer ../../renderers/Renderer ../../renderers/SimpleRenderer ../../renderers/UniqueValueRenderer ../../renderers/support/jsonUtils ../../renderers/support/types ../../symbols ../../core/JSONSupport ../../core/lang ../../core/object ../../core/screenUtils ../../core/accessorSupport/decorators/property ../../core/has ../../core/Logger ../../core/accessorSupport/decorators/reader ../../core/accessorSupport/decorators/subclass ../../core/accessorSupport/decorators/writer ./AggregateField ./commonProperties ./featureLayerUtils ./LabelClass".split(" "), function(c,t,b,C,D,E,F,G,u,H,n,v,w,x,k,y,h,d,I,J,l,z,p,q,r,A,B){var m;b=m=class extends x.JSONSupport{constructor(a){super(a);this.type="cluster";this.clusterRadius=h.toPt("80px");this.clusterMinSize=h.toPt("12px");this.clusterMaxSize=h.toPt("50px");this.maxScale=0;this.popupEnabled=!0;this.labelingInfo=this.symbol=this.renderer=this.popupTemplate=null;this.labelsVisible=!0;this.fields=[]}readRenderer(a,e,f){a=e.drawingInfo?.renderer;return a?.authoringInfo?.isAutoGenerated?null:a?"simple"!==a.type|| a.visualVariables?.length?n.read(a,e,f)??void 0:null:A.createDefaultRenderer(e,f)}readSymbol(a,e,f){a=e.drawingInfo?.renderer;return a?.authoringInfo?.isAutoGenerated?null:a&&"simple"===a.type&&!a.visualVariables?.length?n.read(a,e,f)?.symbol:null}writeSymbol(a,e,f,g){f=this.renderer?.authoringInfo?.isAutoGenerated;if(!this.renderer||f)a=new u({symbol:a}),e.drawingInfo={renderer:a.write({},g)}}writeFields(a,e,f){a=a.filter(g=>"avg_angle"!==g.statisticType).map(g=>g.toJSON());y.setDeepValue(f,a,e)}readFields(a, e,f){return a.filter(g=>!g.isAutoGenerated).map(g=>q.fromJSON(g))}clone(){return new m({clusterRadius:this.clusterRadius,clusterMinSize:this.clusterMinSize,clusterMaxSize:this.clusterMaxSize,labelingInfo:k.clone(this.labelingInfo),labelsVisible:this.labelsVisible,fields:k.clone(this.fields),maxScale:this.maxScale,renderer:k.clone(this.renderer),symbol:k.clone(this.symbol),popupEnabled:this.popupEnabled,popupTemplate:k.clone(this.popupTemplate)})}};c.__decorate([d.property({type:["cluster"],readOnly:!0, json:{write:!0}})],b.prototype,"type",void 0);c.__decorate([d.property({type:Number,cast:a=>"auto"===a?a:h.toPt(a),json:{write:!0}})],b.prototype,"clusterRadius",void 0);c.__decorate([d.property({type:Number,cast:h.toPt,json:{write:!0}})],b.prototype,"clusterMinSize",void 0);c.__decorate([d.property({type:Number,cast:h.toPt,json:{write:!0}})],b.prototype,"clusterMaxSize",void 0);c.__decorate([d.property({type:Number,json:{default:0,name:"visibilityInfo.maxScale"}})],b.prototype,"maxScale",void 0); c.__decorate([d.property(r.popupEnabled)],b.prototype,"popupEnabled",void 0);c.__decorate([d.property({type:t,json:{read:{source:"popupInfo"},write:{target:"popupInfo"}}})],b.prototype,"popupTemplate",void 0);c.__decorate([d.property({types:v.rendererTypes,json:{write:{target:"drawingInfo.renderer"}}})],b.prototype,"renderer",void 0);c.__decorate([l.reader("renderer",["drawingInfo.renderer"])],b.prototype,"readRenderer",null);c.__decorate([d.property({types:w.symbolTypesCluster})],b.prototype,"symbol", void 0);c.__decorate([l.reader("symbol",["drawingInfo.renderer"])],b.prototype,"readSymbol",null);c.__decorate([p.writer("symbol")],b.prototype,"writeSymbol",null);c.__decorate([d.property({type:[B],json:{read:{source:"drawingInfo.labelingInfo"},write:{target:"drawingInfo.labelingInfo"}}})],b.prototype,"labelingInfo",void 0);c.__decorate([d.property(r.labelsVisible)],b.prototype,"labelsVisible",void 0);c.__decorate([d.property({type:[q],json:{write:!0}})],b.prototype,"fields",void 0);c.__decorate([p.writer("fields")], b.prototype,"writeFields",null);c.__decorate([l.reader("fields")],b.prototype,"readFields",null);return b=m=c.__decorate([z.subclass("esri.layers.support.FeatureReductionCluster")],b)});