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

* Fix row crash when removing a panel from it

* fix tests

* fix tests
This commit is contained in:
Victor Marin 2024-03-28 16:45:33 +02:00 committed by GitHub
parent 697a18737d
commit 30c9307539
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -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({

View File

@ -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);
}