WordPress.org

Make WordPress Core

Ticket #38953: 38953.diff

File 38953.diff, 1.2 KB (added by maguiar, 3 years ago)

Fixes menu delete button and prevents available menu items from closing when removing an item

  • src/wp-admin/js/customize-nav-menus.js

    diff --git src/wp-admin/js/customize-nav-menus.js src/wp-admin/js/customize-nav-menus.js
    index d06685d..9cd39c9 100644
     
    13311331                        this.container.find( '.menu-item-handle' ).on( 'click', function( e ) {
    13321332                                e.preventDefault();
    13331333                                e.stopPropagation();
    1334                                 api.Menus.availableMenuItemsPanel.close();
    1335                                 var menuControl = control.getMenuControl();
     1334                                var menuControl = control.getMenuControl(),
     1335                                        isDeleteBtn = $( e.target ).is( '.item-delete, .item-delete *' ),
     1336                                        isAddNewBtn = $( e.target ).is( '.add-new-menu-item, .add-new-menu-item *' );
     1337
     1338                                if ( $( 'body' ).hasClass( 'adding-menu-items' ) && ! isDeleteBtn && ! isAddNewBtn ) {
     1339                                        api.Menus.availableMenuItemsPanel.close();
     1340                                }
     1341
    13361342                                if ( menuControl.isReordering || menuControl.isSorting ) {
    13371343                                        return;
    13381344                                }
     
    22232229                                }
    22242230                        } );
    22252231
    2226                         control.container.find( '.menu-delete' ).on( 'click', function( event ) {
     2232                        control.container.find( '.menu-delete-item' ).on( 'click', function( event ) {
    22272233                                event.stopPropagation();
    22282234                                event.preventDefault();
    22292235                                control.setting.set( false );