]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
remove dupes when infinitescrolling, and add infinitescroll to user lists and userdir...
authorHannes Mannerheim <h@nnesmannerhe.im>
Mon, 20 Oct 2014 14:34:37 +0000 (16:34 +0200)
committerHannes Mannerheim <h@nnesmannerhe.im>
Mon, 20 Oct 2014 14:34:37 +0000 (16:34 +0200)
plugins/InfiniteScroll/infinitescroll.js

index 6fcf098dfe6e169aa99e6a2eb5261c723901311d..b00445ee34d797bb54614263eff1f5d2e8b01236 100644 (file)
@@ -1,3 +1,5 @@
+
+// notices
 jQuery(document).ready(function($){
   $('notices_primary').infinitescroll({
     debug: false,
@@ -23,5 +25,137 @@ jQuery(document).ready(function($){
             SN.U.NoticeReplyTo($(this));
             SN.U.NoticeWithAttachment($(this));
         });
+
+        // moving the loaded notices out of their container
+               $('#infscr-loading').remove();  
+               var ids_to_append = Array(); var i=0;
+               $.each($('.infscr-pages').children('.notice'),function(){
+                       
+                       // remove dupes
+                       if($('.threaded-notices > #' + $(this).attr('id')).length > 0) {
+                               $(this).remove();
+                               }
+                       
+                       // keep new unique notices
+                       else {
+                               ids_to_append[i] = $(this).attr('id');                          
+                               i++;
+                               }
+                       });
+               var loaded_html = $('.infscr-pages').html();
+               $('.infscr-pages').remove();
+
+               // no results
+               if(loaded_html == '') { 
+                       }
+               // append
+               else {
+                       $('#notices_primary ol.notices').append(loaded_html);
+                       }
+        
     });
 });
+
+
+// users
+jQuery(document).ready(function($){
+  $('profile_list').infinitescroll({
+    debug: false,
+    infiniteScroll  : !infinite_scroll_on_next_only,
+    nextSelector    : 'body#subscribers li.nav_next a, body#subscriptions li.nav_next a',
+    loadingImg      : ajax_loader_url,
+    text            : "<em>Loading the next set of users...</em>",
+    donetext        : "<em>Congratulations, you\'ve reached the end of the Internet.</em>",
+    navSelector     : "#pagination",
+    contentSelector : "#content_inner ul.profile_list",
+    itemSelector    : "#content_inner ul.profile_list > li"
+    },function(){
+        // Reply button and attachment magic need to be set up
+        // for each new notice.
+        // DO NOT run SN.Init.Notices() which will duplicate stuff.
+        $(this).find('.profile').each(function() {
+            SN.U.NoticeReplyTo($(this));
+            SN.U.NoticeWithAttachment($(this));
+        });
+
+        // moving the loaded notices out of their container
+               $('#infscr-loading').remove();  
+               var ids_to_append = Array(); var i=0;
+               $.each($('.infscr-pages').children('.profile'),function(){
+                       
+                       // remove dupes
+                       if($('.profile_list > #' + $(this).attr('id')).length > 0) {
+                               $(this).remove();
+                               }
+                       
+                       // keep new unique notices
+                       else {
+                               ids_to_append[i] = $(this).attr('id');                          
+                               i++;
+                               }
+                       });
+               var loaded_html = $('.infscr-pages').html();
+               $('.infscr-pages').remove();
+
+               // no results
+               if(loaded_html == '') { 
+                       }
+               // append
+               else {
+                       $('#content_inner ul.profile_list').append(loaded_html);
+                       }
+        
+    });
+});
+
+
+// user directory
+jQuery(document).ready(function($){
+  $('profile_list').infinitescroll({
+    debug: false,
+    infiniteScroll  : !infinite_scroll_on_next_only,
+    nextSelector    : 'body#userdirectory li.nav_next a',
+    loadingImg      : ajax_loader_url,
+    text            : "<em>Loading the next set of users...</em>",
+    donetext        : "<em>Congratulations, you\'ve reached the end of the Internet.</em>",
+    navSelector     : "#pagination",
+    contentSelector : "#profile_directory table.profile_list tbody",
+    itemSelector    : "#profile_directory table.profile_list tbody tr"
+    },function(){
+        // Reply button and attachment magic need to be set up
+        // for each new notice.
+        // DO NOT run SN.Init.Notices() which will duplicate stuff.
+        $(this).find('.profile').each(function() {
+            SN.U.NoticeReplyTo($(this));
+            SN.U.NoticeWithAttachment($(this));
+        });
+
+        // moving the loaded notices out of their container
+               $('#infscr-loading').remove();  
+               var ids_to_append = Array(); var i=0;
+               $.each($('.infscr-pages').children('.profile'),function(){
+                       
+                       // remove dupes
+                       if($('.profile_list > #' + $(this).attr('id')).length > 0) {
+                               $(this).remove();
+                               }
+                       
+                       // keep new unique notices
+                       else {
+                               ids_to_append[i] = $(this).attr('id');                          
+                               i++;
+                               }
+                       });
+               var loaded_html = $('.infscr-pages').html();
+               $('.infscr-pages').remove();
+
+               // no results
+               if(loaded_html == '') { 
+                       }
+               // append
+               else {
+                       $('#profile_directory table.profile_list tbody').append(loaded_html);
+                       }
+        
+    });
+});
\ No newline at end of file