// These functions are adapted from wp-admin/js/inline-edit-post.js var ajaxurl, jQuery, mlaInlineEditSettings, mla, mla_inline_edit_settings_vars; (function($) { mlaInlineEditSettings = { init : function(){ var t = this, qeRow = $('#inline-edit'), bulkRow = $('#bulk-edit'); t.type = mla_inline_edit_settings_vars.tab; t.what = '#' + mla_inline_edit_settings_vars.tab + '-'; // prepare the edit rows qeRow.keyup(function(e){ if (e.which == 27) return mlaInlineEditSettings.revert(); }); bulkRow.keyup(function(e){ if (e.which == 27) return mlaInlineEditSettings.revert(); }); $('a.cancel', qeRow).click(function(){ return mlaInlineEditSettings.revert(); }); $('a.save', qeRow).click(function(){ return mlaInlineEditSettings.save(this); }); $('td', qeRow).keydown(function(e){ if ( e.which == 13 ) return mlaInlineEditSettings.save(this); }); $('a.cancel', bulkRow).click(function(){ return mlaInlineEditSettings.revert(); }); // add events $('a.editinline').live('click', function(){ mlaInlineEditSettings.edit(this); return false; }); $('#doaction, #doaction2').click(function(e){ var n = $(this).attr('id').substr(2); if ( $('select[name="'+n+'"]').val() == 'edit' ) { e.preventDefault(); t.setBulk(); } else if ( $('form#posts-filter tr.inline-editor').length > 0 ) { t.revert(); } }); }, toggle : function(el){ var t = this; if ( 'none' == $( t.what + t.getId( el ) ).css('display') ) { t.revert(); } else { t.edit( el ); } }, setBulk : function(){ var te = '', c = true; this.revert(); $('#bulk-edit td').attr('colspan', $( 'th:visible, td:visible', '.widefat:first thead' ).length); $('table.widefat tbody').prepend( $('#bulk-edit') ); $('#bulk-edit').addClass('inline-editor').show(); $('tbody th.check-column input[type="checkbox"]').each(function(){ if ( $(this).prop('checked') ) { c = false; var id = $(this).val(), theTitle; theTitle = $('#inline_'+id+' .slug').text() || mla_inline_edit_settings_vars.notitle; te += '
X'+theTitle+'
'; } }); if ( c ) return this.revert(); $('#bulk-titles').html(te); $('#bulk-titles a').click(function(){ var id = $(this).attr('id').substr(1); $('table.widefat input[value="' + id + '"]').prop('checked', false); $('#ttle'+id).remove(); }); $('html, body').animate( { scrollTop: 0 }, 'fast' ); }, edit : function(id) { var t = this, fields, checkboxes, editRow, rowData, fIndex, fText; t.revert(); if ( typeof(id) == 'object' ) id = t.getId(id); fields = mla_inline_edit_settings_vars.fields; checkboxes = mla_inline_edit_settings_vars.checkboxes; // add the new blank row editRow = $('#inline-edit').clone(true); $('td', editRow).attr('colspan', $( 'th:visible, td:visible', '.widefat:first thead' ).length); if ( $(t.what+id).hasClass('alternate') ) $(editRow).addClass('alternate'); $(t.what+id).hide().after(editRow); // populate the data rowData = $('#inline_'+id); for ( fIndex = 0; fIndex < fields.length; fIndex++ ) { fText = $( '.' + fields[fIndex], rowData ).text(); switch ( fields[fIndex] ) { case 'type': // IPTC/EXIF rules differ by type if ( 'taxonomy' == fText ) { $('.inline-taxonomy-group', editRow).show(); } else { $('.inline-taxonomy-group', editRow).hide(); } if ( 'custom' == fText ) { $('.inline-custom-group', editRow).show(); } else { $('.inline-custom-group', editRow).hide(); } break; case 'parent_options': fText = $( '.' + fields[fIndex], rowData ).html(); $(':input[name="parent"]', editRow).html( fText ); break; default: $(':input[name="' + fields[fIndex] + '"]', editRow).val( fText ); break; } // switch fields[fIndex] } for ( fIndex = 0; fIndex < checkboxes.length; fIndex++ ) { if ( '1' == $('.'+checkboxes[fIndex], rowData).text() ) $(':input[name="' + checkboxes[fIndex] + '"]', editRow).attr( 'checked', 'checked' ); else $(':input[name="' + checkboxes[fIndex] + '"]', editRow).removeAttr('checked'); } $(editRow).attr('id', 'edit-'+id).addClass('inline-editor').show(); $('.ptitle', editRow).focus(); // $('.ptitle', editRow).eq(0).focus(); return false; }, save : function(id) { var params, fields; if ( typeof(id) == 'object' ) id = this.getId(id); if ( mla_inline_edit_settings_vars.useSpinnerClass ) { $('table.widefat .spinner').addClass("is-active"); } else { $('table.widefat .spinner').show(); } params = { action: mla_inline_edit_settings_vars.ajax_action, mla_admin_nonce: mla_inline_edit_settings_vars.ajax_nonce, post_ID: id }; fields = $('#edit-'+id+' :input').serialize(); params = fields + '&' + $.param(params); // make ajax request $.post( ajaxurl, params, function(r) { if ( mla_inline_edit_settings_vars.useSpinnerClass ) { $('table.widefat .spinner').removeClass("is-active"); } else { $('table.widefat .spinner').hide(); } if (r) { if ( -1 != r.indexOf(']*?>/g, '' ); $('#edit-'+id+' .inline-edit-save .error').html(r).show(); } } else { $('#edit-'+id+' .inline-edit-save .error').html(mla_inline_edit_settings_vars.error).show(); } }, 'html'); return false; }, revert : function(){ var 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 { if ( mla_inline_edit_settings_vars.useSpinnerClass ) { $('table.widefat .spinner').removeClass("is-active"); } else { $('table.widefat .spinner').hide(); } $('#'+id).remove(); id = id.substr( id.lastIndexOf('-') + 1 ); $(this.what+id).show(); } } return false; }, getId : function(o) { var id = $(o).closest('tr').attr('id'), parts = id.split('-'); return parts[parts.length - 1]; } }; $(document).ready(function(){mlaInlineEditSettings.init();}); })(jQuery);