Prevent to load more archived notifications when reached end

This commit is contained in:
ClemDee 2019-07-02 14:35:34 +02:00
parent fc9414b094
commit 6961509f76
2 changed files with 13 additions and 5 deletions

View file

@ -190,7 +190,8 @@ define([
if (data.txid !== txid) { return; }
if (data.complete) {
onHistory = function () {};
cb(null, messages);
var end = messages.length < count;
cb(null, messages, end);
historyState = false;
return;
}
@ -207,12 +208,13 @@ define([
};
};
mailbox.getNotificationsHistory = function (type, count, lastKnownHash, cb) {
mailbox.getMoreHistory(type, count, lastKnownHash, function (err, messages) {
mailbox.getMoreHistory(type, count, lastKnownHash, function (err, messages, end) {
if (!Array.isArray(messages)) { return void cb(err); }
messages.forEach(function (data) {
data.content.archived = true;
Notifications.add(Common, data);
});
cb(err, messages);
cb(err, messages, end);
});
};

View file

@ -108,14 +108,20 @@ define([
$(dismissAll).remove();
loadmore = h("div.cp-app-notification-loadmore.cp-clickable", Messages.loadMore || "Load more ...");
$(loadmore).click(function () {
common.mailbox.getNotificationsHistory('notifications', 20, lastKnownHash, function (err, messages) {
common.mailbox.getNotificationsHistory('notifications', 10, lastKnownHash, function (err, messages, end) {
if (!Array.isArray(messages)) { return; }
// display archived notifs from most recent to oldest
for (var i = messages.length - 1 ; i >= 0 ; i--) {
var data = messages[i];
data.content.archived = true;
addArchivedNotification(data);
}
lastKnownHash = messages[0].content.hash;
if (end) {
$(loadmore).hide();
}
else {
lastKnownHash = messages[0].content.hash;
}
});
});
notifsList.before(loadmore);