1;(function($) { 2 // 'use strict'; 3 window.eaelLoadMorePostList = function( settings ) { 4 5 var offSET = settings.offset, 6 next_btn = settings.next_btn, 7 prev_btn = settings.prev_btn, 8 appender = settings.appender; 9 10 delete settings.next_btn; 11 delete settings.prev_btn; 12 delete settings.appender; 13 delete settings.offset; 14 var newOffset = settings.posts_per_page + offSET; 15 var prevOffset = 0 + offSET; 16 17 if( settings.posts_per_page >= settings.total_posts || settings.posts_per_page <= -1 ) { 18 $( next_btn ).prop('disabled', true); 19 $( prev_btn ).prop('disabled', true); 20 } 21 22 if( settings.post_type == 'any' ) { 23 delete settings.category; 24 delete settings.post_tag; 25 delete settings.product_cat; 26 delete settings.product_tag; 27 } 28 29 // On Next Click Request 30 $( next_btn ).on('click', function(e) { 31 e.preventDefault(); 32 33 var dataOBJ = $.extend( { 34 action: 'load_more', 35 offset: newOffset, 36 post_style: 'list', 37 }, settings ); 38 39 $.ajax({ 40 url: eaelPostList.ajax_url, 41 type: 'post', 42 data: dataOBJ, 43 success: function(response) { 44 var response = JSON.parse( response ); 45 prevOffset = prevOffset + settings.posts_per_page; 46 /** 47 * Enabling Prev Button for Click! 48 */ 49 $( prev_btn ).prop('disabled', false); 50 51 /** 52 * Setting offset for pagination 53 */ 54 newOffset = newOffset + settings.posts_per_page; 55 56 if( newOffset >= settings.total_posts ) { 57 /** 58 * Disable Next Button to Click 59 */ 60 $( next_btn ).prop('disabled', true); 61 } 62 $( appender ).html(''); 63 $( appender ).append( $( response.content ) ); 64 }, 65 error: function(err) { 66 console.log(err); 67 } 68 }); 69 }); 70 71 // On Prev Click Request 72 $( prev_btn ).prop('disabled', true); 73 $( prev_btn ).on('click', function(e) { 74 e.preventDefault(); 75 prevOffset = prevOffset - settings.posts_per_page; 76 var dataOBJ = $.extend( { 77 action: 'load_more', 78 offset: prevOffset, 79 post_style: 'list', 80 }, settings ); 81 82 $.ajax({ 83 url: eaelPostList.ajax_url, 84 type: 'post', 85 data: dataOBJ, 86 success: function(response) { 87 var response = JSON.parse( response ); 88 /** 89 * Enabling Next Button For Click 90 */ 91 $( next_btn ).prop('disabled', false); 92 newOffset = newOffset - settings.posts_per_page; 93 /** 94 * Disable Prev Button to Click! 95 */ 96 if( prevOffset <= offSET ) { 97 $( prev_btn ).prop('disabled', true); 98 } 99 $( appender ).html(''); 100 $( appender ).append( $( response.content ) ); 101 }, 102 error: function(err) { 103 console.log(err); 104 } 105 }); 106 }); 107 108 appender.parent().find('.post-categories').on('click', '.post-list-filter-item', function( e ){ 109 e.preventDefault(); 110 111 var allID = $(this).data('all-id'); 112 var taxonomy = $(this).data('taxonomy'); 113 114 var id = e.currentTarget.dataset.id; 115 116 if( e.currentTarget.dataset.taxonomy != 'all' ) { 117 var tax_query = { 118 "taxonomy" : taxonomy, 119 "fields" : "term_id", 120 "terms" : [ id ] 121 } 122 settings.tax_query = [ tax_query ]; 123 } else { 124 settings.tax_query = []; 125 Object.keys(allID).forEach(function(key, i) { 126 var tax_query = { 127 "taxonomy" : key, 128 "fields" : "term_id", 129 "terms" : allID[key] 130 } 131 settings.tax_query[ i ] = tax_query; 132 }); 133 } 134 135 var dataOBJ = $.extend( { 136 action: 'load_more', 137 offset: 0, 138 post_style: 'list', 139 }, settings ); 140 141 $.ajax({ 142 url: eaelPostList.ajax_url, 143 type: 'post', 144 data: dataOBJ, 145 success: function(response) { 146 var response = JSON.parse( response ); 147 148 /** 149 * Resetting total_posts 150 */ 151 settings.total_posts = response.count; 152 /** 153 * Resetting offset 154 */ 155 newOffset = settings.posts_per_page; 156 prevOffset = 0; 157 /** 158 * Disable Prev Button to Click! 159 */ 160 $( prev_btn ).prop('disabled', true); 161 if( response.count <= settings.posts_per_page ) { 162 $( next_btn ).prop('disabled', true); 163 } else { 164 $( next_btn ).prop('disabled', false); 165 } 166 $( appender ).html(''); 167 $( appender ).append( $( response.content ) ); 168 }, 169 error: function(err) { 170 console.log(err); 171 } 172 }); 173 }); 174 } 175})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.