WordPress.org

Make WordPress Core

Ticket #23449: 23449.19.diff

File 23449.19.diff, 3.7 KB (added by ocean90, 5 years ago)
  • wp-admin/css/wp-admin.css

     
    89978997        cursor: pointer;
    89988998}
    89998999
     9000.js .open .accordion-section-title {
     9001        cursor: default;
     9002}
     9003
    90009004.js .accordion-section-title:after {
    90019005        content: '';
    90029006        width: 0;
  • wp-admin/customize.php

     
    4646wp_user_settings();
    4747_wp_admin_html_begin();
    4848
    49 $body_class = 'wp-core-ui';
     49$body_class = 'wp-core-ui js';
    5050
    5151if ( wp_is_mobile() ) :
    5252        $body_class .= ' mobile';
     
    9090                        $cannot_expand = ! ( $screenshot || $wp_customize->theme()->get('Description') );
    9191                ?>
    9292
    93                 <div class="wp-full-overlay-sidebar-content" tabindex="-1">
    94                         <div id="customize-info" class="accordion-section<?php if ( $cannot_expand ) echo ' cannot-expand'; ?>">
     93                <div class="wp-full-overlay-sidebar-content accordion-container" tabindex="-1">
     94                        <div id="customize-info" class="accordion-section closable<?php if ( $cannot_expand ) echo ' cannot-expand'; ?>">
    9595                                <div class="accordion-section-title" aria-label="<?php esc_attr_e( 'Theme Customizer Options' ); ?>" tabindex="0">
    9696                                        <span class="preview-notice"><?php
    9797                                                /* translators: %s is the theme name in the Customize/Live Preview pane */
     
    111111                                <?php endif; ?>
    112112                        </div>
    113113
    114                         <div id="customize-theme-controls" class="accordion-container"><ul>
     114                        <div id="customize-theme-controls"><ul>
    115115                                <?php
    116116                                foreach ( $wp_customize->sections() as $section )
    117117                                        $section->maybe_render();
  • wp-admin/js/accordion.js

     
    99                        e.preventDefault(); // Keep this AFTER the key filter above
    1010
    1111                        accordionSwitch( $( this ) );
    12                         accordionCorners();
    1312                });
    1413
    1514                // Refresh selected accordion option when screen options are toggled
     
    2625        function accordionCorners () {
    2726                accordionOptions.removeClass( 'top bottom' );
    2827                accordionOptions.filter( ':visible' ).first().addClass( 'top' );
    29                 accordionOptions.filter( ':visible' ).last().addClass( 'bottom' ).find( sectionContent ).addClass('bottom');
    30         };
     28                accordionOptions.filter( ':visible' ).last().addClass( 'bottom' ).find( sectionContent ).addClass( 'bottom' );
     29        }
    3130
    3231        function accordionInit () {
    3332                accordionSwitch( accordionOptions.filter( ':visible' ).first() );
     
    3635
    3736        function accordionSwitch ( el ) {
    3837                var section = el.closest( '.accordion-section' ),
    39                     siblings = section.parent().find( '.open' ),
    40                     content = section.find( sectionContent );
     38                        siblings = section.closest( '.accordion-container' ).find( '.open' ),
     39                        content = section.find( sectionContent );
    4140
    4241                if ( section.hasClass( 'cannot-expand' ) )
    4342                        return;
    4443
    45                 siblings.removeClass( 'open' );
    46                 siblings.find( sectionContent ).show().slideUp( 150 );
    47                 content.toggle( section.hasClass( 'open' ) ).slideToggle( 150 );
    48                 section.toggleClass( 'open' );
     44                if ( section.hasClass( 'open' ) && ! section.hasClass( 'closable' ) ) {
     45                        return;
     46                } else if ( section.hasClass( 'open' ) && section.hasClass( 'closable' ) ) {
     47                        section.toggleClass( 'open' );
     48                        content.toggle( true ).slideToggle( 150 );
     49                } else {
     50                        siblings.removeClass( 'open' );
     51                        siblings.find( sectionContent ).show().slideUp( 150 );
     52                        content.toggle( false ).slideToggle( 150 );
     53                        section.toggleClass( 'open' );
     54                }
     55
     56                accordionCorners();
    4957        }
    5058
    5159        // Show the first accordion option by default