WordPress.org

Make WordPress Core

Ticket #21247: 21247-3.patch

File 21247-3.patch, 2.8 KB (added by azaozz, 22 months ago)
  • wp-admin/js/widgets.dev.js

     
    3131                        $(this).css( 'minHeight', h + 'px' ); 
    3232                }); 
    3333 
    34                 $('a.widget-action').live('click', function(){ 
    35                         var css = {}, widget = $(this).closest('div.widget'), inside = widget.children('.widget-inside'), w = parseInt( widget.find('input.widget-width').val(), 10 ); 
     34                $(document.body).bind('click.widgets-toggle', function(e){ 
     35                        var target = $(e.target), css = {}, widget, inside, w; 
    3636 
    37                         if ( inside.is(':hidden') ) { 
    38                                 if ( w > 250 && inside.closest('div.widgets-sortables').length ) { 
    39                                         css['width'] = w + 30 + 'px'; 
    40                                         if ( inside.closest('div.widget-liquid-right').length ) 
    41                                                 css[margin] = 235 - w + 'px'; 
    42                                         widget.css(css); 
     37                        if ( target.parents('.widget-top').length && ! target.parents('#available-widgets').length ) { 
     38                                widget = target.closest('div.widget'); 
     39                                inside = widget.children('.widget-inside'); 
     40                                w = parseInt( widget.find('input.widget-width').val(), 10 ); 
     41 
     42                                if ( inside.is(':hidden') ) { 
     43                                        if ( w > 250 && inside.closest('div.widgets-sortables').length ) { 
     44                                                css['width'] = w + 30 + 'px'; 
     45                                                if ( inside.closest('div.widget-liquid-right').length ) 
     46                                                        css[margin] = 235 - w + 'px'; 
     47                                                widget.css(css); 
     48                                        } 
     49                                        wpWidgets.fixLabels(widget); 
     50                                        inside.slideDown('fast'); 
     51                                } else { 
     52                                        inside.slideUp('fast', function() { 
     53                                                widget.css({'width':'', margin:''}); 
     54                                        }); 
    4355                                } 
    44                                 wpWidgets.fixLabels(widget); 
    45                                 inside.slideDown('fast'); 
    46                         } else { 
    47                                 inside.slideUp('fast', function() { 
    48                                         widget.css({'width':'', margin:''}); 
    49                                 }); 
     56                                e.preventDefault(); 
     57                        } else if ( target.hasClass('widget-control-save') ) { 
     58                                wpWidgets.save( target.closest('div.widget'), 0, 1, 0 ); 
     59                                e.preventDefault(); 
     60                        } else if ( target.hasClass('widget-control-remove') ) { 
     61                                wpWidgets.save( target.closest('div.widget'), 1, 1, 0 ); 
     62                                e.preventDefault(); 
     63                        } else if ( target.hasClass('widget-control-close') ) { 
     64                                wpWidgets.close( target.closest('div.widget') ); 
     65                                e.preventDefault(); 
    5066                        } 
    51                         return false; 
    5267                }); 
    5368 
    54                 $('input.widget-control-save').live('click', function(){ 
    55                         wpWidgets.save( $(this).closest('div.widget'), 0, 1, 0 ); 
    56                         return false; 
    57                 }); 
    58  
    59                 $('a.widget-control-remove').live('click', function(){ 
    60                         wpWidgets.save( $(this).closest('div.widget'), 1, 1, 0 ); 
    61                         return false; 
    62                 }); 
    63  
    64                 $('a.widget-control-close').live('click', function(){ 
    65                         wpWidgets.close( $(this).closest('div.widget') ); 
    66                         return false; 
    67                 }); 
    68  
    6969                sidebars.children('.widget').each(function() { 
    7070                        wpWidgets.appendTitle(this); 
    7171                        if ( $('p.widget-error', this).length )