You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by ma...@apache.org on 2015/05/15 07:22:00 UTC

[31/52] [abbrv] incubator-kylin git commit: models page update

models page update


Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/336973ec
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/336973ec
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/336973ec

Branch: refs/heads/0.8.0
Commit: 336973ec311771cc3a8c414caef8e1bef0520b0c
Parents: 2cb6e0a
Author: jiazhong <ji...@ebay.com>
Authored: Wed Mar 25 15:02:39 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Fri May 15 11:36:52 2015 +0800

----------------------------------------------------------------------
 webapp/app/js/controllers/cubeEdit.js        | 11 +++--------
 webapp/app/js/controllers/cubeSchema.js      | 22 ----------------------
 webapp/app/js/controllers/models.js          | 18 +++++++-----------
 webapp/app/js/model/modelList.js             | 12 ++++++++----
 webapp/app/less/component.less               |  4 ++++
 webapp/app/partials/cubes/cube_detail.html   |  2 +-
 webapp/app/partials/cubes/cube_schema.html   |  2 +-
 webapp/app/partials/models/model_schema.html |  4 ++--
 webapp/app/partials/models/models_tree.html  |  2 +-
 9 files changed, 27 insertions(+), 50 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/js/controllers/cubeEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js
index afc5efe..6b84e6a 100755
--- a/webapp/app/js/controllers/cubeEdit.js
+++ b/webapp/app/js/controllers/cubeEdit.js
@@ -109,6 +109,7 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
         "cubeSchema": ""
     };
 
+    //fetch cube info and model info in edit model
     // ~ init
     if ($scope.isEdit = !!$routeParams.cubeName) {
         CubeDescService.get({cube_name: $routeParams.cubeName}, function (detail) {
@@ -123,8 +124,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
 
     } else {
         $scope.cubeMetaFrame = CubeDescModel.createNew();
-//        MetaModel.initModel();
-//        $scope.metaModel = MetaModel;
         $scope.metaModel ={
             model : ModelList.getModel(modelName)
         }
@@ -132,16 +131,12 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio
         $scope.state.cubeSchema = angular.toJson($scope.cubeMetaFrame, true);
     }
 
-    // ~ public methods
-    $scope.aceChanged = function () {
-    };
-
-    $scope.aceLoaded = function(){
-    };
 
     $scope.prepareCube = function () {
         // generate column family
         generateColumnFamily();
+        //generate rowkey TODO remove after refactor
+        reGenerateRowKey();
 
 
         if ($scope.metaModel.model.partition_desc.partition_date_column&&($scope.metaModel.model.partition_desc.partition_date_start|$scope.metaModel.model.partition_desc.partition_date_start==0)) {

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/js/controllers/cubeSchema.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeSchema.js b/webapp/app/js/controllers/cubeSchema.js
index 69bb25e..37aa849 100755
--- a/webapp/app/js/controllers/cubeSchema.js
+++ b/webapp/app/js/controllers/cubeSchema.js
@@ -43,28 +43,6 @@ KylinApp.controller('CubeSchemaCtrl', function ($scope, QueryService, UserServic
         $scope.state = {mode: "view"};
     }
 
-    $scope.$watch('cube.detail', function (newValue, oldValue) {
-        if(!newValue){
-            return;
-        }
-        if (newValue&&$scope.state.mode==="view") {
-            $scope.cubeMetaFrame = newValue;
-
-            // when viw state,each cubeSchema has its own metaModel
-            $scope.metaModel={
-                model:{}
-            }
-
-            //init model
-            ModelDescService.get({model_name: $scope.cubeMetaFrame.model_name}, function (model) {
-                if (model) {
-                    $scope.metaModel.model = model;
-                }
-            });
-
-        }
-    });
-
     $scope.$watch('cubeMetaFrame', function (newValue, oldValue) {
         if(!newValue){
             return;

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/js/controllers/models.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/models.js b/webapp/app/js/controllers/models.js
index 5e9db87..e16c27a 100644
--- a/webapp/app/js/controllers/models.js
+++ b/webapp/app/js/controllers/models.js
@@ -23,7 +23,7 @@ KylinApp.controller('ModelsCtrl', function ($scope, $q, $routeParams, $location,
         $scope.model = {};
         //tree data
         $scope.models_treedata=[];
-        $scope.selectedCubes = [];
+
         $scope.cubeSelected = false;
         $scope.cube = {};
 
@@ -83,10 +83,9 @@ KylinApp.controller('ModelsCtrl', function ($scope, $q, $routeParams, $location,
                         noLeaf:true,
                         data:model,
                         onSelect:function(branch){
-                         // set selecte model
+                         // set selected model
                             $scope.model=branch.data;
                             $scope.cubeSelected = false;
-                            $scope.selectedCubes = branch.data.cubes;
                         }
                     };
                     var _children = [];
@@ -96,24 +95,22 @@ KylinApp.controller('ModelsCtrl', function ($scope, $q, $routeParams, $location,
                                 label:cube.name,
                                 data:cube,
                                 onSelect:function(branch){
-                                    console.log("cube selected:"+branch.data);
+                                    $log.info("cube selected:"+branch.data.name);
                                     $scope.cubeSelected = true;
 //                                    $scope.cubeMetaFrame = branch.data;
                                     $scope.cube = branch.data;
+                                    $scope.listAccess(cube, 'CubeInstance');
 
                                     CubeDescService.get({cube_name: cube.name}, {}, function (detail) {
                                         if (detail.length > 0&&detail[0].hasOwnProperty("name")) {
+                                            //cubeMetaFrame for cube view and edit
                                             $scope.cubeMetaFrame = detail[0];
+                                            //for show detail info
                                             $scope.cube.detail = detail[0];
+                                            //add model info
                                             $scope.metaModel ={
                                                 model : $scope.model
                                             }
-//                                            ModelDescService.get({model_name: cube.detail.model_name}, function (model) {
-//                                                cube.model = model;
-//                                                $scope.metaModel.model= $scope.model;
-////                                                defer.resolve(cube.detail);
-//                                            });
-
                                         }else{
                                             SweetAlert.swal('Oops...', "No cube detail info loaded.", 'error');
                                         }
@@ -146,7 +143,6 @@ KylinApp.controller('ModelsCtrl', function ($scope, $q, $routeParams, $location,
                 ModelList.removeAll();
                 //init selected model
                 $scope.model = {};
-                $scope.selectedCubes=[];
                 $scope.init();
         });
 

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/js/model/modelList.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/model/modelList.js b/webapp/app/js/model/modelList.js
index 6652611..9c83c4e 100644
--- a/webapp/app/js/model/modelList.js
+++ b/webapp/app/js/model/modelList.js
@@ -16,7 +16,7 @@
  * limitations under the License.
 */
 
-KylinApp.service('ModelList',function(ModelService,CubeService,$q,AccessService,ProjectModel){
+KylinApp.service('ModelList',function(ModelService,CubeService,$q,AccessService,ProjectModel,$log){
     var models=[];
     var _this = this;
 
@@ -24,13 +24,17 @@ KylinApp.service('ModelList',function(ModelService,CubeService,$q,AccessService,
 
         var defer = $q.defer();
         var cubeDetail = [];
+        var modelPermission = [];
         ModelService.list(queryParam, function (_models) {
 
             angular.forEach(_models, function (model, index) {
+                $log.info("Add model permission info");
+                modelPermission.push(
                 AccessService.list({type: "DataModelDesc", uuid: model.uuid}, function (accessEntities) {
                     model.accessEntities = accessEntities;
-                });
-//                add cube info to model
+                }).$promise
+                )
+                $log.info("Add cube info to model ,not detail info");
                 cubeDetail.push(
                     CubeService.list({offset: 0, limit: 70,modelName:model.name}, function (_cubes) {
                     model.cubes = _cubes;
@@ -39,7 +43,7 @@ KylinApp.service('ModelList',function(ModelService,CubeService,$q,AccessService,
 
                 model.project = ProjectModel.getProjectByCubeModel(model.name);
             });
-            $q.all(cubeDetail).then(
+            $q.all(cubeDetail,modelPermission).then(
                 function(result){
                     _models = _.filter(_models,function(models){return models.name!=undefined});
                     _this.models = _this.models.concat(_models);

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/less/component.less
----------------------------------------------------------------------
diff --git a/webapp/app/less/component.less b/webapp/app/less/component.less
index e9f1a4c..f14ab07 100644
--- a/webapp/app/less/component.less
+++ b/webapp/app/less/component.less
@@ -956,3 +956,7 @@ Angular 1.2.0 Animation
 .dropdown-menu a{
   cursor: pointer;
 }
+
+.box-2px{
+  border-top:solid 2px #3c8dbc !important;
+}

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/partials/cubes/cube_detail.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubes/cube_detail.html b/webapp/app/partials/cubes/cube_detail.html
index 39c727d..f0644cc 100755
--- a/webapp/app/partials/cubes/cube_detail.html
+++ b/webapp/app/partials/cubes/cube_detail.html
@@ -46,7 +46,7 @@
             ng-if="userService.hasRole('ROLE_ADMIN')">
             <a href="" ng-click="cube.visiblePage='hbase';getHbaseInfo(cube)">HBase</a>
         </li>
-        <li class="dropdown open">
+        <li class="dropdown" ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission(cube, permissions.ADMINISTRATION.mask, permissions.MANAGEMENT.mask, permissions.OPERATION.mask)">
             <a class="dropdown-toggle" data-toggle="dropdown" href="#" aria-expanded="true">
                 Action <span class="caret"></span>
             </a>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/partials/cubes/cube_schema.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubes/cube_schema.html b/webapp/app/partials/cubes/cube_schema.html
index ab9564a..3fa16e5 100644
--- a/webapp/app/partials/cubes/cube_schema.html
+++ b/webapp/app/partials/cubes/cube_schema.html
@@ -16,7 +16,7 @@
 * limitations under the License.
 -->
 
-<div class="box box-primary">
+<div class="box box-primary box-2px">
     <div class="box-header widget-header-blue widget-header-flat">
         <h4 class="box-title text-info">Cube Designer</h4>
     </div>

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/partials/models/model_schema.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/models/model_schema.html b/webapp/app/partials/models/model_schema.html
index f19b9d3..60e73e6 100644
--- a/webapp/app/partials/models/model_schema.html
+++ b/webapp/app/partials/models/model_schema.html
@@ -20,8 +20,8 @@
     <div class="box-header widget-header-blue widget-header-flat">
         <h4 class="box-title text-info">Model Designer</h4>
         <div ng-if="state.mode=='view'" class="box-tools pull-right">
-            <a class="btn btn-box-tool" tooltip="Edit Model" href="models/edit/{{model.name}}" data-widget="collapse"><i class="fa fa-edit"></i></a>
-            <a class="btn btn-box-tool" tooltip="Add Cube" href="cubes/add/{{model.name}}" data-widget="collapse"><i class="fa fa-cube"></i></a>
+            <a ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission(model, permissions.ADMINISTRATION.mask, permissions.MANAGEMENT.mask, permissions.OPERATION.mask)" class="btn btn-box-tool" tooltip="Edit Model" href="models/edit/{{model.name}}" data-widget="collapse"><i class="fa fa-edit"></i></a>
+            <a ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission(model, permissions.ADMINISTRATION.mask, permissions.MANAGEMENT.mask, permissions.OPERATION.mask)" class="btn btn-box-tool"  tooltip="Add Cube" href="cubes/add/{{model.name}}" data-widget="collapse"><i class="fa fa-cube"></i></a>
         </div>
     </div>
     <div class="box-body">

http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/336973ec/webapp/app/partials/models/models_tree.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/models/models_tree.html b/webapp/app/partials/models/models_tree.html
index 58921ae..1a8c57a 100644
--- a/webapp/app/partials/models/models_tree.html
+++ b/webapp/app/partials/models/models_tree.html
@@ -25,7 +25,7 @@
         <!--button-->
         <div class="col-xs-5" style="padding-left: 0px;margin-top: 20px;">
             <div class="pull-right">
-                <a class="btn btn-xs btn-primary" href='models/add' tooltip="Create Model"  ng-if="userService.hasRole('ROLE_ADMIN')"><i class="fa fa-plus"></i></a>
+                <a class="btn btn-xs btn-primary" href='models/add' tooltip="Create Model"  ng-if="userService.hasRole('ROLE_MODELER')"><i class="fa fa-plus"></i></a>
             </div>
         </div>
     </div>