// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../../PopupTemplate ../../core/Error ../../intl/messages ../../popup/ExpressionInfo ../../popup/FieldInfo ./support/utils ../statistics/support/predominanceUtils".split(" "),function(k,h,p,q,l,m,e,n){async function r(a){const {layer:b,renderer:c}=a;await b.load();a=c||b.renderer;if("dot-density"!==a?.type)throw new p("dot-density-popup:invalid-parameters","renderer.type must be 'dot-density'");return{layer:b,renderer:a}}async function t(a,b){const {fieldInfos:c,expressionInfos:d}= await e.getFieldAndExpressionInfos({renderer:a,layer:b});return new h({content:await e.getContentFromFieldInfos(b,{fieldInfos:c,expressionInfos:d}),expressionInfos:d,fieldInfos:c})}async function u(a,b,c){const {fieldInfos:d,expressionInfos:f}=await e.getFieldAndExpressionInfos({renderer:a,layer:b});b=d.filter(g=>!g.fieldName?.includes(e.expressionFieldPrefix));a=new m({fieldName:"expression/dot-density-categories-list"});b=new l({name:"dot-density-categories-list",title:c.listOfCategories,expression:n.getArcadeForOrderedFields(b, f)});a=new h({expressionInfos:[b],fieldInfos:[a],title:c.competingFields,content:`{${a.fieldName}}`});return{name:"dot-density-categories-list",title:c.orderedListOfValues,value:a}}async function v(a,b,c){const {fieldInfos:d,expressionInfos:f}=await e.getFieldAndExpressionInfos({renderer:a,layer:b});b=d.filter(g=>!g.fieldName?.includes(e.expressionFieldPrefix));a=new m({fieldName:"expression/dot-density-category"});b=new l({name:"dot-density-category",title:c.predominantCategory,expression:n.getArcadeForPredominantCategoryAlias(b, f)});a=new h({expressionInfos:[b,...f],fieldInfos:[a,...d],content:[{type:"text",text:`
{${a.fieldName}}
`},{type:"media",mediaInfos:{type:"pie-chart",title:c.competingFields,value:{fields:d.map(g=>g.fieldName)}}}]});return{name:"dot-density-category-chart",title:c.predominantCategoryWithChart,value:a}}k.getTemplates=async function(a){const [{renderer:b,layer:c},d]=await Promise.all([r(a),q.fetchMessageBundle("esri/smartMapping/t9n/smartMapping")]);a={name:"dot-density", title:d.dotDensity,value:await t(b,c)};const f=[await u(b,c,d),await v(b,c,d)];return{primaryTemplate:a,secondaryTemplates:f}};Object.defineProperty(k,Symbol.toStringTag,{value:"Module"})});