Repository: kylin Updated Branches: refs/heads/2.x-staging 368430527 -> d829340c5
minor,use angularjs directive to convert GMT0 timestamp for partition_date Project: http://git-wip-us.apache.org/repos/asf/kylin/repo Commit: http://git-wip-us.apache.org/repos/asf/kylin/commit/d829340c Tree: http://git-wip-us.apache.org/repos/asf/kylin/tree/d829340c Diff: http://git-wip-us.apache.org/repos/asf/kylin/diff/d829340c Branch: refs/heads/2.x-staging Commit: d829340c5facc1de1f44f114f9af9b06f51996e4 Parents: 3684305 Author: jian <zhongj...@apache.org> Authored: Thu Jan 21 15:08:39 2016 +0800 Committer: jian <zhongj...@apache.org> Committed: Thu Jan 21 15:08:39 2016 +0800 ---------------------------------------------------------------------- webapp/app/js/controllers/cubeEdit.js | 23 +++------------- webapp/app/js/controllers/cubes.js | 28 ++------------------ webapp/app/js/directives/directives.js | 22 +++++++++++++++ .../partials/cubeDesigner/refresh_settings.html | 2 +- webapp/app/partials/jobs/job_merge.html | 2 +- webapp/app/partials/jobs/job_refresh.html | 2 +- webapp/app/partials/jobs/job_submit.html | 4 +-- 7 files changed, 32 insertions(+), 51 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/kylin/blob/d829340c/webapp/app/js/controllers/cubeEdit.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubeEdit.js b/webapp/app/js/controllers/cubeEdit.js index ea9e822..8259ab1 100755 --- a/webapp/app/js/controllers/cubeEdit.js +++ b/webapp/app/js/controllers/cubeEdit.js @@ -165,11 +165,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio CubeDescService.query({cube_name: $routeParams.cubeName}, function (detail) { if (detail.length > 0) { $scope.cubeMetaFrame = detail[0]; - //convert GMT mills ,to make sure partition date show GMT Date - if($scope.cubeMetaFrame.partition_date_start) - { - $scope.cubeMetaFrame.partition_date_start+=new Date().getTimezoneOffset()*60000; - } $scope.metaModel = {}; //get model from API when page refresh @@ -221,21 +216,12 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio reGenerateRowKey(); if ($scope.metaModel.model.partition_desc.partition_date_column && ($scope.cubeMetaFrame.partition_date_start | $scope.cubeMetaFrame.partition_date_start == 0)) { - var dateStart = new Date($scope.cubeMetaFrame.partition_date_start); - dateStart = (dateStart.getFullYear() + "-" + (dateStart.getMonth() + 1) + "-" + dateStart.getDate()); - //switch selected time to utc timestamp - $scope.cubeMetaFrame.partition_date_start = new Date(moment.utc(dateStart, "YYYY-MM-DD").format()).getTime(); - - //if ($scope.metaModel.model.partition_desc.partition_date_column.indexOf(".") == -1) { - // $scope.metaModel.model.partition_desc.partition_date_column = $scope.metaModel.model.fact_table + "." + $scope.metaModel.model.partition_desc.partition_date_column; - //} + if ($scope.metaModel.model.partition_desc.partition_date_column.indexOf(".") == -1) { + $scope.metaModel.model.partition_desc.partition_date_column = $scope.metaModel.model.fact_table + "." + $scope.metaModel.model.partition_desc.partition_date_column; + } } - //use cubedesc name as model name - //if ($scope.metaModel.model.name === "" || angular.isUndefined($scope.metaModel.model.name)) { - // $scope.metaModel.model.name = $scope.cubeMetaFrame.name; - //} //set model ref for cubeDesc if ($scope.cubeMetaFrame.model_name === "" || angular.isUndefined($scope.cubeMetaFrame.model_name)) { @@ -463,9 +449,6 @@ KylinApp.controller('CubeEditCtrl', function ($scope, $q, $routeParams, $locatio // reverse the date $scope.saveCubeRollBack = function () { - if ($scope.metaModel.model && ($scope.cubeMetaFrame.partition_date_start || $scope.cubeMetaFrame.partition_date_start == 0)) { - $scope.cubeMetaFrame.partition_date_start += new Date().getTimezoneOffset() * 60000; - } } $scope.updateMandatory = function (rowkey_column) { http://git-wip-us.apache.org/repos/asf/kylin/blob/d829340c/webapp/app/js/controllers/cubes.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/controllers/cubes.js b/webapp/app/js/controllers/cubes.js index 4cd4217..b9a0f13 100644 --- a/webapp/app/js/controllers/cubes.js +++ b/webapp/app/js/controllers/cubes.js @@ -412,19 +412,13 @@ var jobSubmitCtrl = function ($scope, $modalInstance, CubeService, MessageServic }; $scope.message = ""; - $scope.rebuild = function (jobsubmit) { + $scope.rebuild = function () { $scope.message = null; - $scope.jobBuildRequest.startTime = new Date($scope.jobBuildRequest.startTime).getTime(); - $scope.jobBuildRequest.endTime = new Date($scope.jobBuildRequest.endTime).getTime(); if ($scope.jobBuildRequest.startTime >= $scope.jobBuildRequest.endTime) { $scope.message = "WARNING: End time should be later than the start time."; - //rollback date setting - if (jobsubmit) { - $scope.rebuildRollback(); - } return; } @@ -436,10 +430,6 @@ var jobSubmitCtrl = function ($scope, $modalInstance, CubeService, MessageServic SweetAlert.swal('Success!', 'Rebuild job was submitted successfully', 'success'); }, function (e) { - //rollback date setting - if (jobsubmit) { - $scope.rebuildRollback(); - } loadingRequest.hide(); if (e.data && e.data.exception) { @@ -457,7 +447,7 @@ var jobSubmitCtrl = function ($scope, $modalInstance, CubeService, MessageServic }, function (isConfirm) { if (isConfirm) { $scope.jobBuildRequest.forceMergeEmptySegment = true; - $scope.rebuild(jobsubmit); + $scope.rebuild(); } }); return; @@ -471,10 +461,6 @@ var jobSubmitCtrl = function ($scope, $modalInstance, CubeService, MessageServic }); }; - $scope.rebuildRollback = function () { - $scope.jobBuildRequest.endTime += new Date().getTimezoneOffset() * 60000; - } - // used by cube segment refresh $scope.segmentSelected = function (selectedSegment) { $scope.jobBuildRequest.startTime = 0; @@ -506,16 +492,6 @@ var jobSubmitCtrl = function ($scope, $modalInstance, CubeService, MessageServic } }; - $scope.updateDate = function () { - $scope.jobBuildRequest.endTime = $scope.formatDate($scope.jobBuildRequest.endTime); - }; - - $scope.formatDate = function (timestemp) { - var dateStart = new Date(timestemp); - dateStart = (dateStart.getFullYear() + "-" + (dateStart.getMonth() + 1) + "-" + dateStart.getDate()); - //switch selected time to utc timestamp - return new Date(moment.utc(dateStart, "YYYY-MM-DD").format()).getTime(); - }; $scope.cancel = function () { $modalInstance.dismiss('cancel'); }; http://git-wip-us.apache.org/repos/asf/kylin/blob/d829340c/webapp/app/js/directives/directives.js ---------------------------------------------------------------------- diff --git a/webapp/app/js/directives/directives.js b/webapp/app/js/directives/directives.js index f9f5dff..3f61310 100644 --- a/webapp/app/js/directives/directives.js +++ b/webapp/app/js/directives/directives.js @@ -220,4 +220,26 @@ KylinApp.directive('kylinPagination', function ($parse, $q) { }); } } + }).directive('datepickerTimezone', function () { + // this directive workaround to convert GMT0 timestamp to GMT date for datepicker + return { + restrict: 'A', + priority: 1, + require: 'ngModel', + link: function (scope, element, attrs, ctrl) { + ctrl.$formatters.push(function (value) { + //return value; + var date = new Date(value + (60000 * new Date().getTimezoneOffset())); + return date; + }); + + ctrl.$parsers.push(function (value) { + if (isNaN(value)) { + return value; + } + value = new Date(value.getFullYear(), value.getMonth(), value.getDate(), 0, 0, 0, 0); + return value.getTime()-(60000 * value.getTimezoneOffset()); + }); + } + }; }); http://git-wip-us.apache.org/repos/asf/kylin/blob/d829340c/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 7b9e079..d77a5d7 100755 --- a/webapp/app/partials/cubeDesigner/refresh_settings.html +++ b/webapp/app/partials/cubeDesigner/refresh_settings.html @@ -123,7 +123,7 @@ <div class="col-xs-12 col-sm-6" ng-class="metaModel.model.partition_desc.partition_date_column!=null&& cubeMetaFrame.partition_date_start==null?'has-error':''"> <!--edit model will convert –>--> - <input type="text" class="form-control" datepicker-popup="yyyy-MM-dd" + <input type="text" class="form-control" datepicker-popup="yyyy-MM-dd" datepicker-timezone ng-model="cubeMetaFrame.partition_date_start" ng-if="state.mode=='edit'" placeholder="Click to choose start date..." is-open="opened"/> <small class="help-block" http://git-wip-us.apache.org/repos/asf/kylin/blob/d829340c/webapp/app/partials/jobs/job_merge.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/jobs/job_merge.html b/webapp/app/partials/jobs/job_merge.html index c55b280..f5c3965 100644 --- a/webapp/app/partials/jobs/job_merge.html +++ b/webapp/app/partials/jobs/job_merge.html @@ -124,7 +124,7 @@ </div> <div class="modal-footer"> <button class="btn btn-primary" ng-click="cancel()">Close</button> - <button class="btn btn-success" ng-click="rebuild(false)" + <button class="btn btn-success" ng-click="rebuild()" ng-disabled="!(jobBuildRequest.startTime >= 0 && jobBuildRequest.endTime > 0)"> Submit </button> http://git-wip-us.apache.org/repos/asf/kylin/blob/d829340c/webapp/app/partials/jobs/job_refresh.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/jobs/job_refresh.html b/webapp/app/partials/jobs/job_refresh.html index b8ffa6e..aa8f930 100644 --- a/webapp/app/partials/jobs/job_refresh.html +++ b/webapp/app/partials/jobs/job_refresh.html @@ -92,7 +92,7 @@ <div class="modal-footer"> <button class="btn btn-primary" ng-click="cancel()">Close</button> - <button class="btn btn-success" ng-click="rebuild(false)" + <button class="btn btn-success" ng-click="rebuild()" ng-disabled="!(jobBuildRequest.startTime >= 0 && jobBuildRequest.endTime > 0)">Submit </button> </div> http://git-wip-us.apache.org/repos/asf/kylin/blob/d829340c/webapp/app/partials/jobs/job_submit.html ---------------------------------------------------------------------- diff --git a/webapp/app/partials/jobs/job_submit.html b/webapp/app/partials/jobs/job_submit.html index 49790ba..16bca6b 100644 --- a/webapp/app/partials/jobs/job_submit.html +++ b/webapp/app/partials/jobs/job_submit.html @@ -52,7 +52,7 @@ <tr> <td>End Date (Exclude)</td> <td> - <input type="text" datepicker-popup="yyyy-MM-dd" class="input-sm" style="width: 98%" + <input type="text" datepicker-popup="yyyy-MM-dd" class="input-sm" style="width: 98%" datepicker-timezone ng-model="jobBuildRequest.endTime" placeholder="Click to choose END date..." is-open="opened" /> </td> @@ -72,7 +72,7 @@ </div> </div> <div class="modal-footer"> - <button class="btn btn-success" ng-click="updateDate();rebuild(true)" ng-disabled="jobBuildRequest.endTime<=0">Submit</button> + <button class="btn btn-success" ng-click="rebuild()" ng-disabled="jobBuildRequest.endTime<=0">Submit</button> <button class="btn btn-primary" ng-click="cancel()">Close</button> </div> </script>