mirror of
https://github.com/microsoft/vscode.git
synced 2025-12-27 13:40:25 +00:00
tree test: refilter on load
This commit is contained in:
@@ -52,30 +52,30 @@
|
||||
disposeTemplate() { }
|
||||
};
|
||||
|
||||
const tree = new Tree(container, delegate, [renderer], {
|
||||
filter: new class {
|
||||
constructor() {
|
||||
this.pattern = null;
|
||||
let timeout;
|
||||
filter.oninput = () => {
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(() => this.updatePattern(), 300);
|
||||
};
|
||||
}
|
||||
updatePattern() {
|
||||
if (!filter.value) {
|
||||
this.pattern = null;
|
||||
} else {
|
||||
this.pattern = new RegExp(filter.value, 'i');
|
||||
}
|
||||
|
||||
perf('refilter', () => tree.refilter());
|
||||
}
|
||||
filter(el) {
|
||||
return (this.pattern ? this.pattern.test(el) : true) ? Visibility.Visible : Visibility.Recurse;
|
||||
}
|
||||
const treeFilter = new class {
|
||||
constructor() {
|
||||
this.pattern = null;
|
||||
let timeout;
|
||||
filter.oninput = () => {
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(() => this.updatePattern(), 300);
|
||||
};
|
||||
}
|
||||
});
|
||||
updatePattern() {
|
||||
if (!filter.value) {
|
||||
this.pattern = null;
|
||||
} else {
|
||||
this.pattern = new RegExp(filter.value, 'i');
|
||||
}
|
||||
|
||||
perf('refilter', () => tree.refilter());
|
||||
}
|
||||
filter(el) {
|
||||
return (this.pattern ? this.pattern.test(el) : true) ? Visibility.Visible : Visibility.Recurse;
|
||||
}
|
||||
};
|
||||
|
||||
const tree = new Tree(container, delegate, [renderer], { filter: treeFilter });
|
||||
|
||||
function setModel(model) {
|
||||
performance.mark('before splice');
|
||||
@@ -108,6 +108,7 @@
|
||||
xhr.onreadystatechange = function () {
|
||||
if (this.readyState == 4 && this.status == 200) {
|
||||
perf('splice', () => tree.splice([0], 0, [JSON.parse(this.responseText)]));
|
||||
treeFilter.updatePattern();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ async function getTree(fsPath, level) {
|
||||
const element = path.basename(fsPath);
|
||||
const stat = await fs.stat(fsPath);
|
||||
|
||||
if (!stat.isDirectory() || element === '.git' || element === '.build' || level >= 5) {
|
||||
if (!stat.isDirectory() || element === '.git' || element === '.build' || level >= 2) {
|
||||
return { element };
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user