1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-05-06 07:35:29 +02:00

[ticket/12034] Move similar code in the two callbacks to separate function.

PHPBB3-12034
This commit is contained in:
Cesar G 2013-11-24 09:09:48 -08:00
parent 0c0375df65
commit d76ec60ee1

View File

@ -109,22 +109,7 @@ phpbb.addAjaxCallback('mark_topics_read', function(res, update_topic_links) {
// This callback will mark all notifications read
phpbb.addAjaxCallback('notification.mark_all_read', function(res) {
if (typeof res.success !== 'undefined') {
var unreadRows = $('#notification_list li.bg2');
// Remove the unread status.
unreadRows.removeClass('bg2');
unreadRows.find('a.mark_read').remove();
// Update the notification link to the real URL.
unreadRows.each(function() {
var link = $(this).find('a');
link.attr('href', link.attr('data-real-url'));
});
// Set the unread count to 0.
$('#notification_list_button strong').html(0);
// Remove the Mark all read link
$('#mark_all_notifications').remove();
phpbb.markNotifications($('#notification_list li.bg2'), 0);
phpbb.closeDarkenWrapper(3000);
}
});
@ -132,23 +117,35 @@ phpbb.addAjaxCallback('notification.mark_all_read', function(res) {
// This callback will mark a notification read
phpbb.addAjaxCallback('notification.mark_read', function(res) {
if (typeof res.success !== 'undefined') {
var el = $(this),
unreadCountEl = $('#notification_list_button strong'),
unreadCount = Number(unreadCountEl.html()),
link = el.siblings('a');
var unreadCount = Number($('#notification_list_button strong').html()) - 1;
phpbb.markNotifications($(this).parent('li.bg2'), unreadCount);
}
});
/**
* Mark notification popup rows as read.
*
* @param {jQuery} el jQuery object(s) to mark read.
* @param {int} unreadCount The new unread notifications count.
*/
phpbb.markNotifications = function(el, unreadCount) {
// Remove the unread status.
el.parent('li.bg2').removeClass('bg2');
el.remove();
el.removeClass('bg2');
el.find('a.mark_read').remove();
// Update the notification link to the real URL.
el.each(function() {
var link = $(this).find('a');
link.attr('href', link.attr('data-real-url'));
// Update the unread count
unreadCountEl.html(--unreadCount);
});
// Update the unread count.
$('#notification_list_button strong').html(unreadCount);
// Remove the Mark all read link if there are no unread notifications.
if (!unreadCount) {
$('#mark_all_notifications').remove();
}
}
});
};
// This callback finds the post from the delete link, and removes it.
phpbb.addAjaxCallback('post_delete', function() {