-
(function($) {
inlineEditPost = {
- init : function() {
+ init : function(){
var t = this, qeRow = $('#inline-edit'), bulkRow = $('#bulk-edit');
- t.type = $('table.widefat').hasClass('page') ? 'page' : 'post';
- t.what = '#'+t.type+'-';
+ t.type = $('table.widefat').hasClass('pages') ? 'page' : 'post';
+ t.what = '#post-';
// prepare the edit rows
- qeRow.keyup(function(e) { if(e.which == 27) return inlineEditPost.revert(); });
- bulkRow.keyup(function(e) { if (e.which == 27) return inlineEditPost.revert(); });
+ qeRow.keyup(function(e){
+ if (e.which == 27)
+ return inlineEditPost.revert();
+ });
+ bulkRow.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); });
- $('td', qeRow).keydown(function(e) { if ( e.which == 13 ) return inlineEditPost.save(this); });
+ $('a.cancel', qeRow).click(function(){
+ return inlineEditPost.revert();
+ });
+ $('a.save', qeRow).click(function(){
+ return inlineEditPost.save(this);
+ });
+ $('td', qeRow).keydown(function(e){
+ if ( e.which == 13 )
+ return inlineEditPost.save(this);
+ });
- $('a.cancel', bulkRow).click(function() { return inlineEditPost.revert(); });
+ $('a.cancel', bulkRow).click(function(){
+ return inlineEditPost.revert();
+ });
$('#inline-edit .inline-edit-private input[value=private]').click( function(){
var pw = $('input.inline-edit-password-input');
});
// add events
- $('a.editinline').live('click', function() { inlineEditPost.edit(this); return false; });
+ $('a.editinline').live('click', function(){
+ inlineEditPost.edit(this);
+ return false;
+ });
$('#bulk-title-div').parents('fieldset').after(
$('#inline-edit fieldset.inline-edit-categories').clone()
$('#inline-edit label.inline-edit-tags').clone()
);
- // categories expandable?
- $('span.catshow').click(function() {
- $('.inline-editor ul.cat-checklist').addClass("cat-hover");
- $('.inline-editor span.cathide').show();
- $(this).hide();
+ // hiearchical taxonomies expandable?
+ $('span.catshow').click(function(){
+ $(this).hide().next().show().parent().next().addClass("cat-hover");
});
- $('span.cathide').click(function() {
- $('.inline-editor ul.cat-checklist').removeClass("cat-hover");
- $('.inline-editor span.catshow').show();
- $(this).hide();
+ $('span.cathide').click(function(){
+ $(this).hide().prev().show().parent().next().removeClass("cat-hover");
});
$('select[name="_status"] option[value="future"]', bulkRow).remove();
if ( $('form#posts-filter tr.inline-editor').length > 0 )
t.revert();
});
-
},
- toggle : function(el) {
+ toggle : function(el){
var t = this;
$(t.what+t.getId(el)).css('display') == 'none' ? t.revert() : t.edit(el);
},
- setBulk : function() {
+ setBulk : function(){
var te = '', type = this.type, tax, c = true;
this.revert();
return this.revert();
$('#bulk-titles').html(te);
- $('#bulk-titles a').click(function() {
+ $('#bulk-titles a').click(function(){
var id = $(this).attr('id').substr(1);
$('table.widefat input[value="'+id+'"]').attr('checked', '');
});
// enable autocomplete for tags
- if ( type == 'post' ) {
+ if ( 'post' == type ) {
// support multi taxonomies?
tax = 'post_tag';
$('tr.inline-editor textarea[name="tags_input"]').suggest( 'admin-ajax.php?action=ajax-tag-search&tax='+tax, { delay: 500, minchars: 2, multiple: true, multipleSep: ", " } );
},
edit : function(id) {
- var t = this, fields, editRow, rowData, cats, status, pageOpt, f, pageLevel, nextPage, pageLoop = true, nextLevel, tax;
+ var t = this, fields, editRow, rowData, cats, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, tax;
t.revert();
if ( typeof(id) == 'object' )
id = t.getId(id);
fields = ['post_title', 'post_name', 'post_author', '_status', 'jj', 'mm', 'aa', 'hh', 'mn', 'ss', 'post_password'];
- if ( t.type == 'page' ) fields.push('post_parent', 'menu_order', 'page_template');
- if ( t.type == 'post' ) fields.push('tags_input');
+ if ( t.type == 'page' )
+ fields.push('post_parent', 'menu_order', 'page_template');
// add the new blank row
editRow = $('#inline-edit').clone(true);
// author no longer has edit caps, so we need to add them to the list of authors
$(':input[name="post_author"]', editRow).prepend('<option value="' + $('.post_author', rowData).text() + '">' + $('#' + t.type + '-' + id + ' .author').text() + '</option>');
}
+ if ( $(':input[name="post_author"] option', editRow).length == 1 ) {
+ $('label.inline-edit-author', editRow).hide();
+ }
- for ( f = 0; f < fields.length; f++ ) {
+ for ( var f = 0; f < fields.length; f++ ) {
$(':input[name="'+fields[f]+'"]', editRow).val( $('.'+fields[f], rowData).text() );
}
if ( $('.sticky', rowData).text() == 'sticky' )
$('input[name="sticky"]', editRow).attr("checked", "checked");
- // categories
- if ( cats = $('.post_category', rowData).text() )
- $('ul.cat-checklist :checkbox', editRow).val(cats.split(','));
+ // hierarchical taxonomies
+ $('.post_category', rowData).each(function(){
+ var term_ids = $(this).text();
+
+ if ( term_ids ) {
+ taxname = $(this).attr('id').replace('_'+id, '');
+ $('ul.'+taxname+'-checklist :checkbox', editRow).val(term_ids.split(','));
+ }
+ });
+ //flat taxonomies
+ $('.tags_input', rowData).each(function(){
+ var terms = $(this).text();
+
+ if ( terms ) {
+ taxname = $(this).attr('id').replace('_'+id, '');
+ $('textarea.tax_input_'+taxname, editRow).val(terms);
+ $('textarea.tax_input_'+taxname, editRow).suggest( 'admin-ajax.php?action=ajax-tag-search&tax='+taxname, { delay: 500, minchars: 2, multiple: true, multipleSep: ", " } );
+ }
+ });
+
// handle the post status
status = $('._status', rowData).text();
- if ( status != 'future' ) $('select[name="_status"] option[value="future"]', editRow).remove();
- if ( status == 'private' ) {
+ if ( 'future' != status )
+ $('select[name="_status"] option[value="future"]', editRow).remove();
+
+ if ( 'private' == status ) {
$('input[name="keep_private"]', editRow).attr("checked", "checked");
$('input.inline-edit-password-input').val('').attr('disabled', 'disabled');
}
$(editRow).attr('id', 'edit-'+id).addClass('inline-editor').show();
$('.ptitle', editRow).focus();
- // enable autocomplete for tags
- if ( t.type == 'post' ) {
- tax = 'post_tag';
- $('tr.inline-editor textarea[name="tags_input"]').suggest( 'admin-ajax.php?action=ajax-tag-search&tax='+tax, { delay: 500, minchars: 2, multiple: true, multipleSep: ", " } );
- }
-
return false;
},
save : function(id) {
var params, fields, page = $('.post_status_page').val() || '';
- if( typeof(id) == 'object' )
+ if ( typeof(id) == 'object' )
id = this.getId(id);
$('table.widefat .inline-edit-save .waiting').show();
params = {
action: 'inline-save',
- post_type: this.type,
+ post_type: typenow,
post_ID: id,
edit_date: 'true',
post_status: page
return false;
},
- revert : function() {
- var id;
+ revert : function(){
+ var id = $('table.widefat tr.inline-editor').attr('id');
- if ( id = $('table.widefat tr.inline-editor').attr('id') ) {
+ if ( id ) {
$('table.widefat .inline-edit-save .waiting').hide();
if ( 'bulk-edit' == id ) {
$('table.widefat #bulk-edit').removeClass('inline-editor').hide();
$('#bulk-titles').html('');
$('#inlineedit').append( $('#bulk-edit') );
- } else {
+ } else {
$('#'+id).remove();
id = id.substr( id.lastIndexOf('-') + 1 );
$(this.what+id).show();
},
getId : function(o) {
- var id = o.tagName == 'TR' ? o.id : $(o).parents('tr').attr('id'), parts = id.split('-');
+ var id = $(o).closest('tr').attr('id'),
+ parts = id.split('-');
return parts[parts.length - 1];
}
};