Skip to content
This repository was archived by the owner on Oct 2, 2018. It is now read-only.

Commit 822b953

Browse files
committed
Improve doc list scrolling performance on FFOS
1 parent f176125 commit 822b953

1 file changed

Lines changed: 20 additions & 11 deletions

File tree

scripts/firetext.js

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -317,12 +317,8 @@ function initListeners() {
317317
event.target.classList.remove('active');
318318
}
319319
}
320-
welcomeMainArea.addEventListener(
321-
'scroll', throttle(updatePreviews, 300)
322-
);
323-
openDialogMainArea.addEventListener(
324-
'scroll', throttle(updatePreviews, 300)
325-
);
320+
welcomeMainArea.addEventListener('scroll', throttle(updatePreviews,300));
321+
openDialogMainArea.addEventListener('scroll', throttle(updatePreviews,300));
326322
welcomeDocsList.addEventListener(
327323
'contextmenu', function contextmenu(event) {
328324
event.preventDefault();
@@ -687,10 +683,7 @@ function updatePreviews() {
687683
}
688684
var scrollParent = welcomeMainArea.contains(item) ? welcomeMainArea : openDialogMainArea;
689685
if(item.offsetTop < item.offsetParent.offsetHeight + scrollParent.scrollTop &&
690-
item.offsetTop + item.offsetHeight > scrollParent.offsetTop + scrollParent.scrollTop) {
691-
// Show item
692-
item.classList.remove("hiddenPreview");
693-
686+
item.offsetTop + item.offsetHeight > scrollParent.offsetTop + scrollParent.scrollTop) {
694687
var directory = item.getAttribute('data-click-directory');
695688
var filename = item.getAttribute('data-click-filename');
696689
var filetype = item.getAttribute('data-click-filetype');
@@ -713,11 +706,27 @@ function updatePreviews() {
713706
} else if(gettingPreview[key] !== true) {
714707
setPreview(item.getElementsByClassName('fileItemDescription')[0], gettingPreview[key]);
715708
}
709+
}
710+
});
711+
}
712+
713+
function scrollDocList() {
714+
Array.prototype.forEach.call(document.getElementsByClassName('fileListItem'), function(item) {
715+
if(!item.offsetParent) {
716+
// We're in edit mode, item is hidden.
717+
return;
718+
}
719+
var scrollParent = welcomeMainArea.contains(item) ? welcomeMainArea : openDialogMainArea;
720+
if(item.offsetTop < item.offsetParent.offsetHeight + scrollParent.scrollTop &&
721+
item.offsetTop + item.offsetHeight > scrollParent.offsetTop + scrollParent.scrollTop) {
722+
// Show item
723+
item.classList.remove("hiddenPreview");
716724
} else {
717725
// Hide item
718726
item.classList.add("hiddenPreview");
719727
}
720-
})
728+
});
729+
721730
}
722731

723732
function buildDocListItems(DOCS, listElms, ctr) {

0 commit comments

Comments
 (0)