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 <gxch...@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">