Make WordPress Core

Changeset 33030


Ignore:
Timestamp:
07/01/2015 04:43:02 PM (8 years ago)
Author:
ocean90
Message:

Customizer: Make reordering menu items via drag and drop easier.

Introduce wpNavMenu.options.targetTolerance to define a tolerance when dragging items where no margins between the sortable items exists.

props adamsilverstein.
fixes #32821.

Location:
trunk/src/wp-admin/js
Files:
2 edited

Legend:

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

    r32971 r33030  
    99    wpNavMenu.options.menuItemDepthPerLevel = 20;
    1010    wpNavMenu.options.sortableItems         = '> .customize-control-nav_menu_item';
     11    wpNavMenu.options.targetTolerance       = 10;
    1112    wpNavMenu.init = function() {
    1213        this.jQueryExtensions();
  • trunk/src/wp-admin/js/nav-menu.js

    r32745 r33030  
    2121        options : {
    2222            menuItemDepthPerLevel : 30, // Do not use directly. Use depthToPx and pxToDepth instead.
    23             globalMaxDepth : 11,
    24             sortableItems: '> *'
     23            globalMaxDepth:  11,
     24            sortableItems:   '> *',
     25            targetTolerance: 0
    2526        },
    2627
     
    439440                hasSameDepthSibling = menuItem.nextAll( '.menu-item-depth-' + depth ).length;
    440441
    441                 menuItem.find( '.field-move' ).toggle( totalMenuItems > 1 ); 
     442                menuItem.find( '.field-move' ).toggle( totalMenuItems > 1 );
    442443
    443444            // Where can they move this menu item?
     
    722723                        edge = api.isRTL ? offset.left + ui.helper.width() : offset.left,
    723724                        depth = api.negateIfRTL * api.pxToDepth( edge - menuEdge );
     725
    724726                    // Check and correct if depth is not within range.
    725727                    // Also, if the dragged element is dragged upwards over
    726728                    // an item, shift the placeholder to a child position.
    727                     if ( depth > maxDepth || offset.top < prevBottom ) depth = maxDepth;
    728                     else if ( depth < minDepth ) depth = minDepth;
     729                    if ( depth > maxDepth || offset.top < ( prevBottom - api.options.targetTolerance ) ) {
     730                        depth = maxDepth;
     731                    } else if ( depth < minDepth ) {
     732                        depth = minDepth;
     733                    }
    729734
    730735                    if( depth != currentDepth )
Note: See TracChangeset for help on using the changeset viewer.