WordPress.org

Make WordPress Core

Ticket #28595: 28595.18.patch

File 28595.18.patch, 2.4 KB (added by iseulde, 3 years ago)
  • src/wp-includes/js/mce-view.js

     
    1 /* global tinymce, MediaElementPlayer, WPPlaylistView */ 
     1/* global tinymce */ 
    22/** 
    33 * Note: this API is "experimental" meaning that it will probably change 
    44 * in the next few releases based on feedback from 3.9.0. 
  • src/wp-includes/js/tinymce/plugins/wpview/plugin.js

     
    1010                TreeWalker = tinymce.dom.TreeWalker, 
    1111                toRemove = false, 
    1212                firstFocus = true, 
    13                 cursorInterval, lastKeyDownNode, setViewCursorTries, focus; 
     13                cursorInterval, lastKeyDownNode, setViewCursorTries, focus, execCommandView; 
    1414 
    1515        function getView( node ) { 
    1616                return getParent( node, 'wpview-wrap' ); 
     
    581581 
    582582                if ( focus ) { 
    583583                        if ( view ) { 
    584                                 if ( className === 'wpview-selection-before' || className === 'wpview-selection-after' && editor.selection.isCollapsed() ) { 
     584                                if ( ( className === 'wpview-selection-before' || className === 'wpview-selection-after' ) && editor.selection.isCollapsed() ) { 
    585585                                        setViewCursorTries = 0; 
    586586 
    587587                                        deselect(); 
     
    618618                } 
    619619        }); 
    620620 
    621         editor.on( 'BeforeExecCommand', function( event ) { 
    622                 var cmd = event.command, 
     621        editor.on( 'BeforeExecCommand', function() { 
     622                var node = editor.selection.getNode(), 
    623623                        view; 
    624624 
    625                 if ( cmd === 'undo' || cmd === 'redo' || cmd === 'RemoveFormat' || cmd === 'mceToggleFormat' ) { 
    626                         return; 
     625                if ( node && ( node.className === 'wpview-selection-before' || node.className === 'wpview-selection-after' ) && ( view = getView( node ) ) ) { 
     626                        handleEnter( view ); 
     627                        execCommandView = view; 
    627628                } 
     629        }); 
    628630 
    629                 if ( view = getView( editor.selection.getNode() ) ) { 
    630                         handleEnter( view ); 
     631        editor.on( 'ExecCommand', function() { 
     632                var toSelect, node; 
     633 
     634                if ( selected ) { 
     635                        toSelect = selected; 
     636                        deselect(); 
     637                        select( toSelect ); 
     638                } 
     639 
     640                if ( execCommandView ) { 
     641                        node = execCommandView.nextSibling; 
     642 
     643                        if ( node && node.nodeName === 'P' && editor.dom.isEmpty( node ) ) { 
     644                                editor.dom.remove( node ); 
     645                                setViewCursor( false, execCommandView ); 
     646                        } 
     647 
     648                        execCommandView = false; 
    631649                } 
    632650        }); 
    633651