From bf1a0837af29c4eb50697235eb7afbce937acc1d Mon Sep 17 00:00:00 2001 From: Victor Marin <36818606+mdvictor@users.noreply.github.com> Date: Tue, 21 Jan 2025 09:37:40 +0200 Subject: [PATCH] DashboardScenes: Fix issue where relative time does not pass properly (#99282) fix issue where relative time does not pass properly --- .../dashboard-scene/scene/PanelTimeRange.test.tsx | 13 +++++++++++++ .../dashboard-scene/scene/PanelTimeRange.tsx | 9 +++++++++ 2 files changed, 22 insertions(+) diff --git a/public/app/features/dashboard-scene/scene/PanelTimeRange.test.tsx b/public/app/features/dashboard-scene/scene/PanelTimeRange.test.tsx index 1f8c08cdff0..f4172d626e0 100644 --- a/public/app/features/dashboard-scene/scene/PanelTimeRange.test.tsx +++ b/public/app/features/dashboard-scene/scene/PanelTimeRange.test.tsx @@ -84,6 +84,19 @@ describe('PanelTimeRange', () => { expect(panelTime.state.timeInfo).toBe('Last 15 seconds timeshift -25s'); }); + + it('should update panelTimeRange from/to based on scene timeRange on activate', () => { + const panelTime = new PanelTimeRange({}); + const panel = new SceneCanvasText({ text: 'Hello', $timeRange: panelTime }); + const scene = new SceneFlexLayout({ + $timeRange: new SceneTimeRange({ from: 'now-12h', to: 'now-2h' }), + children: [new SceneFlexItem({ body: panel })], + }); + activateFullSceneTree(scene); + + expect(panelTime.state.from).toBe('now-12h'); + expect(panelTime.state.to).toBe('now-2h'); + }); }); function buildAndActivateSceneFor(panelTime: PanelTimeRange) { diff --git a/public/app/features/dashboard-scene/scene/PanelTimeRange.tsx b/public/app/features/dashboard-scene/scene/PanelTimeRange.tsx index f6e5287c93e..d1f74707658 100644 --- a/public/app/features/dashboard-scene/scene/PanelTimeRange.tsx +++ b/public/app/features/dashboard-scene/scene/PanelTimeRange.tsx @@ -51,6 +51,15 @@ export class PanelTimeRange extends SceneTimeRangeTransformerBase