Make WordPress Core

Ticket #20614: 20614.diff

File 20614.diff, 3.4 KB (added by georgestephanis, 12 years ago)
  • wp-includes/js/admin-bar-menu-mobile.dev.js

     
     1if( 'undefined' != typeof( jQuery ) ){
     2
     3        jQuery(document).ready(function($){
     4
     5                var wpAdminBarChildren = $('#wpadminbar li.menupop');
     6                if( wpAdminBarChildren.length ){
     7
     8                        var wpAdminBarMobileHide = function(e){
     9                                if( ! $(e.target).closest('#wpadminbar').length ){
     10                                        wpAdminBarChildren.removeClass('hover');
     11                                        $(document.body).unbind( 'click', wpAdminBarMobileHide );
     12                                }
     13                        }
     14
     15                        wpAdminBarChildren.click(function(e){
     16                                if( ! $(this).hasClass('hover') ){
     17                                        e.preventDefault();
     18                                        wpAdminBarChildren.removeClass('hover');
     19                                        $(this).addClass('hover');
     20                                        $(document.body).bind( 'click', wpAdminBarMobileHide );
     21                                        return;
     22                                }
     23                        });
     24
     25                }
     26
     27                var wpAdminMenuChildren = $('#adminmenu > li.wp-has-submenu.wp-not-current-submenu');
     28                if( wpAdminMenuChildren.length ){
     29
     30                        var wpAdminMenuMobileHide = function(e){
     31                                if( ! $(e.target).closest('#adminmenu').length ){
     32                                        wpAdminMenuChildren.removeClass('hover').children('.wp-submenu.sub-open').removeClass('sub-open');
     33                                        $(document.body).unbind( 'click', wpAdminMenuMobileHide );
     34                                }
     35                        }
     36
     37                        wpAdminMenuChildren.click(function(e){
     38                                if( ! $(this).hasClass('hover') ){
     39                                        e.preventDefault();
     40                                        wpAdminMenuChildren.removeClass('hover').children('.wp-submenu.sub-open').removeClass('sub-open');
     41                                        $(this).addClass('hover').children('.wp-submenu').addClass('sub-open');
     42                                        $(document.body).bind( 'click', wpAdminMenuMobileHide );
     43                                        return;
     44                                }
     45                        });
     46
     47                }
     48        });
     49
     50}else{
     51
     52        // fallback?
     53
     54}
     55 No newline at end of file
  • wp-includes/script-loader.php

     
    272272        $scripts->add( 'site-search', "/wp-admin/js/site-search$suffix.js", array( 'jquery-ui-autocomplete' ), false, 1 );
    273273
    274274        $scripts->add( 'admin-bar', "/wp-includes/js/admin-bar$suffix.js", array(), false, 1 );
     275        $scripts->add( 'admin-bar-menu-mobile', "/wp-includes/js/admin-bar-menu-mobile$suffix.js", array(), false, 1 );
    275276
    276277        $scripts->add( 'wplink', "/wp-includes/js/wplink$suffix.js", array( 'jquery', 'wpdialogs' ), false, 1 );
    277278        $scripts->localize( 'wplink', 'wpLinkL10n', array(
  • wp-includes/class-wp-admin-bar.php

     
    4949
    5050                wp_enqueue_script( 'admin-bar' );
    5151                wp_enqueue_style( 'admin-bar' );
     52               
     53                if( isset( $GLOBALS['is_mobile'] ) && $GLOBALS['is_mobile'] ){
     54                        wp_enqueue_script( 'admin-bar-menu-mobile' );
     55                }
    5256
    5357                do_action( 'admin_bar_init' );
    5458        }
  • wp-admin/admin-header.php

     
    4545wp_enqueue_style( 'colors' );
    4646wp_enqueue_style( 'ie' );
    4747wp_enqueue_script('utils');
     48if ( wp_is_mobile() )
     49        wp_enqueue_script( 'admin-bar-menu-mobile' );
    4850
    4951$admin_body_class = preg_replace('/[^a-z0-9_-]+/i', '-', $hook_suffix);
    5052?>