[v11.3.x] Dashboard: Fixes issue with compatability of old DashboardModel.annotations (#97467)

Dashboard: Fixes issue with compatability of old DashboardModel.annotations (#97328)

* Dashboard: Fixes issue with compatability of old DashboardModel.annotations

* let's lint this thing

---------

Co-authored-by: Dominik Prokop <dominik.prokop@grafana.com>
(cherry picked from commit 53cdbd8a2d)

Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
pull/97520/head
grafana-delivery-bot[bot] 7 months ago committed by GitHub
parent 5db3aacd81
commit 61c930162f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 14
      public/app/features/dashboard-scene/utils/DashboardModelCompatibilityWrapper.test.ts
  2. 7
      public/app/features/dashboard-scene/utils/DashboardModelCompatibilityWrapper.ts

@ -1,18 +1,12 @@
import { TimeRangeUpdatedEvent } from '@grafana/runtime';
import {
behaviors,
SceneQueryRunner,
SceneTimeRange,
VizPanel,
SceneDataTransformer,
SceneDataLayerSet,
} from '@grafana/scenes';
import { behaviors, SceneQueryRunner, SceneTimeRange, VizPanel, SceneDataTransformer } from '@grafana/scenes';
import { DashboardCursorSync } from '@grafana/schema';
import { SHARED_DASHBOARD_QUERY } from 'app/plugins/datasource/dashboard';
import { AlertStatesDataLayer } from '../scene/AlertStatesDataLayer';
import { DashboardAnnotationsDataLayer } from '../scene/DashboardAnnotationsDataLayer';
import { DashboardControls } from '../scene/DashboardControls';
import { DashboardDataLayerSet } from '../scene/DashboardDataLayerSet';
import { DashboardScene } from '../scene/DashboardScene';
import { DefaultGridLayoutManager } from '../scene/layout-default/DefaultGridLayoutManager';
import { NEW_LINK } from '../settings/links/utils';
@ -150,8 +144,8 @@ function setup() {
weekStart: 'friday',
timeZone: 'America/New_York',
}),
$data: new SceneDataLayerSet({
layers: [
$data: new DashboardDataLayerSet({
annotationLayers: [
new DashboardAnnotationsDataLayer({
key: `annotations-test`,
query: {

@ -2,8 +2,9 @@ import { Subscription } from 'rxjs';
import { AnnotationQuery, DashboardCursorSync, dateTimeFormat, DateTimeInput, EventBusSrv } from '@grafana/data';
import { TimeRangeUpdatedEvent } from '@grafana/runtime';
import { behaviors, SceneDataLayerSet, sceneGraph, SceneObject, VizPanel } from '@grafana/scenes';
import { behaviors, sceneGraph, SceneObject, VizPanel } from '@grafana/scenes';
import { DashboardDataLayerSet } from '../scene/DashboardDataLayerSet';
import { DashboardScene } from '../scene/DashboardScene';
import { dataLayersToAnnotations } from '../serialization/dataLayersToAnnotations';
@ -104,8 +105,8 @@ export class DashboardModelCompatibilityWrapper {
public get annotations(): { list: AnnotationQuery[] } {
const annotations: { list: AnnotationQuery[] } = { list: [] };
if (this._scene.state.$data instanceof SceneDataLayerSet) {
annotations.list = dataLayersToAnnotations(this._scene.state.$data.state.layers);
if (this._scene.state.$data instanceof DashboardDataLayerSet) {
annotations.list = dataLayersToAnnotations(this._scene.state.$data.state.annotationLayers);
}
return annotations;

Loading…
Cancel
Save