From 31101d54a4f5b32b3e19cef1c6f1561601012da5 Mon Sep 17 00:00:00 2001 From: Dominik Prokop Date: Sun, 9 Feb 2020 19:19:44 +0100 Subject: [PATCH] Make zoom and time shift work after emmitter change (#22051) --- public/app/features/dashboard/services/TimeSrv.test.ts | 6 ++++++ public/app/features/dashboard/services/TimeSrv.ts | 10 ++++++---- .../features/panel/panellinks/specs/link_srv.test.ts | 5 +++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/public/app/features/dashboard/services/TimeSrv.test.ts b/public/app/features/dashboard/services/TimeSrv.test.ts index 2e1dacca53e..d9e5adfebaf 100644 --- a/public/app/features/dashboard/services/TimeSrv.test.ts +++ b/public/app/features/dashboard/services/TimeSrv.test.ts @@ -2,6 +2,12 @@ import { TimeSrv } from './TimeSrv'; import { ContextSrvStub } from 'test/specs/helpers'; import { isDateTime, dateTime } from '@grafana/data'; +jest.mock('app/core/core', () => ({ + appEvents: { + on: () => {}, + }, +})); + describe('timeSrv', () => { const rootScope = { $on: jest.fn(), diff --git a/public/app/features/dashboard/services/TimeSrv.ts b/public/app/features/dashboard/services/TimeSrv.ts index c4c4e385a9d..b178e98a53a 100644 --- a/public/app/features/dashboard/services/TimeSrv.ts +++ b/public/app/features/dashboard/services/TimeSrv.ts @@ -19,6 +19,8 @@ import { ContextSrv } from 'app/core/services/context_srv'; import { DashboardModel } from '../state/DashboardModel'; import { GrafanaRootScope } from 'app/routes/GrafanaCtrl'; import { getZoomedTimeRange, getShiftedTimeRange } from 'app/core/utils/timePicker'; +import { appEvents } from '../../../core/core'; +import { CoreEvents } from '../../../types'; export class TimeSrv { time: any; @@ -40,8 +42,8 @@ export class TimeSrv { // default time this.time = DefaultTimeRange.raw; - $rootScope.$on('zoom-out', this.zoomOut.bind(this)); - $rootScope.$on('shift-time', this.shiftTime.bind(this)); + appEvents.on(CoreEvents.zoomOut, this.zoomOut.bind(this)); + appEvents.on(CoreEvents.shiftTime, this.shiftTime.bind(this)); $rootScope.$on('$routeUpdate', this.routeUpdated.bind(this)); document.addEventListener('visibilitychange', () => { @@ -266,14 +268,14 @@ export class TimeSrv { }; } - zoomOut(e: any, factor: number) { + zoomOut(factor: number) { const range = this.timeRange(); const { from, to } = getZoomedTimeRange(range, factor); this.setTime({ from: toUtc(from), to: toUtc(to) }); } - shiftTime(e: any, direction: number) { + shiftTime(direction: number) { const range = this.timeRange(); const { from, to } = getShiftedTimeRange(direction, range); diff --git a/public/app/features/panel/panellinks/specs/link_srv.test.ts b/public/app/features/panel/panellinks/specs/link_srv.test.ts index 37274110779..5405f1bf47c 100644 --- a/public/app/features/panel/panellinks/specs/link_srv.test.ts +++ b/public/app/features/panel/panellinks/specs/link_srv.test.ts @@ -10,6 +10,11 @@ jest.mock('angular', () => { const AngularJSMock = require('test/mocks/angular'); return new AngularJSMock(); }); +jest.mock('app/core/core', () => ({ + appEvents: { + on: () => {}, + }, +})); const dataPointMock = { seriesName: 'A-series',