Make WordPress Core

Ticket #32710: 32710.5.diff

File 32710.5.diff, 4.7 KB (added by helen, 9 years ago)
  • src/wp-admin/css/customize-nav-menus.css

     
    596596        bottom: 0;
    597597        left: -301px;
    598598        visibility: hidden;
    599         overflow: hidden;
     599        overflow-x: hidden;
     600        overflow-y: auto;
    600601        width: 300px;
    601602        margin: 0;
    602603        z-index: 4;
     
    610611        overflow-y: auto;
    611612}
    612613
     614#available-menu-items #available-menu-items-search.open {
     615        border-bottom: none;
     616}
     617
    613618#available-menu-items .accordion-section-title {
    614619        border-left: none;
    615620        border-right: none;
    616621        background: #fff;
    617622}
    618623
    619 #available-menu-items .open .accordion-section-title {
     624#available-menu-items .open .accordion-section-title,
     625#available-menu-items #available-menu-items-search .accordion-section-title {
    620626        background: #eee;
    621627}
    622628
     
    708714        max-height: 290px;
    709715}
    710716
     717#available-menu-items #available-menu-items-search .accordion-section-content {
     718        max-height: none;
     719}
     720
    711721#available-menu-items .menu-item-tpl {
    712722        margin: 0;
    713723}
  • src/wp-admin/js/customize-nav-menus.js

     
    9696                events: {
    9797                        'input #menu-items-search': 'debounceSearch',
    9898                        'keyup #menu-items-search': 'debounceSearch',
    99                         'click #menu-items-search': 'debounceSearch',
    10099                        'focus .menu-item-tpl': 'focus',
    101100                        'click .menu-item-tpl': '_submit',
    102101                        'click #custom-menu-item-submit': '_submitLink',
     
    176175                // Search input change handler.
    177176                search: function( event ) {
    178177                        var $searchSection = $( '#available-menu-items-search' ),
    179                                 $openSections = $( '#available-menu-items .accordion-section.open' );
     178                                $otherSections = $( '#available-menu-items .accordion-section' ).not( $searchSection );
    180179
    181180                        if ( ! event ) {
    182181                                return;
    183182                        }
    184                         // Manual accordion-opening behavior.
    185                         if ( this.searchTerm && ! $searchSection.hasClass( 'open' ) ) {
    186                                 $openSections.find( '.accordion-section-content' ).slideUp( 'fast' );
     183
     184                        if ( this.searchTerm === event.target.value ) {
     185                                return;
     186                        }
     187
     188                        if ( '' !== event.target.value && ! $searchSection.hasClass( 'open' ) ) {
     189                                $otherSections.fadeOut();
    187190                                $searchSection.find( '.accordion-section-content' ).slideDown( 'fast' );
    188                                 $openSections.find( '[aria-expanded]' ).first().attr( 'aria-expanded', 'false' );
    189                                 $openSections.removeClass( 'open' );
    190191                                $searchSection.addClass( 'open' );
    191                         }
    192                         if ( '' === event.target.value ) {
     192                        } else if ( '' === event.target.value ) {
    193193                                $searchSection.removeClass( 'open' );
     194                                $otherSections.fadeIn();
    194195                        }
    195                         if ( this.searchTerm === event.target.value ) {
    196                                 return;
    197                         }
     196                       
    198197                        this.searchTerm = event.target.value;
    199198                        this.pages.search = 1;
    200199                        this.doSearch( 1 );
     
    264263                        self.currentRequest.fail(function( data ) {
    265264                                // data.message may be undefined, for example when typing slow and the request is aborted.
    266265                                if ( data.message ) {
    267                                         $content.empty().append( $( '<p class="nothing-found"></p>' ).text( data.message ) );
     266                                        $content.empty().append( $( '<div class="nothing-found"></p>' ).html( data.message ) );
    268267                                        wp.a11y.speak( data.message );
    269268                                }
    270269                                self.pages.search = -1;
  • src/wp-includes/class-wp-customize-nav-menus.php

     
    217217                $items = $this->search_available_items_query( array( 'pagenum' => $p, 's' => $s ) );
    218218
    219219                if ( empty( $items ) ) {
    220                         wp_send_json_error( array( 'message' => __( 'No menu items found.' ) ) );
     220                        wp_send_json_error( array( 'message' => '<p>' . __( 'No results found.' ) . '</p><p>' . __( 'You must create and publish content before you can add it as a menu item. You can also add links to external sites in the Custom Links section.' ) . '</p>' ) );
    221221                } else {
    222222                        wp_send_json_success( array( 'items' => $items ) );
    223223                }
  • tests/phpunit/tests/ajax/CustomizeMenus.php

     
    520520                                array(
    521521                                        'success' => false,
    522522                                        'data'    => array(
    523                                                 'message' => 'No menu items found.',
     523                                                'message' => '<p>No menu items found.</p><p>You must create and publish content before you can add it as a menu item. You can also add links to external sites in the Custom Links section.</p>',
    524524                                        ),
    525525                                ),
    526526                        ),