提交 2c72fd0f 编写于 作者: J Joao Moreno

tree om: setChildren

上级 f971baa7
......@@ -20,7 +20,7 @@ export class TreeObjectModel<T extends NonNullable<any>, TFilterData = void> {
this.model = new TreeModel(list, options);
}
splice(element: T | null, start: number, deleteCount: number, toInsert?: ISequence<ITreeElement<T>>): Iterator<ITreeElement<T>> {
setChildren(element: T | null, children?: ISequence<ITreeElement<T>>): Iterator<ITreeElement<T>> {
const location = this.getLocation(element);
const insertedElements = new Set<T>();
......@@ -35,7 +35,7 @@ export class TreeObjectModel<T extends NonNullable<any>, 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 {
......
......@@ -35,7 +35,7 @@ suite('TreeObjectModel', function () {
const list = [] as ITreeNode<number>[];
const model = new TreeObjectModel<number>(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<number>[];
const model = new TreeObjectModel<number>(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);
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册