From 21d081e175ccc3201fe58f44b5aabb98a3c15671 Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 18 Jan 2018 11:22:30 +0100 Subject: implement notifications name filter and slightly change the way we load notification to the ui --- view/js/main.js | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) (limited to 'view/js') diff --git a/view/js/main.js b/view/js/main.js index 77b8e91e7..52b836936 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -881,10 +881,11 @@ function notify_popup_loader(notifyType) { /* notifications template - different for navbar and notifications widget */ var navbar_notifications_tpl= unescape($("#navbar-notifications-template[rel=template]").html()); var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html()); - var notifications_all = unescape($('
').append( $("#nav-" + notifyType + "-see-all").clone() ).html()); //outerHtml hack - var notifications_mark = unescape($('
').append( $("#nav-" + notifyType + "-mark-all").clone() ).html()); //outerHtml hack - var notifications_tt_only = unescape($('
').append( $("#tt-" + notifyType + "-only").clone() ).html()); //outerHtml hack - var notifications_empty = unescape($("#nav-" + notifyType + "-menu").html()); + //var notifications_all = unescape($('
').append( $("#nav-" + notifyType + "-see-all").clone() ).html()); //outerHtml hack + //var notifications_mark = unescape($('
').append( $("#nav-" + notifyType + "-mark-all").clone() ).html()); //outerHtml hack + //var notifications_tt_only = unescape($('
').append( $("#tt-" + notifyType + "-only").clone() ).html()); //outerHtml hack + //var notifications_cn_only = unescape($('
').append( $("#cn-" + notifyType + "-only").clone() ).html()); //outerHtml hack + //var notifications_empty = unescape($("#nav-" + notifyType + "-menu").html()); var notify_menu = $("#nav-" + notifyType + "-menu"); @@ -895,11 +896,13 @@ function notify_popup_loader(notifyType) { window.location.href=window.location.href; } - $("#navbar-" + notifyType + "-menu").html(notifications_all + notifications_mark + notifications_tt_only); - $("#nav-" + notifyType + "-menu").html(notifications_all + notifications_mark + notifications_tt_only); + //$("#navbar-" + notifyType + "-menu").html(notifications_all + notifications_mark + notifications_tt_only + notifications_cn_only); + //$("#nav-" + notifyType + "-menu").html(notifications_all + notifications_mark + notifications_tt_only + notifications_cn_only); $("." + notifyType + "-update").html(data.notify.length); + notify_menu.html(''); + $(data.notify).each(function() { html = navbar_notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass,this.b64mid,this.notify_id,this.thread_top); $("#navbar-" + notifyType + "-menu").append(html); @@ -915,11 +918,23 @@ function notify_popup_loader(notifyType) { if($('#tt-' + notifyType + '-only').hasClass('active')) $('#nav-' + notifyType + '-menu [data-thread_top=false]').hide(); + + var filter = $('#cn-' + notifyType + '-input').val(); + + if(filter) { + $('#nav-' + notifyType + '-menu .notification').each(function(i, el){ + var cn = $(el).data('contact_name').toLowerCase(); + if(cn.indexOf(filter) === -1) + $(this).addClass('d-none'); + else + $(this).removeClass('d-none'); + }); + } }); setTimeout(function() { - if(notify_menu.hasClass('show')) { + if($('#nav-' + notifyType + '-sub').hasClass('show')) { console.log('updating ' + notifyType + ' notifications...'); setTimeout(notify_popup_loader, updateInterval, notifyType); } -- cgit v1.2.3 From 53e353abf2abe43b14f05fbf38e232a68f0689ad Mon Sep 17 00:00:00 2001 From: Mario Vavti Date: Thu, 18 Jan 2018 12:44:40 +0100 Subject: consolidate navbar tucson and some javascript cleanup --- view/js/main.js | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) (limited to 'view/js') diff --git a/view/js/main.js b/view/js/main.js index 52b836936..0e3dcb0ec 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -878,18 +878,10 @@ function justifyPhotosAjax(id) { function notify_popup_loader(notifyType) { - /* notifications template - different for navbar and notifications widget */ - var navbar_notifications_tpl= unescape($("#navbar-notifications-template[rel=template]").html()); var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html()); - //var notifications_all = unescape($('
').append( $("#nav-" + notifyType + "-see-all").clone() ).html()); //outerHtml hack - //var notifications_mark = unescape($('
').append( $("#nav-" + notifyType + "-mark-all").clone() ).html()); //outerHtml hack - //var notifications_tt_only = unescape($('
').append( $("#tt-" + notifyType + "-only").clone() ).html()); //outerHtml hack - //var notifications_cn_only = unescape($('
').append( $("#cn-" + notifyType + "-only").clone() ).html()); //outerHtml hack - //var notifications_empty = unescape($("#nav-" + notifyType + "-menu").html()); - var notify_menu = $("#nav-" + notifyType + "-menu"); - var pingExCmd = 'ping/' + notifyType + ((localUser != 0) ? '?f=&uid=' + localUser : ''); + $.get(pingExCmd, function(data) { if(data.invalid == 1) { @@ -904,10 +896,8 @@ function notify_popup_loader(notifyType) { notify_menu.html(''); $(data.notify).each(function() { - html = navbar_notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass,this.b64mid,this.notify_id,this.thread_top); - $("#navbar-" + notifyType + "-menu").append(html); 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); - $("#nav-" + notifyType + "-menu").append(html); + notify_menu.append(html); }); $(".dropdown-menu img[data-src], .notification img[data-src]").each(function(i, el){ @@ -920,7 +910,6 @@ function notify_popup_loader(notifyType) { $('#nav-' + notifyType + '-menu [data-thread_top=false]').hide(); var filter = $('#cn-' + notifyType + '-input').val(); - if(filter) { $('#nav-' + notifyType + '-menu .notification').each(function(i, el){ var cn = $(el).data('contact_name').toLowerCase(); -- cgit v1.2.3