WordPress.org

Make WordPress Core

Ticket #46830: 46830.2.diff

File 46830.2.diff, 2.6 KB (added by donmhico, 9 months ago)

Changed @see to @link.

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

    diff --git src/js/_enqueues/wp/customize/nav-menus.js src/js/_enqueues/wp/customize/nav-menus.js
    index 19962019a7..f92e7919b3 100644
     
    18081808                                        $adjacentFocusTarget = control.container.nextAll( '.customize-control-nav_menu' ).find( '.add-new-menu-item' ).first();
    18091809                                }
    18101810
     1811                                /*
     1812                                 * If the menu item deleted is the only of it's instance left,
     1813                                 * remove the check icon of this menu item in the right panel.
     1814                                 *
     1815                                 * @link https://core.trac.wordpress.org/ticket/46830
     1816                                 */
     1817                                // Instance count of the menu item deleted.
     1818                                var instanceCounter          = 0;
     1819                                var deleteItemOriginalItemId = control.params.original_item_id;
     1820                                var addedItems               = control.getMenuControl().$sectionContent.find( '.menu-item' );
     1821
     1822                                _.each( addedItems, function( addedItem ) {
     1823                                        // This is because menu item that's deleted is just hidden.
     1824                                        if ( ! $( addedItem ).is( ':visible' ) ) {
     1825                                                return;
     1826                                        }
     1827
     1828                                        var menuItemId, menuItemControl, matches;
     1829                                               
     1830                                        matches = addedItem.getAttribute('id').match( /^customize-control-nav_menu_item-(-?\d+)$/, '' );
     1831                                        if ( ! matches ) {
     1832                                                return;
     1833                                        }
     1834
     1835                                        menuItemId = parseInt( matches[1], 10 );
     1836                                        menuItemControl = api.control( 'nav_menu_item[' + String( menuItemId ) + ']' );
     1837
     1838                                        // Check for duplicate menu items.
     1839                                        if ( menuItemControl && deleteItemOriginalItemId == menuItemControl.params.original_item_id ) {
     1840                                                instanceCounter++;
     1841                                        }
     1842                                } );
     1843
     1844                                if ( 1 >= instanceCounter ) {
     1845                                        // Revert the check icon to add icon.
     1846                                        var availableMenuItem = $( '#menu-item-tpl-' + control.params.original_item_id );
     1847                                        availableMenuItem.removeClass( 'selected' );
     1848                                        availableMenuItem.find( '.menu-item-handle' ).removeClass( 'item-added' );
     1849                                }
     1850
    18111851                                control.container.slideUp( function() {
    18121852                                        control.setting.set( false );
    18131853                                        wp.a11y.speak( api.Menus.data.l10n.itemDeleted );
     
    29582998                 * @returns {wp.customize.Menus.controlConstructor.nav_menu_item} The newly-created nav_menu_item control instance.
    29592999                 */
    29603000                addItemToMenu: function( item ) {
     3001                        var originalItemId = item.id || '';
     3002
    29613003                        var menuControl = this, customizeId, settingArgs, setting, menuItemControl, placeholderId, position = 0, priority = 10;
    29623004
    29633005                        _.each( menuControl.getMenuItemControls(), function( control ) {
     
    30023044                                settings: {
    30033045                                        'default': customizeId
    30043046                                },
    3005                                 menu_item_id: placeholderId
     3047                                menu_item_id: placeholderId,
     3048                                original_item_id: originalItemId
    30063049                        } );
    30073050
    30083051                        api.control.add( menuItemControl );