KYLIN-1443 sort auto merge time range increasingly by default
Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/783d15a0 Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/783d15a0 Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/783d15a0 Branch: refs/heads/1.4-rc Commit: 783d15a0c9bee96c8a2ac9ffe24e9e727a0a5aba Parents: 80b6c64 Author: janzhongi <jiazh...@ebay.com> Authored: Wed Feb 24 17:03:01 2016 +0800 Committer: janzhongi <jiazh...@ebay.com> Committed: Wed Feb 24 17:16:42 2016 +0800 ---------------------------------------------------------------------- webapp/app/js/controllers/cubeAdvanceSetting.js | 60 ----------------- webapp/app/js/controllers/cubeRefresh.js | 68 ++++++++++++++++++++ .../partials/cubeDesigner/refresh_settings.html | 5 +- 3 files changed, 70 insertions(+), 63 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/783d15a0/webapp/app/js/controllers/cubeAdvanceSetting.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeAdvanceSetting.js b/webapp/app/js/controllers/cubeAdvanceSetting.js index bd4e783..89e283a 100644 --- a/webapp/app/js/controllers/cubeAdvanceSetting.js +++ b/webapp/app/js/controllers/cubeAdvanceSetting.js @@ -29,33 +29,7 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal, cubeConf } ); //edit model - if ($scope.state.mode === "edit") { - $scope.metaModel = MetaModel; - if (!$scope.cubeMetaFrame.auto_merge_time_ranges) { - $scope.cubeMetaFrame.auto_merge_time_ranges = []; - } - $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); - }) - } $scope.dictionaryUpdated = function (rowkey_column) { @@ -65,40 +39,6 @@ KylinApp.controller('CubeAdvanceSettingCtrl', function ($scope, $modal, cubeConf } - $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.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); - }) - } - - $scope.addNewRowkeyColumn = function () { $scope.cubeMetaFrame.rowkey.rowkey_columns.push({ "column": "", http://git-wip-us.apache.org/repos/asf/kylin/blob/783d15a0/webapp/app/js/controllers/cubeRefresh.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeRefresh.js b/webapp/app/js/controllers/cubeRefresh.js index 23cab43..72c7935 100644 --- a/webapp/app/js/controllers/cubeRefresh.js +++ b/webapp/app/js/controllers/cubeRefresh.js @@ -20,4 +20,72 @@ KylinApp.controller('CubeRefreshCtrl', function ($scope, $modal,cubeConfig,MetaModel,UserService) { $scope.userService = UserService; + + if ($scope.state.mode === "edit") { + $scope.metaModel = MetaModel; + if (!$scope.cubeMetaFrame.auto_merge_time_ranges) { + $scope.cubeMetaFrame.auto_merge_time_ranges = []; + } + $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); + }) + } + + $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.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); + }) + } + + + if ($scope.state.mode == 'edit') { + $scope.$on('$destroy', function () { + $scope.cubeMetaFrame.auto_merge_time_ranges.sort(function(a, b){return a-b});; + }); + } }); http://git-wip-us.apache.org/repos/asf/kylin/blob/783d15a0/webapp/app/partials/cubeDesigner/refresh_settings.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/cubeDesigner/refresh_settings.html b/webapp/app/partials/cubeDesigner/refresh_settings.html index d77a5d7..d1f478f 100755 --- a/webapp/app/partials/cubeDesigner/refresh_settings.html +++ b/webapp/app/partials/cubeDesigner/refresh_settings.html @@ -16,7 +16,7 @@ * limitations under the License. --> -<div ng-controller="CubeAdvanceSettingCtrl"> +<div ng-controller="CubeRefreshCtrl"> <ng-form name="forms.refresh_setting_form"> <div> @@ -77,8 +77,7 @@ <div class="row" ng-if="state.mode=='view'"> <table class="table"> <tbody> - <tr ng-repeat="timeRange in cubeMetaFrame.auto_merge_time_ranges track by $index"> - <td> + <tr ng-repeat="timeRange in cubeMetaFrame.auto_merge_time_ranges | orderBy:'valueOf()' track by $index "> <td> {{timeRange | timeRangeFormat}} </td> </tr>