You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kylin.apache.org by zh...@apache.org on 2015/09/15 04:48:19 UTC
incubator-kylin git commit: KYLIN-910,
enable edit 'auto merge time range' from UI
Repository: incubator-kylin
Updated Branches:
refs/heads/2.x-staging 8ac3f08b5 -> 56054e636
KYLIN-910, enable edit 'auto merge time range' from UI
Project: http://git-wip-us.apache.org/repos/asf/incubator-kylin/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-kylin/commit/56054e63
Tree: http://git-wip-us.apache.org/repos/asf/incubator-kylin/tree/56054e63
Diff: http://git-wip-us.apache.org/repos/asf/incubator-kylin/diff/56054e63
Branch: refs/heads/2.x-staging
Commit: 56054e63604be1e8596216f10070e25f1f4b6ea9
Parents: 8ac3f08
Author: jiazhong <ji...@ebay.com>
Authored: Tue Sep 15 10:47:23 2015 +0800
Committer: jiazhong <ji...@ebay.com>
Committed: Tue Sep 15 10:47:59 2015 +0800
----------------------------------------------------------------------
webapp/app/js/controllers/cubeAdvanceSetting.js | 55 +++++++++++++++++++-
webapp/app/js/controllers/cubeRefresh.js | 4 +-
webapp/app/js/directives/directives.js | 2 -
webapp/app/js/filters/filter.js | 13 ++++-
.../cubeDesigner/advanced_settings.html | 52 +++++++++++++++---
webapp/app/partials/cubes/cubes.html | 1 +
6 files changed, 114 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/56054e63/webapp/app/js/controllers/cubeAdvanceSetting.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeAdvanceSetting.js b/webapp/app/js/controllers/cubeAdvanceSetting.js
index 5ced1bd..fb9c019 100644
--- a/webapp/app/js/controllers/cubeAdvanceSetting.js
+++ b/webapp/app/js/controllers/cubeAdvanceSetting.js
@@ -31,6 +31,30 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
//edit model
if($scope.state.mode==="edit") {
$scope.metaModel = MetaModel;
+ if(!$scope.cubeMetaFrame.auto_merge_time_ranges){
+ $scope.cubeMetaFrame.auto_merge_time_ranges = [604800000,2419200000];
+ }
+ $scope._auto_merge_time_ranges = [];
+ angular.forEach($scope.cubeMetaFrame.auto_merge_time_ranges,function(item){
+ var _day = Math.floor(item/86400000);
+ var _hour = (item%86400000)/3600000;
+
+ var rangeObj = {
+ type:'days',
+ range:0,
+ mills:0
+ }
+ if(_day==0){
+ rangeObj.type = 'hours';
+ rangeObj.range = _hour;
+ rangeObj.mills = rangeObj.range*3600000;
+ }else{
+ rangeObj.type = 'days';
+ rangeObj.range = _day;
+ rangeObj.mills = rangeObj.range*86400000;
+ }
+ $scope._auto_merge_time_ranges.push(rangeObj);
+ })
}
@@ -41,10 +65,37 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal,cubeConfi
}
+ $scope.addNewMergeTimeRange = function(){
+ $scope._auto_merge_time_ranges.push({
+ type:'days',
+ range:0,
+ mills:0
+ })
+ $scope.updateAutoMergeRange();
+ }
+
+ $scope.removeTimeRange = function(arr,index,item){
+ if (index > -1) {
+ arr.splice(index, 1);
+ }
+ $scope.cubeMetaFrame.auto_merge_time_ranges.splice(index,1);
+ }
+
+
$scope.refreshAutoMergeTimeRanges = function(list,index,item){
- if (item) {
- list[index] = item;
+ if(item.type=='hours'){
+ item.mills = item.range*3600000;
+ }else{
+ item.mills = item.range*86400000;
}
+ $scope.cubeMetaFrame.auto_merge_time_ranges[index] = item.mills;
+ }
+
+ $scope.updateAutoMergeRange = function(){
+ $scope.cubeMetaFrame.auto_merge_time_ranges = [];
+ angular.forEach($scope._auto_merge_time_ranges,function(item){
+ $scope.cubeMetaFrame.auto_merge_time_ranges.push(item.mills);
+ })
}
});
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/56054e63/webapp/app/js/controllers/cubeRefresh.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/controllers/cubeRefresh.js b/webapp/app/js/controllers/cubeRefresh.js
index 39a63c7..23cab43 100644
--- a/webapp/app/js/controllers/cubeRefresh.js
+++ b/webapp/app/js/controllers/cubeRefresh.js
@@ -18,6 +18,6 @@
'use strict';
-KylinApp.controller('CubeRefreshCtrl', function ($scope, $modal,cubeConfig,MetaModel) {
-
+KylinApp.controller('CubeRefreshCtrl', function ($scope, $modal,cubeConfig,MetaModel,UserService) {
+ $scope.userService = UserService;
});
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/56054e63/webapp/app/js/directives/directives.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/directives/directives.js b/webapp/app/js/directives/directives.js
index 6e6daf8..f9f5dff 100644
--- a/webapp/app/js/directives/directives.js
+++ b/webapp/app/js/directives/directives.js
@@ -221,5 +221,3 @@ KylinApp.directive('kylinPagination', function ($parse, $q) {
}
}
});
-
-;
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/56054e63/webapp/app/js/filters/filter.js
----------------------------------------------------------------------
diff --git a/webapp/app/js/filters/filter.js b/webapp/app/js/filters/filter.js
index 0f38cc5..98f7235 100755
--- a/webapp/app/js/filters/filter.js
+++ b/webapp/app/js/filters/filter.js
@@ -164,4 +164,15 @@ KylinApp
return function (item) {
return item/86400000;
}
- });;
+ }).filter('timeRangeFormat', function ($filter) {
+ //backend store GMT+0 timezone ,by default front will show local,so convert to GMT+0 Date String format
+ return function (item) {
+ var _day = Math.floor(item/86400000);
+ var _hour = (item%86400000)/3600000;
+ if(_day==0){
+ return _hour +" (Hours)"
+ }else{
+ return _day +" (Days)";
+ }
+ }
+ });
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/56054e63/webapp/app/partials/cubeDesigner/advanced_settings.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubeDesigner/advanced_settings.html b/webapp/app/partials/cubeDesigner/advanced_settings.html
index 037a003..222edf2 100755
--- a/webapp/app/partials/cubeDesigner/advanced_settings.html
+++ b/webapp/app/partials/cubeDesigner/advanced_settings.html
@@ -33,13 +33,53 @@
<div class="col-xs-12 col-sm-6">
<!--retention range is store in CubeInstance, will convert to cubeMetaFrame for front end-->
<div class="row" ng-if="state.mode=='edit'">
- <div class="col-xs-3" ng-repeat="timeRange in cubeMetaFrame.auto_merge_time_ranges">
- <input type="text" retention-format ng-change="refreshAutoMergeTimeRanges(cubeMetaFrame.auto_merge_time_ranges,$index,timeRange)" class="form-control" placeholder=".col-xs-3" ng-model="timeRange">
- </div>
+ <table class="table">
+ <tbody>
+ <tr ng-repeat="timeRange in _auto_merge_time_ranges">
+ <td class="col-xs-4">
+ <select ng-if="timeRange.type=='hours'"
+ chosen ng-model="timeRange.range"
+ ng-options="rangeTypes as rangeTypes for rangeTypes in [0.5,1,2,4,8] "
+ ng-change="refreshAutoMergeTimeRanges(_auto_merge_time_ranges,$index,timeRange)"
+ style="width: 100% !important;"
+ data-placeholder="hours range"
+ class="chosen-select">
+ </select>
+ <input type="text" ng-if="timeRange.type=='days'" ng-change="refreshAutoMergeTimeRanges(_auto_merge_time_ranges,$index,timeRange)" class="form-control input-sm" placeholder="days range" ng-model="timeRange.range">
+ </td>
+ <td class="col-xs-4">
+ <select chosen ng-model="timeRange.type"
+ ng-options="rangeTypes as rangeTypes for rangeTypes in ['hours','days'] "
+ ng-change="refreshAutoMergeTimeRanges(_auto_merge_time_ranges,$index,timeRange)"
+ style="width: 200px !important;"
+ data-placeholder="select a project"
+ class="chosen-select">
+ </select>
+ </td>
+ <td>
+ <button class="btn btn-xs btn-info" ng-show="state.mode=='edit'" ng-click="removeTimeRange(_auto_merge_time_ranges,$index, timeRange)">
+ <i class="fa fa-minus"></i>
+ </button>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ <button class="btn btn-xs btn-info" ng-show="state.mode=='edit'" ng-click="addNewMergeTimeRange()">
+ New Merge Range<i class="fa fa-plus"></i>
+ </button>
</div>
- <span ng-if="state.mode=='view'">{{cubeMetaFrame.auto_merge_time_ranges[0] | millisecondsToDay}}</span>
- <span ng-if="state.mode=='view'">,</span>
- <span ng-if="state.mode=='view'">{{cubeMetaFrame.auto_merge_time_ranges[1] | millisecondsToDay}}</span>
+ <div class="row" ng-if="state.mode=='view'">
+ <table class="table">
+ <tbody>
+ <tr ng-repeat="timeRange in cubeMetaFrame.auto_merge_time_ranges">
+ <td>
+ {{timeRange | timeRangeFormat}}
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
</div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/incubator-kylin/blob/56054e63/webapp/app/partials/cubes/cubes.html
----------------------------------------------------------------------
diff --git a/webapp/app/partials/cubes/cubes.html b/webapp/app/partials/cubes/cubes.html
index c09e3f1..3c8c2e7 100644
--- a/webapp/app/partials/cubes/cubes.html
+++ b/webapp/app/partials/cubes/cubes.html
@@ -129,5 +129,6 @@
<div ng-include="'partials/jobs/job_refresh.html'"></div>
<div ng-include="'partials/jobs/job_merge.html'"></div>
<div ng-include="'partials/projects/project_create.html'"></div>
+<div ng-include="'partials/models/model_detail.html'"></div>
</div>