1234567891011121314151617181920212223242526272829303132333435 |
- import { applyFieldOverrides, ArrayDataFrame, getDefaultTimeRange, LoadingState, PanelData } from '@grafana/data';
- import { config } from 'app/core/config';
- import { SnapshotWorker } from '../../query/state/DashboardQueryRunner/SnapshotWorker';
- import { getProcessedDataFrames } from '../../query/state/runRequest';
- import { getTimeSrv } from '../services/TimeSrv';
- import { DashboardModel, PanelModel } from '../state';
- import { applyPanelTimeOverrides } from './panel';
- export function loadSnapshotData(panel: PanelModel, dashboard: DashboardModel): PanelData {
- const data = getProcessedDataFrames(panel.snapshotData);
- const worker = new SnapshotWorker();
- const options = { dashboard, range: getDefaultTimeRange() };
- const annotationEvents = worker.canWork(options) ? worker.getAnnotationsInSnapshot(dashboard, panel.id) : [];
- const annotations = [new ArrayDataFrame(annotationEvents)];
- const timeData = applyPanelTimeOverrides(panel, getTimeSrv().timeRange());
- return {
- timeRange: timeData.timeRange,
- state: LoadingState.Done,
- series: applyFieldOverrides({
- data,
- fieldConfig: {
- defaults: {},
- overrides: [],
- },
- replaceVariables: panel.replaceVariables,
- fieldConfigRegistry: panel.plugin!.fieldConfigRegistry,
- theme: config.theme2,
- timeZone: dashboard.getTimezone(),
- }),
- annotations,
- };
- }
|