Skip to content

Commit ee452e2

Browse files
TheRillJonclaude
andcommitted
fix: use relative time range expression in canvas "Go to Explore" URLs
Use the canvas dashboard's rill-time expression (e.g. "24h as of latest/h+1h") as the time range name instead of always using CUSTOM with absolute dates. Falls back to CUSTOM only when no named range is available (e.g. a custom date picker selection or a local chart filter with a custom range). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 77b1d77 commit ee452e2

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

web-common/src/features/canvas/components/BaseCanvasComponent.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,11 +169,13 @@ export abstract class BaseCanvasComponent<T = ComponentSpec> {
169169
this.parent.timeManager.state.comparisonRangeStore,
170170
this.parent.timeManager.state.comparisonIntervalStore,
171171
this.parent.timeManager.state.timeZoneStore,
172+
this.parent.timeManager.state.rangeStore,
172173
this.localTimeControls.interval,
173174
this.localTimeControls.comparisonIntervalStore,
174175
this.localTimeControls.showTimeComparisonStore,
175176
this.localTimeControls.grainStore,
176177
this.localTimeControls.comparisonRangeStore,
178+
this.localTimeControls.rangeStore,
177179
this.parent.filterManager.metricsViewFilters,
178180
this.parent.specStore,
179181
this.parent.timeManager.hasTimeSeriesMap,
@@ -187,11 +189,13 @@ export abstract class BaseCanvasComponent<T = ComponentSpec> {
187189
globalComparisonRange,
188190
globalComparisonInterval,
189191
timeZone,
192+
globalRange,
190193
localInterval,
191194
localComparisonInterval,
192195
localShowTimeComparison,
193196
localGrainStore,
194197
localComparisonRange,
198+
localRange,
195199
metricsViewFilters,
196200
canvasData,
197201
hasTimeSeriesMap,
@@ -215,7 +219,7 @@ export abstract class BaseCanvasComponent<T = ComponentSpec> {
215219
let timeRangeState: TimeRangeState | undefined = {
216220
selectedTimeRange: globalInterval
217221
? {
218-
name: TimeRangePreset.CUSTOM,
222+
name: globalRange ?? TimeRangePreset.CUSTOM,
219223
start: globalInterval.start.toJSDate(),
220224
end: globalInterval.end.toJSDate(),
221225
interval: globalGrainStore,
@@ -284,7 +288,7 @@ export abstract class BaseCanvasComponent<T = ComponentSpec> {
284288
const localTimeRangeState: TimeRangeState = {
285289
selectedTimeRange: localInterval
286290
? {
287-
name: TimeRangePreset.CUSTOM,
291+
name: localRange ?? TimeRangePreset.CUSTOM,
288292
start: localInterval.start.toJSDate(),
289293
end: localInterval.end.toJSDate(),
290294
interval: localGrainStore ?? globalGrainStore,

0 commit comments

Comments
 (0)