Ticket #31441: 31441.27.patch
File 31441.27.patch, 1.9 KB (added by , 10 years ago) |
---|
-
src/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js
25 25 { start: '#####', format: 'h5' }, 26 26 { start: '######', format: 'h6' }, 27 27 { start: '>', format: 'blockquote' } 28 ]; 28 ], 29 refNode, refPattern; 29 30 30 31 editor.on( 'selectionchange', function() { 31 32 canUndo = false; … … 38 39 } 39 40 40 41 if ( event.keyCode === VK.ENTER && ! VK.modifierPressed( event ) ) { 41 enter();42 watchEnter(); 42 43 } 43 44 }, true ); 44 45 45 46 editor.on( 'keyup', function( event ) { 46 if ( event.keyCode === VK.SPACEBAR && ! VK.modifierPressed( event ) ) { 47 space(); 47 if ( ! VK.modifierPressed( event ) ) { 48 if ( event.keyCode === VK.SPACEBAR ) { 49 space(); 50 } else if ( event.keyCode === VK.ENTER ) { 51 enter(); 52 } 48 53 } 49 54 } ); 50 55 … … 117 122 } ); 118 123 } 119 124 120 function enter() {125 function watchEnter() { 121 126 var selection = editor.selection, 122 127 rng = selection.getRng(), 123 128 offset = rng.startOffset, … … 151 156 offset = Math.max( 0, offset - pattern.start.length ); 152 157 } 153 158 154 editor.undoManager.add(); 159 refNode = node; 160 refPattern = pattern; 161 } 155 162 156 editor.undoManager.transact( function() { 157 node.deleteData( 0, pattern.start.length ); 163 function enter() { 164 if ( refNode ) { 165 editor.undoManager.add(); 158 166 159 editor.formatter.apply( pattern.format, {}, start ); 167 editor.undoManager.transact( function() { 168 editor.formatter.apply( refPattern.format, {}, refNode ); 169 refNode.deleteData( 0, refPattern.start.length ); 170 } ); 171 } 160 172 161 rng.setStart( start, offset ); 162 rng.collapse( true ); 163 selection.setRng( rng ); 164 } ); 173 refNode = null; 174 refPattern = null; 165 175 } 166 176 } ); 167 177 } )( window.tinymce, window.setTimeout );