Repository: ignite
Updated Branches:
  refs/heads/ignite-843 2b271fc5c -> 2be50b76b


IGNITE-843: WIP charts.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2be50b76
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2be50b76
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2be50b76

Branch: refs/heads/ignite-843
Commit: 2be50b76bc2ba929677a26c419ce1ee65da33e78
Parents: 2b271fc
Author: Alexey Kuznetsov <[email protected]>
Authored: Fri Sep 4 10:49:36 2015 +0700
Committer: Alexey Kuznetsov <[email protected]>
Committed: Fri Sep 4 10:49:36 2015 +0700

----------------------------------------------------------------------
 .../src/main/js/controllers/sql-controller.js   | 63 +++++++++++---------
 1 file changed, 36 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/2be50b76/modules/control-center-web/src/main/js/controllers/sql-controller.js
----------------------------------------------------------------------
diff --git 
a/modules/control-center-web/src/main/js/controllers/sql-controller.js 
b/modules/control-center-web/src/main/js/controllers/sql-controller.js
index e0bdc81..5be782f 100644
--- a/modules/control-center-web/src/main/js/controllers/sql-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/sql-controller.js
@@ -183,19 +183,19 @@ controlCenterModule.controller('sqlController', 
['$scope', '$window','$controlle
                 break;
 
             case 'bar':
-                barChart(paragraph);
+                _barChart(paragraph);
                 break;
 
             case 'pie':
-                pieChart(paragraph);
+                _pieChart(paragraph);
                 break;
 
             case 'line':
-                lineChart(paragraph);
+                _lineChart(paragraph);
                 break;
 
             case 'area':
-                areaChart(paragraph);
+                _areaChart(paragraph);
                 break;
 
             default:
@@ -355,7 +355,28 @@ controlCenterModule.controller('sqlController', ['$scope', 
'$window','$controlle
         return value;
     };
 
-    function barChart(paragraph) {
+    function _isNumber(arr, idx, dflt) {
+        if (arr && arr.length > idx) {
+            var val = arr[idx];
+
+            if (_.isNumber(val))
+                return val;
+        }
+
+        return dflt;
+    }
+
+    function _datum(key, rows) {
+        var index = 0;
+
+        var values = _.map(rows, function (row) {
+            return {x: _isNumber(row, 1, index++), y: _isNumber(row, 0, 0)}
+        });
+
+        return [{key: key, values: values}];
+    }
+
+    function _barChart(paragraph) {
         var index = 0;
 
         nv.addGraph(function() {
@@ -368,7 +389,7 @@ controlCenterModule.controller('sqlController', ['$scope', 
'$window','$controlle
                     });
 
             var values = _.map(paragraph.rows, function (row) {
-                return {label: (row.length > 1) ? row[1] : index++, value: 
(row.length > 0) ? row[0] : 0}
+                return {label: (row.length > 1) ? row[1] : index++, value: 
_isNumber(row, 0, 0)}
             });
 
             d3.selectAll("#chart svg > *").remove();
@@ -382,7 +403,7 @@ controlCenterModule.controller('sqlController', ['$scope', 
'$window','$controlle
         });
     }
 
-    function pieChart(paragraph) {
+    function _pieChart(paragraph) {
         var index = 0;
 
         nv.addGraph(function() {
@@ -410,25 +431,19 @@ controlCenterModule.controller('sqlController', 
['$scope', '$window','$controlle
         });
     }
 
-    function lineChart(paragraph) {
-        var index = 0;
-
+    function _lineChart(paragraph) {
         nv.addGraph(function() {
             var chart = nv.models.lineChart()
                 .x(function (d) {
-                    return d.label;
+                    return d.x;
                 })
                 .y(function (d) {
-                    return d.value;
+                    return d.y;
                 });
 
-            var values = _.map(paragraph.rows, function (row) {
-                return {label: (row.length > 1) ? row[1] : index++, value: 
(row.length > 0) ? row[0] : 0}
-            });
-
             d3.selectAll("#chart svg > *").remove();
             d3.select('#chart svg')
-                .datum([{key: 'bar', values: values}])
+                .datum(_datum('Line chart', paragraph.rows))
                 .call(chart);
 
             nv.utils.windowResize(chart.update);
@@ -437,25 +452,19 @@ controlCenterModule.controller('sqlController', 
['$scope', '$window','$controlle
         });
     }
 
-    function areaChart(paragraph) {
-        var index = 0;
-
+    function _areaChart(paragraph) {
         nv.addGraph(function() {
             var chart = nv.models.stackedAreaChart()
                 .x(function (d) {
-                    return d.label;
+                    return d.x;
                 })
                 .y(function (d) {
-                    return d.value;
+                    return d.y;
                 });
 
-            var values = _.map(paragraph.rows, function (row) {
-                return {label: (row.length > 1) ? row[1] : index++, value: 
(row.length > 0) ? row[0] : 0}
-            });
-
             d3.selectAll("#chart svg > *").remove();
             d3.select('#chart svg')
-                .datum([{key: 'bar', values: values}])
+                .datum(_datum('Area chart', paragraph.rows))
                 .call(chart);
 
             nv.utils.windowResize(chart.update);

Reply via email to