diff -r 346c88efed21 -r 5e2f62d02dcd wp/wp-admin/js/postbox.js --- a/wp/wp-admin/js/postbox.js Mon Jun 08 16:11:51 2015 +0000 +++ b/wp/wp-admin/js/postbox.js Tue Jun 09 03:35:32 2015 +0200 @@ -1,13 +1,17 @@ +/* global ajaxurl */ + var postboxes; (function($) { + var $document = $( document ); + postboxes = { add_postbox_toggles : function(page, args) { var self = this; self.init(page, args); - $('.postbox h3, .postbox .handlediv').bind('click.postboxes', function() { + $('.postbox .hndle, .postbox .handlediv').bind('click.postboxes', function() { var p = $(this).parent('.postbox'), id = p.attr('id'); if ( 'dashboard_browser_nag' == id ) @@ -24,32 +28,36 @@ else if ( p.hasClass('closed') && $.isFunction(postboxes.pbhide) ) self.pbhide(id); } + + $document.trigger( 'postbox-toggled', p ); }); - $('.postbox h3 a').click( function(e) { + $('.postbox .hndle a').click( function(e) { e.stopPropagation(); }); - $('.postbox a.dismiss').bind('click.postboxes', function(e) { + $( '.postbox a.dismiss' ).bind( 'click.postboxes', function() { var hide_id = $(this).parents('.postbox').attr('id') + '-hide'; $( '#' + hide_id ).prop('checked', false).triggerHandler('click'); return false; }); $('.hide-postbox-tog').bind('click.postboxes', function() { - var box = $(this).val(); + var boxId = $(this).val(), + $postbox = $( '#' + boxId ); if ( $(this).prop('checked') ) { - $('#' + box).show(); + $postbox.show(); if ( $.isFunction( postboxes.pbshow ) ) - self.pbshow( box ); + self.pbshow( boxId ); } else { - $('#' + box).hide(); + $postbox.hide(); if ( $.isFunction( postboxes.pbhide ) ) - self.pbhide( box ); + self.pbhide( boxId ); } self.save_state(page); self._mark_area(); + $document.trigger( 'postbox-toggled', $postbox ); }); $('.columns-prefs input[type="radio"]').bind('click.postboxes', function(){ @@ -79,7 +87,7 @@ forcePlaceholderSize: true, helper: 'clone', opacity: 0.65, - stop: function(e,ui) { + stop: function() { if ( $(this).find('#dashboard_browser_nag').is(':visible') && 'dashboard_browser_nag' != this.firstChild.id ) { $(this).sortable('cancel'); return; @@ -124,9 +132,9 @@ _ajax_nonce: $('#meta-box-order-nonce').val(), page_columns: page_columns, page: page - } + }; $('.meta-box-sortables').each( function() { - postVars["order[" + this.id.split('-')[0] + "]"] = $(this).sortable( 'toArray' ).join(','); + postVars[ 'order[' + this.id.split( '-' )[0] + ']' ] = $( this ).sortable( 'toArray' ).join( ',' ); } ); $.post( ajaxurl, postVars ); }, @@ -134,7 +142,7 @@ _mark_area : function() { var visible = $('div.postbox:visible').length, side = $('#post-body #side-sortables'); - $('#dashboard-widgets .meta-box-sortables:visible').each(function(n, el){ + $( '#dashboard-widgets .meta-box-sortables:visible' ).each( function() { var t = $(this); if ( visible == 1 || t.children('.postbox:visible').length ) @@ -153,7 +161,12 @@ _pb_edit : function(n) { var el = $('.metabox-holder').get(0); - el.className = el.className.replace(/columns-\d+/, 'columns-' + n); + + if ( el ) { + el.className = el.className.replace(/columns-\d+/, 'columns-' + n); + } + + $( document ).trigger( 'postboxes-columnchange' ); }, _pb_change : function() {