3
0
mirror of https://github.com/grafana/grafana.git synced 2025-02-25 18:55:37 -06:00

Fixed refresh setting for absolute time

This commit is contained in:
utkarshcmu 2015-11-29 03:12:48 -08:00
parent 0ff5ff5dbe
commit 712a420217
3 changed files with 16 additions and 4 deletions
public
app/features/dashboard
test/specs

View File

@ -90,10 +90,15 @@ define([
timer.cancel(this.refresh_timer); timer.cancel(this.refresh_timer);
}; };
this.setTime = function(time) { this.setTime = function(time, enableRefresh) {
_.extend(this.time, time); _.extend(this.time, time);
if (this.old_refresh && this.old_refresh !== this.dashboard.refresh) { // disable refresh if zoom in or zoom out
if (!enableRefresh && moment.isMoment(time.to)) {
this.old_refresh = this.dashboard.refresh || this.old_refresh;
this.setAutoRefresh(false);
}
else if (this.old_refresh && this.old_refresh !== this.dashboard.refresh) {
this.setAutoRefresh(this.old_refresh); this.setAutoRefresh(this.old_refresh);
this.old_refresh = null; this.old_refresh = null;
} }

View File

@ -115,7 +115,7 @@ export class TimePickerCtrl {
this.timeSrv.setAutoRefresh(this.refresh.value); this.timeSrv.setAutoRefresh(this.refresh.value);
} }
this.timeSrv.setTime(this.timeRaw); this.timeSrv.setTime(this.timeRaw, true);
this.$rootScope.appEvent('hide-dash-editor'); this.$rootScope.appEvent('hide-dash-editor');
} }

View File

@ -92,10 +92,17 @@ define([
expect(_dashboard.refresh).to.be('30s'); expect(_dashboard.refresh).to.be('30s');
}); });
it('should restore refresh for absolute time range', function() {
_dashboard.refresh = '30s';
ctx.service.setTime({from: '2011-01-01', to: '2015-01-01' });
expect(_dashboard.refresh).to.be('30s');
});
it('should restore refresh after relative time range is set', function() { it('should restore refresh after relative time range is set', function() {
_dashboard.refresh = '10s'; _dashboard.refresh = '10s';
ctx.service.setTime({from: moment([2011,1,1]), to: moment([2015,1,1])}); ctx.service.setTime({from: moment([2011,1,1]), to: moment([2015,1,1])});
expect(_dashboard.refresh).to.be('10s'); expect(_dashboard.refresh).to.be(false);
ctx.service.setTime({from: '2011-01-01', to: 'now' }); ctx.service.setTime({from: '2011-01-01', to: 'now' });
expect(_dashboard.refresh).to.be('10s'); expect(_dashboard.refresh).to.be('10s');
}); });