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')