You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ch...@apache.org on 2018/01/26 06:37:04 UTC
kylin git commit: KYLIN 3116 Fix cardinality caculate checkbox issue
when loading tables
Repository: kylin
Updated Branches:
refs/heads/master b4d5a142a -> b6320da48
KYLIN 3116 Fix cardinality caculate checkbox issue when loading tables
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/b6320da4
Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/b6320da4
Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/b6320da4
Branch: refs/heads/master
Commit: b6320da48a66dba06e49ee69d0a7e71ab3fef087
Parents: b4d5a14
Author: chenzhx <ch...@apache.org>
Authored: Fri Jan 26 14:29:23 2018 +0800
Committer: chenzhx <ch...@apache.org>
Committed: Fri Jan 26 14:37:01 2018 +0800
----------------------------------------------------------------------
webapp/app/js/controllers/query.js | 2 +-
webapp/app/js/controllers/sourceMeta.js | 41 +++++++++++++++++---
.../app/partials/tables/source_table_tree.html | 2 +-
webapp/app/partials/tables/table_detail.html | 2 +-
webapp/app/partials/tables/table_load.html | 17 +++++++-
5 files changed, 54 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kylin/blob/b6320da4/webapp/app/js/controllers/query.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/query.js b/webapp/app/js/controllers/query.js
index e7190cc..e9ea614 100644
--- a/webapp/app/js/controllers/query.js
+++ b/webapp/app/js/controllers/query.js
@@ -353,7 +353,7 @@ KylinApp
}
$scope.listCachedQueries = function () {
- $scope.cachedQueries = storage.get("saved_queries");
+ $scope.cachedQueries = storage.get("saved_queries") || [];
$scope.cachedFilterQueries = $scope.cachedQueries.filter(function (query) {
return query.project === $scope.projectModel.selectedProject;
});
http://git-wip-us.apache.org/repos/asf/kylin/blob/b6320da4/webapp/app/js/controllers/sourceMeta.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/sourceMeta.js b/webapp/app/js/controllers/sourceMeta.js
index 4f341f0..7deef76 100755
--- a/webapp/app/js/controllers/sourceMeta.js
+++ b/webapp/app/js/controllers/sourceMeta.js
@@ -107,11 +107,34 @@ KylinApp
});
};
+ $scope.openReloadModal = function () {
+ $modal.open({
+ templateUrl: 'reloadTable.html',
+ controller: ModalInstanceCtrl,
+ backdrop : 'static',
+ resolve: {
+ tableNames: function () {
+ return $scope.tableModel.selectedSrcTable.database + '.'+ $scope.tableModel.selectedSrcTable.name;
+ },
+ projectName: function () {
+ return $scope.projectModel.selectedProject;
+ },
+ isCalculate: function () {
+ return $scope.isCalculate;
+ },
+ scope: function () {
+ return $scope;
+ }
+ }
+ });
+ };
+
$scope.openTreeModal = function () {
if(!$scope.projectModel.selectedProject){
SweetAlert.swal('Oops...', "Please select a project.", 'info');
return;
}
+
$modal.open({
templateUrl: 'addHiveTableFromTree.html',
controller: ModalInstanceCtrl,
@@ -132,10 +155,10 @@ KylinApp
});
};
- $scope.reloadTable = function (tableName){
+ $scope.reloadTable = function (tableName, isCalculate){
var delay = $q.defer();
loadingRequest.show();
- TableService.loadHiveTable({tableName: tableName, action: $scope.projectModel.selectedProject}, {calculate: $scope.isCalculate}, function (result) {
+ TableService.loadHiveTable({tableName: tableName, action: $scope.projectModel.selectedProject}, {calculate: isCalculate}, function (result) {
var loadTableInfo = "";
angular.forEach(result['result.loaded'], function (table) {
loadTableInfo += "\n" + table;
@@ -169,7 +192,6 @@ KylinApp
}
-
$scope.unloadTable = function (tableName) {
SweetAlert.swal({
title: "",
@@ -222,8 +244,11 @@ KylinApp
var ModalInstanceCtrl = function ($scope, $location, $modalInstance, tableNames, MessageService, projectName, isCalculate, scope, kylinConfig) {
$scope.tableNames = "";
+ $scope.selectTable = tableNames;
$scope.projectName = projectName;
- $scope.isCalculate = isCalculate;
+ $scope.isCalculate = {
+ val: true
+ }
$scope.cancel = function () {
$modalInstance.dismiss('cancel');
@@ -387,7 +412,11 @@ KylinApp
$scope.loadHive();
}
-
+ $scope.confirmReload = function() {
+ scope.reloadTable($scope.selectTable, $scope.isCalculate.val).then(function() {
+ $scope.cancel();
+ })
+ }
$scope.add = function () {
@@ -411,7 +440,7 @@ KylinApp
}
$scope.cancel();
- scope.reloadTable($scope.tableNames).then(function(){
+ scope.reloadTable($scope.tableNames, $scope.isCalculate.val).then(function(){
scope.aceSrcTbLoaded(true);
});
}
http://git-wip-us.apache.org/repos/asf/kylin/blob/b6320da4/webapp/app/partials/tables/source_table_tree.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/tables/source_table_tree.html b/webapp/app/partials/tables/source_table_tree.html
index b5c55d1..30cfc8b 100755
--- a/webapp/app/partials/tables/source_table_tree.html
+++ b/webapp/app/partials/tables/source_table_tree.html
@@ -63,7 +63,7 @@
<button class="btn btn-xs btn-primary" ng-if="node.label==''&&node.id==65535" ng-click="showAllClicked($parentNode)">Show All</button>
{{node.label}}
</treecontrol>
- <label> <input type="checkbox" ng-model="$parent.isCalculate" >Calculate column cardinality</label>
+ <label><input type="checkbox" ng-model="isCalculate.val" > Calculate column cardinality</label>
</div>
<div class="modal-footer">
http://git-wip-us.apache.org/repos/asf/kylin/blob/b6320da4/webapp/app/partials/tables/table_detail.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/tables/table_detail.html b/webapp/app/partials/tables/table_detail.html
index 9e28194..33fdf70 100644
--- a/webapp/app/partials/tables/table_detail.html
+++ b/webapp/app/partials/tables/table_detail.html
@@ -20,7 +20,7 @@
<div class="col-xs-12" ng-show="tableModel.selectedSrcDb&&tableModel.selectedSrcTable.name">
<h3 class="text-info">Table Schema:{{ tableModel.selectedSrcTable.name}}</h3>
<a class="btn btn-primary pull-right" ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission('project',projectModel, permissions.ADMINISTRATION.mask)" ng-click="unloadTable(tableModel.selectedSrcTable.database+'.'+tableModel.selectedSrcTable.name)" style="margin-left:10px;" ><span class="fa fa-remove"></span> Unload Table</a>
- <a class="btn btn-success pull-right" ng-if="tableModel.selectedSrcTable.source_type==0&&(userService.hasRole('ROLE_ADMIN') || hasPermission('project',projectModel, permissions.ADMINISTRATION.mask))" ng-click="reloadTable(tableModel.selectedSrcTable.database+'.'+tableModel.selectedSrcTable.name)" style="margin-left:10px;" ><span class="fa fa-download"></span> Reload Table</a>
+ <a class="btn btn-success pull-right" ng-if="tableModel.selectedSrcTable.source_type==0&&(userService.hasRole('ROLE_ADMIN') || hasPermission('project',projectModel, permissions.ADMINISTRATION.mask))" ng-click="openReloadModal(tableModel.selectedSrcTable.database+'.'+tableModel.selectedSrcTable.name)" style="margin-left:10px;" ><span class="fa fa-download"></span> Reload Table</a>
<div class="tabbable nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active">
http://git-wip-us.apache.org/repos/asf/kylin/blob/b6320da4/webapp/app/partials/tables/table_load.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/tables/table_load.html b/webapp/app/partials/tables/table_load.html
index c998ded..fe954ce 100644
--- a/webapp/app/partials/tables/table_load.html
+++ b/webapp/app/partials/tables/table_load.html
@@ -25,7 +25,7 @@
<label for="tables"> Table Names:(Separate with comma)</label>
<textarea ng-model="$parent.tableNames" class="form-control" id="tables"
placeholder="table1,table2 By default,system will choose 'Default' as database,you can specify database like this 'database.table'"></textarea>
- <label> <input type="checkbox" ng-model="$parent.isCalculate" >Calculate column cardinality</label>
+ <label> <input type="checkbox" ng-model="isCalculate.val" > Calculate column cardinality</label>
</div>
<div class="modal-footer">
<button class="btn btn-primary" ng-click="add()">Sync</button>
@@ -101,3 +101,18 @@
</div>
</div>
</script>
+
+<script type="text/ng-template" id="reloadTable.html">
+ <div class="modal-header">
+ <h4>Reload Table Metadata</h4>
+ </div>
+ <div class="modal-body">
+ <span><strong>Project: {{ $parent.projectName!=null?$parent.projectName:'NULL'}}</strong></span><br/>
+ <label for="tables"> Are you sure to reload table {{selectTable}} ?</label><br/>
+ <label><input type="checkbox" ng-model="isCalculate.val" > Calculate column cardinality</label>
+ </div>
+ <div class="modal-footer">
+ <button class="btn btn-primary" ng-click="confirmReload()">Sync</button>
+ <button class="btn btn-primary" ng-click="cancel()">Cancel</button>
+ </div>
+</script>