]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/postbox.js
WordPress 4.1.4-scripts
[autoinstalls/wordpress.git] / wp-admin / js / postbox.js
index 838db5d915c8add6428b05ca6cd44b944d2e3c16..07e5ed25b3080b380ef7b1d01e85a0542bc9ec08 100644 (file)
@@ -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 @@ var postboxes;
                                        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 @@ var postboxes;
                                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 @@ var postboxes;
                                _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 @@ var postboxes;
                _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 @@ var postboxes;
 
                _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() {