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/09/28 05:37:47 UTC
ignite git commit: ignite-843 Fixed sql result load.
Repository: ignite
Updated Branches:
refs/heads/ignite-843 749bec1b6 -> a218a5594
ignite-843 Fixed sql result load.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a218a559
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a218a559
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a218a559
Branch: refs/heads/ignite-843
Commit: a218a5594c34035e35fbb8f873b5d5f6e65048ca
Parents: 749bec1
Author: Andrey <an...@gridgain.com>
Authored: Mon Sep 28 10:38:07 2015 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Mon Sep 28 10:38:07 2015 +0700
----------------------------------------------------------------------
.../src/main/js/controllers/sql-controller.js | 54 +++++++++++++++-----
.../src/main/js/views/sql/sql.jade | 9 ++--
2 files changed, 45 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/a218a559/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 58e534a..cf93268 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
@@ -89,7 +89,7 @@ consoleModule.controller('sqlController',
$scope.treeOptions = {
nodeChildren: 'children',
- dirSelectable: false,
+ dirSelectable: true,
injectClasses: {
iExpanded: 'fa fa-minus-square-o',
iCollapsed: 'fa fa-plus-square-o'
@@ -115,6 +115,10 @@ consoleModule.controller('sqlController',
return this.result != 'table' && this.result != 'none';
};
+ paragraph.table = function () {
+ return this.result == 'table';
+ };
+
paragraph.chartColumnsConfigured = function () {
return !$common.isEmptyArray(this.chartKeyCols) && !$common.isEmptyArray(this.chartValCols);
};
@@ -125,9 +129,7 @@ consoleModule.controller('sqlController',
Object.defineProperty(paragraph, 'gridOptions', { value: {
enableColResize: true,
- columnDefs: [
- {headerName: 'Test', valueGetter: 'data[0]'}
- ],
+ columnDefs: [],
rowData: null
}});
}
@@ -432,10 +434,10 @@ consoleModule.controller('sqlController',
if (chartHistory.size > 100)
chartHistory.shift();
- paragraph.gridOptions.api.showLoading(false);
-
paragraph.gridOptions.api.setRowData(res.rows);
+ _showLoading(paragraph, false);
+
setTimeout(function () {
paragraph.gridOptions.api.sizeColumnsToFit();
});
@@ -455,6 +457,13 @@ consoleModule.controller('sqlController',
});
};
+ var _showLoading = function (paragraph, enable) {
+ if (paragraph.table())
+ paragraph.gridOptions.api.showLoading(enable);
+
+ paragraph.loading = enable;
+ };
+
$scope.execute = function (paragraph) {
_saveNotebook();
@@ -470,7 +479,7 @@ consoleModule.controller('sqlController',
paragraph.queryArgs = { query: paragraph.query, pageSize: paragraph.pageSize, cacheName: paragraph.cacheName };
- paragraph.gridOptions.api.showLoading(true);
+ _showLoading(paragraph, true);
$http.post('/agent/query', paragraph.queryArgs)
.success(function (res) {
@@ -481,6 +490,8 @@ consoleModule.controller('sqlController',
.error(function (errMsg) {
paragraph.errMsg = errMsg;
+ _showLoading(paragraph, false);
+
$scope.stopRefresh(paragraph);
});
@@ -492,12 +503,14 @@ consoleModule.controller('sqlController',
_cancelRefresh(paragraph);
- paragraph.gridOptions.api.showLoading(true);
+ _showLoading(paragraph, true);
$http.post('/agent/query', {query: 'EXPLAIN ' + paragraph.query, pageSize: paragraph.pageSize, cacheName: paragraph.cacheName})
.success(_processQueryResult(paragraph))
.error(function (errMsg) {
paragraph.errMsg = errMsg;
+
+ _showLoading(paragraph, false);
});
paragraph.ace.focus();
@@ -508,19 +521,23 @@ consoleModule.controller('sqlController',
_cancelRefresh(paragraph);
- paragraph.gridOptions.api.showLoading(true);
+ _showLoading(paragraph, true);
$http.post('/agent/scan', {pageSize: paragraph.pageSize, cacheName: paragraph.cacheName})
.success(_processQueryResult(paragraph))
.error(function (errMsg) {
paragraph.errMsg = errMsg;
+
+ _showLoading(paragraph, false);
});
paragraph.ace.focus();
};
$scope.nextPage = function(item) {
- $http.post('/agent/query/fetch', {queryId: item.queryId, pageSize: item.pageSize, cacheName: item.cacheName})
+ _showLoading(true);
+
+ $http.post('/agent/query/fetch', {queryId: item.queryId, pageSize: item.pageSize, cacheName: item.queryArgs.cacheName})
.success(function (res) {
item.page++;
@@ -528,11 +545,17 @@ consoleModule.controller('sqlController',
item.rows = res.rows;
+ item.gridOptions.api.setRowData(res.rows);
+
+ _showLoading(paragraph, false);
+
if (res.last)
delete item.queryId;
})
.error(function (errMsg) {
paragraph.errMsg = errMsg;
+
+ _showLoading(paragraph, false);
});
};
@@ -926,12 +949,17 @@ consoleModule.controller('sqlController',
}
$scope.actionAvailable = function (paragraph, needQuery) {
- return $scope.caches.length > 0 && paragraph.cacheName && (!needQuery || paragraph.query);
+ return $scope.caches.length > 0 && paragraph.cacheName && (!needQuery || paragraph.query) && !paragraph.loading;
};
$scope.actionTooltip = function (paragraph, action, needQuery) {
- return $scope.actionAvailable(paragraph, needQuery) ? undefined
- : 'To ' + action + ' query select cache' + (needQuery ? ' and input query' : '');
+ if ($scope.actionAvailable(paragraph, needQuery))
+ return;
+
+ if (paragraph.loading)
+ return 'Wating for server response';
+
+ return 'To ' + action + ' query select cache' + (needQuery ? ' and input query' : '');
};
$scope.clickableMetadata = function (node) {
http://git-wip-us.apache.org/repos/asf/ignite/blob/a218a559/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 d14eade..1ce2056 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
@@ -97,8 +97,7 @@ block container
.col-xs-8.col-sm-9(style='border-right: 1px solid #eee')
.sql-editor(ui-ace='{onLoad: aceInit(paragraph), theme: "chrome", mode: "sql", require: ["ace/ext/language_tools"],' +
'advanced: {enableSnippets: false, enableBasicAutocompletion: true, enableLiveAutocompletion: true}}'
- ng-model='paragraph.query'
- ng-class='{"disable": paragraph.status == "RUNNING" || paragraph.status == "PENDING" }')
+ ng-model='paragraph.query')
.col-xs-4.col-sm-3
div(ng-show='caches.length > 0' style='padding: 5px 10px' st-table='displayedCaches' st-safe-src='caches')
lable.labelField.labelFormField Caches:
@@ -134,15 +133,15 @@ block container
.col-sm-12(ng-show='!paragraph.errMsg && paragraph.result != "none"')
hr(style='margin-top: 0; margin-bottom: 10px')
.sql-empty-result(ng-show='!paragraph.nonEmpty()') Result set is empty.
- div(ng-show='paragraph.result === "table" && paragraph.nonEmpty()')
+ div(ng-show='paragraph.table() && paragraph.nonEmpty()')
.sql-table-total
label Page #
b {{paragraph.page}}
label Results so far:
b {{paragraph.rows.length + paragraph.total}}
.pull-right
- .btn-group
- button.btn.btn-primary.fieldButton(ng-click='exportPage(paragraph)' ) Export
+ .btn-group(ng-disabled='paragraph.loading')
+ button.btn.btn-primary.fieldButton(ng-click='exportPage(paragraph)' bs-tooltip data-title='{{actionTooltip(paragraph, "export", false)}}') Export
button.btn.btn-primary(id='export-item-dropdown' data-toggle='dropdown' data-container='body' bs-dropdown='exportDropdown' data-placement='bottom-right')
span.caret
.sql-table.ag-bootstrap(ag-grid='paragraph.gridOptions')