aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2017-11-09 11:34:41 +0100
committerMario Vavti <mario@mariovavti.com>2017-11-09 11:34:41 +0100
commitfc96cd371042a92ed180635b91924413392d3972 (patch)
tree19cbe2aaee6d625df3ab5dcd2c60d7ceec074070
parente7d20efb1b8d579bcb9bdef99205aad19281f6b2 (diff)
downloadvolse-hubzilla-fc96cd371042a92ed180635b91924413392d3972.tar.gz
volse-hubzilla-fc96cd371042a92ed180635b91924413392d3972.tar.bz2
volse-hubzilla-fc96cd371042a92ed180635b91924413392d3972.zip
load notifications links to /display via ajax if we are already in /display
-rw-r--r--Zotlabs/Lib/Enotify.php1
-rw-r--r--Zotlabs/Widget/Notifications.php1
-rw-r--r--view/js/main.js6
-rw-r--r--view/theme/redbasic/js/redbasic.js4
-rw-r--r--view/tpl/notifications_widget.tpl27
5 files changed, 34 insertions, 5 deletions
diff --git a/Zotlabs/Lib/Enotify.php b/Zotlabs/Lib/Enotify.php
index d5798e671..fffe4ffe7 100644
--- a/Zotlabs/Lib/Enotify.php
+++ b/Zotlabs/Lib/Enotify.php
@@ -803,6 +803,7 @@ class Enotify {
'photo' => $item['author']['xchan_photo_s'],
'when' => relative_date($item['created']),
'class' => (intval($item['item_unseen']) ? 'notify-unseen' : 'notify-seen'),
+ 'b64mid' => 'b64.' . base64url_encode($item['mid']),
'message' => strip_tags(bbcode($itemem_text))
);
diff --git a/Zotlabs/Widget/Notifications.php b/Zotlabs/Widget/Notifications.php
index a857f1ad9..191f2afb6 100644
--- a/Zotlabs/Widget/Notifications.php
+++ b/Zotlabs/Widget/Notifications.php
@@ -139,6 +139,7 @@ class Notifications {
}
$o = replace_macros(get_markup_template('notifications_widget.tpl'), array(
+ '$module' => \App::$module,
'$notifications' => $notifications,
'$loading' => t('Loading...')
));
diff --git a/view/js/main.js b/view/js/main.js
index c3873d823..4cc10bb49 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -750,6 +750,7 @@ function collapseHeight() {
}
function liveUpdate() {
+
if(typeof profile_uid === 'undefined') profile_uid = false; /* Should probably be unified with channelId defined in head.tpl */
if((src === null) || (stopped) || (! profile_uid)) { $('.like-rotator').hide(); return; }
if(($('.comment-edit-text.expanded').length) || (in_progress)) {
@@ -791,7 +792,6 @@ function liveUpdate() {
var orgHeight = $("#region_2").height();
}
-
var dstart = new Date();
console.log('LOADING data...');
$.get(update_url, function(data) {
@@ -959,9 +959,9 @@ function notify_popup_loader(notifyType) {
$("." + notifyType + "-update").html(data.notify.length);
$(data.notify).each(function() {
- html = navbar_notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass);
+ html = navbar_notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass,notifyType == 'pubs' ? 'undefined' : this.b64mid);
$("#navbar-" + notifyType + "-menu").append(html);
- html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass);
+ html = notifications_tpl.format(this.notify_link,this.photo,this.name,this.message,this.when,this.hclass,notifyType == 'pubs' ? 'undefined' : this.b64mid);
$("#nav-" + notifyType + "-menu").append(html);
});
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index 04199ea95..3fee0f282 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -1,6 +1,8 @@
/**
* redbasic theme specific JavaScript
*/
+
+var notifications_parent;
$(document).ready(function() {
// CSS3 calc() fallback (for unsupported browsers)
@@ -82,7 +84,7 @@ $(document).ready(function() {
}
});
- var notifications_parent = $('#notifications_wrapper')[0].parentElement.id;
+ notifications_parent = $('#notifications_wrapper')[0].parentElement.id;
$('#notifications-btn').click(function() {
if($('#notifications_wrapper').hasClass('fs'))
$('#notifications_wrapper').prependTo('#' + notifications_parent);
diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl
index 6865879ad..dd4cc6377 100644
--- a/view/tpl/notifications_widget.tpl
+++ b/view/tpl/notifications_widget.tpl
@@ -26,11 +26,36 @@
}
</style>
+{{if $module == 'display'}}
+<script>
+ $(document).on('click', '.notification', function(e) {
+ var b64mid = $(this).data('b64mid');
+
+ console.log(b64mid);
+
+ if(b64mid !== 'undefined') {
+ e.preventDefault();
+ e.stopPropagation();
+
+ $('.thread-wrapper').remove();
+ $(this).fadeOut();
+ bParam_mid = b64mid;
+ mode = 'replace';
+ page_load = true;
+ liveUpdate();
+
+ if($('#notifications_wrapper').hasClass('fs'))
+ $('#notifications_wrapper').prependTo('#' + notifications_parent).removeClass('fs'); //var notifications_parent is defined in redbasic.js
+ }
+ });
+</script>
+{{/if}}
+
{{if $notifications}}
<div id="notifications_wrapper">
<div id="notifications" class="navbar-nav" data-children=".nav-item">
<div id="nav-notifications-template" rel="template">
- <a class="list-group-item clearfix notification {5}" href="{0}" title="{2} {3}">
+ <a class="list-group-item clearfix notification {5}" href="{0}" title="{2} {3}" data-b64mid="{6}">
<img class="menu-img-3" data-src="{1}">
<span class="contactname">{2}</span>
<span class="dropdown-sub-text">{3}<br>{4}</span>