list perf: limit list to 10 nodes

This improves performance. A long list is not really useful anyway; rather
let the user filter/sort it to display interesting nodes only.
This commit is contained in:
Oliver Gerlich 2018-07-16 22:59:13 +02:00
parent 224e7e0c20
commit d999559fa5
1 changed files with 12 additions and 1 deletions

View File

@ -116,6 +116,8 @@ export class ListView extends View {
cell11.innerHTML = 'Option'; cell11.innerHTML = 'Option';
table.classList.add('nodes'); table.classList.add('nodes');
this.footerNote = domlib.newAt(this.el, 'span');
} }
// eslint-disable-next-line id-length // eslint-disable-next-line id-length
@ -434,11 +436,20 @@ export class ListView extends View {
nodes = nodes.reverse(); nodes = nodes.reverse();
} }
const numDisplayedNodes = Math.min(10, nodes.length);
var fragment = document.createDocumentFragment(); var fragment = document.createDocumentFragment();
for (let i = 0; i < nodes.length; i += 1) { for (let i = 0; i < numDisplayedNodes; i += 1) {
const row = this.renderRow(nodes[i]); const row = this.renderRow(nodes[i]);
fragment.appendChild(row); fragment.appendChild(row);
} }
this.tbody.appendChild(fragment); this.tbody.appendChild(fragment);
if (numDisplayedNodes < nodes.length) {
this.footerNote.textContent = "" + (nodes.length - numDisplayedNodes) + " further nodes hidden.";
}
else {
this.footerNote.textContent = "";
}
} }
} }