WordPress.org

Make WordPress Core

Ticket #31441: 31441.28.patch

File 31441.28.patch, 1.4 KB (added by iseulde, 5 years ago)
  • src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js

     
    2626                                { start: '######', format: 'h6' },
    2727                                { start: '>', format: 'blockquote' }
    2828                        ],
     29                        canUndoSpace, canUndoEnter,
    2930                        refNode, refPattern;
    3031
    3132                editor.on( 'selectionchange', function() {
    32                         canUndo = false;
     33                        canUndoSpace = null;
     34                        canUndoEnter = null;
    3335                } );
    3436
    3537                editor.on( 'keydown', function( event ) {
    36                         if ( canUndo && ( event.keyCode === VK.BACKSPACE || event.keyCode === 27 /* ESCAPE */ ) ) {
     38                        if (
     39                                ( ( canUndoSpace || canUndoEnter ) && event.keyCode === 27 /* ESCAPE */ ) ||
     40                                ( canUndoSpace && event.keyCode === VK.BACKSPACE )
     41                        ) {
    3742                                editor.undoManager.undo();
    3843                                event.preventDefault();
    3944                        }
     
    115120
    116121                                // We need to wait for native events to be triggered.
    117122                                setTimeout( function() {
    118                                         canUndo = true;
     123                                        canUndoSpace = true;
    119124                                } );
    120125
    121126                                return false;
     
    168173                                        editor.formatter.apply( refPattern.format, {}, refNode );
    169174                                        refNode.deleteData( 0, refPattern.start.length );
    170175                                } );
     176
     177                                // We need to wait for native events to be triggered.
     178                                setTimeout( function() {
     179                                        canUndoEnter = true;
     180                                } );
    171181                        }
    172182
    173183                        refNode = null;