From a7fc5daee1ea2ffa2412fbe26154556ef433dfda Mon Sep 17 00:00:00 2001 From: Victor Marin <36818606+mdvictor@users.noreply.github.com> Date: Tue, 21 Jan 2025 10:18:40 +0200 Subject: [PATCH] [v11.3.x] DashboardScenes: Fix issue where relative time does not pass properly (#99299) DashboardScenes: Fix issue where relative time does not pass properly (#99282) fix issue where relative time does not pass properly (cherry picked from commit bf1a0837af29c4eb50697235eb7afbce937acc1d) --- .../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 28fae4414ca..d9a4de76fbb 100644 --- a/public/app/features/dashboard-scene/scene/PanelTimeRange.test.tsx +++ b/public/app/features/dashboard-scene/scene/PanelTimeRange.test.tsx @@ -47,6 +47,19 @@ describe('PanelTimeRange', () => { expect(panelTime.state.value.from.toISOString()).toBe('2019-02-11T15:00:00.000Z'); expect(panelTime.state.timeInfo).toBe('Last 2 hours timeshift -2h'); }); + + 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 372327eb58d..d158b03c274 100644 --- a/public/app/features/dashboard-scene/scene/PanelTimeRange.tsx +++ b/public/app/features/dashboard-scene/scene/PanelTimeRange.tsx @@ -43,6 +43,15 @@ export class PanelTimeRange extends SceneTimeRangeTransformerBase