diff options
Diffstat (limited to 'plugins/jetpack/modules/infinite-scroll')
-rw-r--r-- | plugins/jetpack/modules/infinite-scroll/infinity.js | 84 | ||||
-rw-r--r-- | plugins/jetpack/modules/infinite-scroll/infinity.php | 13 |
2 files changed, 64 insertions, 33 deletions
diff --git a/plugins/jetpack/modules/infinite-scroll/infinity.js b/plugins/jetpack/modules/infinite-scroll/infinity.js index 67eed745..24dd413e 100644 --- a/plugins/jetpack/modules/infinite-scroll/infinity.js +++ b/plugins/jetpack/modules/infinite-scroll/infinity.js @@ -1,3 +1,4 @@ +/* globals infiniteScroll, _wpmejsSettings, ga, _gaq, WPCOM_sharing_counts */ ( function( $ ) { // Open closure // Local vars @@ -7,7 +8,7 @@ var isIE = -1 != navigator.userAgent.search( 'MSIE' ); if ( isIE ) { var IEVersion = navigator.userAgent.match( /MSIE\s?(\d+)\.?\d*;/ ); - var IEVersion = parseInt( IEVersion[ 1 ] ); + IEVersion = parseInt( IEVersion[ 1 ] ); } // HTTP ajaxurl when site is HTTPS causes Access-Control-Allow-Origin failure in Desktop and iOS Safari @@ -176,12 +177,17 @@ width = $( 'body #' + this.footer.wrap ).outerWidth( false ); // Make the footer match the width of the page - if ( width > 479 ) this.footer.find( '.container' ).css( 'width', width ); + if ( width > 479 ) { + this.footer.find( '.container' ).css( 'width', width ); + } } // Reveal footer - if ( this.window.scrollTop() >= 350 ) self.footer.animate( { bottom: 0 }, 'fast' ); - else if ( this.window.scrollTop() < 350 ) self.footer.animate( { bottom: '-50px' }, 'fast' ); + if ( this.window.scrollTop() >= 350 ) { + self.footer.animate( { bottom: 0 }, 'fast' ); + } else if ( this.window.scrollTop() < 350 ) { + self.footer.animate( { bottom: '-50px' }, 'fast' ); + } }; /** @@ -197,7 +203,9 @@ customized; // If we're disabled, ready, or don't pass the check, bail. - if ( this.disabled || ! this.ready || ! this.check() ) return; + if ( this.disabled || ! this.ready || ! this.check() ) { + return; + } // Let's get going -- set ready to false to prevent // multiple refreshes from occurring at once. @@ -323,11 +331,14 @@ if ( this.conditional && ( ! isIE || ! eval( this.conditional.replace( /%ver/g, IEVersion ) ) ) - ) - var style = false; + ) { + style = false; + } // Append link tag if necessary - if ( style ) document.getElementsByTagName( 'head' )[ 0 ].appendChild( style ); + if ( style ) { + document.getElementsByTagName( 'head' )[ 0 ].appendChild( style ); + } } ); } @@ -338,17 +349,19 @@ self.page++; // Record pageview in WP Stats, if available. - if ( stats ) + if ( stats ) { new Image().src = document.location.protocol + '//pixel.wp.com/g.gif?' + stats + '&post=0&baba=' + Math.random(); + } // Add new posts to the postflair object - if ( 'object' == typeof response.postflair && 'object' == typeof WPCOM_sharing_counts ) - WPCOM_sharing_counts = $.extend( WPCOM_sharing_counts, response.postflair ); + if ( 'object' === typeof response.postflair && 'object' === typeof WPCOM_sharing_counts ) { + WPCOM_sharing_counts = $.extend( WPCOM_sharing_counts, response.postflair ); // eslint-disable-line no-global-assign + } // Render the results self.render.apply( self, arguments ); @@ -493,8 +506,11 @@ wrapperQty++; } ); - if ( wrapperQty > 0 ) aveSetHeight = aveSetHeight / wrapperQty; - else aveSetHeight = 0; + if ( wrapperQty > 0 ) { + aveSetHeight = aveSetHeight / wrapperQty; + } else { + aveSetHeight = 0; + } // Load more posts if space permits, otherwise stop checking for a full viewport if ( postsHeight < windowHeight && postsHeight + aveSetHeight < windowHeight ) { @@ -615,8 +631,11 @@ var setData = setsInView.pop(); // If the first set of IS posts is in the same view as the posts loaded in the template by WordPress, determine how much of the view is comprised of IS-loaded posts - if ( ( windowBottom - setData.top ) / windowSize < 0.5 ) pageNum = -1; - else pageNum = setData.pageNum; + if ( ( windowBottom - setData.top ) / windowSize < 0.5 ) { + pageNum = -1; + } else { + pageNum = setData.pageNum; + } } else { var majorityPercentageInView = 0; @@ -627,15 +646,20 @@ percentOfView = 0; // Figure percentage of view the current set represents - if ( setData.top > windowTop && setData.top < windowBottom ) + if ( setData.top > windowTop && setData.top < windowBottom ) { topInView = ( windowBottom - setData.top ) / windowSize; + } - if ( setData.bottom > windowTop && setData.bottom < windowBottom ) + if ( setData.bottom > windowTop && setData.bottom < windowBottom ) { bottomInView = ( setData.bottom - windowTop ) / windowSize; + } // Figure out largest percentage of view for current set - if ( topInView >= bottomInView ) percentOfView = topInView; - else if ( bottomInView >= topInView ) percentOfView = bottomInView; + if ( topInView >= bottomInView ) { + percentOfView = topInView; + } else if ( bottomInView >= topInView ) { + percentOfView = bottomInView; + } // Does current set's percentage of view supplant the largest previously-found set? if ( percentOfView > majorityPercentageInView ) { @@ -647,7 +671,7 @@ // If a page number could be determined, update the URL // -1 indicates that the original requested URL should be used. - if ( 'number' == typeof pageNum ) { + if ( 'number' === typeof pageNum ) { self.updateURL( pageNum ); } }; @@ -662,14 +686,16 @@ return; } var self = this, + pageSlug = self.origURL; + + if ( -1 !== page ) { pageSlug = - -1 == page - ? self.origURL - : window.location.protocol + - '//' + - self.history.host + - self.history.path.replace( /%d/, page ) + - self.history.parameters; + window.location.protocol + + '//' + + self.history.host + + self.history.path.replace( /%d/, page ) + + self.history.parameters; + } if ( window.location.href != pageSlug ) { history.pushState( null, null, pageSlug ); @@ -695,7 +721,9 @@ */ $( document ).ready( function() { // Check for our variables - if ( 'object' != typeof infiniteScroll ) return; + if ( 'object' !== typeof infiniteScroll ) { + return; + } $( document.body ).addClass( infiniteScroll.settings.body_class ); diff --git a/plugins/jetpack/modules/infinite-scroll/infinity.php b/plugins/jetpack/modules/infinite-scroll/infinity.php index 35193cfc..6b8d3775 100644 --- a/plugins/jetpack/modules/infinite-scroll/infinity.php +++ b/plugins/jetpack/modules/infinite-scroll/infinity.php @@ -1,14 +1,16 @@ <?php +use Automattic\Jetpack\Assets; + /* Plugin Name: The Neverending Home Page. -Plugin URI: http://automattic.com/ +Plugin URI: https://automattic.com/ Description: Adds infinite scrolling support to the front-end blog post view for themes, pulling the next set of posts automatically into view when the reader approaches the bottom of the page. Version: 1.1 Author: Automattic -Author URI: http://automattic.com/ +Author URI: https://automattic.com/ License: GNU General Public License v2 or later -License URI: http://www.gnu.org/licenses/gpl-2.0.html +License URI: https://www.gnu.org/licenses/gpl-2.0.html */ /** @@ -16,6 +18,7 @@ License URI: http://www.gnu.org/licenses/gpl-2.0.html * styling from each theme; including fixed footer. */ class The_Neverending_Home_Page { + /** * Register actions and filters, plus parse IS settings * @@ -432,7 +435,7 @@ class The_Neverending_Home_Page { // Add our scripts. wp_register_script( 'the-neverending-homepage', - Jetpack::get_file_url_for_environment( + Assets::get_file_url_for_environment( '_inc/build/infinite-scroll/infinity.min.js', 'modules/infinite-scroll/infinity.js' ), @@ -1608,7 +1611,7 @@ function the_neverending_home_page_init() { if ( ! current_theme_supports( 'infinite-scroll' ) ) return; - new The_Neverending_Home_Page; + new The_Neverending_Home_Page(); } add_action( 'init', 'the_neverending_home_page_init', 20 ); |