summaryrefslogtreecommitdiff
path: root/assets/js/src/BurndownChart.js
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-08-04 22:51:44 -0400
committerFrederic Guillot <fred@kanboard.net>2015-08-04 22:52:12 -0400
commite13872fc2e46976a668454d7528b0e7daef85d52 (patch)
tree5485d244f0dd4865720dc39e78cd4d1ff559f6e5 /assets/js/src/BurndownChart.js
parentf04ec0700cb111baabc49febf22425612a5b7c58 (diff)
Javascript refactoring
Diffstat (limited to 'assets/js/src/BurndownChart.js')
-rw-r--r--assets/js/src/BurndownChart.js48
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
+ }
+ }
+ });
+};