diff --git a/public/app/features/dashboard-scene/scene/layout-rows/RowsLayoutManager.tsx b/public/app/features/dashboard-scene/scene/layout-rows/RowsLayoutManager.tsx index 41977255db0..863ded45b63 100644 --- a/public/app/features/dashboard-scene/scene/layout-rows/RowsLayoutManager.tsx +++ b/public/app/features/dashboard-scene/scene/layout-rows/RowsLayoutManager.tsx @@ -213,7 +213,7 @@ export class RowsLayoutManager extends SceneObjectBase i if (layout instanceof TabsLayoutManager) { for (const tab of layout.state.tabs) { - rows.push(new RowItem({ layout: tab.state.layout, title: tab.state.title })); + rows.push(new RowItem({ layout: tab.state.layout.clone(), title: tab.state.title })); } } else if (layout instanceof DefaultGridLayoutManager) { const config: Array<{ diff --git a/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManager.tsx b/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManager.tsx index f4369290323..e8477e002b4 100644 --- a/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManager.tsx +++ b/public/app/features/dashboard-scene/scene/layout-tabs/TabsLayoutManager.tsx @@ -210,9 +210,12 @@ export class TabsLayoutManager extends SceneObjectBase i let tabs: TabItem[] = []; if (layout instanceof RowsLayoutManager) { - tabs = layout.state.rows.map((row) => new TabItem({ layout: row.state.layout.clone(), title: row.state.title })); + for (const row of layout.state.rows) { + tabs.push(new TabItem({ layout: row.state.layout.clone(), title: row.state.title })); + } } else { - tabs.push(new TabItem({ layout: layout.clone() })); + layout.clearParent(); + tabs.push(new TabItem({ layout: layout })); } return new TabsLayoutManager({ tabs });