X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=js%2Fmain.js;h=9914c3801f8e2486e00b0e169e8c04de41ac2fe9;hb=2a33882fe03a52eb27a0c7154bac57e9fcd081b3;hp=572a6ebfe16e631c712c61cae1717c0e5d4502a7;hpb=44cb02f6da9fa401e1a2a19b5a280db4cf98e1ab;p=friendica.git
diff --git a/js/main.js b/js/main.js
index 572a6ebfe1..9914c3801f 100644
--- a/js/main.js
+++ b/js/main.js
@@ -1,7 +1,22 @@
- function resizeIframe(obj) {
- obj.style.height = 0;
- obj.style.height = obj.contentWindow.document.body.scrollHeight + 'px';
- }
+ function resizeIframe(obj) {
+ //obj.style.height = 0;
+ _resizeIframe(obj, 0);
+ }
+
+ function _resizeIframe(obj, desth) {
+ var h = obj.style.height;
+ var ch = obj.contentWindow.document.body.scrollHeight + 'px';
+ if (h==ch) {
+ return;
+ }
+ //console.log("_resizeIframe", obj, desth, ch);
+ if (desth!=ch) {
+ setTimeout(_resizeIframe, 500, obj, ch);
+ } else {
+ if (ch>0) obj.style.height = ch;
+ setTimeout(_resizeIframe, 1000, obj, ch);
+ }
+ }
function openClose(theID) {
if(document.getElementById(theID).style.display == "block") {
@@ -36,6 +51,7 @@
var commentBusy = false;
var last_popup_menu = null;
var last_popup_button = null;
+ var lockLoadContent = false;
$(function() {
$.ajaxSetup({cache: false});
@@ -132,6 +148,7 @@
} else {
last_popup_menu = menu;
last_popup_button = parent;
+ $('#nav-notifications-menu').perfectScrollbar('update');
}
return false;
});
@@ -144,7 +161,9 @@
'inline' : true,
'transition' : 'elastic'
});
-
+ $("a.ajax-popupbox").colorbox({
+ 'transition' : 'elastic'
+ });
/* notifications template */
var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html());
@@ -152,8 +171,11 @@
var notifications_mark = unescape($('
').append( $("#nav-notifications-mark-all").clone() ).html()); //outerHtml hack
var notifications_empty = unescape($("#nav-notifications-menu").html());
+ /* enable perfect-scrollbars for different elements */
+ $('#nav-notifications-menu, aside').perfectScrollbar();
+
/* nav update event */
- $('nav').bind('nav-update', function(e,data){;
+ $('nav').bind('nav-update', function(e,data){
var invalid = $(data).find('invalid').text();
if(invalid == 1) { window.location.href=window.location.href }
@@ -203,6 +225,20 @@
var birthdaystoday = $(data).find('birthdays-today').text();
if(birthdaystoday == 0) { $('#birthdays-update').removeClass('notif-birthdays-today') } else { $('#birthdays-update').addClass('notif-birthdays-today') }
+ $(".sidebar-group-li .notify").removeClass("show");
+ $(data).find("group").each(function() {
+ var gid = this.id;
+ var gcount = this.innerHTML;
+ $(".group-"+gid+" .notify").addClass("show").text(gcount);
+ });
+
+ $(".forum-widget-entry .notify").removeClass("show");
+ $(data).find("forum").each(function() {
+ var fid = this.id;
+ var fcount = this.innerHTML;
+ $(".forum-"+fid+" .notify").addClass("show").text(fcount);
+ });
+
var eNotif = $(data).find('notif')
@@ -218,13 +254,18 @@
eNotif.children("note").each(function(){
e = $(this);
var text = e.text().format("
"+e.attr('name')+"");
+ var contact = ("
"+e.attr('name')+"");
var seenclass = (e.attr('seen')==1)?"notify-seen":"notify-unseen";
- var html = notifications_tpl.format(e.attr('href'),
- e.attr('photo'), // {0}
- text, // {1}
- e.attr('date'), // {2}
- seenclass, // {3}
- new Date(e.attr('timestamp')*1000) // {4}
+ var html = notifications_tpl.format(
+ e.attr('href'), // {0} // link to the source
+ e.attr('photo'), // {1} // photo of the contact
+ text, // {2} // preformatet text (autor + text)
+ e.attr('date'), // {3} // date of notification (time ago)
+ seenclass, // {4} // vistiting status of the notification
+ new Date(e.attr('timestamp')*1000), // {5} //date of notification
+ e.attr('url'), // {6} // profile url of the contact
+ e.text().format(""), // {7} // clean status text
+ contact // {8} //preformatat author (name + profile url)
);
nnm.append(html);
});
@@ -277,6 +318,9 @@
$.jGrowl(text, { sticky: false, theme: 'info', life: 5000 });
});
+ /* update the js scrollbars */
+ $('#nav-notifications-menu').perfectScrollbar('update');
+
});
NavUpdate();
@@ -306,6 +350,21 @@
}
});
+ // Set an event listener for infinite scroll
+ if(typeof infinite_scroll !== 'undefined') {
+ $(window).scroll(function(e){
+ if ($(document).height() != $(window).height()) {
+ // First method that is expected to work - but has problems with Chrome
+ if ($(window).scrollTop() > ($(document).height() - $(window).height() * 1.5))
+ loadScrollContent();
+ } else {
+ // This method works with Chrome - but seems to be much slower in Firefox
+ if ($(window).scrollTop() > (($("section").height() + $("header").height() + $("footer").height()) - $(window).height() * 1.5))
+ loadScrollContent();
+ }
+ });
+ }
+
});
@@ -451,7 +510,9 @@
$('body').css('cursor', 'auto');
}
/* autocomplete @nicknames */
- $(".comment-edit-form textarea").contact_autocomplete(baseurl+"/acl");
+ $(".comment-edit-form textarea").editor_autocomplete(baseurl+"/acl");
+ /* autocomplete bbcode */
+ + $(".comment-edit-form textarea").bbco_autocomplete('bbcode');
// setup videos, since VideoJS won't take care of any loaded via AJAX
if(typeof videojs != 'undefined') videojs.autoSetup();
@@ -664,6 +725,31 @@
$('#pause').html('');
}
+ // load more network content (used for infinite scroll)
+ function loadScrollContent() {
+ if (lockLoadContent) return;
+ lockLoadContent = true;
+
+ $("#scroll-loader").fadeIn('normal');
+
+ // the page number to load is one higher than the actual
+ // page number
+ infinite_scroll.pageno+=1;
+
+ console.log('Loading page ' + infinite_scroll.pageno);
+
+ // get the raw content from the next page and insert this content
+ // right before "#conversation-end"
+ $.get('network?mode=raw' + infinite_scroll.reload_uri + '&page=' + infinite_scroll.pageno, function(data) {
+ $("#scroll-loader").hide();
+ if ($(data).length > 0) {
+ $(data).insertBefore('#conversation-end');
+ lockLoadContent = false;
+ } else {
+ $("#scroll-end").fadeIn('normal');
+ }
+ });
+ }
function bin2hex(s){
// Converts the binary representation of data to hex