diff -r 53cff4b4a802 -r bde1974c263b web/wp-admin/js/postbox.dev.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/wp-admin/js/postbox.dev.js Wed Feb 03 15:37:20 2010 +0000 @@ -0,0 +1,148 @@ +var postboxes; +(function($) { + postboxes = { + add_postbox_toggles : function(page,args) { + this.init(page,args); + $('.postbox h3, .postbox .handlediv').click( function() { + var p = $(this).parent('.postbox'), id = p.attr('id'); + p.toggleClass('closed'); + postboxes.save_state(page); + if ( id ) { + if ( !p.hasClass('closed') && $.isFunction(postboxes.pbshow) ) + postboxes.pbshow(id); + else if ( p.hasClass('closed') && $.isFunction(postboxes.pbhide) ) + postboxes.pbhide(id); + } + } ); + $('.postbox h3 a').click( function(e) { + e.stopPropagation(); + } ); + $('.hide-postbox-tog').click( function() { + var box = $(this).val(); + if ( $(this).attr('checked') ) { + $('#' + box).show(); + if ( $.isFunction( postboxes.pbshow ) ) + postboxes.pbshow( box ); + } else { + $('#' + box).hide(); + if ( $.isFunction( postboxes.pbhide ) ) + postboxes.pbhide( box ); + } + postboxes.save_state(page); + } ); + $('.columns-prefs input[type="radio"]').click(function(){ + var num = $(this).val(), i, el, p = $('#poststuff'); + + if ( p.length ) { // write pages + if ( num == 2 ) { + p.addClass('has-right-sidebar'); + $('#side-sortables').addClass('temp-border'); + } else if ( num == 1 ) { + p.removeClass('has-right-sidebar'); + $('#normal-sortables').append($('#side-sortables').children('.postbox')); + } + } else { // dashboard + for ( i = 4; ( i > num && i > 1 ); i-- ) { + el = $('#' + colname(i) + '-sortables'); + $('#' + colname(i-1) + '-sortables').append(el.children('.postbox')); + el.parent().hide(); + } + for ( i = 1; i <= num; i++ ) { + el = $('#' + colname(i) + '-sortables'); + if ( el.parent().is(':hidden') ) + el.addClass('temp-border').parent().show(); + } + $('.postbox-container:visible').css('width', 98/num + '%'); + } + postboxes.save_order(page); + }); + + function colname(n) { + switch (n) { + case 1: + return 'normal'; + break + case 2: + return 'side'; + break + case 3: + return 'column3'; + break + case 4: + return 'column4'; + break + default: + return ''; + } + } + }, + + init : function(page, args) { + $.extend( this, args || {} ); + $('#wpbody-content').css('overflow','hidden'); + $('.meta-box-sortables').sortable({ + placeholder: 'sortable-placeholder', + connectWith: '.meta-box-sortables', + items: '.postbox', + handle: '.hndle', + cursor: 'move', + distance: 2, + tolerance: 'pointer', + forcePlaceholderSize: true, + helper: 'clone', + opacity: 0.65, + start: function(e,ui) { + $('body').css({ + WebkitUserSelect: 'none', + KhtmlUserSelect: 'none' + }); + /* + if ( $.browser.msie ) + return; + ui.item.addClass('noclick'); + */ + }, + stop: function(e,ui) { + postboxes.save_order(page); + ui.item.parent().removeClass('temp-border'); + $('body').css({ + WebkitUserSelect: '', + KhtmlUserSelect: '' + }); + } + }); + }, + + save_state : function(page) { + var closed = $('.postbox').filter('.closed').map(function() { return this.id; }).get().join(','), + hidden = $('.postbox').filter(':hidden').map(function() { return this.id; }).get().join(','); + $.post(ajaxurl, { + action: 'closed-postboxes', + closed: closed, + hidden: hidden, + closedpostboxesnonce: jQuery('#closedpostboxesnonce').val(), + page: page + }); + }, + + save_order : function(page) { + var postVars, page_columns = $('.columns-prefs input:checked').val() || 0; + postVars = { + action: 'meta-box-order', + _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(','); + } ); + $.post( ajaxurl, postVars ); + }, + + /* Callbacks */ + pbshow : false, + + pbhide : false + }; + +}(jQuery));