| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- /* globals wp */
- ( function ( $ ) {
- /**
- * Ready, set, go!
- */
- $( document ).ready( function () {
- // Integrate with Selective Refresh in the Customizer.
- if ( 'undefined' !== typeof wp && wp.customize && wp.customize.selectiveRefresh ) {
- /**
- * Handle rendering of selective refresh partials.
- *
- * Make sure that when a partial is rendered, the Jetpack post-load event
- * will be triggered so that any dynamic elements will be re-constructed,
- * such as ME.js elements, Photon replacements, social sharing, and more.
- * Note that this is applying here not strictly to posts being loaded.
- * If a widget contains a ME.js element and it is previewed via selective
- * refresh, the post-load would get triggered allowing any dynamic elements
- * therein to also be re-constructed.
- *
- * @param {wp.customize.selectiveRefresh.Placement} placement
- */
- wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function ( placement ) {
- var content;
- if ( 'string' === typeof placement.addedContent ) {
- content = placement.addedContent;
- } else if ( placement.container ) {
- content = $( placement.container ).html();
- }
- if ( content ) {
- $( document.body ).trigger( 'post-load', { html: content } );
- }
- } );
- /*
- * Add partials for posts added via infinite scroll.
- *
- * This is unnecessary when MutationObserver is supported by the browser
- * since then this will be handled by Selective Refresh in core.
- */
- if ( 'undefined' === typeof MutationObserver ) {
- $( document.body ).on( 'post-load', function ( e, response ) {
- var rootElement = null;
- if ( response.html && -1 !== response.html.indexOf( 'data-customize-partial' ) ) {
- if ( window.infiniteScroll.settings.id ) {
- rootElement = $( '#' + window.infiniteScroll.settings.id );
- }
- wp.customize.selectiveRefresh.addPartials( rootElement );
- }
- } );
- }
- }
- } );
- } )( jQuery ); // Close closure
|