diff --git a/src/vs/base/browser/ui/grid/gridview.ts b/src/vs/base/browser/ui/grid/gridview.ts index 350881bd8ca76a88c940758f5f4e6ce655500807..622a2f609b5520739406c92c9bbbf13d96a14c77 100644 --- a/src/vs/base/browser/ui/grid/gridview.ts +++ b/src/vs/base/browser/ui/grid/gridview.ts @@ -233,6 +233,7 @@ export class GridView implements IGrid, IDisposable { const newParent = new BranchNode(parent.orientation); grandParent.addChild(newParent, 20, parentIndex); + newParent.addChild(parent, 20, 0); newParent.addChild(node, size, index); } } diff --git a/src/vs/base/test/browser/ui/grid/gridview.test.ts b/src/vs/base/test/browser/ui/grid/gridview.test.ts index 2dae8d9d2ea5a79cc6e3371e236f08754c0a1dda..79c786d0a143f87bd32bee5b232cae70e97760cc 100644 --- a/src/vs/base/test/browser/ui/grid/gridview.test.ts +++ b/src/vs/base/test/browser/ui/grid/gridview.test.ts @@ -107,4 +107,24 @@ suite('GridView', function () { gridview.dispose(); }); + + test('gridview addView nested', function () { + const gridview = new GridView(container); + + const views = [ + new TestView(20, 20), + [ + new TestView(20, 20), + new TestView(20, 20) + ] + ]; + + gridview.addView(views[0] as IView, 200, [0]); + gridview.addView(views[1][0] as IView, 200, [1]); + gridview.addView(views[1][1] as IView, 200, [1, 1]); + + assert.deepEqual(nodesToArrays(gridview.getViews()), views); + + gridview.dispose(); + }); }); \ No newline at end of file