/** * Customizer controls toggles * * @package Astra */ ( function( $ ) { /* Internal shorthand */ var api = wp.customize; /** * Trigger hooks */ ASTControlTrigger = { /** * Trigger a hook. * * @since 1.0.0 * @method triggerHook * @param {String} hook The hook to trigger. * @param {Array} args An array of args to pass to the hook. */ triggerHook: function( hook, args ) { $( 'body' ).trigger( 'astra-control-trigger.' + hook, args ); }, /** * Add a hook. * * @since 1.0.0 * @method addHook * @param {String} hook The hook to add. * @param {Function} callback A function to call when the hook is triggered. */ addHook: function( hook, callback ) { $( 'body' ).on( 'astra-control-trigger.' + hook, callback ); }, /** * Remove a hook. * * @since 1.0.0 * @method removeHook * @param {String} hook The hook to remove. * @param {Function} callback The callback function to remove. */ removeHook: function( hook, callback ) { $( 'body' ).off( 'astra-control-trigger.' + hook, callback ); }, }; /** * Helper class that contains data for showing and hiding controls. * * @since 1.0.0 * @class ASTCustomizerToggles */ ASTCustomizerToggles = { 'astra-settings[display-site-title]' : [ { controls: [ 'astra-settings[divider-section-header-typo-title]', 'astra-settings[font-size-site-title]', ], callback: function( value ) { if ( value ) { return true; } return false; } }, { controls: [ 'astra-settings[logo-title-inline]', ], callback: function( value ) { var site_tagline = api( 'astra-settings[display-site-tagline]' ).get(); var has_custom_logo = api( 'custom_logo' ).get(); var has_retina_logo = api( 'astra-settings[ast-header-retina-logo]' ).get(); if ( ( value || site_tagline ) && ( has_custom_logo || has_retina_logo ) ) { return true; } return false; } }, ], 'astra-settings[display-site-tagline]' : [ { controls: [ 'astra-settings[divider-section-header-typo-tagline]', 'astra-settings[font-size-site-tagline]', ], callback: function( value ) { if ( value ) { return true; } return false; } }, { controls: [ 'astra-settings[logo-title-inline]', ], callback: function( value ) { var site_title = api( 'astra-settings[display-site-title]' ).get(); var has_custom_logo = api( 'custom_logo' ).get(); var has_retina_logo = api( 'astra-settings[ast-header-retina-logo]' ).get(); if ( ( value || site_title ) && ( has_custom_logo || has_retina_logo ) ) { return true; } return false; } }, ], 'astra-settings[ast-header-retina-logo]' : [ { controls: [ 'astra-settings[logo-title-inline]', ], callback: function( value ) { var has_custom_logo = api( 'custom_logo' ).get(); var site_tagline = api( 'astra-settings[display-site-tagline]' ).get(); var site_title = api( 'astra-settings[display-site-title]' ).get(); if ( ( value || has_custom_logo ) && ( site_title || site_tagline ) ) { return true; } return false; } }, ], 'custom_logo' : [ { controls: [ 'astra-settings[logo-title-inline]', ], callback: function( value ) { var has_retina_logo = api( 'astra-settings[ast-header-retina-logo]' ).get(); var site_tagline = api( 'astra-settings[display-site-tagline]' ).get(); var site_title = api( 'astra-settings[display-site-title]' ).get(); if ( ( value || has_retina_logo ) && ( site_title || site_tagline ) ) { return true; } return false; } }, ], /** * Section - Header * * @link ?autofocus[section]=section-header */ /** * Layout 2 */ // Layout 2 > Right Section > Text / HTML // Layout 2 > Right Section > Search Type // Layout 2 > Right Section > Search Type > Search Box Type. 'astra-settings[header-main-rt-section]' : [ { controls: [ 'astra-settings[header-main-rt-section-html]' ], callback: function( val ) { if ( 'text-html' == val ) { return true; } return false; } }, { controls: [ 'astra-settings[header-main-menu-label]', 'astra-settings[header-main-menu-label-divider]', ], callback: function( custom_menu ) { var menu = api( 'astra-settings[disable-primary-nav]' ).get(); if ( !menu || 'none' != custom_menu) { return true; } return false; } }, { controls: [ 'astra-settings[header-display-outside-menu]', ], callback: function( custom_menu ) { if ( 'none' != custom_menu ) { return true; } return false; } } ], /** * Blog */ 'astra-settings[blog-width]' : [ { controls: [ 'astra-settings[blog-max-width]' ], callback: function( blog_width ) { if ( 'custom' == blog_width ) { return true; } return false; } } ], 'astra-settings[blog-post-structure]' : [ { controls: [ 'astra-settings[blog-meta]', ], callback: function( blog_structure ) { if ( jQuery.inArray ( "title-meta", blog_structure ) !== -1 ) { return true; } return false; } } ], /** * Blog Single */ 'astra-settings[blog-single-post-structure]' : [ { controls: [ 'astra-settings[blog-single-meta]', ], callback: function( blog_structure ) { if ( jQuery.inArray ( "single-title-meta", blog_structure ) !== -1 ) { return true; } return false; } } ], 'astra-settings[blog-single-width]' : [ { controls: [ 'astra-settings[blog-single-max-width]' ], callback: function( blog_width ) { if ( 'custom' == blog_width ) { return true; } return false; } } ], 'astra-settings[blog-single-meta]' : [ { controls: [ 'astra-settings[blog-single-meta-comments]', 'astra-settings[blog-single-meta-cat]', 'astra-settings[blog-single-meta-author]', 'astra-settings[blog-single-meta-date]', 'astra-settings[blog-single-meta-tag]', ], callback: function( enable_postmeta ) { if ( '1' == enable_postmeta ) { return true; } return false; } } ], /** * Small Footer */ 'astra-settings[footer-sml-layout]' : [ { controls: [ 'astra-settings[footer-sml-section-1]', 'astra-settings[footer-sml-section-2]', 'astra-settings[section-ast-small-footer-background-styling]', 'astra-settings[ast-small-footer-color]', 'astra-settings[ast-small-footer-link-color]', 'astra-settings[ast-small-footer-link-hover-color]', 'astra-settings[ast-small-footer-bg-img]', 'astra-settings[section-ast-small-footer-typography]', 'astra-settings[ast-small-footer-text-font]', 'astra-settings[footer-sml-divider]', 'astra-settings[section-ast-small-footer-layout-info]', 'astra-settings[footer-layout-width]', 'astra-settings[footer-color]', 'astra-settings[footer-link-color]', 'astra-settings[footer-link-h-color]', 'astra-settings[footer-bg-color]', 'astra-settings[divider-footer-image]', ], callback: function( small_footer_layout ) { if ( 'disabled' != small_footer_layout ) { return true; } return false; } }, { controls: [ 'astra-settings[footer-sml-section-1-credit]', ], callback: function( small_footer_layout ) { var footer_section_1 = api( 'astra-settings[footer-sml-section-1]' ).get(); if ( 'disabled' != small_footer_layout && 'custom' == footer_section_1 ) { return true; } return false; } }, { controls: [ 'astra-settings[footer-sml-section-2-credit]', ], callback: function( small_footer_layout ) { var footer_section_2 = api( 'astra-settings[footer-sml-section-2]' ).get(); if ( 'disabled' != small_footer_layout && 'custom' == footer_section_2 ) { return true; } return false; } }, { controls: [ 'astra-settings[footer-sml-divider-color]', ], callback: function( small_footer_layout ) { var border_width = api( 'astra-settings[footer-sml-divider]' ).get(); if ( '1' <= border_width && 'disabled' != small_footer_layout ) { return true; } return false; } }, ], 'astra-settings[footer-sml-section-1]' : [ { controls: [ 'astra-settings[footer-sml-section-1-credit]', ], callback: function( enabled_section_1 ) { var footer_layout = api( 'astra-settings[footer-sml-layout]' ).get(); if ( 'custom' == enabled_section_1 && 'disabled' != footer_layout ) { return true; } return false; } } ], 'astra-settings[footer-sml-section-2]' : [ { controls: [ 'astra-settings[footer-sml-section-2-credit]', ], callback: function( enabled_section_2 ) { var footer_layout = api( 'astra-settings[footer-sml-layout]' ).get(); if ( 'custom' == enabled_section_2 && 'disabled' != footer_layout ) { return true; } return false; } } ], 'astra-settings[footer-sml-divider]' : [ { controls: [ 'astra-settings[footer-sml-divider-color]', ], callback: function( border_width ) { var footer_layout = api( 'astra-settings[footer-sml-layout]' ).get(); if ( '1' <= border_width && 'disabled' != footer_layout ) { return true; } return false; } }, ], 'astra-settings[header-main-sep]' : [ { controls: [ 'astra-settings[header-main-sep-color]', ], callback: function( border_width ) { if ( '1' <= border_width ) { return true; } return false; } }, ], 'astra-settings[disable-primary-nav]' : [ { controls: [ 'astra-settings[header-main-menu-label]', 'astra-settings[header-main-menu-label-divider]', ], callback: function( menu ) { var custom_menu = api( 'astra-settings[header-main-rt-section]' ).get(); if ( !menu || 'none' != custom_menu) { return true; } return false; } }, ], /** * Footer Widgets */ 'astra-settings[footer-adv]' : [ { controls: [ 'astra-settings[footer-adv-background-divider]', 'astra-settings[footer-adv-wgt-title-color]', 'astra-settings[footer-adv-text-color]', 'astra-settings[footer-adv-link-color]', 'astra-settings[footer-adv-link-h-color]', 'astra-settings[footer-adv-bg-color]', ], callback: function( footer_widget_area ) { if ( 'disabled' != footer_widget_area ) { return true; } return false; } }, ], 'astra-settings[shop-archive-width]' : [ { controls: [ 'astra-settings[shop-archive-max-width]' ], callback: function( blog_width ) { if ( 'custom' == blog_width ) { return true; } return false; } } ], }; } )( jQuery );