@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
3 lines (2 loc) • 3.13 kB
JavaScript
/* COPYRIGHT Esri - https://js.arcgis.com/5.0.8/LICENSE.txt */
import e from"../../../core/Error.js";import{getRendererToUpdate as r,getStyleType as a,spliceVisualVariables as t,findSizeVVIndex as n,updateAuthoringInfoVisualVariable as i,getAuthoringInfoVisualVariable as s,hasScaleDependentSizeVV as o}from"./regenerateUtils.js";async function c(t){const n=await r(t),i=a(n),s=t.includedParts,o=s?.includes("size-variable")??!0,c=s?.includes("color-variable")??!0,u=s?.includes("class-breaks")??!0;switch(i){case"color-continuous":{if(!c)return n;const{regenerateContinuousRenderer:e}=await import("../color.js");return(await e(t)).renderer}case"color-class-breaks":{if(!u)return n;const{regenerateClassBreaksRenderer:e}=await import("../color.js");return(await e(t)).renderer}case"color-age":{if(!c)return n;const{regenerateAgeRenderer:e}=await import("../color.js");return(await e(t)).renderer}case"size-continuous":{if(!o)return n;const{regenerateContinuousRenderer:e}=await import("../size.js");return(await e(t)).renderer}case"size-class-breaks":{if(!u)return n;const{regenerateClassBreaksRenderer:e}=await import("../size.js");return(await e(t)).renderer}case"size-age":{if(!o)return n;const{regenerateAgeRenderer:e}=await import("../size.js");return(await e(t)).renderer}case"color-size":{let e=n;if(c){const{regenerateContinuousRenderer:r}=await import("../color.js");e=(await r(t)).renderer}return o?await d(t,e):e}case"type":{const{regenerateRenderer:e}=await import("../type.js");return(await e(t)).renderer}case"type-size":{const{regenerateRenderer:e}=await import("../type.js"),{renderer:r}=await e(t);return o?await d(t,r):r}case"predominance":{const{regenerateRenderer:e}=await import("../predominance.js");return(await e(t)).renderer}case"relationship":{if(!u)return n;const{regenerateRenderer:e}=await import("../relationship.js");return(await e(t)).renderer}case"relationship-size":{let e=n;if(u){const{regenerateRenderer:r}=await import("../relationship.js"),{renderer:a}=await r(t);e=a}return o?await d(t,e):e}case"pie-chart":{const{regenerateRenderer:e}=await import("../pieChart.js");return(await e(t)).renderer}case"dot-density":{const{regenerateRenderer:e}=await import("../dotDensity.js");return(await e(t)).renderer}case"heatmap":{const{regenerateRenderer:e}=await import("../heatmap.js");return(await e(t)).renderer}case"univariate-color-size":{const{regenerateRenderer:e}=await import("../univariateColorSize.js");return(await e(t)).renderer}default:throw new e("regenerate-renderer:invalid-parameters","renderer type not supported")}}async function d(e,r){const{regenerateVisualVariables:a,updateRendererWithReferenceSize:c,updateRendererWithSpike:d}=await import("../size.js"),{visualVariables:u,authoringInfo:p,isGrid:w}=await a({...e,renderer:r});t(r,u,n),i(r,p,"size");const l=s(r,"size","reference-size"),g=s(r,"size","spike");return l||g?g?await d({layer:e.layer,renderer:r,sizeStops:g.sizeStops,forBinning:e.forBinning}):await c({layer:e.layer,renderer:r,sizeStops:l.sizeStops,view:e.view,forBinning:e.forBinning,sizeOptimizationEnabled:o(r),isGrid:w}):r}export{c as regenerateRenderer};