Make WordPress Core

Changeset 25708


Ignore:
Timestamp:
10/07/2013 01:37:00 PM (11 years ago)
Author:
nacin
Message:

Optimize the accessibility JS on the Menus screen to avoid browser crashes with very large menus.

props atimmer.
fixes #25112.

File:
1 edited

Legend:

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

    r25687 r25708  
    404404
    405405            // Hide all links by default
    406             $( '.menu-item-settings .field-move a' ).hide();
     406            $( '.menu-item-settings .field-move a' ).css( 'display', 'none' );
    407407
    408408            $( '.item-edit' ).each( function() {
     
    410410                    movement = [],
    411411                    availableMovement = '',
    412                     menuItem = $this.parents( 'li.menu-item' ).first(),
     412                    menuItem = $this.closest( 'li.menu-item' ).first(),
    413413                    depth = menuItem.menuItemDepth(),
    414414                    isPrimaryMenuItem = ( 0 === depth ),
    415                     itemName = $this.parents( '.menu-item-handle' ).find( '.menu-item-title' ).text(),
     415                    itemName = $this.closest( '.menu-item-handle' ).find( '.menu-item-title' ).text(),
    416416                    position = parseInt( menuItem.index() ),
    417417                    prevItemDepth = ( isPrimaryMenuItem ) ? depth : parseInt( depth - 1 ),
     
    424424                if ( 0 !== position ) {
    425425                    var thisLink = menuItem.find( '.menus-move-up' );
    426                     thisLink.prop( 'title', menus.moveUp ).show();
     426                    thisLink.prop( 'title', menus.moveUp ).css( 'display', 'inline' );
    427427                }
    428428
    429429                if ( 0 !== position && isPrimaryMenuItem ) {
    430430                    var thisLink = menuItem.find( '.menus-move-top' );
    431                     thisLink.prop( 'title', menus.moveToTop ).show();
     431                    thisLink.prop( 'title', menus.moveToTop ).css( 'display', 'inline' );
    432432                }
    433433
    434434                if ( position + 1 !== totalMenuItems && 0 !== position ) {
    435435                    var thisLink = menuItem.find( '.menus-move-down' );
    436                     thisLink.prop( 'title', menus.moveDown ).show();
     436                    thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
    437437                }
    438438
    439439                if ( 0 === position && 0 !== hasSameDepthSibling ) {
    440440                    var thisLink = menuItem.find( '.menus-move-down' );
    441                     thisLink.prop( 'title', menus.moveDown ).show();
     441                    thisLink.prop( 'title', menus.moveDown ).css( 'display', 'inline' );
    442442                }
    443443
     
    445445                    var thisLink = menuItem.find( '.menus-move-left' ),
    446446                        thisLinkText = menus.outFrom.replace( '%s', prevItemNameLeft );
    447                     thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).html( thisLinkText ).show();
     447                    thisLink.prop( 'title', menus.moveOutFrom.replace( '%s', prevItemNameLeft ) ).html( thisLinkText ).css( 'display', 'inline' );
    448448                }
    449449
     
    452452                        var thisLink = menuItem.find( '.menus-move-right' ),
    453453                            thisLinkText = menus.under.replace( '%s', prevItemNameRight );
    454                         thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).html( thisLinkText ).show();
     454                        thisLink.prop( 'title', menus.moveUnder.replace( '%s', prevItemNameRight ) ).html( thisLinkText ).css( 'display', 'inline' );
    455455                    }
    456456                }
Note: See TracChangeset for help on using the changeset viewer.