File: /var/www/lipovac/wp-content/plugins/redux-framework/ReduxCore/inc/fields/switch/field_switch.js
/*global redux_change, redux*/
/**
* Switch
* Dependencies : jquery
* Feature added by : Smartik - http://smartik.ws/
* Date : 03.17.2013
*/
(function( $ ) {
"use strict";
redux.field_objects = redux.field_objects || {};
redux.field_objects.switch = redux.field_objects.switch || {};
$( document ).ready(
function() {
//redux.field_objects.switch.init();
}
);
redux.field_objects.switch.init = function( selector ) {
if ( !selector ) {
selector = $( document ).find( ".redux-group-tab:visible" ).find( '.redux-container-switch:visible' );
}
$( selector ).each(
function() {
var el = $( this );
var parent = el;
if ( !el.hasClass( 'redux-field-container' ) ) {
parent = el.parents( '.redux-field-container:first' );
}
if ( parent.is( ":hidden" ) ) { // Skip hidden fields
return;
}
if ( parent.hasClass( 'redux-field-init' ) ) {
parent.removeClass( 'redux-field-init' );
} else {
return;
}
el.find( ".cb-enable" ).click(
function() {
if ( $( this ).hasClass( 'selected' ) ) {
return;
}
var parent = $( this ).parents( '.switch-options' );
$( '.cb-disable', parent ).removeClass( 'selected' );
$( this ).addClass( 'selected' );
$( '.checkbox-input', parent ).val( 1 ).trigger('change');
redux_change( $( '.checkbox-input', parent ) );
//fold/unfold related options
var obj = $( this );
var $fold = '.f_' + obj.data( 'id' );
el.find( $fold ).slideDown( 'normal', "swing" );
}
);
el.find( ".cb-disable" ).click(
function() {
if ( $( this ).hasClass( 'selected' ) ) {
return;
}
var parent = $( this ).parents( '.switch-options' );
$( '.cb-enable', parent ).removeClass( 'selected' );
$( this ).addClass( 'selected' );
$( '.checkbox-input', parent ).val( 0 ).trigger('change');
redux_change( $( '.checkbox-input', parent ) );
//fold/unfold related options
var obj = $( this );
var $fold = '.f_' + obj.data( 'id' );
el.find( $fold ).slideUp( 'normal', "swing" );
}
);
el.find( '.cb-enable span, .cb-disable span' ).find().attr( 'unselectable', 'on' );
}
);
};
})( jQuery );