]> git.mxchange.org Git - friendica.git/blobdiff - js/main.js
Merge pull request #4269 from MrPetovan/task/4265-move-base64-to-composer
[friendica.git] / js / main.js
index 556e4ed8cf082a32dd8f0578197b3647d76b76c4..fff4078ae82626a88a43a8fa51bba8d00f162509 100644 (file)
                        var start = textarea.selectionStart;
                        var end = textarea.selectionEnd;
                        textarea.value = textarea.value.substring(0, start) + bbcode + textarea.value.substring(end, textarea.value.length);
+                       $(textarea).trigger('change');
                });
 
 
                        }
                });
 
+               // Scroll to the next/previous thread when pressing J and K
+               $(document).keydown(function (event) {
+                       var threads = $('.thread_level_1');
+                       if ((event.keyCode === 74 || event.keyCode === 75) && !$(event.target).is('textarea, input')) {
+                               var scrollTop = $(window).scrollTop();
+                               if (event.keyCode === 75) {
+                                       threads = $(threads.get().reverse());
+                               }
+                               threads.each(function(key, item) {
+                                       var comparison;
+                                       var top = $(item).offset().top - 100;
+                                       if (event.keyCode === 74) {
+                                               comparison = top > scrollTop + 1;
+                                       } else if (event.keyCode === 75) {
+                                               comparison = top < scrollTop - 1;
+                                       }
+                                       if (comparison) {
+                                               $('html, body').animate({ scrollTop: top }, 200);
+                                               return false;
+                                       }
+                               });
+                       }
+               });
+
                // Set an event listener for infinite scroll
                if(typeof infinite_scroll !== 'undefined') {
                        $(window).scroll(function(e){
                // page number
                infinite_scroll.pageno+=1;
 
+               match = $("span.received").last();
+               if (match.length > 0) {
+                       received = match[0].innerHTML;
+               } else {
+                       received = "0000-00-00 00:00:00";
+               }
+
+               match = $("span.created").last();
+               if (match.length > 0) {
+                       created = match[0].innerHTML;
+               } else {
+                       created = "0000-00-00 00:00:00";
+               }
+
+               match = $("span.commented").last();
+               if (match.length > 0) {
+                       commented = match[0].innerHTML;
+               } else {
+                       commented = "0000-00-00 00:00:00";
+               }
+
+               match = $("span.id").last();
+               if (match.length > 0) {
+                       id = match[0].innerHTML;
+               } else {
+                       id = "0";
+               }
+               // console.log("Received: " + received + " - Commented: " + commented+ " - Created: " + created + " - ID: " + id);
+
                // 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) {
+               $.get('network?mode=raw' + infinite_scroll.reload_uri + '&last_received=' + received + '&last_commented=' + commented + '&last_created=' + created + '&last_id=' + id + '&page=' + infinite_scroll.pageno, function(data) {
                        $("#scroll-loader").hide();
                        if ($(data).length > 0) {
+
                                $(data).insertBefore('#conversation-end');
                                lockLoadContent = false;
                        } else {