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>