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 &ndash;&gt;-->
-                    <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>

Reply via email to