(function (api) { // Extends our custom section. api.sectionConstructor['business-roy'] = api.Section.extend({ // No events for this type of section. attachEvents: function () { }, // Always make the section active. isContextuallyActive: function () { return true; } }); })(wp.customize); jQuery(document).ready(function ($) { /******* * Header Menu Button */ wp.customize('businessroy_button_style', function (setting) { var ProgressBar = function (control) { var visibility = function () { if ('enable' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_hb_text', ProgressBar); }); /******* * Customizer Option Auto focus */ jQuery('h3.accordion-section-title').on('click', function () { var id = $(this).parent().attr('id'); if (id == '' || id == undefined) { return; } var is_panel = id.includes("panel"); var is_section = id.includes("section"); if (is_panel) { focus_item = id.replace('accordion-panel-', ''); history.pushState({}, null, '?autofocus[panel]=' + focus_item); } if (is_section) { focus_item = id.replace('accordion-section-', ''); history.pushState({}, null, '?autofocus[section]=' + focus_item); } }); /******* * slider type */ wp.customize('businessroy_slider_type', function (setting) { /** Default Slider Banner */ var defaultSlider = function (control) { var visibility = function () { if ('default' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; /** Advance Slider Banner */ var advanceSlider = function (control) { var visibility = function () { if ('advance' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; /** Slider Controls */ var setupControlSliderSettings = function (control) { var visibility = function () { if ('default' === setting.get() || 'advance' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_banner_sliders', defaultSlider); /** Advance Slider Banner */ wp.customize.control('businessroy_slider_advance_settings', advanceSlider); /** Slider Controls */ wp.customize.control('main_slider_controls', setupControlSliderSettings); wp.customize.control('businessroy_banner_overlay_color', setupControlSliderSettings); wp.customize.control('businessroy_caption_title_font_size_group', setupControlSliderSettings); wp.customize.control('businessroy_slider_caption_msg', setupControlSliderSettings); wp.customize.control('businessroy_caption_width_group', setupControlSliderSettings); wp.customize.control('businessroy_caption_title_align', setupControlSliderSettings); wp.customize.control('businessroy_banner_caption_overlay_color', setupControlSliderSettings); wp.customize.control('businessroy_slider_caption_alignment', setupControlSliderSettings); }); /******* * About Us Progress Bar */ wp.customize('businessroy_progress', function (setting) { var ProgressBar = function (control) { var visibility = function () { if ('enable' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_progressbar_item', ProgressBar); }); /******* * Call To Action */ wp.customize('businessroy_cta_style', function (setting) { var layout = function (control) { var visibility = function () { if ('classic' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_cta_layout', layout); }); wp.customize('businessroy_cta_style', function (setting) { var layout = function (control) { var visibility = function () { if ('cover' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_cta_width', layout); }); /******* * Features Server */ wp.customize('businessroy_promoservice_type', function (setting) { var setupControlDefault = function (control) { var visibility = function () { if ('default' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupControlAdvance = function (control) { var visibility = function () { if ('advance' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_promoservice', setupControlDefault); wp.customize.control('businessroy_promoservice_advance_settings', setupControlAdvance); }); wp.customize('businessroy_promoservice_style', function (setting) { var servicestyle = function (control) { var visibility = function () { if ('style1' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_promo_service_icon', servicestyle); wp.customize.control('businessroy_promoservice_show_image', servicestyle); }); wp.customize('businessroy_promoservice_show_icon', function (setting) { var icon = function (control) { var visibility = function () { if ('enable' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_promoservice_icon_style', icon); }); /******* * Service */ wp.customize('businessroy_service_type', function (setting) { var setupControlDefault = function (control) { var visibility = function () { if ('default' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupControlAdvance = function (control) { var visibility = function () { if ('advance' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_service_button', setupControlDefault); wp.customize.control('businessroy_service', setupControlDefault); wp.customize.control('businessroy_service_advance_settings', setupControlAdvance); }); wp.customize('businessroy_service_layout', function (setting) { var featuresImage = function (control) { var visibility = function () { if ('style1' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_service_bg_url', featuresImage); }); /******* * How It Works */ wp.customize('businessroy_how_it_works_type', function (setting) { var setupControlItDefault = function (control) { var visibility = function () { if ('default' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupControlItAdvance = function (control) { var visibility = function () { if ('advance' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_how_it_works_page', setupControlItDefault); wp.customize.control('businessroy_how_it_works_advance_settings', setupControlItAdvance); }); /******* * Testimonials */ wp.customize('businessroy_testimonial_type', function (setting) { var setupControlDefault = function (control) { var visibility = function () { if ('default' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupControlAdvance = function (control) { var visibility = function () { if ('advance' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_testimonial_page', setupControlDefault); wp.customize.control('businessroy_testimonial_advance_settings', setupControlAdvance); }); /******* * Team Member */ wp.customize('businessroy_team_type', function (setting) { var setupControlDefault = function (control) { var visibility = function () { if ('default' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupControlAdvance = function (control) { var visibility = function () { if ('advance' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_team', setupControlDefault); wp.customize.control('businessroy_team_advance', setupControlAdvance); }); wp.customize('businessroy_team_style', function (setting) { var teamstyle = function (control) { var visibility = function () { if ('style2' !== setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_team_block_height', teamstyle); }); /******* * Contact section */ wp.customize('businessroy_show_contact_detail', function (setting) { var showSocial = function (control) { var visibility = function () { if ('enable' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_google_map_heading', showSocial); wp.customize.control('businessroy_latitude', showSocial); wp.customize.control('businessroy_longitude', showSocial); wp.customize.control('businessroy_google_map_api_generate', showSocial); wp.customize.control('businessroy_google_map_api', showSocial); wp.customize.control('businessroy_contact_details_heading', showSocial); wp.customize.control('businessroy_contact_title', showSocial); wp.customize.control('businessroy_contact_shortcode', showSocial); }); /******* * Social Icon Click Event */ $('body').on('click', '#customize-control-businessroy_topheader_social_link a, #customize-control-businessroy_topheader_social_color_link a, #customize-control-businessroy_social_link_left a', function (e) { e.preventDefault(); wp.customize.section('businessroy_social_section').expand(); return false; }); /******* * Select Multiple Category */ $('.customize-control-checkbox-multiple input[type="checkbox"]').on('change', function () { var checkbox_values = $(this).parents('.customize-control').find('input[type="checkbox"]:checked').map( function () { return $(this).val(); } ).get().join(','); $(this).parents('.customize-control').find('input[type="hidden"]').val(checkbox_values).trigger('change'); }); // Homepage section - control visiblity toggle var settingIds = ['slider', 'aboutus', 'highlight', 'promoservice', 'calltoaction', 'service', 'counter', 'video_calltoaction', 'recentwork', 'how_it_works', 'testimonial', 'team', 'client', 'contact', 'blog', 'customa', 'header', 'titlebar', 'footer']; $.each(settingIds, function (i, settingId) { wp.customize('businessroy_' + settingId + '_bg_type', function (setting) { var setupControlColorBg = function (control) { var visibility = function () { if ('color-bg' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupControlImageBg = function (control) { var visibility = function () { if ('image-bg' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupControlOverlay = function (control) { var visibility = function () { if ('none' === setting.get() || 'color-bg' === setting.get()) { control.container.addClass('customizer-hidden'); } else { control.container.removeClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_' + settingId + '_bg_color', setupControlColorBg); wp.customize.control('businessroy_' + settingId + '_bg_image', setupControlImageBg); wp.customize.control('businessroy_' + settingId + '_bg_image_url', setupControlImageBg); wp.customize.control('businessroy_' + settingId + '_overlay_color', setupControlOverlay); }); }); /******* * Disable Some Value in Customizer */ $.each(settingIds, function (i, settingId) { wp.customize('businessroy_' + settingId + '_section_seperator', function (setting) { var setupTopSeperator = function (control) { var visibility = function () { if ('top' === setting.get() || 'top-bottom' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; var setupBottomSeperator = function (control) { var visibility = function () { if ('bottom' === setting.get() || 'top-bottom' === setting.get()) { control.container.removeClass('customizer-hidden'); } else { control.container.addClass('customizer-hidden'); } }; visibility(); setting.bind(visibility); }; wp.customize.control('businessroy_' + settingId + '_seperator1', setupTopSeperator); wp.customize.control('businessroy_' + settingId + '_top_seperator', setupTopSeperator); wp.customize.control('businessroy_' + settingId + '_ts_color', setupTopSeperator); wp.customize.control('businessroy_' + settingId + '_ts_height', setupTopSeperator); wp.customize.control('businessroy_' + settingId + '_seperator2', setupBottomSeperator); wp.customize.control('businessroy_' + settingId + '_bottom_seperator', setupBottomSeperator); wp.customize.control('businessroy_' + settingId + '_bs_color', setupBottomSeperator); wp.customize.control('businessroy_' + settingId + '_bs_height', setupBottomSeperator); wp.customize.control('businessroy_' + settingId + '_bs_height_desktop', setupBottomSeperator); }); }); //Homepage Section Sortable function businessroy_sections_order(container) { var sections = $(container).sortable('toArray'); var sec_ordered = []; $.each(sections, function (index, sec_id) { sec_id = sec_id.replace("accordion-section-", ""); sec_ordered.push(sec_id); }); $.ajax({ url: ajaxurl, type: 'post', dataType: 'html', data: { 'action': 'businessroy_sections_reorder', 'sections': sec_ordered, } }).done(function (data) { $.each(sec_ordered, function (key, value) { wp.customize.section(value).priority(key); }); $(container).find('.businessroy_light-drag-spinner').hide(); wp.customize.previewer.refresh(); }); } $('#sub-accordion-panel-businessroy_frontpage_settings').sortable({ axis: 'y', helper: 'clone', cursor: 'move', items: '> li.control-section:not(#accordion-section-businessroy_slider_section)', delay: 150, update: function (event, ui) { $('#sub-accordion-panel-businessroy_frontpage_settings').find('.businessroy_light-drag-spinner').show(); businessroy_sections_order('#sub-accordion-panel-businessroy_frontpage_settings'); $('.wp-full-overlay-sidebar-content').scrollTop(0); } }); //Scroll to section $('body').on('click', '#sub-accordion-panel-businessroy_frontpage_settings .control-subsection .accordion-section-title', function (event) { var section_id = $(this).parent('.control-subsection').attr('id'); businessroy_ScrollToSection(section_id); }); }); function businessroy_ScrollToSection(section_id) { var preview_section_id = "banner-slider"; var $contents = jQuery('#customize-preview iframe').contents(); switch (section_id) { case 'sub-accordion-section-businessroy_slider_section': preview_section_id = "banner-slider"; break; case 'accordion-section-businessroy_aboutus_section': preview_section_id = "aboutus-section"; break; case 'accordion-section-businessroy_highlight_section': preview_section_id = "highlight-section"; break; case 'accordion-section-businessroy_promoservice_section': preview_section_id = "promoservice-section"; break; case 'accordion-section-businessroy_calltoaction_section': preview_section_id = "calltoaction-section"; break; case 'accordion-section-businessroy_service_section': preview_section_id = "service-section"; break; case 'accordion-section-businessroy_counter_section': preview_section_id = "counter-section"; break; case 'accordion-section-businessroy_video_calltoaction_section': preview_section_id = "video_calltoaction-section"; break; case 'accordion-section-businessroy_recentwork_section': preview_section_id = "recentwork-section"; break; case 'accordion-section-businessroy_how_it_works_section': preview_section_id = "how_it_works-section"; break; case 'accordion-section-businessroy_testimonial_section': preview_section_id = "testimonial-section"; break; case 'accordion-section-businessroy_team_section': preview_section_id = "team-section"; break; case 'accordion-section-businessroy_client_section': preview_section_id = "client-section"; break; case 'accordion-section-businessroy_blog_section': preview_section_id = "blog-section"; break; case 'accordion-section-businessroy_customa_section': preview_section_id = "customa-section"; break; case 'accordion-section-businessroy_contact_section': preview_section_id = "contact-section"; break; } if ($contents.find('#' + preview_section_id).length > 0) { $contents.find("html, body").animate({ scrollTop: $contents.find("#" + preview_section_id).offset().top }, 1000); } }