v1.18.x
Barış Soner Uşaklı 7 years ago
parent 7ade82a9eb
commit 667630ff5d

@ -38,15 +38,7 @@ define('notifications', ['sounds', 'translator', 'components', 'navigator', 'ben
return; return;
} }
var nid = notifEl.attr('data-nid'); var nid = notifEl.attr('data-nid');
socket.emit('notifications.markRead', nid, function (err) { markNotification(nid, true);
if (err) {
return app.alertError(err.message);
}
if (unreadNotifs[nid]) {
delete unreadNotifs[nid];
}
});
}); });
notifContainer.on('click', '.mark-all-read', Notifications.markAllRead); notifContainer.on('click', '.mark-all-read', Notifications.markAllRead);
@ -55,17 +47,8 @@ define('notifications', ['sounds', 'translator', 'components', 'navigator', 'ben
var liEl = $(this).parent(); var liEl = $(this).parent();
var unread = liEl.hasClass('unread'); var unread = liEl.hasClass('unread');
var nid = liEl.attr('data-nid'); var nid = liEl.attr('data-nid');
markNotification(nid, unread, function () {
socket.emit('notifications.mark' + (unread ? 'Read' : 'Unread'), nid, function (err) {
if (err) {
return app.alertError(err.message);
}
liEl.toggleClass('unread'); liEl.toggleClass('unread');
if (unread && unreadNotifs[nid]) {
delete unreadNotifs[nid];
}
}); });
return false; return false;
}); });
@ -82,6 +65,7 @@ define('notifications', ['sounds', 'translator', 'components', 'navigator', 'ben
payload.message = notifData.bodyShort; payload.message = notifData.bodyShort;
payload.type = 'info'; payload.type = 'info';
payload.clickfn = function () { payload.clickfn = function () {
markNotification(notifData.nid, true);
if (notifData.path.startsWith('http') || notifData.path.startsWith('https')) { if (notifData.path.startsWith('http') || notifData.path.startsWith('https')) {
window.location.href = notifData.path; window.location.href = notifData.path;
} else { } else {
@ -119,6 +103,21 @@ define('notifications', ['sounds', 'translator', 'components', 'navigator', 'ben
}); });
}; };
function markNotification(nid, read, callback) {
socket.emit('notifications.mark' + (read ? 'Read' : 'Unread'), nid, function (err) {
if (err) {
return app.alertError(err.message);
}
if (read && unreadNotifs[nid]) {
delete unreadNotifs[nid];
}
if (callback) {
callback();
}
});
}
function scrollToPostIndexIfOnPage(notifEl) { function scrollToPostIndexIfOnPage(notifEl) {
// Scroll to index if already in topic (gh#5873) // Scroll to index if already in topic (gh#5873)
var pid = notifEl.attr('data-pid'); var pid = notifEl.attr('data-pid');

Loading…
Cancel
Save