[v10.1.x] Share link: Use panel relative time for direct link rendered image (#74518)

Share link: Use panel relative time for direct link rendered image (#74438)

* Use relative timerange for share link

* Fix time range

(cherry picked from commit a14af5e680)

Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
This commit is contained in:
grafana-delivery-bot[bot]
2023-09-07 12:49:59 +03:00
committed by GitHub
co-authored by Alex Khomenko
parent 69038b2ab0
commit ba089cb438
@@ -1,8 +1,10 @@
import { dateTime, locationUtil, PanelModel, TimeRange, urlUtil } from '@grafana/data';
import { dateTime, locationUtil, TimeRange, urlUtil, rangeUtil } from '@grafana/data';
import { config } from '@grafana/runtime';
import { createShortLink } from 'app/core/utils/shortLinks';
import { getTimeSrv } from 'app/features/dashboard/services/TimeSrv';
import { PanelModel } from '../../state';
export interface BuildParamsArgs {
useCurrentTimeRange: boolean;
selectedTheme?: string;
@@ -21,9 +23,17 @@ export function buildParams({
orgId = config.bootData.user.orgId,
}: BuildParamsArgs): URLSearchParams {
const searchParams = new URLSearchParams(search);
const relative = panel?.timeFrom;
searchParams.set('from', String(range.from.valueOf()));
searchParams.set('to', String(range.to.valueOf()));
// Use panel's relative time if it's set
if (relative) {
const { from, to } = rangeUtil.describeTextRange(relative);
searchParams.set('from', from);
searchParams.set('to', to);
} else {
searchParams.set('from', String(range.from.valueOf()));
searchParams.set('to', String(range.to.valueOf()));
}
searchParams.set('orgId', String(orgId));
if (!useCurrentTimeRange) {