Scenes: Fix row crash when removing a panel from it (#85339)

* Fix row crash when removing a panel from it

* fix tests

* fix tests
pull/85373/head
Victor Marin 1 year ago committed by GitHub
parent 697a18737d
commit 30c9307539
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 3
      public/app/features/dashboard-scene/scene/DashboardScene.test.tsx
  2. 2
      public/app/features/dashboard-scene/scene/DashboardScene.tsx

@ -30,6 +30,7 @@ import { DashboardControls } from './DashboardControls';
import { DashboardGridItem } from './DashboardGridItem';
import { DashboardScene, DashboardSceneState } from './DashboardScene';
import { LibraryVizPanel } from './LibraryVizPanel';
import { RowActions } from './row-actions/RowActions';
jest.mock('../settings/version-history/HistorySrv');
jest.mock('../serialization/transformSaveModelToScene');
@ -535,6 +536,7 @@ describe('DashboardScene', () => {
const body = scene.state.body as SceneGridLayout;
const gridRow = body.state.children[2] as SceneGridRow;
expect(gridRow.state.children.length).toBe(1);
});
@ -888,6 +890,7 @@ function buildTestScene(overrides?: Partial<DashboardSceneState>) {
}),
new SceneGridRow({
key: 'panel-3',
actions: new RowActions({}),
children: [
new DashboardGridItem({
body: new VizPanel({

@ -661,7 +661,7 @@ export class DashboardScene extends SceneObjectBase<DashboardSceneState> {
}
if (row) {
row.forEachChild((child: SceneObject) => {
row.state.children.forEach((child: SceneObject) => {
if (child.state.key !== key) {
panels.push(child);
}

Loading…
Cancel
Save