Make WordPress Core

Ticket #21583: 21583.14.diff

File 21583.14.diff, 9.9 KB (added by ryan, 12 years ago)

Do over. screen-options-wrap and contextual-help-wrap outside of admin bar.

  • wp-includes/admin-bar.php

     
    657657        ) );
    658658}
    659659
     660function wp_admin_bar_screen_options( $wp_admin_bar ) {
     661
     662        if ( ! get_current_screen()->show_screen_options() )
     663                return;
     664
     665        $wp_admin_bar->add_menu( array(
     666                'parent' => 'top-secondary',
     667                'id'    => 'screen-options',
     668                'title' => '<span class="ab-icon"></span>',
     669                'href'  => '',
     670        ) );
     671}
     672
     673function wp_admin_bar_contextual_help( $wp_admin_bar ) {
     674        $wp_admin_bar->add_menu( array(
     675                'parent' => 'top-secondary',
     676                'id'    => 'screen-help',
     677                'title' => 'Help<span class="ab-icon"></span>',
     678                'href'  => '',
     679        ) );
     680}
     681
    660682/**
    661683 * Add secondary menus.
    662684 *
  • wp-includes/js/admin-bar.js

     
    1010                                node.attr('tabindex', '0').attr('tabindex', tab);
    1111                };
    1212
    13                 $('#wpadminbar').removeClass('nojq').removeClass('nojs').find('li.menupop').hoverIntent({
     13                $('#wpadminbar').removeClass('nojq').removeClass('nojs').find('li.menupop').not('.sticky').hoverIntent({
    1414                        over: function(e){
    1515                                $(this).addClass('hover');
     16                                heightCheck($(this));
    1617                        },
    1718                        out: function(e){
    1819                                $(this).removeClass('hover');
     
    2223                        interval: 100
    2324                });
    2425
     26                $('.sticky', '#wpadminbar').click(function(e){
     27                        e.preventDefault();
     28                        $(this).toggleClass('hover');
     29                });
     30
    2531                $('#wp-admin-bar-get-shortlink').click(function(e){
    2632                        e.preventDefault();
    2733                        $(this).addClass('selected').children('.shortlink-input').blur(function(){
     
    6672                        e.preventDefault();
    6773                        $('html, body').animate({ scrollTop: 0 }, 'fast');
    6874                });
     75               
     76               
    6977
    7078        });
     79       
     80        function heightCheck( menu ) {
     81                // Add overflow if sub menu height exceeds window height
     82                var wHeight = jQuery(window).height(),
     83                        toolbarPlusPadding = 28 + 23,
     84                        subWrapper = menu.find('.ab-sub-wrapper'),
     85                        subMenuHeight = subWrapper.height() + toolbarPlusPadding;
     86               
     87                if ( subMenuHeight > wHeight )
     88                        subWrapper.css({ 'overflow-y': 'auto', 'overflow-x': 'hidden', 'height': wHeight - toolbarPlusPadding + 'px'});
     89        }
     90       
    7191} else {
    7292        (function(d, w) {
    7393                var addEvent = function( obj, type, fn ) {
  • wp-includes/css/admin-bar.css

     
    1010        font: normal 13px/28px sans-serif;
    1111        color: #ccc;
    1212        text-shadow: #444 0px -1px 0px;
    13 }
     13} 
    1414
    1515#wpadminbar ul li:before,
    1616#wpadminbar ul li:after {
     
    517517}
    518518
    519519/**
     520 * Sticky menu toggle arrows
     521 */
     522#wpadminbar .sticky .sticky-indicator {
     523        position: relative;
     524        float: right;
     525        width: 20px;
     526        height: 16px;
     527        margin-top: 6px;
     528        background-image: url("../images/admin-bar-sprite.png");
     529        background-position: 0 -254px;
     530        background-repeat: no-repeat;
     531        cursor: pointer;
     532}
     533
     534#wpadminbar .sticky.hover .sticky-indicator {
     535        background-position: 0 -228px;
     536}
     537
     538/**
    520539 * WP Logo icon
    521540 */
    522541#wp-admin-bar-wp-logo > .ab-item .ab-icon {
     
    573592}
    574593
    575594/**
     595 * Screen Settings icon
     596 */
     597#wpadminbar #wp-admin-bar-screen-options > .ab-item .ab-icon {
     598        background-image: url(../images/admin-bar-sprite.png?d=20111130);
     599        background-position: -3px -252px;
     600        background-repeat: no-repeat;
     601}
     602
     603#wpadminbar.nojs #wp-admin-bar-screen-options:hover > .ab-item .ab-icon,
     604#wpadminbar #wp-admin-bar-screen-options.hover > .ab-item .ab-icon {
     605        background-image: url(../images/admin-bar-sprite.png?d=20111130);
     606        background-position: -3px -228px;
     607        background-repeat: no-repeat;
     608}
     609
     610/**
    576611 * Customize support classes
    577612 */
    578613.no-customize-support .hide-if-no-customize,
     
    590625        #wp-admin-bar-wp-logo > .ab-item .ab-icon,
    591626        #wp-admin-bar-updates > .ab-item .ab-icon,
    592627        #wp-admin-bar-comments > .ab-item .ab-icon,
    593         #wpadminbar #wp-admin-bar-new-content > .ab-item .ab-icon {
    594                 background-image: url(../images/admin-bar-sprite-2x.png?d=20120830);
    595                 background-size: 20px 220px;
     628        #wpadminbar #wp-admin-bar-new-content > .ab-item .ab-icon,
     629        #wpadminbar #wp-admin-bar-screen-options > .ab-item .ab-icon,
     630        #wpadminbar .sticky .sticky-indicator {
     631                background-image: url( "../images/admin-bar-sprite-2x.png?d=20120830" );
     632                background-size: 20px 276px;
    596633        }
    597634}
    598635
  • wp-includes/class-wp-admin-bar.php

     
    104104                        'parent' => false,
    105105                        'href'   => false,
    106106                        'group'  => false,
     107                        'sticky' => false,
    107108                        'meta'   => array(),
    108109                );
    109110
     
    396397
    397398                $is_parent = ! empty( $node->children );
    398399                $has_link  = ! empty( $node->href );
     400                $has_title = ! empty( $node->title );
     401                $is_sticky = $node->sticky === true ? true : false;
    399402
    400403                $tabindex = isset( $node->meta['tabindex'] ) ? (int) $node->meta['tabindex'] : '';
    401404                $aria_attributes = $tabindex ? 'tabindex="' . $tabindex . '"' : '';
     
    410413                if ( ! empty( $node->meta['class'] ) )
    411414                        $menuclass .= $node->meta['class'];
    412415
     416                if ( $is_sticky )
     417                        $menuclass .= 'sticky';
     418
    413419                if ( $menuclass )
    414420                        $menuclass = ' class="' . esc_attr( trim( $menuclass ) ) . '"';
    415421
    416422                ?>
    417423
    418424                <li id="<?php echo esc_attr( 'wp-admin-bar-' . $node->id ); ?>"<?php echo $menuclass; ?>><?php
    419                         if ( $has_link ):
    420                                 ?><a class="ab-item" <?php echo $aria_attributes; ?> href="<?php echo esc_url( $node->href ) ?>"<?php
    421                                         if ( ! empty( $node->meta['onclick'] ) ) :
    422                                                 ?> onclick="<?php echo esc_js( $node->meta['onclick'] ); ?>"<?php
     425                        if ( $has_title ):
     426                                if ( $has_link ):
     427                                        ?><a class="ab-item" <?php echo $aria_attributes; ?> href="<?php echo esc_url( $node->href ) ?>"<?php
     428                                                if ( ! empty( $node->meta['onclick'] ) ) :
     429                                                        ?> onclick="<?php echo esc_js( $node->meta['onclick'] ); ?>"<?php
     430                                                endif;
     431                                        if ( ! empty( $node->meta['target'] ) ) :
     432                                                ?> target="<?php echo esc_attr( $node->meta['target'] ); ?>"<?php
    423433                                        endif;
    424                                 if ( ! empty( $node->meta['target'] ) ) :
    425                                         ?> target="<?php echo esc_attr( $node->meta['target'] ); ?>"<?php
     434                                        if ( ! empty( $node->meta['title'] ) ) :
     435                                                ?> title="<?php echo esc_attr( $node->meta['title'] ); ?>"<?php
     436                                        endif;
     437                                        ?>><?php
     438                                else:
     439                                        ?><a href="#" onclick="return false;" class="ab-item ab-empty-item" <?php echo $aria_attributes;
     440                                        if ( ! empty( $node->meta['title'] ) ) :
     441                                                ?> title="<?php echo esc_attr( $node->meta['title'] ); ?>"<?php
     442                                        endif;
     443                                        ?>><?php
    426444                                endif;
    427                                 if ( ! empty( $node->meta['title'] ) ) :
    428                                         ?> title="<?php echo esc_attr( $node->meta['title'] ); ?>"<?php
     445       
     446                                echo $node->title;
     447
     448                                if ( $is_sticky ) :
     449                                        ?><span class="sticky-indicator"></span><?php
    429450                                endif;
    430                                 ?>><?php
    431                         else:
    432                                 ?><div class="ab-item ab-empty-item" <?php echo $aria_attributes;
    433                                 if ( ! empty( $node->meta['title'] ) ) :
    434                                         ?> title="<?php echo esc_attr( $node->meta['title'] ); ?>"<?php
     451
     452                                if ( $has_link ) :
     453                                        ?></a><?php
     454                                else:
     455                                        ?></a><?php
    435456                                endif;
    436                                 ?>><?php
    437457                        endif;
    438458
    439                         echo $node->title;
    440 
    441                         if ( $has_link ) :
    442                                 ?></a><?php
    443                         else:
    444                                 ?></div><?php
    445                         endif;
    446 
    447459                        if ( $is_parent ) :
    448460                                ?><div class="ab-sub-wrapper"><?php
    449461                                        foreach ( $node->children as $group ) {
     
    455467                        if ( ! empty( $node->meta['html'] ) )
    456468                                echo $node->meta['html'];
    457469
     470                        if ( ! empty( $node->meta['html_callback'] ) )
     471                                call_user_func( $node->meta['html_callback'] );
    458472                        ?>
    459473                </li><?php
    460474        }
     
    483497                }
    484498                add_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 80 );
    485499
     500                if ( is_admin() ) {
     501                        add_action( 'admin_bar_menu', 'wp_admin_bar_screen_options', 90 );
     502                        add_action( 'admin_bar_menu', 'wp_admin_bar_contextual_help', 90 );
     503                }
     504
    486505                add_action( 'admin_bar_menu', 'wp_admin_bar_add_secondary_groups', 200 );
    487506
    488507                do_action( 'add_admin_bar_menus' );
  • wp-admin/includes/screen.php

     
    784784
    785785                // Time to render!
    786786                ?>
    787                 <div id="screen-meta" class="metabox-prefs">
    788 
    789787                        <div id="contextual-help-wrap" class="<?php echo esc_attr( $help_class ); ?>" tabindex="-1" aria-label="<?php esc_attr_e('Contextual Help Tab'); ?>">
    790788                                <div id="contextual-help-back"></div>
    791789                                <div id="contextual-help-columns">
     
    863861                ?>
    864862                </div>
    865863                <?php
    866                 if ( ! $this->get_help_tabs() && ! $this->show_screen_options() )
    867                         return;
    868                 ?>
    869                 <div id="screen-meta-links">
    870                 <?php if ( $this->get_help_tabs() ) : ?>
    871                         <div id="contextual-help-link-wrap" class="hide-if-no-js screen-meta-toggle">
    872                         <a href="#contextual-help-wrap" id="contextual-help-link" class="show-settings" aria-controls="contextual-help-wrap" aria-expanded="false"><?php _e( 'Help' ); ?></a>
    873                         </div>
    874                 <?php endif;
    875                 if ( $this->show_screen_options() ) : ?>
    876                         <div id="screen-options-link-wrap" class="hide-if-no-js screen-meta-toggle">
    877                         <a href="#screen-options-wrap" id="show-settings-link" class="show-settings" aria-controls="screen-options-wrap" aria-expanded="false"><?php _e( 'Screen Options' ); ?></a>
    878                         </div>
    879                 <?php endif; ?>
    880                 </div>
    881                 <?php
    882864        }
    883865
    884866        public function show_screen_options() {
  • wp-admin/admin-header.php

     
    115115<div id="wpcontent">
    116116
    117117<?php
     118$current_screen->set_parentage( $parent_file );
    118119do_action('in_admin_header');
    119120?>
    120121
     
    122123<?php
    123124unset($title_class, $blog_name, $total_update_count, $update_title);
    124125
    125 $current_screen->set_parentage( $parent_file );
    126 
    127126?>
    128127
    129128<div id="wpbody-content" aria-label="<?php esc_attr_e('Main content'); ?>">