Make WordPress Core

Changeset 33056


Ignore:
Timestamp:
07/03/2015 03:28:15 AM (9 years ago)
Author:
helen
Message:

Toolbar: Allow submenus to be closed with a second tap on touch devices.

Also closes submenus when the admin menu is toggled open, as it opens below and thus can be obscured.

props stephdau, seanchayes.
see #29906.

Location:
trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/css/admin-menu.css

    r32946 r33056  
    921921        box-sizing: border-box;
    922922    }
     923
     924    .wp-responsive-open #wpadminbar #wp-admin-bar-menu-toggle .ab-icon:before {
     925        color: #00b9eb;
     926    }
    923927}
    924928
  • trunk/src/wp-admin/js/common.js

    r33016 r33056  
    753753            $( '#wp-admin-bar-menu-toggle' ).on( 'click.wp-responsive', function( event ) {
    754754                event.preventDefault();
     755
     756                // close any open toolbar submenus
     757                $adminbar.find( '.hover' ).removeClass( 'hover' );
     758
    755759                $wpwrap.toggleClass( 'wp-responsive-open' );
    756760                if ( $wpwrap.hasClass( 'wp-responsive-open' ) ) {
  • trunk/src/wp-includes/css/admin-bar.css

    r32750 r33056  
    208208}
    209209
    210 #wpadminbar .ab-top-menu > li > .ab-item:focus,
     210#wpadminbar:not(.mobile) .ab-top-menu > li > .ab-item:focus,
    211211#wpadminbar.nojq .quicklinks .ab-top-menu > li > .ab-item:focus,
    212 #wpadminbar .ab-top-menu > li:hover > .ab-item,
     212#wpadminbar:not(.mobile) .ab-top-menu > li:hover > .ab-item,
    213213#wpadminbar .ab-top-menu > li.hover > .ab-item {
    214214    background: #32373c;
     
    216216}
    217217
    218 #wpadminbar > #wp-toolbar li:hover span.ab-label,
     218#wpadminbar:not(.mobile) > #wp-toolbar li:hover span.ab-label,
    219219#wpadminbar > #wp-toolbar li.hover span.ab-label,
    220 #wpadminbar > #wp-toolbar a:focus span.ab-label {
     220#wpadminbar:not(.mobile) > #wp-toolbar a:focus span.ab-label {
    221221    color: #00b9eb;
    222222}
     
    285285#wpadminbar li:hover #adminbarsearch:before,
    286286#wpadminbar li #adminbarsearch.adminbar-focused:before {
     287    color: #00b9eb;
     288}
     289
     290#wpadminbar.mobile .quicklinks .ab-icon:before,
     291#wpadminbar.mobile .quicklinks .ab-item:before {
     292    color: #b4b9be;
     293}
     294
     295#wpadminbar.mobile .quicklinks .hover .ab-icon:before,
     296#wpadminbar.mobile .quicklinks .hover .ab-item:before {
    287297    color: #00b9eb;
    288298}
  • trunk/src/wp-includes/js/admin-bar.js

    r32074 r33056  
    2929                    e.preventDefault();
    3030                    el.addClass('hover');
     31                } else if ( ! $( e.target ).closest( 'div' ).hasClass( 'ab-sub-wrapper' ) ) {
     32                    // We're dealing with an already-touch-opened menu genericon (we know el.hasClass('hover')),
     33                    // so close it on a second tap and prevent propag and defaults. See #29906
     34                    e.stopPropagation();
     35                    e.preventDefault();
     36                    el.removeClass('hover');
    3137                }
    3238
     
    125131
    126132        $('#wpadminbar').click( function(e) {
    127             if ( e.target.id != 'wpadminbar' && e.target.id != 'wp-admin-bar-top-secondary' )
    128                 return;
     133            if ( e.target.id != 'wpadminbar' && e.target.id != 'wp-admin-bar-top-secondary' ) {
     134                return;
     135            } else {
     136                adminbar.find( 'li.menupop.hover' ).removeClass( 'hover' );
     137                e.stopPropagation();
     138                return;
     139            }
    129140
    130141            e.preventDefault();
Note: See TracChangeset for help on using the changeset viewer.