(function($) { inlineEditPost = { init : function() { var t = this, qeRow = $('#inline-edit'), bulkRow = $('#bulk-edit'); t.type = $('table.widefat').hasClass('page') ? 'page' : 'post'; t.what = '#'+t.type+'-'; // get all editable rows t.rows = $('tr.iedit'); // prepare the edit row qeRow.dblclick(function() { inlineEditPost.toggle(this); }) .keyup(function(e) { if(e.which == 27) return inlineEditPost.revert(); }); bulkRow.dblclick(function() { inlineEditPost.revert(); }) .keyup(function(e) { if (e.which == 27) return inlineEditPost.revert(); }); $('a.cancel', qeRow).click(function() { return inlineEditPost.revert(); }); $('a.save', qeRow).click(function() { return inlineEditPost.save(this); }); $('a.cancel', bulkRow).click(function() { return inlineEditPost.revert(); }); $('a.save', bulkRow).click(function() { return inlineEditPost.saveBulk(); }); // add events t.rows.dblclick(function() { inlineEditPost.toggle(this); }); t.addEvents(t.rows); $('#bulk-title-div').after( $('#inline-edit div.categories').clone(), $('#inline-edit div.tags').clone() ); // categories expandable? $('span.catshow').click(function() { $('.inline-editor ul.cat-checklist').addClass("cat-hover"); $('.inline-editor span.cathide').show(); $(this).hide(); }); $('span.cathide').click(function() { $('.inline-editor ul.cat-checklist').removeClass("cat-hover"); $('.inline-editor span.catshow').show(); $(this).hide(); }); $('select[name="_status"] option[value="future"]', bulkRow).remove(); $('#doaction').click(function(e){ if ( $('select[name="action"]').val() == 'edit' ) { e.preventDefault(); t.setBulk(); } else if ( $('form#posts-filter tr.inline-editor').length > 0 ) { t.revert(); } }); $('#doaction2').click(function(e){ if ( $('select[name="action2"]').val() == 'edit' ) { e.preventDefault(); t.setBulk(); } else if ( $('form#posts-filter tr.inline-editor').length > 0 ) { t.revert(); } }); $('#post-query-submit').click(function(e){ if ( $('form#posts-filter tr.inline-editor').length > 0 ) t.revert(); }); }, toggle : function(el) { var t = this; $(t.what+t.getId(el)).css('display') == 'none' ? t.revert() : t.edit(el); }, addEvents : function(r) { r.each(function() { var row = $(this); $('a.editinline', row).click(function() { inlineEditPost.edit(this); return false; }); row.attr('title', inlineEditL10n.edit); }); }, setBulk : function() { var te = '', c = ''; this.revert(); $('table.widefat tbody').prepend( $('#bulk-edit') ); $('#bulk-edit').addClass('inline-editor').show(); $('tbody th.check-column input[type="checkbox"]').each(function(i){ if ( $(this).attr('checked') ) { var id = $(this).val(); c = c == '' ? ' class="alternate"' : ''; te += '
');
var params = {
action: 'inline-save',
post_type: this.type,
post_ID: id,
edit_date: 'true'
};
var fields = $('#edit-'+id+' :input').fieldSerialize();
params = fields + '&' + $.param(params);
// make ajax request
$.post('admin-ajax.php', params,
function(r) {
var row = $(inlineEditPost.what+id);
if (r) {
$('#edit-'+id).remove();
row.html($(r).html()).show()
.animate( { backgroundColor: '#CCEEBB' }, 500)
.animate( { backgroundColor: '#eefee7' }, 500);
inlineEditPost.addEvents(row);
} else {
$('#edit-'+id+' .quick-edit-save').append(''+inlineEditL10n.error+'');
}
}
);
return false;
},
saveBulk : function() {
$('form#posts-filter').submit();
},
revert : function() {
var id;
if ( id = $('table.widefat tr.inline-editor').attr('id') ) {
if ( 'bulk-edit' == id ) {
$('table.widefat #bulk-edit').removeClass('inline-editor').hide();
$('#bulk-titles').html('');
$('#inlineedit').append( $('#bulk-edit') );
} else {
$('#'+id).remove();
id = id.substr( id.lastIndexOf('-') + 1 );
$(this.what+id).show();
}
}
return false;
},
getId : function(o) {
var id = o.tagName == 'TR' ? o.id : $(o).parents('tr').attr('id');
var parts = id.split('-');
return parts[parts.length - 1];
}
};
$(document).ready(function(){inlineEditPost.init();});
})(jQuery);