mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-09-20 07:35:55 +08:00
Added idea messagelist infinite scroll
This commit is contained in:
parent
bf6b30c971
commit
c2b4b1f238
|
@ -169,7 +169,7 @@ MessagelistUserStore.canAutoSelect = () =>
|
|||
* @param {boolean=} bDropPagePosition = false
|
||||
* @param {boolean=} bDropCurrentFolderCache = false
|
||||
*/
|
||||
MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCache = false) => {
|
||||
MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCache = false, bAppend = false) => {
|
||||
let iOffset = (MessagelistUserStore.page() - 1) * SettingsUserStore.messagesPerPage();
|
||||
|
||||
if (bDropCurrentFolderCache) {
|
||||
|
@ -264,7 +264,11 @@ MessagelistUserStore.reload = (bDropPagePosition = false, bDropCurrentFolderCach
|
|||
|
||||
disableAutoSelect(true);
|
||||
|
||||
MessagelistUserStore(collection);
|
||||
if (bAppend) {
|
||||
collection.forEach(item => MessagelistUserStore.push(item));
|
||||
} else {
|
||||
MessagelistUserStore(collection);
|
||||
}
|
||||
MessagelistUserStore.isIncomplete(false);
|
||||
|
||||
if (folder && (bCached || unreadCountChange || SettingsUserStore.useThreads())) {
|
||||
|
|
|
@ -254,10 +254,11 @@ export class MailMessageList extends AbstractViewRight {
|
|||
}
|
||||
});
|
||||
|
||||
/*
|
||||
MessagelistUserStore.endHash.subscribe((() =>
|
||||
this.selector.scrollToFocused()
|
||||
).throttle(50));
|
||||
|
||||
*/
|
||||
decorateKoCommands(this, {
|
||||
downloadCommand: canBeMovedHelper,
|
||||
forwardCommand: canBeMovedHelper,
|
||||
|
@ -535,6 +536,21 @@ export class MailMessageList extends AbstractViewRight {
|
|||
}
|
||||
});
|
||||
|
||||
b_content.addEventListener(
|
||||
'scroll',
|
||||
(() => {
|
||||
if (b_content.scrollTop >= (b_content.scrollTopMax || (b_content.scrollHeight - b_content.clientTop))) {
|
||||
// Load more messages in the MessageList
|
||||
let page = MessagelistUserStore.page();
|
||||
if (page < MessagelistUserStore.pageCount()) {
|
||||
MessagelistUserStore.page(1 + page);
|
||||
MessagelistUserStore.reload(false, false, true);
|
||||
}
|
||||
}
|
||||
}).debounce(1000),
|
||||
{passive:true}
|
||||
);
|
||||
|
||||
// initUploaderForAppend
|
||||
|
||||
if (Settings.app('allowAppendMessage')) {
|
||||
|
|
Loading…
Reference in a new issue