From dd0bff051a1b7755286f71917aebffcf0ba14f19 Mon Sep 17 00:00:00 2001 From: Ella Iseulde Van Dorpe <*@iseulde.com> Date: Tue, 16 Jun 2015 13:52:25 +0000 Subject: [PATCH] TinyMCE: wptextpattern: Add blockquote and headings As discussed in the editor meeting 9 June. We should re-evaluate these additions towards the end of the release. See #31441. Built from https://develop.svn.wordpress.org/trunk@32795 git-svn-id: http://core.svn.wordpress.org/trunk@32766 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- .../tinymce/plugins/wptextpattern/plugin.js | 16 ++++++++++++++-- .../plugins/wptextpattern/plugin.min.js | 2 +- wp-includes/js/tinymce/wp-tinymce.js.gz | Bin 138644 -> 138692 bytes wp-includes/version.php | 2 +- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js index 819f130aae..7fac83774b 100644 --- a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js +++ b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.js @@ -39,6 +39,14 @@ this.execCommand( 'InsertOrderedList' ); } ); + add( /^>\s/, function() { + this.formatter.toggle( 'blockquote' ); + } ); + + add( /^(#{2,6})\s/, function() { + this.formatter.toggle( 'h' + arguments[1].length ); + } ); + editor.on( 'selectionchange', function() { canUndo = false; } ); @@ -84,7 +92,11 @@ } tinymce.each( patterns, function( pattern ) { - var replace = text.replace( pattern.regExp, '' ); + var args, + replace = text.replace( pattern.regExp, function() { + args = arguments; + return ''; + } ); if ( text === replace ) { return; @@ -105,7 +117,7 @@ editor.selection.setCursorLocation( parent ); - pattern.callback.apply( editor ); + pattern.callback.apply( editor, args ); } ); // We need to wait for native events to be triggered. diff --git a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js index 4f80bce48f..4e5ca356c1 100644 --- a/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js +++ b/wp-includes/js/tinymce/plugins/wptextpattern/plugin.min.js @@ -1 +1 @@ -!function(a,b){a.PluginManager.add("wptextpattern",function(c){function d(a,b){f.push({regExp:a,callback:b})}var e=c.$,f=[],g=!1;d(/^[*-]\s/,function(){this.execCommand("InsertUnorderedList")}),d(/^1[.)]\s/,function(){this.execCommand("InsertOrderedList")}),c.on("selectionchange",function(){g=!1}),c.on("keydown",function(b){g&&b.keyCode===a.util.VK.BACKSPACE&&(c.undoManager.undo(),b.preventDefault())}),c.on("keyup",function(d){var h,i,j,k,l;if(d.keyCode===a.util.VK.SPACEBAR&&(h=c.selection.getRng(),i=h.startContainer,i&&3===i.nodeType&&(j=i.nodeValue,k=c.dom.getParent(i,"p")))){for(;(l=k.firstChild)&&3!==l.nodeType;)k=l;l===i&&a.each(f,function(a){var d=j.replace(a.regExp,"");if(j!==d&&h.startOffset===j.length-d.length)return c.undoManager.add(),c.undoManager.transact(function(){d?e(i).replaceWith(document.createTextNode(d)):e(i.parentNode).empty().append("
"),c.selection.setCursorLocation(k),a.callback.apply(c)}),b(function(){g=!0}),!1})}})})}(window.tinymce,window.setTimeout); \ No newline at end of file +!function(a,b){a.PluginManager.add("wptextpattern",function(c){function d(a,b){f.push({regExp:a,callback:b})}var e=c.$,f=[],g=!1;d(/^[*-]\s/,function(){this.execCommand("InsertUnorderedList")}),d(/^1[.)]\s/,function(){this.execCommand("InsertOrderedList")}),d(/^>\s/,function(){this.formatter.toggle("blockquote")}),d(/^(#{2,6})\s/,function(){this.formatter.toggle("h"+arguments[1].length)}),c.on("selectionchange",function(){g=!1}),c.on("keydown",function(b){g&&b.keyCode===a.util.VK.BACKSPACE&&(c.undoManager.undo(),b.preventDefault())}),c.on("keyup",function(d){var h,i,j,k,l;if(d.keyCode===a.util.VK.SPACEBAR&&(h=c.selection.getRng(),i=h.startContainer,i&&3===i.nodeType&&(j=i.nodeValue,k=c.dom.getParent(i,"p")))){for(;(l=k.firstChild)&&3!==l.nodeType;)k=l;l===i&&a.each(f,function(a){var d,f=j.replace(a.regExp,function(){return d=arguments,""});if(j!==f&&h.startOffset===j.length-f.length)return c.undoManager.add(),c.undoManager.transact(function(){f?e(i).replaceWith(document.createTextNode(f)):e(i.parentNode).empty().append("
"),c.selection.setCursorLocation(k),a.callback.apply(c,d)}),b(function(){g=!0}),!1})}})})}(window.tinymce,window.setTimeout); \ No newline at end of file diff --git a/wp-includes/js/tinymce/wp-tinymce.js.gz b/wp-includes/js/tinymce/wp-tinymce.js.gz index b36030a38734030197bfe2b2864c8d647ad3632d..c1f2820693a3cecdec85e217da6e95da8f112d90 100644 GIT binary patch delta 6989 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