]> git.mxchange.org Git - friendica.git/blobdiff - js/main.js
Added checklist
[friendica.git] / js / main.js
index f67d7183cedabb5e476e094459c386592a070ff9..5a1affe3cb7aa3cb815d3eca84622aa96b52fff8 100644 (file)
@@ -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") {
                        } else {
                                last_popup_menu = menu;
                                last_popup_button = parent;
+                               $('#nav-notifications-menu').perfectScrollbar('update');
                        }
                        return false;
                });
                        'inline' : true,
                        'transition' : 'elastic'
                });
-
+               $("a.ajax-popupbox").colorbox({
+                       'transition' : 'elastic'
+               });
 
                /* notifications template */
                var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html());
                var notifications_mark = unescape($('<div>').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){
                        var invalid = $(data).find('invalid').text();
                                eNotif.children("note").each(function(){
                                        e = $(this);
                                        var text = e.text().format("<span class='contactname'>"+e.attr('name')+"</span>");
+                                       var contact = ("<a href="+e.attr('url')+"><span class='contactname'>"+e.attr('name')+"</span></a>");
                                        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);
                                });
                                $.jGrowl(text, { sticky: false, theme: 'info', life: 5000 });
                        });
 
+                       /* update the js scrollbars */
+                       $('#nav-notifications-menu').perfectScrollbar('update');
+
                });
 
                NavUpdate();