You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by sh...@apache.org on 2020/05/26 06:24:49 UTC
[kylin] branch master updated: KYLIN-4511 Support project admin
user to calculate column cardinality by web
This is an automated email from the ASF dual-hosted git repository.
shaofengshi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/master by this push:
new 3605d70 KYLIN-4511 Support project admin user to calculate column cardinality by web
3605d70 is described below
commit 3605d70a392b6505b116b0b448ad0cb28fb1284f
Author: Guangxu Cheng <gx...@apache.org>
AuthorDate: Sat May 23 00:07:22 2020 +0800
KYLIN-4511 Support project admin user to calculate column cardinality by web
---
webapp/app/js/controllers/sourceMeta.js | 37 ++++++++++++++++++++++++++--
webapp/app/partials/tables/table_detail.html | 1 +
2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/webapp/app/js/controllers/sourceMeta.js b/webapp/app/js/controllers/sourceMeta.js
index 7b960de..aada542 100755
--- a/webapp/app/js/controllers/sourceMeta.js
+++ b/webapp/app/js/controllers/sourceMeta.js
@@ -131,6 +131,39 @@ KylinApp
});
};
+ $scope.calCardinality = function (tableName) {
+ SweetAlert.swal({
+ title: "",
+ text: "Are you sure to recalculate column cardinality?",
+ showCancelButton: true,
+ confirmButtonColor: '#DD6B55',
+ confirmButtonText: "Yes",
+ cancelButtonText: "No",
+ closeOnConfirm: true
+ }, function (isConfirm) {
+ if (isConfirm) {
+ if (!$scope.projectModel.selectedProject) {
+ SweetAlert.swal('', 'Please select a project.', 'info');
+ return;
+ }
+ loadingRequest.show();
+ TableService.genCardinality({tableName: tableName, pro: $scope.projectModel.selectedProject}, {}, function () {
+ loadingRequest.hide();
+ MessageBox.successNotify('Cardinality job has been submitted successfully. Please wait a while to get the numbers.');
+ }, function (e) {
+ loadingRequest.hide();
+ if (e.data && e.data.exception) {
+ var message = e.data.exception;
+ var msg = !!(message) ? message : 'Failed to take action.';
+ SweetAlert.swal('Oops...', msg, 'error');
+ } else {
+ SweetAlert.swal('Oops...', "Failed to take action.", 'error');
+ }
+ });
+ }
+ });
+ };
+
$scope.openTreeModal = function () {
if(!$scope.projectModel.selectedProject){
SweetAlert.swal('Oops...', "Please select a project.", 'info');
@@ -206,7 +239,7 @@ KylinApp
}, function (isConfirm) {
if (isConfirm) {
if (!$scope.projectModel.selectedProject) {
- SweetAlert.swal('', 'Please choose your project first!.', 'info');
+ SweetAlert.swal('', 'Please select a project.', 'info');
return;
}
loadingRequest.show();
@@ -442,7 +475,7 @@ KylinApp
}
if (!$scope.projectName) {
- SweetAlert.swal('', 'Please choose your project first!.', 'info');
+ SweetAlert.swal('', 'Please select a project.', 'info');
return;
}
diff --git a/webapp/app/partials/tables/table_detail.html b/webapp/app/partials/tables/table_detail.html
index e1a3806..533ef66 100644
--- a/webapp/app/partials/tables/table_detail.html
+++ b/webapp/app/partials/tables/table_detail.html
@@ -21,6 +21,7 @@
<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="openReloadModal(tableModel.selectedSrcTable.database+'.'+tableModel.selectedSrcTable.name)" style="margin-left:10px;" ><span class="fa fa-download"></span> Reload Table</a>
+ <a class="btn btn-info pull-right" ng-if="tableModel.selectedSrcTable.source_type==0&&(userService.hasRole('ROLE_ADMIN') || hasPermission('project',projectModel, permissions.ADMINISTRATION.mask, permissions.MANAGEMENT.mask))" ng-click="calCardinality(tableModel.selectedSrcTable.database+'.'+tableModel.selectedSrcTable.name)" style="margin-left:10px;"><span class="fa fa-download"></span> Cardinality</a>
<div class="tabbable nav-tabs-custom">
<ul class="nav nav-tabs">
<li class="active">