]> scripts.mit.edu Git - autoinstalls/wordpress.git/blobdiff - wp-admin/js/inline-edit-post.js
WordPress 4.2
[autoinstalls/wordpress.git] / wp-admin / js / inline-edit-post.js
index 48e635f23c087f756cb109defde5b129926a7feb..a1a9c028ab909aac137b4a84551ca430557dc9da 100644 (file)
@@ -29,7 +29,7 @@ inlineEditPost = {
                        return inlineEditPost.save(this);
                });
                $('td', qeRow).keydown(function(e){
-                       if ( e.which === 13 ) {
+                       if ( e.which === 13 && ! $( e.target ).hasClass( 'cancel' ) ) {
                                return inlineEditPost.save(this);
                        }
                });
@@ -82,7 +82,8 @@ inlineEditPost = {
                this.revert();
 
                $('#bulk-edit td').attr('colspan', $('.widefat:first thead th:visible').length);
-               $('table.widefat tbody').prepend( $('#bulk-edit') );
+               // Insert the editor at the top of the table with an empty row above to maintain zebra striping.
+               $('table.widefat tbody').prepend( $('#bulk-edit') ).prepend('<tr class="hidden"></tr>');
                $('#bulk-edit').addClass('inline-editor').show();
 
                $( 'tbody th.check-column input[type="checkbox"]' ).each( function() {
@@ -116,7 +117,7 @@ inlineEditPost = {
        },
 
        edit : function(id) {
-               var t = this, fields, editRow, rowData, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, cur_format, f;
+               var t = this, fields, editRow, rowData, status, pageOpt, pageLevel, nextPage, pageLoop = true, nextLevel, cur_format, f, val;
                t.revert();
 
                if ( typeof(id) === 'object' ) {
@@ -128,14 +129,11 @@ inlineEditPost = {
                        fields.push('post_parent', 'page_template');
                }
 
-               // add the new blank row
+               // add the new edit row with an extra blank row underneath to maintain zebra striping.
                editRow = $('#inline-edit').clone(true);
                $('td', editRow).attr('colspan', $('.widefat:first thead th:visible').length);
 
-               if ( $( t.what + id ).hasClass( 'alternate' ) ) {
-                       $(editRow).addClass('alternate');
-               }
-               $(t.what+id).hide().after(editRow);
+               $(t.what+id).hide().after(editRow).after('<tr class="hidden"></tr>');
 
                // populate the data
                rowData = $('#inline_'+id);
@@ -157,7 +155,11 @@ inlineEditPost = {
                });
 
                for ( f = 0; f < fields.length; f++ ) {
-                       $(':input[name="' + fields[f] + '"]', editRow).val( $('.'+fields[f], rowData).text() );
+                       val = $('.'+fields[f], rowData);
+                       // Deal with Twemoji
+                       val.find( 'img' ).replaceWith( function() { return this.alt; } );
+                       val = val.text();
+                       $(':input[name="' + fields[f] + '"]', editRow).val( val );
                }
 
                if ( $( '.comment_status', rowData ).text() === 'open' ) {
@@ -183,11 +185,14 @@ inlineEditPost = {
 
                //flat taxonomies
                $('.tags_input', rowData).each(function(){
-                       var terms = $(this).text(),
+                       var terms = $(this),
                                taxname = $(this).attr('id').replace('_' + id, ''),
                                textarea = $('textarea.tax_input_' + taxname, editRow),
                                comma = inlineEditL10n.comma;
 
+                       terms.find( 'img' ).replaceWith( function() { return this.alt; } );
+                       terms = terms.text();
+
                        if ( terms ) {
                                if ( ',' !== comma ) {
                                        terms = terms.replace(/,/g, comma);
@@ -245,7 +250,7 @@ inlineEditPost = {
                        id = this.getId(id);
                }
 
-               $('table.widefat .spinner').show();
+               $( 'table.widefat .spinner' ).addClass( 'is-active' );
 
                params = {
                        action: 'inline-save',
@@ -261,11 +266,11 @@ inlineEditPost = {
                // make ajax request
                $.post( ajaxurl, params,
                        function(r) {
-                               $('table.widefat .spinner').hide();
+                               $( 'table.widefat .spinner' ).removeClass( 'is-active' );
 
                                if (r) {
                                        if ( -1 !== r.indexOf( '<tr' ) ) {
-                                               $(inlineEditPost.what+id).remove();
+                                               $(inlineEditPost.what+id).siblings('tr.hidden').addBack().remove();
                                                $('#edit-'+id).before(r).remove();
                                                $(inlineEditPost.what+id).hide().fadeIn();
                                        } else {
@@ -275,10 +280,6 @@ inlineEditPost = {
                                } else {
                                        $('#edit-'+id+' .inline-edit-save .error').html(inlineEditL10n.error).show();
                                }
-
-                               if ( $('#post-'+id).prev().hasClass('alternate') ) {
-                                       $('#post-'+id).removeClass('alternate');
-                               }
                        },
                'html');
                return false;
@@ -288,14 +289,14 @@ inlineEditPost = {
                var id = $('table.widefat tr.inline-editor').attr('id');
 
                if ( id ) {
-                       $('table.widefat .spinner').hide();
+                       $( 'table.widefat .spinner' ).removeClass( 'is-active' );
 
                        if ( 'bulk-edit' === id ) {
-                               $('table.widefat #bulk-edit').removeClass('inline-editor').hide();
-                               $('#bulk-titles').html('');
+                               $('table.widefat #bulk-edit').removeClass('inline-editor').hide().siblings('tr.hidden').remove();
+                               $('#bulk-titles').empty();
                                $('#inlineedit').append( $('#bulk-edit') );
                        } else {
-                               $('#'+id).remove();
+                               $('#'+id).siblings('tr.hidden').addBack().remove();
                                id = id.substr( id.lastIndexOf('-') + 1 );
                                $(this.what+id).show();
                        }