[ XREF Home ] [ Index ]

PHP Cross Reference of WordPress Trunk

Provided by Yoast

title

Body

[close]

/wp-admin/js/ -> postbox.dev.js (source)

   1  var postboxes;
   2  (function($) {
   3      postboxes = {
   4          add_postbox_toggles : function(page,args) {
   5              this.init(page,args);
   6              $('.postbox h3, .postbox .handlediv').click( function() {
   7                  var p = $(this).parent('.postbox'), id = p.attr('id');
   8                  if ( 'dashboard_browser_nag' == id )
   9                      return;
  10  
  11                  p.toggleClass('closed');
  12                  postboxes.save_state(page);
  13                  if ( id ) {
  14                      if ( !p.hasClass('closed') && $.isFunction(postboxes.pbshow) )
  15                          postboxes.pbshow(id);
  16                      else if ( p.hasClass('closed') && $.isFunction(postboxes.pbhide) )
  17                          postboxes.pbhide(id);
  18                  }
  19              } );
  20              $('.postbox h3 a').click( function(e) {
  21                  e.stopPropagation();
  22              } );
  23              $('.postbox a.dismiss').click( function(e) {
  24                  var hide_id = $(this).parents('.postbox').attr('id') + '-hide';
  25                  $( '#' + hide_id ).prop('checked', false).triggerHandler('click');
  26                  return false;
  27              } );
  28              $('.hide-postbox-tog').click( function() {
  29                  var box = $(this).val();
  30  
  31                  if ( $(this).prop('checked') ) {
  32                      $('#' + box).show();
  33                      if ( $.isFunction( postboxes.pbshow ) )
  34                          postboxes.pbshow( box );
  35                  } else {
  36                      $('#' + box).hide();
  37                      if ( $.isFunction( postboxes.pbhide ) )
  38                          postboxes.pbhide( box );
  39                  }
  40                  postboxes.save_state(page);
  41              } );
  42              $('.columns-prefs input[type="radio"]').click(function(){
  43                  var num = $(this).val(), i, el, p = $('#poststuff');
  44  
  45                  if ( p.length ) { // write pages
  46                      if ( num == 2 ) {
  47                          p.addClass('has-right-sidebar');
  48                          $('#side-sortables').addClass('temp-border');
  49                      } else if ( num == 1 ) {
  50                          p.removeClass('has-right-sidebar');
  51                          $('#normal-sortables').append($('#side-sortables').children('.postbox'));
  52                      }
  53                  } else { // dashboard
  54                      for ( i = 4; ( i > num && i > 1 ); i-- ) {
  55                          el = $('#' + colname(i) + '-sortables');
  56                          $('#' + colname(i-1) + '-sortables').append(el.children('.postbox'));
  57                          el.parent().hide();
  58                      }
  59                      for ( i = 1; i <= num; i++ ) {
  60                          el = $('#' + colname(i) + '-sortables');
  61                          if ( el.parent().is(':hidden') )
  62                              el.addClass('temp-border').parent().show();
  63                      }
  64                      $('.postbox-container:visible').css('width', 98/num + '%');
  65                  }
  66                  postboxes.save_order(page);
  67              });
  68  
  69  			function colname(n) {
  70                  switch (n) {
  71                      case 1:
  72                          return 'normal';
  73                          break
  74                      case 2:
  75                          return 'side';
  76                          break
  77                      case 3:
  78                          return 'column3';
  79                          break
  80                      case 4:
  81                          return 'column4';
  82                          break
  83                      default:
  84                          return '';
  85                  }
  86              }
  87          },
  88  
  89          init : function(page, args) {
  90              $.extend( this, args || {} );
  91              $('#wpbody-content').css('overflow','hidden');
  92              $('.meta-box-sortables').sortable({
  93                  placeholder: 'sortable-placeholder',
  94                  connectWith: '.meta-box-sortables',
  95                  items: '.postbox',
  96                  handle: '.hndle',
  97                  cursor: 'move',
  98                  distance: 2,
  99                  tolerance: 'pointer',
 100                  forcePlaceholderSize: true,
 101                  helper: 'clone',
 102                  opacity: 0.65,
 103                  start: function(e,ui) {
 104                      $('body').css({
 105                          WebkitUserSelect: 'none',
 106                          KhtmlUserSelect: 'none'
 107                      });
 108                      /*
 109                      if ( $.browser.msie )
 110                          return;
 111                      ui.item.addClass('noclick');
 112                      */
 113                  },
 114                  stop: function(e,ui) {
 115                      postboxes.save_order(page);
 116                      ui.item.parent().removeClass('temp-border');
 117                      $('body').css({
 118                          WebkitUserSelect: '',
 119                          KhtmlUserSelect: ''
 120                      });
 121                  }
 122              });
 123          },
 124  
 125          save_state : function(page) {
 126              var closed = $('.postbox').filter('.closed').map(function() { return this.id; }).get().join(','),
 127                  hidden = $('.postbox').filter(':hidden').map(function() { return this.id; }).get().join(',');
 128  
 129              $.post(ajaxurl, {
 130                  action: 'closed-postboxes',
 131                  closed: closed,
 132                  hidden: hidden,
 133                  closedpostboxesnonce: jQuery('#closedpostboxesnonce').val(),
 134                  page: page
 135              });
 136          },
 137  
 138          save_order : function(page) {
 139              var postVars, page_columns = $('.columns-prefs input:checked').val() || 0;
 140  
 141              postVars = {
 142                  action: 'meta-box-order',
 143                  _ajax_nonce: $('#meta-box-order-nonce').val(),
 144                  page_columns: page_columns,
 145                  page: page
 146              }
 147              $('.meta-box-sortables').each( function() {
 148                  postVars["order[" + this.id.split('-')[0] + "]"] = $(this).sortable( 'toArray' ).join(',');
 149              } );
 150              $.post( ajaxurl, postVars );
 151          },
 152  
 153          /* Callbacks */
 154          pbshow : false,
 155  
 156          pbhide : false
 157      };
 158  
 159  }(jQuery));


Generated: Wed Jun 1 08:30:02 2011 Cross-referenced by PHPXref 0.7
Provided by Yoast and awesome WordPress Hosting