quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 1.14 kB
JavaScript
import{componentFactory}from'../../../fc-core/src/lib';import GLegend from'../../../fc-charts/src/_internal/components/legend/gradient';import Legend from'../../../fc-charts/src/_internal/components/legend/discrete';function _decideLegendCreation(a){let b,c=a.getFromEnv('dataSource').colorrange,d=a.getFromEnv('dataSource').chart.mapbycategory,e='maps'===a.defaultDatasetType,f='TreeMap'===a.getName(),g=a.getFromEnv('legend'),h=a.getFromEnv('gLegend');b=c&&a.config.showLegend?e?c.gradient&&+c.gradient?'gradient':c.color?'icon':'none':f?c.gradient&&'0'!=c.gradient?'gradient':'none':c.gradient&&'0'!=c.gradient&&!+d?'gradient':'icon':'none';'gradient'===b?(a.deleteFromEnv('legend'),g&&g.remove(),componentFactory(a,GLegend,'gLegend',1),h=a.getChildren('gLegend')[0],h.configure(),a.addToEnv('gLegend',h)):'icon'===b?(a.deleteFromEnv('gLegend'),h&&h.remove(),componentFactory(a,Legend,'legend',1,{showLegend:!0}),g=a.getChildren('legend')[0],g.configure(),a.addToEnv('legend',g)):'none'===b?(a.deleteFromEnv('gLegend'),a.deleteFromEnv('legend'),h&&h.remove(),g&&g.remove()):void 0}export default function(a){_decideLegendCreation(a)}