DashboardScenes: Fix issue where relative time does not pass properly (#99282)
fix issue where relative time does not pass properly
This commit is contained in:
@@ -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) {
|
||||
|
||||
@@ -51,6 +51,15 @@ export class PanelTimeRange extends SceneTimeRangeTransformerBase<PanelTimeRange
|
||||
}
|
||||
})
|
||||
);
|
||||
|
||||
const { timeRange } = this.getTimeOverride(this.getAncestorTimeRange().state.value);
|
||||
|
||||
// set initial values on activate
|
||||
this.setState({
|
||||
value: timeRange,
|
||||
from: timeRange.raw.from.toString(),
|
||||
to: timeRange.raw.to.toString(),
|
||||
});
|
||||
}
|
||||
protected ancestorTimeRangeChanged(timeRange: SceneTimeRangeState): void {
|
||||
const overrideResult = this.getTimeOverride(timeRange.value);
|
||||
|
||||
Reference in New Issue
Block a user