Current Path : /var/www/mainsite/new/wp-content/themes/neve/inc/customizer/controls/js/ |
Current File : /var/www/mainsite/new/wp-content/themes/neve/inc/customizer/controls/js/subcontrols-allowing.js |
( function( $, api ) { var control = api.Control.extend( { ready: function() { var control = this; control.container.find( '.buttonset' ).buttonset(); api.bind( 'ready',function () { api( control.id, function ( value ) { var func = function ( newval ) { var i, j, k, controlName, selector, currentControl, currentControl2, selector2, subControlsToShow, controlName2; var controls = control.params.subcontrols; var sectionName = control.section(); var sectionContainer = wp.customize.section( sectionName ).container; var currentValue = newval; var controlsToShow = controls[currentValue]; if( typeof control.params.parent !== 'undefined' ){ var parentName = control.params.parent; var parentControl = wp.customize.control( parentName ); if( typeof parentControl !== 'undefined' ){ var parentValue = parentControl.setting._value; var parentOptions = parentControl.params.subcontrols[parentValue]; if( typeof parentOptions !== 'undefined' && parentOptions.length === 0 ){ controlsToShow = []; } } } var allControlsArray = Object.values( controls ); allControlsArray = [].concat.apply( [], allControlsArray ); for ( i in allControlsArray ) { controlName = allControlsArray[i]; if ( controlName === 'widgets' ) { jQuery( sectionContainer ).children( 'li[class*="widget"]' ).css( 'display', 'none' ); } else { currentControl = wp.customize.control( controlName ); if( typeof currentControl.params.subcontrols !== 'undefined' ){ for ( j in currentControl.params.subcontrols ){ for( k in currentControl.params.subcontrols[j] ){ selector = api.control( currentControl.params.subcontrols[j][k] ).selector; jQuery( selector ).hide(); } } } if ( typeof currentControl === 'object' && currentControl.hasOwnProperty( selector ) ) { selector = currentControl.selector; jQuery( selector ).hide(); } } } for( i in controlsToShow ){ controlName = controlsToShow[i]; if( controlName === 'widgets' ){ jQuery( sectionContainer ).children( 'li[class*="widget"]' ).css( 'display', 'list-item' ); } else { currentControl = wp.customize.control( controlName ); if( typeof currentControl !== 'undefined' ){ selector = currentControl.selector; jQuery( selector ).show(); currentValue = currentControl.setting._value; if( typeof wp.customize.control( controlName ).params.subcontrols !== 'undefined' ){ subControlsToShow = wp.customize.control( controlName ).params.subcontrols[currentValue]; for( j in subControlsToShow ){ controlName2 = subControlsToShow[j]; currentControl2 = wp.customize.control( controlName2 ); if( typeof currentControl2 !== 'undefined' ){ selector2 = currentControl2.selector; jQuery( selector2 ).show(); } } } } } } }; func( value.get() ); value.bind( func ); } ); } ); } } ); api.controlConstructor['radio-image'] = control; api.controlConstructor['select-hiding'] = control; } )( jQuery, wp.customize );