jQuery( document ).ready(function($) {
"use strict";
bingle_control_description();
function bingle_control_description() {
$( 'li.customize-control' ).each(function() {
var $this = $( this );
if ( $this.find( 'p' ).html() !== '' ) {
$this.find( 'p' ).replaceWith( '' + $this.find( 'p' ).text() + '' );
}
});
}
$( document ).on( 'click', '.customize_multi_add_field', bingle_customize_multi_add_field )
.on( 'change', '.customize_multi_single_field', bingle_customize_multi_single_field )
.on( 'click', '.customize_multi_remove_field', bingle_customize_multi_remove_field )
.on( 'keyup', '.box-model-field', bingle_box_model_change )
.on( 'change keyup', '.slider_input', bingle_slider_input_change );
/********* Multi Input Custom control ***********/
$( '.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();
$.each(multi_saved_values, function( index, value ) {
$this.find( '.customize_multi_fields' ).append( '
' );
});
}
});
function bingle_customize_multi_add_field(e) {
var $this = $( e.currentTarget );
e.preventDefault();
if ( ! $this.data( 'lockedAt' ) || + new Date() - $this.data( 'lockedAt' ) > 300 ) {
var $control = $this.parents( '.customize_multi_input' );
$control.find( '.customize_multi_fields' ).append( '
' );
bingle_customize_multi_write( $control );
}
$this.data( 'lockedAt', + new Date() );
}
function bingle_customize_multi_single_field() {
var $control = $( this ).parents( '.customize_multi_input' );
bingle_customize_multi_write( $control );
}
function bingle_customize_multi_remove_field(e) {
e.preventDefault();
var $this = $( this );
var $control = $this.parents( '.customize_multi_input' );
$this.parent().remove();
bingle_customize_multi_write( $control );
}
function bingle_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();
}
/********* Slider Custom control ***********/
$('.slider-range').each(function(){
var $slider = $(this);
var $sl_input = $slider.parent().find('.slider_input');
var suffix = ($sl_input.attr('suffix')) ? $sl_input.attr('suffix') : '';
var minM = ($sl_input.attr('min')) ? $sl_input.attr('min') : '0';
var maxM = ($sl_input.attr('max')) ? $sl_input.attr('max') : '100';
var stepM = ($sl_input.attr('step')) ? $sl_input.attr('step') : '1';
var saved_value = $slider.parent().find('.slider_input').val();
$slider.slider({
range: 'min',
value: ( saved_value > 0 ) ? saved_value : 0,
step: parseInt(stepM),
min: parseInt(minM),
max: parseInt(maxM),
slide: function(event, ui) {
var $this = $(this);
$this.parent().find('.slider_input').attr('value', ui.value)
.trigger('change');
$this.parent().find('.slider_value').html(ui.value + suffix);
}
});
});
function bingle_slider_input_change(){
var $this = $(this);
var value = $this.val();
var suffix = ($(this).attr('suffix')) ? $(this).attr('suffix') : '';
$this.parent().find('.slider-range').slider('value', parseInt(value));
$this.parent().find('.slider_value').html(value + suffix);
}
/********* Box Model Custom control ***********/
function bingle_box_model_change() {
var $parent = $(this).parents('.box-model-wrapper'),
$save_field = $parent.find('.box-model-saved'),
$input_fields = $parent.find('.box-model-field'),
saved_string = '';
$input_fields.each(function() {
var $field = $(this);
var field_value = $.isNumeric($field.val()) ? parseInt( $field.val(), 10 ) : '-';
if ($.isNumeric(field_value) || '-' === field_value) {
saved_string += field_value+', ';
}
});
$save_field.val(saved_string.replace(/,\s*$/, "")).trigger('change');
}
/* Bingle Sortable Elements */
$('.sortable-elements-wrap').sortable({
cursor: 'move',
axis: 'y',
update: function( event, ui ) {
bingle_elem_drag_change_val($(this));
}
});
$( '.sortable-elements-wrap .elem-drag .section-trigger' ).click(function(){
var parent_sel = $( this ).parent();
if( parent_sel.hasClass( 'section-disable' ) ) {
parent_sel.removeClass( 'section-disable' );
$(this).removeClass('dashicons-hidden').addClass( 'dashicons-visibility' );
}
else {
parent_sel.addClass( 'section-disable' );
$(this).removeClass('dashicons-visibility').addClass( 'dashicons-hidden' );
}
var myPar = $(this).parents('.sortable-elements-wrap');
bingle_elem_drag_change_val(myPar);
});
function bingle_elem_drag_change_val(parentEle){
var sortval = parentEle.sortable('toArray');
var sortval_arr = [];
$.each(sortval, function( index, areaId ) {
if(areaId!=''){
var mySec = parentEle.find('#'+areaId).find('h3').text();
var enable = '1';
if( parentEle.find('#'+areaId ).hasClass('section-disable') ){
enable = '0';
}
sortval_arr.push({'id':areaId,'name':mySec,'enable':enable});
}
});
var sortvalStr = JSON.stringify(sortval_arr);
parentEle.find('.sortable-val-store').val(sortvalStr);
parentEle.find('.sortable-val-store').trigger('change');
}
});