You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by an...@apache.org on 2015/10/08 11:42:47 UTC
ignite git commit: ignite-843 Fixed chart axis column selection.
Repository: ignite
Updated Branches:
refs/heads/ignite-843 1e0010447 -> 963fa3de3
ignite-843 Fixed chart axis column selection.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/963fa3de
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/963fa3de
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/963fa3de
Branch: refs/heads/ignite-843
Commit: 963fa3de3611a7f6933e17d6cfea95a325daeb36
Parents: 1e00104
Author: Andrey <an...@gridgain.com>
Authored: Thu Oct 8 16:42:34 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Thu Oct 8 16:42:34 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/sql-controller.js | 60 +++++++++++++-------
.../src/main/js/views/sql/sql.jade | 8 ++-
2 files changed, 45 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/963fa3de/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 5f724d7..b37d98b 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
@@ -50,7 +50,7 @@ consoleModule.controller('sqlController',
}
};
- var TIME_LINE = 'TIME_LINE';
+ var TIME_LINE = {value: -1, type: 'java.sql.Date', label: 'TIME_LINE'};
var chartHistory = [];
@@ -68,14 +68,8 @@ consoleModule.controller('sqlController',
_chartApplySettings(paragraph, true);
};
- function _chartAcceptableColumn(cols, newCol) {
- return _.findIndex(cols, function (col) {
- return col.label == newCol.label;
- }) < 0;
- }
-
$scope.chartAcceptKeyColumn = function(paragraph, item) {
- var accepted = _chartAcceptableColumn(paragraph.chartKeyCols, item);
+ var accepted = !_.includes(paragraph.chartKeyCols, item);
if (accepted) {
paragraph.chartKeyCols = [item];
@@ -87,7 +81,7 @@ consoleModule.controller('sqlController',
};
$scope.chartAcceptValColumn = function(paragraph, item) {
- var accepted = _chartAcceptableColumn(paragraph.chartValCols, item) && item.label != TIME_LINE;
+ var accepted = !_.includes(paragraph.chartValCols, item) && item != TIME_LINE && _numberType(item.type);
if (accepted) {
paragraph.chartValCols.push(item);
@@ -130,7 +124,7 @@ consoleModule.controller('sqlController',
};
paragraph.chartTimeLineEnabled = function () {
- return !$common.isEmptyArray(this.chartKeyCols) && this.chartKeyCols[0].label == TIME_LINE;
+ return !$common.isEmptyArray(this.chartKeyCols) && this.chartKeyCols[0] == TIME_LINE;
};
paragraph.timeLineSupported = function () {
@@ -364,12 +358,24 @@ consoleModule.controller('sqlController',
return paragraph.disabledSystemColumns || paragraph.systemColumns ? _allColumn : _hideColumn;
};
+ var _notObjectType = function(cls) {
+ return $common.isJavaBuildInClass(cls);
+ };
+
+ var _numberClasses = ['java.math.BigDecimal', 'java.lang.Byte', 'java.lang.Double',
+ 'java.lang.Float', 'java.lang.Integer', 'java.lang.Long', 'java.lang.Short'];
+
+ var _numberType = function(cls) {
+ return _.contains(_numberClasses, cls);
+ };
+
var _rebuildColumns = function (paragraph) {
var columnDefs = [];
_.forEach(paragraph.meta, function (meta, idx) {
if (paragraph.columnFilter(meta)) {
- paragraph.chartColumns.push({value: idx, label: meta.fieldName});
+ if (_notObjectType(meta.fieldTypeName))
+ paragraph.chartColumns.push({value: idx, type: meta.fieldTypeName, label: meta.fieldName});
// Index for explain, execute and fieldName for scan.
var colValue = 'data[' + (paragraph.queryArgs.query ? idx : '"' + meta.fieldName + '"') + ']';
@@ -383,11 +389,14 @@ consoleModule.controller('sqlController',
paragraph.gridOptions.api.setColumnDefs(columnDefs);
- paragraph.chartKeyCols = _retainColumns(paragraph.chartColumns, paragraph.chartKeyCols, 0);
- paragraph.chartValCols = _retainColumns(paragraph.chartColumns, paragraph.chartValCols, 1);
+ // Not object.
+ paragraph.chartKeyCols = _retainColumns(paragraph.chartColumns, paragraph.chartKeyCols, _notObjectType);
+
+ // Numeric.
+ paragraph.chartValCols = _retainColumns(paragraph.chartColumns, paragraph.chartValCols, _numberType, paragraph.chartKeyCols[0]);
if (paragraph.chartColumns.length > 0)
- paragraph.chartColumns.push({value: -1, label: TIME_LINE});
+ paragraph.chartColumns.push(TIME_LINE);
};
$scope.toggleSystemColumns = function (paragraph) {
@@ -407,23 +416,32 @@ consoleModule.controller('sqlController',
});
};
- function _retainColumns(allCols, curCols, dfltIdx) {
+ function _retainColumns(allCols, curCols, acceptableType, dfltCol) {
var retainedCols = [];
var allColsLen = allCols.length;
if (allColsLen > 0) {
curCols.forEach(function (curCol) {
- var idx = _.findIndex(allCols, function (allCol) {
- return allCol.label == curCol.label;
- });
+ var col = _.find(allCols, {label: curCol.label});
- if (idx >= 0)
- retainedCols.push(allCols[idx]);
+ if (col && acceptableType(col.type))
+ retainedCols.push(col);
});
if ($common.isEmptyArray(retainedCols))
- retainedCols.push(allCols[dfltIdx < allColsLen ? dfltIdx : 0]);
+ for (idx = 0; idx < allColsLen; idx++) {
+ var col = allCols[idx];
+
+ if (acceptableType(col.type) && col != dfltCol) {
+ retainedCols.push(col);
+
+ break;
+ }
+ }
+
+ if ($common.isEmptyArray(retainedCols) && dfltCol && acceptableType(dfltCol.type))
+ retainedCols.push(dfltCol);
}
return retainedCols;
http://git-wip-us.apache.org/repos/asf/ignite/blob/963fa3de/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 fcbaf2b..58b5198 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
@@ -147,8 +147,12 @@ block container
.sql-table.ag-bootstrap(ag-grid='paragraph.gridOptions')
div(ng-show='paragraph.chart() && paragraph.nonEmpty()')
div(ng-show='paragraph.queryExecute()')
- .sql-empty-result(ng-hide='paragraph.chartColumnsConfigured()') Can't display chart. Need configure axis using 
- b Chart settings
+ div(ng-hide='paragraph.chartColumnsConfigured()')
+ .chart-settings-link
+ i.fa.fa-chevron-circle-down
+ a(ng-show='paragraph.chart' ng-click='$event.stopPropagation()' bs-popover data-template-url='chart-settings' data-placement='bottom' data-auto-close='1' data-trigger='click') Chart settings
+ .sql-empty-result Can't display chart. Need configure axis using 
+ b Chart settings
div(ng-show='paragraph.chartColumnsConfigured()')
div(ng-show='paragraph.timeLineSupported() || !paragraph.chartTimeLineEnabled()')
.chart-settings-link