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>&nbsp;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>&nbsp;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>&nbsp;Cardinality</a>
     <div class="tabbable nav-tabs-custom">
       <ul class="nav nav-tabs">
         <li class="active">