You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/09/03 06:19:56 UTC

[2/2] ignite git commit: IGNITE-843: WIP charts.

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/bd46179d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/bd46179d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/bd46179d

Branch: refs/heads/ignite-843
Commit: bd46179d9fade5f0b406d401f2bfa61b0c25c7af
Parents: f2e8049
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Thu Sep 3 11:20:25 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Thu Sep 3 11:20:25 2015 +0700

----------------------------------------------------------------------
 .../src/main/js/controllers/sql-controller.js   | 120 ++++++-------------
 .../src/main/js/views/sql/sql.jade              |   4 +-
 2 files changed, 39 insertions(+), 85 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/bd46179d/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 92f21b7..a23d8ab 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
@@ -164,19 +164,19 @@ controlCenterModule.controller('sqlController', ['$scope', '$window','$controlle
                 break;
 
             case 'bar':
-                barChart();
+                barChart(paragraph);
                 break;
 
             case 'pie':
-                pieChart();
+                pieChart(paragraph);
                 break;
 
             case 'line':
-                lineChart();
+                lineChart(paragraph);
                 break;
 
             case 'area':
-                areaChart();
+                areaChart(paragraph);
                 break;
 
             default:
@@ -332,104 +332,58 @@ controlCenterModule.controller('sqlController', ['$scope', '$window','$controlle
         return value;
     };
 
-    function barChart() {
-        var testdata = [
-            {
-                "key": "Quantity",
-                "bar": true,
-                "values": [[1136005200000, 1271000.0], [1138683600000, 1271000.0], [1141102800000, 1271000.0], [1143781200000, 0], [1146369600000, 0], [1149048000000, 0], [1151640000000, 0], [1154318400000, 0], [1156996800000, 0], [1159588800000, 3899486.0], [1162270800000, 3899486.0], [1164862800000, 3899486.0], [1167541200000, 3564700.0], [1170219600000, 3564700.0], [1172638800000, 3564700.0], [1175313600000, 2648493.0], [1177905600000, 2648493.0], [1180584000000, 2648493.0], [1183176000000, 2522993.0], [1185854400000, 2522993.0], [1188532800000, 2522993.0], [1191124800000, 2906501.0], [1193803200000, 2906501.0], [1196398800000, 2906501.0], [1199077200000, 2206761.0], [1201755600000, 2206761.0], [1204261200000, 2206761.0], [1206936000000, 2287726.0], [1209528000000, 2287726.0], [1212206400000, 2287726.0], [1214798400000, 2732646.0], [1217476800000, 2732646.0], [1220155200000, 2732646.0], [1222747200000, 2599196.0], [1225425600000, 2599196.0], [1228021200000, 2599196.0], [123069960
 0000, 1924387.0], [1233378000000, 1924387.0], [1235797200000, 1924387.0], [1238472000000, 1756311.0], [1241064000000, 1756311.0], [1243742400000, 1756311.0], [1246334400000, 1743470.0], [1249012800000, 1743470.0], [1251691200000, 1743470.0], [1254283200000, 1519010.0], [1256961600000, 1519010.0], [1259557200000, 1519010.0], [1262235600000, 1591444.0], [1264914000000, 1591444.0], [1267333200000, 1591444.0], [1270008000000, 1543784.0], [1272600000000, 1543784.0], [1275278400000, 1543784.0], [1277870400000, 1309915.0], [1280548800000, 1309915.0], [1283227200000, 1309915.0], [1285819200000, 1331875.0], [1288497600000, 1331875.0], [1291093200000, 1331875.0], [1293771600000, 1331875.0], [1296450000000, 1154695.0], [1298869200000, 1154695.0], [1301544000000, 1194025.0], [1304136000000, 1194025.0], [1306814400000, 1194025.0], [1309406400000, 1194025.0], [1312084800000, 1194025.0], [1314763200000, 1244525.0], [1317355200000, 475000.0], [1320033600000, 475000.0], [1322629200000, 475000.0], [1
 325307600000, 690033.0], [1327986000000, 690033.0], [1330491600000, 690033.0], [1333166400000, 514733.0], [1335758400000, 514733.0]]
-            },
-            {
-                "key": "Price",
-                "values": [[1136005200000, 71.89], [1138683600000, 75.51], [1141102800000, 68.49], [1143781200000, 62.72], [1146369600000, 70.39], [1149048000000, 59.77], [1151640000000, 57.27], [1154318400000, 67.96], [1156996800000, 67.85], [1159588800000, 76.98], [1162270800000, 81.08], [1164862800000, 91.66], [1167541200000, 84.84], [1170219600000, 85.73], [1172638800000, 84.61], [1175313600000, 92.91], [1177905600000, 99.8], [1180584000000, 121.191], [1183176000000, 122.04], [1185854400000, 131.76], [1188532800000, 138.48], [1191124800000, 153.47], [1193803200000, 189.95], [1196398800000, 182.22], [1199077200000, 198.08], [1201755600000, 135.36], [1204261200000, 125.02], [1206936000000, 143.5], [1209528000000, 173.95], [1212206400000, 188.75], [1214798400000, 167.44], [1217476800000, 158.95], [1220155200000, 169.53], [1222747200000, 113.66], [1225425600000, 107.59], [1228021200000, 92.67], [1230699600000, 85.35], [1233378000000, 90.13], [1235797200000, 89.31], [1238472000000, 1
 05.12], [1241064000000, 125.83], [1243742400000, 135.81], [1246334400000, 142.43], [1249012800000, 163.39], [1251691200000, 168.21], [1254283200000, 185.35], [1256961600000, 188.5], [1259557200000, 199.91], [1262235600000, 210.732], [1264914000000, 192.063], [1267333200000, 204.62], [1270008000000, 235.0], [1272600000000, 261.09], [1275278400000, 256.88], [1277870400000, 251.53], [1280548800000, 257.25], [1283227200000, 243.1], [1285819200000, 283.75], [1288497600000, 300.98], [1291093200000, 311.15], [1293771600000, 322.56], [1296450000000, 339.32], [1298869200000, 353.21], [1301544000000, 348.5075], [1304136000000, 350.13], [1306814400000, 347.83], [1309406400000, 335.67], [1312084800000, 390.48], [1314763200000, 384.83], [1317355200000, 381.32], [1320033600000, 404.78], [1322629200000, 382.2], [1325307600000, 405.0], [1327986000000, 456.48], [1330491600000, 542.44], [1333166400000, 599.55], [1335758400000, 583.98]]
-            }
-        ].map(function (series) {
-                series.values = series.values.map(function (d) {
-                    return {x: d[0], y: d[1]}
-                });
-                return series;
-            });
-
-        var chart;
+    function barChart(paragraph) {
+        var index = 0;
 
-        nv.addGraph(function () {
-            chart = nv.models.linePlusBarChart()
-                .margin({top: 50, right: 60, bottom: 30, left: 70})
-                .legendRightAxisHint(' [Using Right Axis]')
-                .color(d3.scale.category10().range());
-            chart.xAxis.tickFormat(function (d) {
-                return d3.time.format('%x')(new Date(d))
-            }).showMaxMin(false);
-
-            chart.y1Axis.tickFormat(function (d) {
-                return '$' + d3.format(',f')(d)
-            });
-
-            chart.bars.forceY([0]).padData(false);
-
-            chart.x2Axis.tickFormat(function (d) {
-                return d3.time.format('%x')(new Date(d))
-            }).showMaxMin(false);
+        nv.addGraph(function() {
+            var chart = nv.models.discreteBarChart()
+                    .x(function (row) {
+                        return (row.length > 1) ? row[1] : index++;
+                    })
+                    .y(function (row) {
+                        return (row.length > 0) ? row[0] : 0;
+                    });
 
             d3.selectAll("#chart svg > *").remove();
-            var z = d3.select('#chart svg');
-
-            z.datum(testdata)
-                .transition().duration(500).call(chart);
+            d3.select('#chart svg')
+                .datum({key: 'bar', values: paragraph.rows})
+                .call(chart);
 
             nv.utils.windowResize(chart.update);
 
-            chart.dispatch.on('stateChange', function (e) {
-                nv.log('New State:', JSON.stringify(e));
-            });
-
             return chart;
         });
     }
 
-    function pieChart() {
-        var testdata = [
-            {key: "One", y: 5},
-            {key: "Two", y: 2},
-            {key: "Three", y: 9},
-            {key: "Four", y: 7},
-            {key: "Five", y: 4},
-            {key: "Six", y: 3},
-            {key: "Seven", y: 0.5}
-        ];
-
-        var height = 350;
+    function pieChart(paragraph) {
+        var index = 0;
 
-        var width = 350;
-
-        nv.addGraph(function () {
+        nv.addGraph(function() {
             var chart = nv.models.pieChart()
-                .x(function (d) {
-                    return d.key
-                })
-                .y(function (d) {
-                    return d.y
-                })
-                .color(d3.scale.category20().range().slice(8))
-                .growOnHover(false)
-                .labelType('value')
-                .width(width)
-                .height(height);
+                    .x(function (row) {
+                        return (row.length > 1) ? row[1] : index++;
+                    })
+                    .y(function (row) {
+                        return (row.length > 0) ? row[0] : 0;
+                    })
+                .showLabels(true)
+                .labelThreshold(.05)
+                .labelType("percent")
+                .donut(true)
+                .donutRatio(0.35);
 
             d3.selectAll("#chart svg > *").remove();
-            var z = d3.select('#chart svg');
-
-            z.datum(testdata)
-                .transition().duration(1200)
-                .attr('width', width)
-                .attr('height', height)
+            d3.select('#chart svg')
+                .datum(paragraph.rows)
                 .call(chart);
 
+            nv.utils.windowResize(chart.update);
+
             return chart;
         });
     }
 
-    function lineChart() {
+    function lineChart(paragraph) {
         // Wrapping in nv.addGraph allows for '0 timeout render', stores rendered charts in nv.graphs, and may do more in the future... it's NOT required
         var chart;
         var data;
@@ -521,7 +475,7 @@ controlCenterModule.controller('sqlController', ['$scope', '$window','$controlle
         }
     }
 
-    function areaChart() {
+    function areaChart(paragraph) {
         var histcatexplong = [
             {
                 "key": "Consumer Discretionary",

http://git-wip-us.apache.org/repos/asf/ignite/blob/bd46179d/modules/control-center-web/src/main/js/views/sql/sql.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/sql/sql.jade b/modules/control-center-web/src/main/js/views/sql/sql.jade
index 3eb88e4..cf4e91a 100644
--- a/modules/control-center-web/src/main/js/views/sql/sql.jade
+++ b/modules/control-center-web/src/main/js/views/sql/sql.jade
@@ -21,8 +21,8 @@ append scripts
     script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/mode-sql.js')
     script(src='//cdnjs.cloudflare.com/ajax/libs/ace/1.2.0/ext-language_tools.js')
     script(src='//cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3.min.js')
-    script(src='//cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.1/nv.d3.min.js')
-    link(rel='stylesheet', href='//cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.1/nv.d3.min.css')
+    script(src='//cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.1/nv.d3.js')
+    link(rel='stylesheet', href='//cdnjs.cloudflare.com/ajax/libs/nvd3/1.8.1/nv.d3.css')
 
 mixin btn-toolbar(btn, kind, tip)
     i.btn.btn-default.fa(class=btn ng-click='setResult(paragraph, "#{kind}")' ng-class='{active: resultEq(paragraph, "#{kind}")}' bs-tooltip data-title=tip data-trigger='hover')