You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2015/05/05 14:19:43 UTC

ambari git commit: AMBARI-10929 Adjusting time range in zoomed-in graph widget does not work. (atkach)

Repository: ambari
Updated Branches:
  refs/heads/trunk c22791cbd -> 272095e04


AMBARI-10929 Adjusting time range in zoomed-in graph widget does not work. (atkach)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/272095e0
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/272095e0
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/272095e0

Branch: refs/heads/trunk
Commit: 272095e049537c78abbc7540d7e9cc2ab28da79f
Parents: c22791c
Author: Andrii Tkach <at...@hortonworks.com>
Authored: Tue May 5 15:00:44 2015 +0300
Committer: Andrii Tkach <at...@hortonworks.com>
Committed: Tue May 5 15:00:44 2015 +0300

----------------------------------------------------------------------
 .../app/mixins/common/widgets/widget_mixin.js   | 12 ++++++--
 .../views/common/widget/graph_widget_view.js    | 29 ++++++++++++++++----
 2 files changed, 32 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/272095e0/ambari-web/app/mixins/common/widgets/widget_mixin.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/common/widgets/widget_mixin.js b/ambari-web/app/mixins/common/widgets/widget_mixin.js
index 676be85..4bace6b 100644
--- a/ambari-web/app/mixins/common/widgets/widget_mixin.js
+++ b/ambari-web/app/mixins/common/widgets/widget_mixin.js
@@ -45,6 +45,11 @@ App.WidgetMixin = Ember.Mixin.create({
   CLONE_SUFFIX: '(Copy)',
 
   /**
+   * @type {number|null}
+   */
+  timeoutId: null,
+
+  /**
    * common metrics container
    * @type {Array}
    */
@@ -108,7 +113,7 @@ App.WidgetMixin = Ember.Mixin.create({
         });
       }
     }
-  },
+  }.observes('customTimeRange'),
 
   /**
    * get data formatted for request
@@ -332,9 +337,10 @@ App.WidgetMixin = Ember.Mixin.create({
     var self = this;
     this.set('isLoaded', true);
     this.drawWidget();
-    setTimeout(function () {
+    clearTimeout(this.get('timeoutId'));
+    this.set('timeoutId', setTimeout(function () {
       self.loadMetrics();
-    }, App.contentUpdateInterval);
+    }, App.contentUpdateInterval));
   },
 
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/272095e0/ambari-web/app/views/common/widget/graph_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/widget/graph_widget_view.js b/ambari-web/app/views/common/widget/graph_widget_view.js
index 9388f4c..a0a9e8e 100644
--- a/ambari-web/app/views/common/widget/graph_widget_view.js
+++ b/ambari-web/app/views/common/widget/graph_widget_view.js
@@ -28,18 +28,24 @@ App.GraphWidgetView = Em.View.extend(App.WidgetMixin, {
   metrics: [],
 
   /**
-   * 3600000 ms in 1 hour
+   * 3600 sec in 1 hour
    * @const
    */
-  TIME_FACTOR: 3600000,
+  TIME_FACTOR: 3600,
 
   /**
-   * value in ms
+   * custom time range, set when graph opened in popup
+   * @type {number|null}
+   */
+  customTimeRange: null,
+
+  /**
+   * value in seconds
    * @type {number}
    */
   timeRange: function () {
-    return parseInt(this.get('content.properties.time_range')) * this.get('TIME_FACTOR');
-  }.property('content.properties.time_range'),
+    return this.get('customTimeRange') || parseInt(this.get('content.properties.time_range')) * this.get('TIME_FACTOR');
+  }.property('content.properties.time_range', 'customTimeRange'),
 
   /**
    * value in ms
@@ -213,7 +219,7 @@ App.GraphWidgetView = Em.View.extend(App.WidgetMixin, {
    */
   addTimeProperties: function (metricPaths) {
     var toSeconds = Math.round(App.dateTime() / 1000);
-    var fromSeconds = toSeconds - (this.get('timeRange')/1000);
+    var fromSeconds = toSeconds - this.get('timeRange');
     var step = this.get('timeStep');
     var result = [];
 
@@ -234,6 +240,17 @@ App.GraphWidgetView = Em.View.extend(App.WidgetMixin, {
     inWidget: true,
 
     /**
+     * set custom time range for graph widget
+     */
+    setTimeRange: function () {
+      if (this.get('isPopup')) {
+        this.set('parentView.customTimeRange', this.get('timeUnitSeconds'));
+      } else {
+        this.set('parentView.customTimeRange', null);
+      }
+    }.observes('isPopup', 'timeUnitSeconds'),
+
+    /**
      * graph height
      * @type {number}
      */