Make WordPress Core

Changeset 33508


Ignore:
Timestamp:
07/29/2015 11:11:42 PM (8 years ago)
Author:
iseulde
Message:

TinyMCE: wptextpattern: undo on esc after enter

See #31441.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js

    r33507 r33508  
    1414    tinymce.PluginManager.add( 'wptextpattern', function( editor ) {
    1515        var VK = tinymce.util.VK,
    16             canUndo = false,
    1716            spacePatterns = [
    1817                { regExp: /^[*-]\s/, cmd: 'InsertUnorderedList' },
     
    2726                { start: '>', format: 'blockquote' }
    2827            ],
    29             refNode, refPattern;
     28            canUndo, refNode, refPattern;
    3029
    3130        editor.on( 'selectionchange', function() {
    32             canUndo = false;
     31            canUndo = null;
    3332        } );
    3433
    3534        editor.on( 'keydown', function( event ) {
    36             if ( canUndo && ( event.keyCode === VK.BACKSPACE || event.keyCode === 27 /* ESCAPE */ ) ) {
     35            if ( ( canUndo && event.keyCode === 27 /* ESCAPE */ ) || ( canUndo === 'space' && event.keyCode === VK.BACKSPACE ) ) {
    3736                editor.undoManager.undo();
    3837                event.preventDefault();
     
    116115                // We need to wait for native events to be triggered.
    117116                setTimeout( function() {
    118                     canUndo = true;
     117                    canUndo = 'space';
    119118                } );
    120119
     
    169168                    refNode.deleteData( 0, refPattern.start.length );
    170169                } );
     170
     171                // We need to wait for native events to be triggered.
     172                setTimeout( function() {
     173                    canUndo = 'enter';
     174                } );
    171175            }
    172176
Note: See TracChangeset for help on using the changeset viewer.