/**
* Scripts within the customizer controls window.
*
*/
jQuery( document ).ready(function($) {
/********* Chosen Select Custom control ***********/
$(".blite-chosen-select").chosen({
width: "100%"
});
//Switch Control
$('body').on('click', '.onoffswitch', function(){
var $this = $(this);
if($this.hasClass('switch-on')){
$(this).removeClass('switch-on');
$this.next('input').val( false ).trigger('change')
}else{
$(this).addClass('switch-on');
$this.next('input').val( true ).trigger('change')
}
});
/********* Multi Input Custom control ***********/
$( document ).on( 'click', '.customize_multi_add_field', blite_customize_multi_add_field )
.on( 'change', '.customize_multi_single_field', blite_customize_multi_single_field )
.on( 'click', '.customize_multi_remove_field', blite_customize_multi_remove_field )
$( '.customize_multi_input' ).each(function() {
var $this = $( this );
var multi_saved_value = $this.find( '.customize_multi_value_field' ).val();
if (multi_saved_value.length > 0) {
var multi_saved_values = multi_saved_value.split( "|" );
$this.find( '.customize_multi_fields' ).empty();
var $control = $this.parents( '.customize_multi_input' );
$.each(multi_saved_values, function( index, value ) {
$this.find( '.customize_multi_fields' ).append( '
' );
});
}
});
function blite_customize_multi_add_field(e) {
var $this = $( e.currentTarget );
e.preventDefault();
var $control = $this.parents( '.customize_multi_input' );
$control.find( '.customize_multi_fields' ).append( '
' );
blite_customize_multi_write( $control );
}
function blite_customize_multi_single_field() {
var $control = $( this ).parents( '.customize_multi_input' );
blite_customize_multi_write( $control );
}
function blite_customize_multi_remove_field(e) {
e.preventDefault();
var $this = $( this );
var $control = $this.parents( '.customize_multi_input' );
$this.parent().remove();
blite_customize_multi_write( $control );
}
function blite_customize_multi_write( $element) {
var customize_multi_val = '';
$element.find( '.customize_multi_fields .customize_multi_single_field' ).each(function() {
customize_multi_val += $( this ).val() + '|';
});
$element.find( '.customize_multi_value_field' ).val( customize_multi_val.slice( 0, -1 ) ).change();
}
$(document).on("click", ".upload_image_button", function (e) {
e.preventDefault();
var $button = $(this);
// Create the media frame.
var file_frame = wp.media.frames.file_frame = wp.media({
title: 'Select or upload image',
library: { // remove these to show all
type: 'image' // specific mime
},
button: {
text: 'Select'
},
multiple: false // Set to true to allow multiple files to be selected
});
// When an image is selected, run a callback.
file_frame.on('select', function () {
// We set multiple to false so only get one image from the uploader
var attachment = file_frame.state().get('selection').first().toJSON();
$button.prev('input').val(attachment.url);
});
// Finally, open the modal
file_frame.open();
});
});
( function( api ) {
// Deep linking for menus
wp.customize.bind('ready', function() {
jQuery('a.menu_locations').click(function(e) {
e.preventDefault();
wp.customize.section( 'menu_locations' ).focus()
});
});
} )( wp.customize );
( function( api ) {
// upsell
api.sectionConstructor['upsell'] = api.Section.extend( {
// No events for this type of section.
attachEvents: function () {},
// Always make the section active.
isContextuallyActive: function () {
return true;
}
} );
} )( wp.customize );