From 2c72fd0f07c0d712423c6c135d669839795d18c8 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Wed, 3 Oct 2018 08:25:41 +0200 Subject: [PATCH] tree om: setChildren --- .../base/browser/ui/tree/treeObjectModel.ts | 4 +-- .../browser/ui/tree/treeObjectModel.test.ts | 30 ++++++++----------- 2 files changed, 15 insertions(+), 19 deletions(-) diff --git a/src/vs/base/browser/ui/tree/treeObjectModel.ts b/src/vs/base/browser/ui/tree/treeObjectModel.ts index 46affafd041..f0b427450b4 100644 --- a/src/vs/base/browser/ui/tree/treeObjectModel.ts +++ b/src/vs/base/browser/ui/tree/treeObjectModel.ts @@ -20,7 +20,7 @@ export class TreeObjectModel, TFilterData = void> { this.model = new TreeModel(list, options); } - splice(element: T | null, start: number, deleteCount: number, toInsert?: ISequence>): Iterator> { + setChildren(element: T | null, children?: ISequence>): Iterator> { const location = this.getLocation(element); const insertedElements = new Set(); @@ -35,7 +35,7 @@ export class TreeObjectModel, TFilterData = void> { } }; - return this.model.splice([...location, start], deleteCount, toInsert, onDidCreateNode, onDidDeleteNode); + return this.model.splice([...location, 0], Number.MAX_VALUE, children, onDidCreateNode, onDidDeleteNode); } getListIndex(element: T): number { diff --git a/src/vs/base/test/browser/ui/tree/treeObjectModel.test.ts b/src/vs/base/test/browser/ui/tree/treeObjectModel.test.ts index b2ed750edcf..fc26e930268 100644 --- a/src/vs/base/test/browser/ui/tree/treeObjectModel.test.ts +++ b/src/vs/base/test/browser/ui/tree/treeObjectModel.test.ts @@ -35,7 +35,7 @@ suite('TreeObjectModel', function () { const list = [] as ITreeNode[]; const model = new TreeObjectModel(toSpliceable(list)); - model.splice(null, 0, 0, Iterator.fromArray([ + model.setChildren(null, Iterator.fromArray([ { element: 0 }, { element: 1 }, { element: 2 } @@ -44,25 +44,25 @@ suite('TreeObjectModel', function () { assert.deepEqual(toArray(list), [0, 1, 2]); assert.equal(model.size, 3); - model.splice(null, 3, 0, Iterator.fromArray([ + model.setChildren(null, Iterator.fromArray([ { element: 3 }, { element: 4 }, { element: 5 }, ])); - assert.deepEqual(toArray(list), [0, 1, 2, 3, 4, 5]); - assert.equal(model.size, 6); + assert.deepEqual(toArray(list), [3, 4, 5]); + assert.equal(model.size, 3); - model.splice(null, 2, 2); - assert.deepEqual(toArray(list), [0, 1, 4, 5]); - assert.equal(model.size, 4); + model.setChildren(null); + assert.deepEqual(toArray(list), []); + assert.equal(model.size, 0); }); test('nested', () => { const list = [] as ITreeNode[]; const model = new TreeObjectModel(toSpliceable(list)); - model.splice(null, 0, 0, Iterator.fromArray([ + model.setChildren(null, Iterator.fromArray([ { element: 0, children: Iterator.fromArray([ { element: 10 }, @@ -77,7 +77,7 @@ suite('TreeObjectModel', function () { assert.deepEqual(toArray(list), [0, 10, 11, 12, 1, 2]); assert.equal(model.size, 6); - model.splice(12, 0, 0, Iterator.fromArray([ + model.setChildren(12, Iterator.fromArray([ { element: 120 }, { element: 121 } ])); @@ -85,15 +85,11 @@ suite('TreeObjectModel', function () { assert.deepEqual(toArray(list), [0, 10, 11, 12, 120, 121, 1, 2]); assert.equal(model.size, 8); - model.splice(0, 1, 1); - assert.deepEqual(toArray(list), [0, 10, 12, 120, 121, 1, 2]); - assert.equal(model.size, 7); - - model.splice(null, 0, 1); - assert.deepEqual(toArray(list), [1, 2]); - assert.equal(model.size, 2); + model.setChildren(0); + assert.deepEqual(toArray(list), [0, 1, 2]); + assert.equal(model.size, 3); - model.splice(null, 0, 2); + model.setChildren(null); assert.deepEqual(toArray(list), []); assert.equal(model.size, 0); }); -- GitLab