File: //home/cca63905/.trash/wp-content/plugins/yith-woocommerce-compare/plugin-fw/assets/js/metabox.js
/**
* This file belongs to the YIT Framework.
*
* This source file is subject to the GNU GENERAL PUBLIC LICENSE (GPL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://www.gnu.org/licenses/gpl-3.0.txt
*/
( function ( $ ) {
$( '.metaboxes-tab' ).each( function () {
$( '.tabs-panel', this ).hide();
var active_tab = wpCookies.get( 'active_metabox_tab' );
if ( active_tab == null ) {
active_tab = $( 'ul.metaboxes-tabs li:first-child a', this ).attr( 'href' );
} else {
active_tab = '#' + active_tab;
}
$( active_tab ).show();
$( '.metaboxes-tabs a', this ).click( function ( e ) {
if ( $( this ).parent().hasClass( 'tabs' ) ) {
e.preventDefault();
return;
}
var t = $( this ).attr( 'href' );
$( this ).parent().addClass( 'tabs' ).siblings( 'li' ).removeClass( 'tabs' );
$( this ).closest( '.metaboxes-tab' ).find( '.tabs-panel' ).hide();
$( t ).show();
return false;
} );
} );
var act_page_option = $( '#_active_page_options-container' ).parent().html();
$( '#_active_page_options-container' ).parent().remove();
$( act_page_option ).insertAfter( '#yit-post-setting .handlediv' );
$( act_page_option ).insertAfter( '#yit-page-setting .handlediv' );
$( '#_active_page_options-container' ).on( 'click', function () {
if ( $( '#_active_page_options' ).is( ":checked" ) ) {
$( '#yit-page-setting .inside .metaboxes-tab, #yit-post-setting .inside .metaboxes-tab' ).css( {
'opacity' : 1,
'pointer-events': 'auto'
} );
} else {
$( '#yit-page-setting .inside .metaboxes-tab, #yit-post-setting .inside .metaboxes-tab' ).css( {
'opacity' : 0.5,
'pointer-events': 'none'
} );
}
} ).click();
//dependencies handler
$( document.body ).on( 'yith-plugin-fw-metabox-init-deps', function () {
$( document.body ).trigger( 'yith-plugin-fw-init-radio' );
$( '.metaboxes-tab [data-dep-target]:not(.yith-plugin-fw-metabox-deps-initialized)' ).each( function () {
var t = $( this );
var field = '#' + t.data( 'dep-target' ),
dep = '#' + t.data( 'dep-id' ),
value = t.data( 'dep-value' ),
type = t.data( 'dep-type' );
dependencies_handler( field, dep, value.toString(), type );
$( dep ).on( 'change', function () {
dependencies_handler( field, dep, value.toString(), type );
} ).change();
t.addClass( 'yith-plugin-fw-metabox-deps-initialized' );
} );
} ).trigger( 'yith-plugin-fw-metabox-init-deps' );
//Handle dependencies.
function dependencies_handler( id, deps, values, type ) {
var result = true;
//Single dependency
if ( typeof ( deps ) == 'string' ) {
if ( deps.substr( 0, 6 ) == ':radio' ) {
deps = deps + ':checked';
}
var val = $( deps ).val();
if ( $( deps ).attr( 'type' ) == 'checkbox' ) {
var thisCheck = $( deps );
if ( thisCheck.is( ':checked' ) ) {
val = 'yes';
} else {
val = 'no';
}
}
values = values.split( ',' );
for ( var i = 0; i < values.length; i++ ) {
if ( val != values[ i ] ) {
result = false;
} else {
result = true;
break;
}
}
}
var $current_field = $( id ),
$current_container = $( id + '-container' ).parent();
var types = type.split( '-' ), j;
for ( j in types ) {
var current_type = types[ j ];
if ( !result ) {
switch ( current_type ) {
case 'disable':
$current_container.addClass( 'yith-disabled' );
$current_field.attr( 'disabled', true );
break;
case 'hideme':
$current_field.hide();
break;
case 'fadeInOut':
case 'fadeOut':
$current_container.hide( 500 );
break;
case 'fadeIn':
$current_container.hide();
break;
default:
if( ! $current_container.hasClass('fade-in')){
$current_container.hide();
$current_container.css({'opacity':'0'});
}else{
$current_container.fadeTo("slow" , 0, function(){
$(this).hide().removeClass('fade-in');
});
}
}
} else {
switch ( current_type ) {
case 'disable':
$current_container.removeClass( 'yith-disabled' );
$current_field.attr( 'disabled', false );
break;
case 'hideme':
$current_field.show();
break;
case 'fadeInOut':
case 'fadeIn':
$current_container.show( 500 );
break;
case 'fadeOut':
$current_container.show();
break;
default:
$current_container.show();
$current_container.fadeTo("slow" , 1).addClass('fade-in');
}
}
}
}
} )( jQuery );