Ticket #31441: 31441.29.patch
File 31441.29.patch, 1.7 KB (added by , 10 years ago) |
---|
-
src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js
13 13 ( function( tinymce, setTimeout ) { 14 14 tinymce.PluginManager.add( 'wptextpattern', function( editor ) { 15 15 var VK = tinymce.util.VK, 16 canUndo = false,17 16 spacePatterns = [ 18 17 { regExp: /^[*-]\s/, cmd: 'InsertUnorderedList' }, 19 18 { regExp: /^1[.)]\s/, cmd: 'InsertOrderedList' } … … 26 25 { start: '######', format: 'h6' }, 27 26 { start: '>', format: 'blockquote' } 28 27 ], 28 canUndoSpace, canUndoEnter, 29 29 refNode, refPattern; 30 30 31 31 editor.on( 'selectionchange', function() { 32 canUndo = false; 32 canUndoSpace = null; 33 canUndoEnter = null; 33 34 } ); 34 35 35 36 editor.on( 'keydown', function( event ) { 36 if ( canUndo && ( event.keyCode === VK.BACKSPACE || event.keyCode === 27 /* ESCAPE */ ) ) { 37 if ( 38 ( ( canUndoSpace || canUndoEnter ) && event.keyCode === 27 /* ESCAPE */ ) || 39 ( canUndoSpace && event.keyCode === VK.BACKSPACE ) 40 ) { 37 41 editor.undoManager.undo(); 38 42 event.preventDefault(); 39 43 } … … 115 119 116 120 // We need to wait for native events to be triggered. 117 121 setTimeout( function() { 118 canUndo = true;122 canUndoSpace = true; 119 123 } ); 120 124 121 125 return false; … … 168 172 editor.formatter.apply( refPattern.format, {}, refNode ); 169 173 refNode.deleteData( 0, refPattern.start.length ); 170 174 } ); 175 176 // We need to wait for native events to be triggered. 177 setTimeout( function() { 178 canUndoEnter = true; 179 } ); 171 180 } 172 181 173 182 refNode = null;