diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-08-04 22:51:44 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-08-04 22:52:12 -0400 |
commit | e13872fc2e46976a668454d7528b0e7daef85d52 (patch) | |
tree | 5485d244f0dd4865720dc39e78cd4d1ff559f6e5 /assets/js/src/BurndownChart.js | |
parent | f04ec0700cb111baabc49febf22425612a5b7c58 (diff) |
Javascript refactoring
Diffstat (limited to 'assets/js/src/BurndownChart.js')
-rw-r--r-- | assets/js/src/BurndownChart.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/assets/js/src/BurndownChart.js b/assets/js/src/BurndownChart.js new file mode 100644 index 00000000..79199b67 --- /dev/null +++ b/assets/js/src/BurndownChart.js @@ -0,0 +1,48 @@ +function BurndownChart() { +} + +BurndownChart.prototype.execute = function() { + var metrics = $("#chart").data("metrics"); + var columns = [[$("#chart").data("label-total")]]; + var categories = []; + var inputFormat = d3.time.format("%Y-%m-%d"); + var outputFormat = d3.time.format($("#chart").data("date-format")); + + for (var i = 0; i < metrics.length; i++) { + + for (var j = 0; j < metrics[i].length; j++) { + + if (i == 0) { + columns.push([metrics[i][j]]); + } + else { + columns[j + 1].push(metrics[i][j]); + + if (j > 0) { + + if (columns[0][i] == undefined) { + columns[0].push(0); + } + + columns[0][i] += metrics[i][j]; + } + + if (j == 0) { + categories.push(outputFormat(inputFormat.parse(metrics[i][j]))); + } + } + } + } + + c3.generate({ + data: { + columns: columns + }, + axis: { + x: { + type: 'category', + categories: categories + } + } + }); +}; |