WordPress.org

Make WordPress Core

Ticket #16972: 16972.5.diff

File 16972.5.diff, 1.1 KB (added by mdawaffe, 5 years ago)

Clone and Rename

  • wp-admin/js/postbox.js

     
    109109                                distance: 2,
    110110                                tolerance: 'pointer',
    111111                                forcePlaceholderSize: true,
    112                                 helper: 'clone',
     112                                helper: function( event, element ) {
     113                                        // `helper: 'clone'` is equilavalent to `return element.clone();`
     114                                        // Cloning a checked radio and then inserting that clone next to the original
     115                                        // radio unchecks the original radio (since only one of the two can be checked).
     116                                        // We get around this by renaming the helper's inputs' name attributes so that,
     117                                        // when the helper is inserted into the DOM for the sortable, no radios are
     118                                        // duplicated, and no original radio gets unchecked.
     119                                        return element.clone()
     120                                                .find( ':input' )
     121                                                        .attr( 'name', function( i, currentName ) {
     122                                                                return 'sort_' + parseInt( Math.random() * 100000, 10 ).toString() + '_' + currentName;
     123                                                        } )
     124                                                .end();
     125                                },
    113126                                opacity: 0.65,
    114127                                stop: function() {
    115128                                        var $el = $( this );