diff --git a/list.html b/list.html index 7904b903324d53c6180fd920dda49cee5d6d809e..0595a55b6420f635cb6dfe7645176f08e896ac18 100644 --- a/list.html +++ b/list.html @@ -11,7 +11,17 @@ require(['vs/base/browser/ui/list/listTest'], function (test) { test.setupList(document.getElementById('list')); - document.getElementById('list-add').onclick = test.addPersonToList; + document.getElementById('list-add').onclick = function () { + test.addPersonToList( + document.getElementById('list-name').value, + document.getElementById('list-index').value + ); + }; + document.getElementById('list-remove').onclick = function () { + test.removePersonFromList( + document.getElementById('list-index').value + ); + }; document.getElementById('list-addmany').onclick = test.addManyPeopleToList; document.getElementById('list-addmanyreal').onclick = test.addManyRealPeopleToList; document.getElementById('list-addmanyboring').onclick = test.addManyBoringPeopleToList; @@ -34,7 +44,10 @@
+ + + diff --git a/src/vs/base/browser/ui/list/listTest.ts b/src/vs/base/browser/ui/list/listTest.ts index a170bf64aea99b79861e9151d9dba8d652511c15..76e2e5693f0dc12536be1b6b1a0274740907e109 100644 --- a/src/vs/base/browser/ui/list/listTest.ts +++ b/src/vs/base/browser/ui/list/listTest.ts @@ -70,10 +70,25 @@ export function setupList(container: HTMLElement) { list = new List(container, new Delegate(), { person: renderer }); } -export function addPersonToList() { - const person = generatePerson(); +export function addPersonToList(name, index) { + const person = name + ? { name, height: 24 } + : { + name: new Array(16).join().replace(/(.|$)/g, function(){return ((Math.random()*36)|0).toString(36);}), + height: 24 + }; + + index = Number(index); + index = index === NaN ? list.length : Math.min(index, list.length); - list.splice(list.length, 0, person); + list.splice(index, 0, person); +} + +export function removePersonFromList(index) { + index = Number(index); + index = index === NaN ? list.length : Math.min(index, list.length - 1); + + list.splice(index, 1); } export function addManyPeopleToList() { @@ -129,7 +144,7 @@ export function setupTree(container: HTMLElement) { } export function addPersonToTree() { - treeModel.push(generatePerson()); + treeModel.unshift(generatePerson()); tree.refresh(); } @@ -162,6 +177,6 @@ export function addManyBoringPeopleToTree() { people.push(generateBoringPerson()); } - treeModel.push(...people); + treeModel.unshift(...people); tree.refresh(); } \ No newline at end of file