Merge pull request #10 from moklick/patch-1

refactor(charts.js): use switch instead of multiple if else
This commit is contained in:
Prateeksha Singh 2017-11-02 11:45:12 +05:30 committed by GitHub
commit 678fc55c20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -14,20 +14,24 @@ import Heatmap from './charts/Heatmap';
// );
// }
const chartTypes = {
line: LineChart,
bar: BarChart,
scatter: ScatterChart,
percentage: PercentageChart,
heatmap: Heatmap
};
function getChartByType(chartType = 'line', options) {
if (!chartTypes[chartType]) {
return new LineChart(options);
}
return new chartTypes[chartType](options);
}
export default class Chart {
constructor(args) {
if(args.type === 'line') {
return new LineChart(arguments[0]);
} else if(args.type === 'bar') {
return new BarChart(arguments[0]);
} else if(args.type === 'scatter') {
return new ScatterChart(arguments[0]);
} else if(args.type === 'percentage') {
return new PercentageChart(arguments[0]);
} else if(args.type === 'heatmap') {
return new Heatmap(arguments[0]);
} else {
return new LineChart(arguments[0]);
}
return getChartByType(args.type, arguments[0]);
}
}
}