WordPress.org

Make WordPress Core

Ticket #21247: 21247-3.patch

File 21247-3.patch, 2.8 KB (added by azaozz, 6 years 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 )