mirror of
https://github.com/grafana/grafana.git
synced 2025-08-02 04:31:36 +08:00
TimeSrv: Don't modify refresh interval when editing panel (#51718)
This commit is contained in:
@ -4532,8 +4532,7 @@ exports[`better eslint`] = {
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "2"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "3"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "4"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "5"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "6"]
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "5"]
|
||||
],
|
||||
"public/app/features/dashboard/state/DashboardMigrator.test.ts:5381": [
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
|
||||
|
@ -253,24 +253,18 @@ describe('timeSrv', () => {
|
||||
});
|
||||
|
||||
describe('pauseAutoRefresh', () => {
|
||||
it('should set refresh to empty value', () => {
|
||||
it('should set autoRefreshPaused to true', () => {
|
||||
_dashboard.refresh = '10s';
|
||||
timeSrv.pauseAutoRefresh();
|
||||
expect(_dashboard.refresh).toBe('');
|
||||
});
|
||||
|
||||
it('should set previousAutoRefresh value', () => {
|
||||
_dashboard.refresh = '10s';
|
||||
timeSrv.pauseAutoRefresh();
|
||||
expect(timeSrv.previousAutoRefresh).toBe('10s');
|
||||
expect(timeSrv.autoRefreshPaused).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('resumeAutoRefresh', () => {
|
||||
it('should set refresh to empty value', () => {
|
||||
timeSrv.previousAutoRefresh = '10s';
|
||||
timeSrv.autoRefreshPaused = true;
|
||||
timeSrv.resumeAutoRefresh();
|
||||
expect(_dashboard.refresh).toBe('10s');
|
||||
expect(timeSrv.autoRefreshPaused).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
|
@ -24,7 +24,7 @@ export class TimeSrv {
|
||||
time: any;
|
||||
refreshTimer: any;
|
||||
refresh: any;
|
||||
previousAutoRefresh: any;
|
||||
autoRefreshPaused = false;
|
||||
oldRefresh: string | null | undefined;
|
||||
timeModel?: TimeModel;
|
||||
timeAtLoad: any;
|
||||
@ -232,7 +232,7 @@ export class TimeSrv {
|
||||
|
||||
this.refreshTimer = setTimeout(() => {
|
||||
this.startNextRefreshTimer(intervalMs);
|
||||
this.refreshTimeModel();
|
||||
!this.autoRefreshPaused && this.refreshTimeModel();
|
||||
}, intervalMs);
|
||||
|
||||
const refresh = this.contextSrv.getValidInterval(interval);
|
||||
@ -250,7 +250,7 @@ export class TimeSrv {
|
||||
this.refreshTimer = setTimeout(() => {
|
||||
this.startNextRefreshTimer(afterMs);
|
||||
if (this.contextSrv.isGrafanaVisible()) {
|
||||
this.refreshTimeModel();
|
||||
!this.autoRefreshPaused && this.refreshTimeModel();
|
||||
} else {
|
||||
this.autoRefreshBlocked = true;
|
||||
}
|
||||
@ -264,13 +264,13 @@ export class TimeSrv {
|
||||
// store timeModel refresh value and pause auto-refresh in some places
|
||||
// i.e panel edit
|
||||
pauseAutoRefresh() {
|
||||
this.previousAutoRefresh = this.timeModel?.refresh;
|
||||
this.setAutoRefresh('');
|
||||
this.autoRefreshPaused = true;
|
||||
}
|
||||
|
||||
// resume auto-refresh based on old dashboard refresh property
|
||||
resumeAutoRefresh() {
|
||||
this.setAutoRefresh(this.previousAutoRefresh);
|
||||
this.autoRefreshPaused = false;
|
||||
this.refreshTimeModel();
|
||||
}
|
||||
|
||||
setTime(time: RawTimeRange, updateUrl = true) {
|
||||
|
@ -976,7 +976,7 @@ describe('exitViewPanel', () => {
|
||||
});
|
||||
|
||||
describe('exitPanelEditor', () => {
|
||||
function getTestContext(setPreviousAutoRefresh = false) {
|
||||
function getTestContext(pauseAutoRefresh = false) {
|
||||
const panel: any = { destroy: jest.fn() };
|
||||
const dashboard = new DashboardModel({});
|
||||
const timeSrvMock = {
|
||||
@ -986,8 +986,8 @@ describe('exitPanelEditor', () => {
|
||||
} as unknown as TimeSrv;
|
||||
dashboard.startRefresh = jest.fn();
|
||||
dashboard.panelInEdit = panel;
|
||||
if (setPreviousAutoRefresh) {
|
||||
timeSrvMock.previousAutoRefresh = '5s';
|
||||
if (pauseAutoRefresh) {
|
||||
timeSrvMock.autoRefreshPaused = true;
|
||||
}
|
||||
setTimeSrv(timeSrvMock);
|
||||
return { dashboard, panel, timeSrvMock };
|
||||
|
Reference in New Issue
Block a user