WordPress.org

Make WordPress Core

Ticket #21603: 21603.diff

File 21603.diff, 3.4 KB (added by welcher, 2 years ago)

Initial Patch

  • src/wp-admin/css/nav-menus.css

    diff --git src/wp-admin/css/nav-menus.css src/wp-admin/css/nav-menus.css
    index f9d2dec..cd0a3e1 100644
    body.menu-max-depth-11 { min-width: 1280px !important; } 
    549549/* Menu item controls */
    550550.item-type {
    551551        display: inline-block;
    552         padding: 12px 16px;
     552        padding: 12px 32px 12px 16px;
    553553        color: #666;
    554554        font-size: 12px;
    555555        line-height: 18px;
    body.menu-max-depth-11 { min-width: 1280px !important; } 
    588588        white-space: nowrap;
    589589}
    590590
     591.nav-menus-php .item-quick-delete {
     592        position: absolute;
     593        right: 0px;
     594        top: 0;
     595        display: block;
     596        width: 30px;
     597        height: 40px;
     598        margin-right: 0 !important;
     599        text-indent: 100%;
     600        outline: none;
     601        overflow: hidden;
     602        white-space: nowrap;
     603}
     604
     605
     606.nav-menus-php .item-quick-delete:before {
     607        margin-top: 10px;
     608        margin-left: 4px;
     609        width: 20px;
     610        -webkit-border-radius: 50%;
     611        border-radius: 50%;
     612        text-indent: -1px; /* account for the dashicon alignment */
     613}
     614
     615.nav-menus-php .item-quick-delete:before {
     616        content: "\f335";
     617        font: normal 20px/1 dashicons;
     618        speak: none;
     619        display: block;
     620        -webkit-font-smoothing: antialiased;
     621        -moz-osx-font-smoothing: grayscale;
     622        text-decoration: none !important;
     623}
     624
     625
     626
    591627.no-js.nav-menus-php .item-edit {
    592628        position: static;
    593629        float: right;
  • src/wp-admin/includes/class-walker-nav-menu-edit.php

    diff --git src/wp-admin/includes/class-walker-nav-menu-edit.php src/wp-admin/includes/class-walker-nav-menu-edit.php
    index 1f68576..763eccd 100644
    class Walker_Nav_Menu_Edit extends Walker_Nav_Menu { 
    143143                                                                );
    144144                                                        ?>" class="item-move-down" aria-label="<?php esc_attr_e( 'Move down' ) ?>">&#8595;</a>
    145145                                                </span>
     146                                                <a class="item-quick-delete" id="quick-delete-<?php echo $item_id; ?>" aria-label="<?php esc_attr_e( 'Remove Menu Item' ); ?>" href="#" style=""><?php _e( 'Remove' ); ?></a>
    146147                                                <a class="item-edit" id="edit-<?php echo $item_id; ?>" href="<?php
    147148                                                        echo ( isset( $_GET['edit-menu-item'] ) && $item_id == $_GET['edit-menu-item'] ) ? admin_url( 'nav-menus.php' ) : add_query_arg( 'edit-menu-item', $item_id, remove_query_arg( $removed_args, admin_url( 'nav-menus.php#menu-item-settings-' . $item_id ) ) );
    148149                                                ?>" aria-label="<?php esc_attr_e( 'Edit menu item' ); ?>"><?php _e( 'Edit' ); ?></a>
  • src/wp-admin/js/nav-menu.js

    diff --git src/wp-admin/js/nav-menu.js src/wp-admin/js/nav-menu.js
    index bcce09a..854386e 100644
    var wpNavMenu; 
    825825                                                return that.eventOnClickMenuDelete(e.target);
    826826                                        } else if ( -1 != e.target.className.indexOf('item-delete') ) {
    827827                                                return that.eventOnClickMenuItemDelete(e.target);
     828                                        } else if ( -1 != e.target.className.indexOf('item-quick-delete') ) {
     829                                                return that.eventOnClickMenuItemQuickDelete( e.target );
    828830                                        } else if ( -1 != e.target.className.indexOf('item-cancel') ) {
    829831                                                return that.eventOnClickCancelLink(e.target);
    830832                                        }
    var wpNavMenu; 
    11981200                        return false;
    11991201                },
    12001202
     1203                eventOnClickMenuItemQuickDelete : function(clickedEl) {
     1204                        var itemID = parseInt(clickedEl.id.replace('quick-delete-', ''), 10);
     1205                        api.removeMenuItem( $('#menu-item-' + itemID) );
     1206                        api.registerChange();
     1207                        return false;
     1208                },
     1209
    12011210                eventOnClickMenuItemDelete : function(clickedEl) {
    12021211                        var itemID = parseInt(clickedEl.id.replace('delete-', ''), 10);
    12031212                        api.removeMenuItem( $('#menu-item-' + itemID) );