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:01 UTC
[32/52] [abbrv] incubator-kylin git commit: new models page update
new 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/ef5ccb5b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/ef5ccb5b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/ef5ccb5b
Branch: refs/heads/0.8.0
Commit: ef5ccb5b0b0c09cbddce4406cae9101897b3d1be
Parents: 336973e
Author: jiazhong <ji...@ebay.com>
Authored: Wed Mar 25 17:56:41 2015 +0800
Committer: honma <ho...@ebay.com>
Committed: Fri May 15 11:36:52 2015 +0800
----------------------------------------------------------------------
.../kylin/rest/controller/CubeController.java | 4 +-
.../kylin/rest/controller/ModelController.java | 4 +-
.../apache/kylin/rest/service/CubeService.java | 9 ++++-
.../apache/kylin/rest/service/ModelService.java | 16 ++++----
webapp/app/js/controllers/cubeModel.js | 21 +++++++++--
webapp/app/js/controllers/modelEdit.js | 5 ++-
webapp/app/js/controllers/models.js | 8 ++--
webapp/app/js/model/modelList.js | 3 +-
webapp/app/less/component.less | 4 ++
webapp/app/partials/cubes/cube_detail.html | 2 +-
webapp/app/partials/models/model_detail.html | 39 +++++++++++++++++++-
webapp/app/partials/models/model_schema.html | 6 +--
webapp/app/partials/models/models_tree.html | 6 +--
13 files changed, 93 insertions(+), 34 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java b/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
index fb1870b..b1f9b4a 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/CubeController.java
@@ -89,8 +89,8 @@ public class CubeController extends BasicController {
@RequestMapping(value = "", method = {RequestMethod.GET})
@ResponseBody
@Metered(name = "listCubes")
- public List<CubeInstance> getCubes(@RequestParam(value = "cubeName", required = false) String cubeName,@RequestParam(value = "modelName", required = false) String modelName, @RequestParam(value = "projectName", required = false) String projectName, @RequestParam("limit") Integer limit, @RequestParam("offset") Integer offset) {
- return cubeService.getCubes(cubeName, projectName, modelName,(null == limit) ? 20 : limit, offset);
+ public List<CubeInstance> getCubes(@RequestParam(value = "cubeName", required = false) String cubeName,@RequestParam(value = "modelName", required = false) String modelName, @RequestParam(value = "projectName", required = false) String projectName, @RequestParam(value="limit",required = false) Integer limit, @RequestParam(value = "offset" ,required = false) Integer offset) {
+ return cubeService.getCubes(cubeName, projectName, modelName, limit, offset);
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
index 5a18a3b..9b50af6 100644
--- a/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
+++ b/server/src/main/java/org/apache/kylin/rest/controller/ModelController.java
@@ -58,8 +58,8 @@ public class ModelController extends BasicController {
@RequestMapping(value = "", method = {RequestMethod.GET})
@ResponseBody
@Metered(name = "listModels")
- public List<DataModelDesc> getModels(@RequestParam(value = "modelName", required = false) String modelName, @RequestParam(value = "projectName", required = false) String projectName, @RequestParam("limit") Integer limit, @RequestParam("offset") Integer offset) {
- return modelService.getModels(modelName, projectName, (null == limit) ? 20 : limit, offset);
+ public List<DataModelDesc> getModels(@RequestParam(value = "modelName", required = false) String modelName, @RequestParam(value = "projectName", required = false) String projectName, @RequestParam(value="limit",required=false) Integer limit, @RequestParam(value="offset",required=false) Integer offset) {
+ return modelService.getModels(modelName, projectName, limit, offset);
}
@RequestMapping(value = "/{modelName}", method = {RequestMethod.DELETE})
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
index 8dc0345..7f63d34 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/CubeService.java
@@ -117,12 +117,17 @@ public class CubeService extends BasicService {
}
public List<CubeInstance> getCubes(final String cubeName, final String projectName,final String modelName ,final Integer limit, final Integer offset) {
- int climit = (null == limit) ? 30 : limit;
- int coffset = (null == offset) ? 0 : offset;
List<CubeInstance> cubes;
cubes = listAllCubes(cubeName, projectName,modelName);
+ if(limit==null||offset==null){
+ return cubes;
+ }
+
+ int climit = (null == limit) ? 30 : limit;
+ int coffset = (null == offset) ? 0 : offset;
+
if (cubes.size() <= coffset) {
return Collections.emptyList();
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
----------------------------------------------------------------------
diff --git a/server/src/main/java/org/apache/kylin/rest/service/ModelService.java b/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
index 181ccdf..490de31 100644
--- a/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
+++ b/server/src/main/java/org/apache/kylin/rest/service/ModelService.java
@@ -73,21 +73,23 @@ public class ModelService extends BasicService {
}
public List<DataModelDesc> getModels(final String modelName, final String projectName, final Integer limit, final Integer offset) {
- int climit = (null == limit) ? 30 : limit;
- int coffset = (null == offset) ? 0 : offset;
List<DataModelDesc> modelDescs;
modelDescs = listAllModels(modelName, projectName);
- if (modelDescs.size() <= coffset) {
- return Collections.emptyList();
+ if(limit==null || offset == null){
+ return modelDescs;
}
- if ((modelDescs.size() - coffset) < climit) {
- return modelDescs.subList(coffset, modelDescs.size());
+// if (modelDescs.size() <= limit) {
+// return Collections.emptyList();
+// }
+
+ if ((modelDescs.size() - offset) < limit) {
+ return modelDescs.subList(offset, modelDescs.size());
}
- return modelDescs.subList(coffset, coffset + climit);
+ return modelDescs.subList(offset, offset + limit);
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/webapp/app/js/controllers/cubeModel.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeModel.js b/webapp/app/js/controllers/cubeModel.js
index 47014c9..2987905 100644
--- a/webapp/app/js/controllers/cubeModel.js
+++ b/webapp/app/js/controllers/cubeModel.js
@@ -20,11 +20,26 @@
KylinApp.controller('CubeModelCtrl', function ($scope, $modal,cubeConfig,MetaModel,SweetAlert,GraphService,$log) {
- //copy model for show Json in model tab list
- $scope.modelJson = angular.copy($scope.model);
$scope.buildGraph = function (model) {
- GraphService.buildTree(model);
+// var newModel = jQuery.extend(true, {}, model);
+ var newModel = angular.copy(model);
+ GraphService.buildTree(newModel);
+ };
+
+ $scope.cleanStatus = function(model){
+
+ if (!model)
+ {
+ return;
+ }
+ var newModel = jQuery.extend(true, {}, model);
+ delete newModel.project;
+ delete newModel.accessEntities;
+ delete newModel.visiblePage;
+ delete newModel.cubes;
+
+ return newModel;
};
$scope.cubeConfig = cubeConfig;
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/webapp/app/js/controllers/modelEdit.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/modelEdit.js b/webapp/app/js/controllers/modelEdit.js
index 364919d..30f4c21 100644
--- a/webapp/app/js/controllers/modelEdit.js
+++ b/webapp/app/js/controllers/modelEdit.js
@@ -111,8 +111,9 @@ KylinApp.controller('ModelEditCtrl', function ($scope, $q, $routeParams, $locati
}
$scope.state.project = $scope.model.project;
- delete $scope.model.project;
- $scope.state.modelSchema = angular.toJson($scope.model, true);
+ var _model = angular.copy($scope.model);
+ delete _model.project;
+ $scope.state.modelSchema = angular.toJson(_model, true);
};
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/webapp/app/js/controllers/models.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/models.js b/webapp/app/js/controllers/models.js
index e16c27a..973ede0 100644
--- a/webapp/app/js/controllers/models.js
+++ b/webapp/app/js/controllers/models.js
@@ -47,14 +47,14 @@ KylinApp.controller('ModelsCtrl', function ($scope, $q, $routeParams, $location,
// TODO offset&limit
- $scope.list = function (offset, limit) {
+ $scope.list = function () {
if(!$scope.projectModel.projects.length){
return [];
}
- offset = (!!offset) ? offset : 0;
- limit = (!!limit) ? limit : 70;
+// offset = (!!offset) ? offset : null;
+// limit = (!!limit) ? limit : null;
- var queryParam = {offset: offset, limit: limit};
+ var queryParam = {};
if ($scope.listParams.modelName) {
queryParam.modelName = $scope.listParams.modelName;
}
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/webapp/app/js/model/modelList.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/model/modelList.js b/webapp/app/js/model/modelList.js
index 9c83c4e..b7dba7b 100644
--- a/webapp/app/js/model/modelList.js
+++ b/webapp/app/js/model/modelList.js
@@ -36,7 +36,8 @@ KylinApp.service('ModelList',function(ModelService,CubeService,$q,AccessService,
)
$log.info("Add cube info to model ,not detail info");
cubeDetail.push(
- CubeService.list({offset: 0, limit: 70,modelName:model.name}, function (_cubes) {
+// CubeService.list({offset: 0, limit: 70,modelName:model.name}, function (_cubes) {
+ CubeService.list({modelName:model.name}, function (_cubes) {
model.cubes = _cubes;
}).$promise
);
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/webapp/app/less/component.less
----------------------------------------------------------------------
diff --git a/webapp/app/less/component.less b/webapp/app/less/component.less
index f14ab07..9e05fcf 100644
--- a/webapp/app/less/component.less
+++ b/webapp/app/less/component.less
@@ -960,3 +960,7 @@ Angular 1.2.0 Animation
.box-2px{
border-top:solid 2px #3c8dbc !important;
}
+
+treecontrol{
+ font-family: 'Source Sans Pro', 'Helvetica Neue', Helvetica, Arial, sans-serif;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/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 f0644cc..91e5afe 100755
--- a/webapp/app/partials/cubes/cube_detail.html
+++ b/webapp/app/partials/cubes/cube_detail.html
@@ -48,7 +48,7 @@
</li>
<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>
+ <i class="fa fa-cubes"> Action </i> <span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li ng-if="cube.status=='DISABLED' && userService.hasRole('ROLE_ADMIN') ">
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/webapp/app/partials/models/model_detail.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/models/model_detail.html b/webapp/app/partials/models/model_detail.html
index 6d43210..b116a0a 100644
--- a/webapp/app/partials/models/model_detail.html
+++ b/webapp/app/partials/models/model_detail.html
@@ -17,7 +17,42 @@
-->
<div ng-controller="CubeModelCtrl" class="nav-tabs-custom">
- <div ng-include="'partials/models/model_schema.html'" ng-controller="ModelSchemaCtrl"
- ng-init="state={mode:'view', modelName:model.name}">
+ <ul ng-show="model.name" class="nav nav-tabs">
+ <li class="{{(!model.visiblePage || model.visiblePage=='metadata')? 'active':''}}">
+ <a href="" ng-click="model.visiblePage='metadata'">Grid</a>
+ </li>
+ <li class="{{model.visiblePage=='graph'? 'active':''}}">
+ <a href="" ng-click="model.visiblePage='graph';buildGraph(model);$event.stopPropagation();">Visualization</a>
+ </li>
+ <li class="{{model.visiblePage=='json_model'? 'active':''}}"
+ ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission(model, 16) && !newAccess">
+ <a href="" ng-click="model.visiblePage='json_model';">JSON</a>
+ </li>
+ <li class="dropdown" ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission(model, permissions.ADMINISTRATION.mask, permissions.MANAGEMENT.mask, permissions.OPERATION.mask)">
+ <a class="dropdown-toggle" data-toggle="dropdown" href="#" aria-expanded="true">
+ <i class="fa fa-star"> Action </i> <span class="caret"></span>
+ </a>
+ <ul class="dropdown-menu">
+ <li ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission(model, permissions.ADMINISTRATION.mask, permissions.MANAGEMENT.mask, permissions.OPERATION.mask)">
+ <a href="models/edit/{{model.name}}" data-widget="collapse">Edit Model</a>
+ </li>
+ <li ng-if="userService.hasRole('ROLE_ADMIN') || hasPermission(model, permissions.ADMINISTRATION.mask, permissions.MANAGEMENT.mask, permissions.OPERATION.mask)">
+ <a href="cubes/add/{{model.name}}" data-widget="collapse">Create Cube</a>
+ </li>
+ </ul>
+ </li>
+ </ul>
+
+ <div class="model-detail" ng-if="!model.visiblePage || model.visiblePage=='metadata'">
+ <div ng-include="'partials/models/model_schema.html'" ng-controller="ModelSchemaCtrl"
+ ng-init="state={mode:'view', modelName:model.name}">
+ </div>
+ </div>
+ <div ng-show="model.visiblePage=='graph'" id="model_graph_{{model.name}}" class="model-detail model_graph">
</div>
+ <div ng-show="model.visiblePage=='json_model'" class="model-detail">
+ <pre ng-if="!state.jsonEdit"
+ style="background-color: white;border: 0px">{{angular.toJson(cleanStatus(model), true)}}</pre>
+ </div>
+
</div>
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/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 60e73e6..898343a 100644
--- a/webapp/app/partials/models/model_schema.html
+++ b/webapp/app/partials/models/model_schema.html
@@ -16,13 +16,9 @@
* limitations under the License.
-->
-<div class="box box-primary model-design" ng-hide="state.mode=='view'&&!model.name">
+<div class="box box-primary model-design box-2px" ng-hide="state.mode=='view'&&!model.name">
<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 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">
<ng-form name="design_form" ng-submit="">
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/ef5ccb5b/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 1a8c57a..727c498 100644
--- a/webapp/app/partials/models/models_tree.html
+++ b/webapp/app/partials/models/models_tree.html
@@ -35,9 +35,9 @@
<abn-tree
tree-data = "models_treedata"
tree-control = "my_tree"
- icon-leaf = "fa fa-cube"
- icon-expand = "fa fa-plus"
- icon-collapse = "fa fa-minus"
+ icon-leaf = "fa fa-cubes"
+ icon-expand = "fa fa-star"
+ icon-collapse = "fa fa-star-o"
expand-level = "2"
initial-selection = "">
></abn-tree>