From a44e45188c99b55d0bfe6560013b74bc677efe70 Mon Sep 17 00:00:00 2001 From: Joao Moreno Date: Tue, 2 Oct 2018 12:42:16 +0200 Subject: [PATCH] tree test: refilter on load --- test/tree/public/index.html | 41 +++++++++++++++++++------------------ test/tree/server.js | 2 +- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/test/tree/public/index.html b/test/tree/public/index.html index 5801da0b799..0082724dbb8 100644 --- a/test/tree/public/index.html +++ b/test/tree/public/index.html @@ -52,30 +52,30 @@ disposeTemplate() { } }; - const tree = new Tree(container, delegate, [renderer], { - filter: new class { - constructor() { + 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; - let timeout; - filter.oninput = () => { - clearTimeout(timeout); - timeout = setTimeout(() => this.updatePattern(), 300); - }; + } else { + this.pattern = new RegExp(filter.value, 'i'); } - 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; - } + 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(); } }; } diff --git a/test/tree/server.js b/test/tree/server.js index 80471feb2fa..f9a19a827f1 100644 --- a/test/tree/server.js +++ b/test/tree/server.js @@ -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 }; } -- GitLab