1// CALLBACK FUNCTION AFTER THE DOM HAS BEEN LOADED 2jQuery('document').ready(function(){ 3 4 jQuery.fn.ajax_loading_list = function() { 5 return this.each(function() { 6 7 var $ul = jQuery( this ); 8 9 // GET THE PAGE INCREMENT VALUE AND INCREMENT IT BY 1 10 function page_inc() { 11 var page = $ul.attr( 'data-page' ) ? parseInt( $ul.attr( 'data-page' ) ) : 1; 12 page += 1; 13 $ul.attr( 'data-page', page ); 14 return page; 15 }; 16 17 // SANITIZE THE URL WITH PAGE INCREMENT VALUE 18 function sanitize_url() { 19 var url = $ul.attr('data-url') ? $ul.attr('data-url') : location.href, 20 hash_index = url.indexOf('#'); 21 22 if (hash_index > 0) { 23 url = url.substring(0, hash_index); 24 } 25 26 url = encodeURI(url); 27 28 /* add page parameter to the request */ 29 var page = page_inc(); 30 31 var paged_attr = $ul.attr('data-paged-attr') ? $ul.attr('data-paged-attr') : 'paged'; 32 33 url += (url.split('?')[1] ? '&' : '?') + paged_attr + '=' + page; 34 return url; 35 }; 36 37 // APPEND CHILDREN TO THE LIST USING THE LIST ITEM SELECTORS 38 function append_children( result ) { 39 40 if ( jQuery( result ).find( $ul.attr( 'data-target' ) ).length ) { 41 42 $ul.attr( 'data-load-flag', '' ); 43 jQuery( result ).find( $ul.attr( 'data-target' ) ).each( function() { 44 var $list = jQuery(this); 45 $list.hide(); 46 $list.appendTo( $ul ); 47 $list.show('slow'); 48 $list.trigger( 'sjax:init', [$list] ); 49 }); 50 $ul.trigger( 'ajax-load:complete' ); 51 52 } else { 53 $ul.trigger( 'ajax-load:no-more' ); 54 } 55 }; 56 57 // AJAX REQUEST 58 function ajax(){ 59 60 $ul.attr( 'data-load-flag', 'ajax' ); 61 62 jQuery.ajax({ 63 'url': sanitize_url(), 64 'success': function( result ) { 65 $ul.trigger( 'ajax-load:response' ); 66 append_children( result ); 67 }, 68 'error': function() { 69 $ul.trigger( 'ajax-load:error' ); 70 } 71 }); 72 }; 73 74 $ul.on( 'ajax-load:start', function( ev ){ 75 ajax(); 76 } ); 77 78 }); 79 }; 80 81 /* Lazy Loading of the List AT THE TRIGGER OF A BUTTON */ 82 jQuery.fn.ajax_loading = function() { 83 return this.each(function() { 84 85 var $btn = jQuery( this ), 86 paged_attr = $btn.attr( 'data-paged-attr' ) ? $btn.attr( 'data-paged-attr' ) : 'paged', 87 $ul = jQuery( $btn.data( 'list' ) ); 88 89 $ul.attr( 'data-paged-attr', paged_attr ); 90 91 $ul.ajax_loading_list(); 92 93 // Trigger load more on click 94 $btn.click( function( ev ) { 95 $btn.data( 'html', $btn.html() ); 96 $btn.html( 'Loading ...' ); 97 $ul.trigger( 'ajax-load:start' ); 98 }); 99 100 $ul.on( 'ajax-load:complete', function( ev ){ 101 $btn.html( $btn.data('html') ); 102 } ); 103 104 $ul.on( 'ajax-load:no-more', function( ev ){ 105 $btn.hide(); 106 } ); 107 108 $ul.on( 'ajax-load:error', function( ev ){ 109 $btn.hide(); 110 } ); 111 112 }); 113 };
114 jQuery('body').find("[data-behaviour~=oq-ajax-loading]").ajax_loading(); 115 116 jQuery.fn.orbit_lazy_loading = function() { 117 return this.each(function() { 118 console.log( 'hi' ); 119 var $el = jQuery( this ), 120 offset = $el.data( 'offset' ) ? $el.data( 'offset' ) : 60, 121 loading_flag = false, 122 $ul = jQuery( $el.data( 'list' ) ); 123 124 $ul.ajax_loading_list(); 125 126 // Trigger load more on scroll 127 128 jQuery(window).scroll(function() { 129 130 var window_position = jQuery(this).scrollTop() + parseInt( jQuery(window).height() ); 131 132 var bottom = $el.offset().top + parseInt( $el.height() ) - offset; 133 134 // Test if the load button has reached 135 if( window_position > bottom && !loading_flag ){ 136 // console.log( bottom ); 137 138 $ul.trigger( 'ajax-load:start' ); 139 loading_flag = true; 140 } 141 142 }); 143 // Trigger load more on scroll ends 144 // 145 $ul.on( 'ajax-load:complete', function( ev ){ 146 loading_flag = false; 147 } ); 148 149 $ul.on( 'ajax-load:no-more', function( ev ){ 150 $el.remove(); 151 } ); 152 153 $ul.on( 'ajax-load:error', function( ev ){ 154 $el.remove(); 155 } ); 156 157 }); 158 }; 159 jQuery('body').find("[data-behaviour~=orbit-lazy-loading]").orbit_lazy_loading(); 160 161 jQuery.fn.reload_html = function(){ 162 return this.each(function(){ 163 164 var el = jQuery(this); 165 166 jQuery.ajax({ 167 url : el.attr('data-url'), 168 success : function(result){ 169 //console.log(result); 170 //console.log('reload html'); 171 el.html(result);
172 el.find("[data-behaviour~=oq-ajax-loading]").ajax_loading(); 173 }, 174 error : function(){ 175 el.hide(); 176 } 177 }); 178 }); 179 }; 180 jQuery('body').find("[data-behaviour~=oq-reload-html]").reload_html(); 181 182});
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.