From 3c0c21747a6fc6a0cacfaca38c82283441d2f52d Mon Sep 17 00:00:00 2001 From: azaozz Date: Wed, 18 Jul 2012 22:41:43 +0000 Subject: [PATCH] Widgets UI: make the whole "header" clickable to open/close the widget (same as postboxes), remove deprecated jQuery .live(), part props lessbloat, fixes #21247 git-svn-id: http://core.svn.wordpress.org/trunk@21281 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/js/widgets.dev.js | 60 +++++++++++++++++++------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/wp-admin/js/widgets.dev.js b/wp-admin/js/widgets.dev.js index 65403b3e9e..1092e235f5 100644 --- a/wp-admin/js/widgets.dev.js +++ b/wp-admin/js/widgets.dev.js @@ -31,39 +31,39 @@ wpWidgets = { $(this).css( 'minHeight', h + 'px' ); }); - $('a.widget-action').live('click', function(){ - var css = {}, widget = $(this).closest('div.widget'), inside = widget.children('.widget-inside'), w = parseInt( widget.find('input.widget-width').val(), 10 ); + $(document.body).bind('click.widgets-toggle', function(e){ + var target = $(e.target), css = {}, widget, inside, w; - if ( inside.is(':hidden') ) { - if ( w > 250 && inside.closest('div.widgets-sortables').length ) { - css['width'] = w + 30 + 'px'; - if ( inside.closest('div.widget-liquid-right').length ) - css[margin] = 235 - w + 'px'; - widget.css(css); + if ( target.parents('.widget-top').length && ! target.parents('#available-widgets').length ) { + widget = target.closest('div.widget'); + inside = widget.children('.widget-inside'); + w = parseInt( widget.find('input.widget-width').val(), 10 ); + + if ( inside.is(':hidden') ) { + if ( w > 250 && inside.closest('div.widgets-sortables').length ) { + css['width'] = w + 30 + 'px'; + if ( inside.closest('div.widget-liquid-right').length ) + css[margin] = 235 - w + 'px'; + widget.css(css); + } + wpWidgets.fixLabels(widget); + inside.slideDown('fast'); + } else { + inside.slideUp('fast', function() { + widget.css({'width':'', margin:''}); + }); } - wpWidgets.fixLabels(widget); - inside.slideDown('fast'); - } else { - inside.slideUp('fast', function() { - widget.css({'width':'', margin:''}); - }); + e.preventDefault(); + } else if ( target.hasClass('widget-control-save') ) { + wpWidgets.save( target.closest('div.widget'), 0, 1, 0 ); + e.preventDefault(); + } else if ( target.hasClass('widget-control-remove') ) { + wpWidgets.save( target.closest('div.widget'), 1, 1, 0 ); + e.preventDefault(); + } else if ( target.hasClass('widget-control-close') ) { + wpWidgets.close( target.closest('div.widget') ); + e.preventDefault(); } - return false; - }); - - $('input.widget-control-save').live('click', function(){ - wpWidgets.save( $(this).closest('div.widget'), 0, 1, 0 ); - return false; - }); - - $('a.widget-control-remove').live('click', function(){ - wpWidgets.save( $(this).closest('div.widget'), 1, 1, 0 ); - return false; - }); - - $('a.widget-control-close').live('click', function(){ - wpWidgets.close( $(this).closest('div.widget') ); - return false; }); sidebars.children('.widget').each(function() {