diff options
author | Mario Vavti <mario@mariovavti.com> | 2018-06-02 15:39:38 +0200 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2018-06-02 15:39:38 +0200 |
commit | db0a3a753420e8722776094334759dd4ff61fc77 (patch) | |
tree | a031cb1a0972ade9addadeae6025787347bee1de /view/js | |
parent | 53efd4e470f10e123209ed63b90213b20a87e011 (diff) | |
download | volse-hubzilla-db0a3a753420e8722776094334759dd4ff61fc77.tar.gz volse-hubzilla-db0a3a753420e8722776094334759dd4ff61fc77.tar.bz2 volse-hubzilla-db0a3a753420e8722776094334759dd4ff61fc77.zip |
some more work on forum notifications
Diffstat (limited to 'view/js')
-rw-r--r-- | view/js/main.js | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/view/js/main.js b/view/js/main.js index 63ab938f0..7a8ddfe28 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -420,6 +420,14 @@ function notificationsUpdate(cached_data) { // Put the object into storage sessionStorage.setItem('notifications_cache', JSON.stringify(data)); + var fnotifs = []; + if(data.forums) { + $.each(data.forums_sub, function() { + fnotifs.push(this); + }); + handleNotificationsItems('forums', fnotifs); + } + if(data.invalid == 1) { window.location.href=window.location.href; } @@ -495,13 +503,13 @@ function handleNotifications(data) { } function handleNotificationsItems(notifyType, data) { - var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html()); + var notifications_tpl = ((notifyType == 'forums') ? unescape($("#nav-notifications-forums-template[rel=template]").html()) : unescape($("#nav-notifications-template[rel=template]").html())); var notify_menu = $("#nav-" + notifyType + "-menu"); notify_menu.html(''); $(data).each(function() { - html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass,this.b64mid,this.notify_id,this.thread_top); + html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass,this.b64mid,this.notify_id,this.thread_top,this.unseen); notify_menu.append(html); }); @@ -812,6 +820,14 @@ function updateInit() { if (initialLoad && (sessionStorage.getItem('notifications_cache') !== null)) { var cached_data = JSON.parse(sessionStorage.getItem('notifications_cache')); notificationsUpdate(cached_data); + + var fnotifs = []; + if(cached_data.forums) { + $.each(cached_data.forums_sub, function() { + fnotifs.push(this); + }); + handleNotificationsItems('forums', fnotifs); + } } if(! src) { @@ -1022,6 +1038,7 @@ function loadNotificationItems(notifyType) { } console.log('updating ' + notifyType + ' notifications...'); + $.get(pingExCmd, function(data) { if(data.invalid == 1) { window.location.href=window.location.href; |