12345 |
- /*
- All material copyright ESRI, All Rights Reserved, unless otherwise specified.
- See https://js.arcgis.com/4.25/esri/copyright.txt for details.
- */
- import e from"../../PopupTemplate.js";import r from"../../core/Error.js";import{fetchMessageBundle as s}from"../../intl/messages.js";import{getPrimaryVisualVariables as t,hasNormalizedField as n,getFieldAndExpressionInfos as i,getContentFromFieldInfos as p}from"./support/utils.js";import{createPopupTemplate as a}from"../../support/popupUtils.js";async function o(e){const{layer:s,renderer:t}=e;await s.load();const n=t||s.renderer;if("simple"!==n.type)throw new r("simple-popup:invalid-parameters","renderer.type must be 'simple'");return{layer:s,renderer:n}}async function l(r,s,t="divide"){const{fieldInfos:n,expressionInfos:a}=await i({renderer:r,layer:s,normFieldExpressionTemplate:t});return new e({content:await p(s,{fieldInfos:n,expressionInfos:a}),expressionInfos:a,fieldInfos:n})}async function m(e){const[{renderer:r,layer:i},p]=await Promise.all([o(e),s("esri/smartMapping/t9n/smartMapping")]),m=[];if(!t(r).length){const e=a(i);return e?{primaryTemplate:{name:"simple",title:p.simple,value:e},secondaryTemplates:m}:null}const c={name:"simple",title:p.simple,value:await l(r,i)};return n(r)&&m.push({name:"simple-percent",title:p.simpleNormFieldAsPercent,value:await l(r,i,"percentage")}),{primaryTemplate:c,secondaryTemplates:m}}export{m as getTemplates};
|