Browse Source

Merge pull request #10 from moklick/patch-1

refactor(charts.js): use switch instead of multiple if else
tags/1.2.0
Prateeksha Singh 7 years ago
committed by GitHub
parent
commit
678fc55c20
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 18 additions and 14 deletions
  1. +18
    -14
      src/scripts/charts.js

+ 18
- 14
src/scripts/charts.js 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]);
}
}
}

Loading…
Cancel
Save