to only have one read state updater js codeblock
This commit is contained in:
Matthias 2021-11-30 17:11:33 +01:00
parent 93f9fe9684
commit d34aa04c7d
No known key found for this signature in database
GPG Key ID: F50EF5741D33E076
2 changed files with 32 additions and 31 deletions

View File

@ -216,19 +216,7 @@ function openNotificationPanel() {
);
$(center_ref).on('click', '.notification-read', function() {
caller = $(this);
var url = `/api/notifications/${caller.attr('pk')}/${caller.attr('target')}/`;
inventreePut(url, {}, {
method: 'POST',
success: function() {
// update the notification tables if they exsist
if (window.updateNotifications) {
window.updateNotifications();
}
caller.parent().parent().remove()
}
});
updateNotificationReadState($(this), true);
});
}
@ -236,3 +224,33 @@ function openNotificationPanel() {
function closeNotificationPanel() {
$('#notification-center').html(`<p class='text-muted'>{% trans "Notifications will load here" %}</p>`);
}
function updateNotificationReadState(btn, panel_caller=false) {
var url = `/api/notifications/${btn.attr('pk')}/${btn.attr('target')}/`;
inventreePut(url, {}, {
method: 'POST',
success: function() {
// update the notification tables if they exsist
if (window.updateNotifications) {
window.updateNotifications();
}
// update current notification count
var count = parseInt($("#notification-counter").html());
if (btn.attr('target') == 'read') {
count = count - 1;
} else {
count = count + 1;
}
// update notification indicator now
updateNotificationIndicator(count);
// remove notification if in panel
if (panel_caller) {
btn.parent().parent().remove()
}
}
});
};

View File

@ -98,24 +98,7 @@ function loadNotificationTable(table, options={}) {
});
$(table).on('click', '.notification-read', function() {
var url = `/api/notifications/${$(this).attr('pk')}/${$(this).attr('target')}/`;
inventreePut(url, {}, {
method: 'POST',
success: function() {
updateNotificationTables();
// update current notification count
var count = parseInt($("#notification-counter").html());
if ($(this).attr('target') == 'read') {
count = count - 1;
} else {
count = count + 1;
}
// update notification indicator now
updateNotificationIndicator(count);
}
});
updateNotificationReadState($(this));
});
}