Вход Регистрация
Файл: wordpress/wp-content/themes/twentyfifteen/js/color-scheme-control.js
Строк: 76
<?php
/* global colorScheme, Color */
/**
 * Add a listener to the Color Scheme control to update other color controls to new values/defaults.
 * Also trigger an update of the Color Scheme CSS when a color is changed.
 */

( function( api ) {
    var 
cssTemplate = wp.template( 'twentyfifteen-color-scheme' ),
        
colorSchemeKeys = [
            
'background_color',
            
'header_background_color',
            
'box_background_color',
            
'textcolor',
            
'sidebar_textcolor',
            
'meta_box_background_color'
        
],
        
colorSettings = [
            
'background_color',
            
'header_background_color',
            
'sidebar_textcolor'
        
];

    
api.controlConstructor.select = api.Control.extend( {
        
ready: function() {
            if ( 
'color_scheme' === this.id ) {
                
this.setting.bind( 'change', function( value ) {
                    
// Update Background Color.
                    
api( 'background_color' ).set( colorScheme[value].colors[0] );
                    
api.control( 'background_color' ).container.find( '.color-picker-hex' )
                        .
data( 'data-default-color', colorScheme[value].colors[0] )
                        .
wpColorPicker( 'defaultColor', colorScheme[value].colors[0] );

                    
// Update Header/Sidebar Background Color.
                    
api( 'header_background_color' ).set( colorScheme[value].colors[1] );
                    
api.control( 'header_background_color' ).container.find( '.color-picker-hex' )
                        .
data( 'data-default-color', colorScheme[value].colors[1] )
                        .
wpColorPicker( 'defaultColor', colorScheme[value].colors[1] );

                    
// Update Header/Sidebar Text Color.
                    
api( 'sidebar_textcolor' ).set( colorScheme[value].colors[4] );
                    
api.control( 'sidebar_textcolor' ).container.find( '.color-picker-hex' )
                        .
data( 'data-default-color', colorScheme[value].colors[4] )
                        .
wpColorPicker( 'defaultColor', colorScheme[value].colors[4] );
                } );
            }
        }
    } );

    
// Generate the CSS for the current Color Scheme.
    
function updateCSS() {
        var 
scheme = api( 'color_scheme' )(), css,
            
colors = _.object( colorSchemeKeys, colorScheme[ scheme ].colors );

        
// Merge in color scheme overrides.
        
_.each( colorSettings, function( setting ) {
            
colors[ setting ] = api( setting )();
        });

        
// Add additional colors.
        
colors.secondary_textcolor = Color( colors.textcolor ).toCSS( 'rgba', 0.7 );
        
colors.border_color = Color( colors.textcolor ).toCSS( 'rgba', 0.1 );
        
colors.border_focus_color = Color( colors.textcolor ).toCSS( 'rgba', 0.3 );
        
colors.secondary_sidebar_textcolor = Color( colors.sidebar_textcolor ).toCSS( 'rgba', 0.7 );
        
colors.sidebar_border_color = Color( colors.sidebar_textcolor ).toCSS( 'rgba', 0.1 );
        
colors.sidebar_border_focus_color = Color( colors.sidebar_textcolor ).toCSS( 'rgba', 0.3 );

        
css = cssTemplate( colors );

        
api.previewer.send( 'update-color-scheme-css', css );
    }

    
// Update the CSS whenever a color setting is changed.
    
_.each( colorSettings, function( setting ) {
        
api( setting, function( setting ) {
            
setting.bind( updateCSS );
        } );
    } );
} )( 
wp.customize );
?>
Онлайн: 4
Реклама