From af073dad46602ee60aa0cbe82f26f7d8ca4b959d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 7 Aug 2014 07:20:56 +0200 Subject: [PATCH 1/3] Fix for auto refresh not being started after loading dashboard, Fixes #655 --- CHANGELOG.md | 5 +++++ src/app/controllers/dash.js | 5 +++++ src/app/services/dashboard/dashboardModel.js | 1 + 3 files changed, 11 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dd273541f7..0fcda5b77ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +# 1.7.0 (unreleased) + +**Fixes** +- [Issue #655](https://github.com/grafana/grafana/issues/655). General: Auto refresh not initiated / started after dashboard loading + # 1.7.0-rc1 (2014-08-05) **New features or improvements** diff --git a/src/app/controllers/dash.js b/src/app/controllers/dash.js index 11bd9c66cf0..d8cf64a0ca2 100644 --- a/src/app/controllers/dash.js +++ b/src/app/controllers/dash.js @@ -41,6 +41,11 @@ function (angular, $, config, _) { window.document.title = 'Grafana - ' + $scope.dashboard.title; + // start auto refresh + if($scope.dashboard.refresh) { + $scope.dashboard.set_interval($scope.dashboard.refresh); + } + dashboardKeybindings.shortcuts($scope); $scope.emitAppEvent("dashboard-loaded", $scope.dashboard); diff --git a/src/app/services/dashboard/dashboardModel.js b/src/app/services/dashboard/dashboardModel.js index ecb5af07494..13642984526 100644 --- a/src/app/services/dashboard/dashboardModel.js +++ b/src/app/services/dashboard/dashboardModel.js @@ -28,6 +28,7 @@ function (angular, $, kbn, _) { this.nav = data.nav || []; this.time = data.time || { from: 'now-6h', to: 'now' }; this.templating = data.templating || { list: [] }; + this.refresh = data.refresh; if (this.nav.length === 0) { this.nav.push({ type: 'timepicker' }); From e7086cf6df01b985bc46e194e63854692f08e298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 7 Aug 2014 07:58:14 +0200 Subject: [PATCH 2/3] Timepicker: Fix for setting custom To date with low refresh interval, Fixes #652 --- CHANGELOG.md | 1 + src/app/panels/timepicker/custom.html | 6 +++--- src/app/panels/timepicker/module.js | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0fcda5b77ba..c25d93f18d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ **Fixes** - [Issue #655](https://github.com/grafana/grafana/issues/655). General: Auto refresh not initiated / started after dashboard loading +- [Issue #652](https://github.com/grafana/grafana/issues/652). Timepicker: Entering custom date range impossible when refresh is low (now is constantly reset) # 1.7.0-rc1 (2014-08-05) diff --git a/src/app/panels/timepicker/custom.html b/src/app/panels/timepicker/custom.html index 474d1ce8f8e..0784cf987e0 100644 --- a/src/app/panels/timepicker/custom.html +++ b/src/app/panels/timepicker/custom.html @@ -49,17 +49,17 @@
- +
-
+
@ : : .
-   Right Now +   Right Now
diff --git a/src/app/panels/timepicker/module.js b/src/app/panels/timepicker/module.js index 614c3000690..da9f91a0e66 100644 --- a/src/app/panels/timepicker/module.js +++ b/src/app/panels/timepicker/module.js @@ -78,6 +78,7 @@ function (angular, app, _, moment, kbn) { // Assume the form is valid since we're setting it to something valid $scope.input.$setValidity("dummy", true); $scope.temptime = cloneTime($scope.time); + $scope.tempnow = $scope.panel.now; // Date picker needs the date to be at the start of the day $scope.temptime.from.date.setHours(1,0,0,0); @@ -129,7 +130,7 @@ function (angular, app, _, moment, kbn) { // Create filter object var _filter = _.clone(time); - if($scope.panel.now) { + if($scope.tempnow) { _filter.to = "now"; } From 965c1f0353b3f035618b49ded77243eb5c562c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torkel=20=C3=96degaard?= Date: Thu, 7 Aug 2014 09:00:52 +0200 Subject: [PATCH 3/3] Chart: Possible fix for stuck tooltip (annotation or time series point hover tooltip would not disappear), Fixes #450 --- CHANGELOG.md | 1 + src/app/components/extend-jquery.js | 5 ++--- src/app/directives/grafanaGraph.js | 9 +++------ src/app/services/dashboard/dashboardKeyBindings.js | 6 ++++++ src/vendor/jquery/jquery.flot.events.js | 2 +- 5 files changed, 13 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c25d93f18d2..257564d41a1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ **Fixes** - [Issue #655](https://github.com/grafana/grafana/issues/655). General: Auto refresh not initiated / started after dashboard loading - [Issue #652](https://github.com/grafana/grafana/issues/652). Timepicker: Entering custom date range impossible when refresh is low (now is constantly reset) +- [Issue #450](https://github.com/grafana/grafana/issues/450). Graph: Tooltip does not disappear sometimes and would get stuck # 1.7.0-rc1 (2014-08-05) diff --git a/src/app/components/extend-jquery.js b/src/app/components/extend-jquery.js index 00fe4666d6f..ce5c8afb1a9 100644 --- a/src/app/components/extend-jquery.js +++ b/src/app/components/extend-jquery.js @@ -19,9 +19,8 @@ function ($) { $tooltip.addClass('grafana-tooltip'); - if (!$.contains(document.body, $tooltip[0])) { - $tooltip.appendTo(document.body); - } + $("#tooltip").remove(); + $tooltip.appendTo(document.body); width = $tooltip.outerWidth(true); height = $tooltip.outerHeight(true); diff --git a/src/app/directives/grafanaGraph.js b/src/app/directives/grafanaGraph.js index 5744f3334c0..9ffa55d2254 100755 --- a/src/app/directives/grafanaGraph.js +++ b/src/app/directives/grafanaGraph.js @@ -327,7 +327,7 @@ function (angular, $, kbn, moment, _) { return "%H:%M"; } - var $tooltip = $('
'); + var $tooltip = $('
'); elem.bind("plothover", function (event, pos, item) { var group, value, timestamp, seriesInfo, format; @@ -357,11 +357,8 @@ function (angular, $, kbn, moment, _) { timestamp = dashboard.timezone === 'browser' ? moment(item.datapoint[0]).format('YYYY-MM-DD HH:mm:ss') : moment.utc(item.datapoint[0]).format('YYYY-MM-DD HH:mm:ss'); - $tooltip - .html( - group + value + " @ " + timestamp - ) - .place_tt(pos.pageX, pos.pageY); + + $tooltip.html(group + value + " @ " + timestamp).place_tt(pos.pageX, pos.pageY); } else { $tooltip.detach(); } diff --git a/src/app/services/dashboard/dashboardKeyBindings.js b/src/app/services/dashboard/dashboardKeyBindings.js index 8db1723671a..304e10ea5d3 100644 --- a/src/app/services/dashboard/dashboardKeyBindings.js +++ b/src/app/services/dashboard/dashboardKeyBindings.js @@ -61,6 +61,12 @@ function(angular, $) { if (popups.length > 0) { return; } + // close modals + var modalData = $(".modal").data(); + if (modalData && modalData.$scope && modalData.$scope.dismiss) { + modalData.$scope.dismiss(); + } + scope.emitAppEvent('panel-fullscreen-exit'); }, { inputDisabled: true }); }; diff --git a/src/vendor/jquery/jquery.flot.events.js b/src/vendor/jquery/jquery.flot.events.js index c9ed3359dc0..4924b16d03b 100644 --- a/src/vendor/jquery/jquery.flot.events.js +++ b/src/vendor/jquery/jquery.flot.events.js @@ -611,4 +611,4 @@ if (ao.min < bo.min) return -1; return 0; }; -})(jQuery); \ No newline at end of file +})(jQuery);