Initial commit
This commit is contained in:
@ -0,0 +1,169 @@
|
||||
( function( $, api ) {
|
||||
|
||||
/**
|
||||
* Set some controls when we're using the navigation as a header.
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
api( 'generate_menu_plus_settings[navigation_as_header]', function( value ) {
|
||||
value.bind( function( newval ) {
|
||||
var navAlignmentSetting = api.instance( 'generate_settings[nav_alignment_setting]' ),
|
||||
navAlignment = gpControls.navigationAlignment,
|
||||
siteTitleFontSizeSetting = api.instance( 'generate_settings[site_title_font_size]' ),
|
||||
mobileSiteTitleFontSizeSetting = api.instance( 'generate_settings[mobile_site_title_font_size]' ),
|
||||
siteTitleFontSize = gpControls.siteTitleFontSize,
|
||||
mobileSiteTitleFontSize = gpControls.mobileSiteTitleFontSize,
|
||||
mobileHeader = api.instance( 'generate_menu_plus_settings[mobile_header]' ).get(),
|
||||
navTextColorSetting = api.instance( 'generate_settings[navigation_text_color]' ),
|
||||
navTextColor = gpControls.navigationTextColor,
|
||||
headerTextColorSetting = api.instance( 'generate_settings[header_text_color]' ),
|
||||
headerTextColor = gpControls.headerTextColor;
|
||||
|
||||
if ( ! siteTitleFontSizeSetting._dirty && 25 !== siteTitleFontSizeSetting.get() ) {
|
||||
siteTitleFontSize = siteTitleFontSizeSetting.get();
|
||||
}
|
||||
|
||||
if ( ! mobileSiteTitleFontSizeSetting._dirty && 20 !== mobileSiteTitleFontSizeSetting.get() ) {
|
||||
mobileSiteTitleFontSize = mobileSiteTitleFontSizeSetting.get();
|
||||
}
|
||||
|
||||
if ( ! navTextColorSetting._dirty ) {
|
||||
navTextColor = navTextColorSetting.get();
|
||||
}
|
||||
|
||||
if ( ! headerTextColorSetting._dirty ) {
|
||||
headerTextColor = headerTextColorSetting.get();
|
||||
}
|
||||
|
||||
if ( newval ) {
|
||||
navAlignmentSetting.set( 'right' );
|
||||
siteTitleFontSizeSetting.set( 25 );
|
||||
api.instance( 'generate_settings[site_title_color]' ).set( navTextColor );
|
||||
|
||||
if ( 'enable' !== mobileHeader ) {
|
||||
mobileSiteTitleFontSizeSetting.set( 20 );
|
||||
}
|
||||
} else {
|
||||
navAlignmentSetting.set( navAlignment );
|
||||
siteTitleFontSizeSetting.set( siteTitleFontSize );
|
||||
api.instance( 'generate_settings[site_title_color]' ).set( headerTextColor );
|
||||
|
||||
if ( 'enable' !== mobileHeader ) {
|
||||
mobileSiteTitleFontSizeSetting.set( mobileSiteTitleFontSize );
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
var showRegularHeader,
|
||||
showRegularHeaderCallback,
|
||||
showNavHeader,
|
||||
showNavHeaderCallback;
|
||||
|
||||
/**
|
||||
* Determine whether we should display our header controls.
|
||||
*
|
||||
* @returns {boolean}
|
||||
*/
|
||||
showRegularHeader = function() {
|
||||
if ( value.get() ) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
};
|
||||
|
||||
/**
|
||||
* Determine whether our navigation is our header.
|
||||
*
|
||||
* @returns {boolean}
|
||||
*/
|
||||
showNavHeader = function() {
|
||||
if ( value.get() ) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
};
|
||||
|
||||
/**
|
||||
* Update a control's active state according to the navigation as header option.
|
||||
*
|
||||
* @param {wp.customize.Control} control
|
||||
*/
|
||||
showRegularHeaderCallback = function( control ) {
|
||||
var setActiveState = function() {
|
||||
control.active.set( showRegularHeader() );
|
||||
};
|
||||
|
||||
control.active.validate = showRegularHeader;
|
||||
setActiveState();
|
||||
value.bind( setActiveState );
|
||||
};
|
||||
|
||||
/**
|
||||
* Update a control's active state according to the navigation as header option.
|
||||
*
|
||||
* @param {wp.customize.Control} control
|
||||
*/
|
||||
showNavHeaderCallback = function( control ) {
|
||||
var setActiveState = function() {
|
||||
control.active.set( showNavHeader() );
|
||||
};
|
||||
|
||||
control.active.validate = showNavHeader;
|
||||
setActiveState();
|
||||
value.bind( setActiveState );
|
||||
};
|
||||
|
||||
api.control( 'generate_header_helper', showRegularHeaderCallback );
|
||||
api.control( 'generate_settings[header_layout_setting]', showRegularHeaderCallback );
|
||||
api.control( 'generate_settings[header_inner_width]', showRegularHeaderCallback );
|
||||
api.control( 'generate_settings[header_alignment_setting]', showRegularHeaderCallback );
|
||||
api.control( 'header_spacing', showRegularHeaderCallback );
|
||||
api.control( 'generate_settings[header_background_color]', showRegularHeaderCallback );
|
||||
api.control( 'header_text_color', showRegularHeaderCallback );
|
||||
api.control( 'header_link_color', showRegularHeaderCallback );
|
||||
api.control( 'header_link_hover_color', showRegularHeaderCallback );
|
||||
api.control( 'site_tagline_color', showRegularHeaderCallback );
|
||||
api.control( 'font_site_tagline_control', showRegularHeaderCallback );
|
||||
api.control( 'generate_settings[site_tagline_font_size]', showRegularHeaderCallback );
|
||||
api.control( 'generate_settings[nav_position_setting]', showRegularHeaderCallback );
|
||||
api.control( 'generate_settings[logo_width]', showRegularHeaderCallback );
|
||||
} );
|
||||
|
||||
/**
|
||||
* Set the navigation branding font size label on mobile header branding change.
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
api( 'generate_menu_plus_settings[mobile_header_branding]', function( value ) {
|
||||
value.bind( function( newval ) {
|
||||
if ( 'title' === newval ) {
|
||||
api.instance( 'generate_settings[mobile_site_title_font_size]' ).set( 20 );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
|
||||
/**
|
||||
* Set the navigation branding font size label on mobile header change.
|
||||
*
|
||||
* @since 1.8
|
||||
*/
|
||||
api( 'generate_menu_plus_settings[mobile_header]', function( value ) {
|
||||
value.bind( function( newval ) {
|
||||
var mobileSiteTitleFontSizeSetting = api.instance( 'generate_settings[mobile_site_title_font_size]' ),
|
||||
mobileSiteTitleFontSize = gpControls.mobileSiteTitleFontSize;
|
||||
|
||||
if ( ! mobileSiteTitleFontSizeSetting._dirty && 20 !== mobileSiteTitleFontSizeSetting.get() ) {
|
||||
mobileSiteTitleFontSize = mobileSiteTitleFontSizeSetting.get();
|
||||
}
|
||||
|
||||
if ( 'enable' === newval ) {
|
||||
api.instance( 'generate_settings[mobile_site_title_font_size]' ).set( 20 );
|
||||
} else {
|
||||
api.instance( 'generate_settings[mobile_site_title_font_size]' ).set( mobileSiteTitleFontSize );
|
||||
}
|
||||
} );
|
||||
} );
|
||||
|
||||
} )( jQuery, wp.customize );
|
Reference in New Issue
Block a user