File: //proc/thread-self/cwd/wp-content/themes/blog-articles/assets/js/customizer.js
/* global wp, jQuery */
/**
* File customizer.js.
*
* Theme Customizer enhancements for a better user experience.
*
* Contains handlers to make Theme Customizer preview reload changes asynchronously.
*/
( function( $ ) {
// Site title and description.
wp.customize( 'blogname', function( value ) {
value.bind( function( to ) {
$( '.site-title a' ).text( to );
} );
} );
wp.customize( 'blogdescription', function( value ) {
value.bind( function( to ) {
$( '.site-description' ).text( to );
} );
} );
// Header text color.
wp.customize( 'header_textcolor', function( value ) {
value.bind( function( to ) {
if ( 'blank' === to ) {
$( '.site-title, .site-description' ).css( {
clip: 'rect(1px, 1px, 1px, 1px)',
position: 'absolute',
} );
} else {
$( '.site-title, .site-description' ).css( {
clip: 'auto',
position: 'relative',
} );
$( '.site-title a, .site-description' ).css( {
color: to,
} );
}
} );
} );
const blog_articles_section_lists = ['banner', 'posts-grid'];
blog_articles_section_lists.forEach(blog_articles_homepage_scroll_preview);
function blog_articles_homepage_scroll_preview(item, index) {
// Collect information from customize-controls.js about which panels are opening.
wp.customize.bind('preview-ready', function() {
// Initially hide the theme option placeholders on load.
$('.panel-placeholder').hide();
item = item.replace(/-/g, '_');
wp.customize.preview.bind(item, function(data) {
// Only on the front page.
if (!$('body').hasClass('home')) {
return;
}
// When the section is expanded, show and scroll to the content placeholders, exposing the edit links.
if (true === data.expanded) {
$('html, body').animate({
'scrollTop': $('#blog_articles_' + item + '_section').position().top
});
}
});
});
}
}( jQuery ) );