Changeset 38796
- Timestamp:
- 10/14/2016 09:37:41 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/js/tinymce/plugins/wpeditimage/plugin.js
r38756 r38796 182 182 var out = ''; 183 183 184 if ( dl.indexOf('<img ') === -1 ) { 185 // Broken caption. The user managed to drag the image out? 186 // Try to return the caption text as a paragraph. 187 out = dl.match( /<dd [^>]+>([\s\S]+?)<\/dd>/i ); 188 189 if ( out && out[1] ) { 190 return '<p>' + out[1] + '</p>'; 191 } 192 193 return ''; 184 if ( dl.indexOf('<img ') === -1 || dl.indexOf('</p>') !== -1 ) { 185 // Broken caption. The user managed to drag the image out or type in the wrapper div? 186 // Remove the <dl>, <dd> and <dt> and return the remaining text. 187 return dl.replace( /<d[ldt]( [^>]+)?>/g, '' ).replace( /<\/d[ldt]>/g, '' ); 194 188 } 195 189 … … 897 891 dom = editor.dom; 898 892 899 if ( cmd === 'mceInsertContent' ) {893 if ( cmd === 'mceInsertContent' || cmd === 'Indent' || cmd === 'Outdent' ) { 900 894 node = editor.selection.getNode(); 901 895 captionParent = dom.getParent( node, 'div.mceTemp' ); 902 896 903 897 if ( captionParent ) { 904 if ( pasteInCaption ) { 905 pasteInCaption = false; 906 // We are in the caption element, and in 'paste' context, 907 // and the pasted HTML was cleaned up on 'pastePostProcess' above. 908 // Let it be pasted in the caption. 909 return; 910 } 911 912 // The paste is somewhere else in the caption DL element. 913 // Prevent pasting in there as it will break the caption. 914 // Make new paragraph under the caption DL and move the caret there. 915 p = dom.create( 'p' ); 916 dom.insertAfter( p, captionParent ); 917 editor.selection.setCursorLocation( p, 0 ); 918 editor.nodeChanged(); 898 if ( cmd === 'mceInsertContent' ) { 899 if ( pasteInCaption ) { 900 pasteInCaption = false; 901 // We are in the caption element, and in 'paste' context, 902 // and the pasted HTML was cleaned up on 'pastePostProcess' above. 903 // Let it be pasted in the caption. 904 return; 905 } 906 907 // The paste is somewhere else in the caption DL element. 908 // Prevent pasting in there as it will break the caption. 909 // Make new paragraph under the caption DL and move the caret there. 910 p = dom.create( 'p' ); 911 dom.insertAfter( p, captionParent ); 912 editor.selection.setCursorLocation( p, 0 ); 913 editor.nodeChanged(); 914 } else { 915 // Clicking Indent or Outdent while an image with a caption is selected breaks the caption. 916 // See #38313. 917 event.preventDefault(); 918 event.stopImmediatePropagation(); 919 return false; 920 } 919 921 } 920 922 } else if ( cmd === 'JustifyLeft' || cmd === 'JustifyRight' || cmd === 'JustifyCenter' || cmd === 'wpAlignNone' ) {
Note: See TracChangeset
for help on using the changeset viewer.