mirror of
https://github.com/WordPress/WordPress.git
synced 2024-11-15 15:16:29 +01:00
TinyMCE: update to 4.1.6+. Adds support for cache-busting when auto-loading JS and CSS. Change the tests to run in /build. Changelog: https://github.com/tinymce/tinymce/blob/master/changelog.txt.
Fixes #30079 Built from https://develop.svn.wordpress.org/trunk@29994 git-svn-id: http://core.svn.wordpress.org/trunk@29735 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
46c1c60e8d
commit
4dfe796cd2
@ -489,6 +489,7 @@ final class _WP_Editors {
|
|||||||
'entities' => '38,amp,60,lt,62,gt',
|
'entities' => '38,amp,60,lt,62,gt',
|
||||||
'entity_encoding' => 'raw',
|
'entity_encoding' => 'raw',
|
||||||
'keep_styles' => false,
|
'keep_styles' => false,
|
||||||
|
'cache_suffix' => 'wp-mce-' . $GLOBALS['tinymce_version'],
|
||||||
|
|
||||||
// Limit the preview styles in the menu/toolbar
|
// Limit the preview styles in the menu/toolbar
|
||||||
'preview_styles' => 'font-family font-size font-weight font-style text-decoration text-transform',
|
'preview_styles' => 'font-family font-size font-weight font-style text-decoration text-transform',
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
tinymce.PluginManager.add("colorpicker",function(e){function n(n,a){function i(e){var n=new tinymce.util.Color(e),a=n.toRgb();l.fromJSON({r:a.r,g:a.g,b:a.b,hex:n.toHex().substr(1)}),t(n.toHex())}function t(e){l.find("#preview")[0].getEl().style.background=e}var l=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:a,onchange:function(){var e=this.rgb();l&&(l.find("#r").value(e.r),l.find("#g").value(e.g),l.find("#b").value(e.b),l.find("#hex").value(this.value().substr(1)),t(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,n,a=l.find("colorpicker")[0];return e=this.name(),n=this.value(),"hex"==e?(n="#"+n,i(n),void a.value(n)):(n={r:l.find("#r").value(),g:l.find("#g").value(),b:l.find("#b").value()},a.value(n),void i(n))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){n("#"+this.toJSON().hex)}});i(a)}e.settings.color_picker_callback||(e.settings.color_picker_callback=n)});
|
tinymce.PluginManager.add("colorpicker",function(a){function b(b,c){function d(a){var b=new tinymce.util.Color(a),c=b.toRgb();f.fromJSON({r:c.r,g:c.g,b:c.b,hex:b.toHex().substr(1)}),e(b.toHex())}function e(a){f.find("#preview")[0].getEl().style.background=a}var f=a.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:c,onchange:function(){var a=this.rgb();f&&(f.find("#r").value(a.r),f.find("#g").value(a.g),f.find("#b").value(a.b),f.find("#hex").value(this.value().substr(1)),e(this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var a,b,c=f.find("colorpicker")[0];return a=this.name(),b=this.value(),"hex"==a?(b="#"+b,d(b),void c.value(b)):(b={r:f.find("#r").value(),g:f.find("#g").value(),b:f.find("#b").value()},c.value(b),void d(b))}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){b("#"+this.toJSON().hex)}});d(c)}a.settings.color_picker_callback||(a.settings.color_picker_callback=b)});
|
@ -1 +1 @@
|
|||||||
tinymce.PluginManager.add("directionality",function(t){function e(e){var i,n=t.dom,r=t.selection.getSelectedBlocks();r.length&&(i=n.getAttrib(r[0],"dir"),tinymce.each(r,function(t){n.getParent(t.parentNode,"*[dir='"+e+"']",n.getRoot())||(i!=e?n.setAttrib(t,"dir",e):n.setAttrib(t,"dir",null))}),t.nodeChanged())}function i(t){var e=[];return tinymce.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(i){e.push(i+"[dir="+t+"]")}),e.join(",")}t.addCommand("mceDirectionLTR",function(){e("ltr")}),t.addCommand("mceDirectionRTL",function(){e("rtl")}),t.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:i("ltr")}),t.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:i("rtl")})});
|
tinymce.PluginManager.add("directionality",function(a){function b(b){var c,d=a.dom,e=a.selection.getSelectedBlocks();e.length&&(c=d.getAttrib(e[0],"dir"),tinymce.each(e,function(a){d.getParent(a.parentNode,"*[dir='"+b+"']",d.getRoot())||(c!=b?d.setAttrib(a,"dir",b):d.setAttrib(a,"dir",null))}),a.nodeChanged())}function c(a){var b=[];return tinymce.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(c){b.push(c+"[dir="+a+"]")}),b.join(",")}a.addCommand("mceDirectionLTR",function(){b("ltr")}),a.addCommand("mceDirectionRTL",function(){b("rtl")}),a.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:c("ltr")}),a.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:c("rtl")})});
|
@ -1 +1 @@
|
|||||||
tinymce.PluginManager.add("fullscreen",function(e){function t(){var e,t,n=window,i=document,l=i.body;return l.offsetWidth&&(e=l.offsetWidth,t=l.offsetHeight),n.innerWidth&&n.innerHeight&&(e=n.innerWidth,t=n.innerHeight),{w:e,h:t}}function n(){function n(){d.setStyle(a,"height",t().h-(h.clientHeight-a.clientHeight))}var u,h,a,f,m=document.body,g=document.documentElement;s=!s,h=e.getContainer(),u=h.style,a=e.getContentAreaContainer().firstChild,f=a.style,s?(i=f.width,l=f.height,f.width=f.height="100%",c=u.width,o=u.height,u.width=u.height="",d.addClass(m,"mce-fullscreen"),d.addClass(g,"mce-fullscreen"),d.addClass(h,"mce-fullscreen"),d.bind(window,"resize",n),n(),r=n):(f.width=i,f.height=l,c&&(u.width=c),o&&(u.height=o),d.removeClass(m,"mce-fullscreen"),d.removeClass(g,"mce-fullscreen"),d.removeClass(h,"mce-fullscreen"),d.unbind(window,"resize",r)),e.fire("FullscreenStateChanged",{state:s})}var i,l,r,c,o,s=!1,d=tinymce.DOM;return e.settings.inline?void 0:(e.on("init",function(){e.addShortcut("Ctrl+Alt+F","",n)}),e.on("remove",function(){r&&d.unbind(window,"resize",r)}),e.addCommand("mceFullScreen",n),e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Alt+F",selectable:!0,onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})},context:"view"}),e.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Ctrl+Alt+F",onClick:n,onPostRender:function(){var t=this;e.on("FullscreenStateChanged",function(e){t.active(e.state)})}}),{isFullscreen:function(){return s}})});
|
tinymce.PluginManager.add("fullscreen",function(a){function b(){var a,b,c=window,d=document,e=d.body;return e.offsetWidth&&(a=e.offsetWidth,b=e.offsetHeight),c.innerWidth&&c.innerHeight&&(a=c.innerWidth,b=c.innerHeight),{w:a,h:b}}function c(){function c(){j.setStyle(m,"height",b().h-(l.clientHeight-m.clientHeight))}var k,l,m,n,o=document.body,p=document.documentElement;i=!i,l=a.getContainer(),k=l.style,m=a.getContentAreaContainer().firstChild,n=m.style,i?(d=n.width,e=n.height,n.width=n.height="100%",g=k.width,h=k.height,k.width=k.height="",j.addClass(o,"mce-fullscreen"),j.addClass(p,"mce-fullscreen"),j.addClass(l,"mce-fullscreen"),j.bind(window,"resize",c),c(),f=c):(n.width=d,n.height=e,g&&(k.width=g),h&&(k.height=h),j.removeClass(o,"mce-fullscreen"),j.removeClass(p,"mce-fullscreen"),j.removeClass(l,"mce-fullscreen"),j.unbind(window,"resize",f)),a.fire("FullscreenStateChanged",{state:i})}var d,e,f,g,h,i=!1,j=tinymce.DOM;return a.settings.inline?void 0:(a.on("init",function(){a.addShortcut("Ctrl+Alt+F","",c)}),a.on("remove",function(){f&&j.unbind(window,"resize",f)}),a.addCommand("mceFullScreen",c),a.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Alt+F",selectable:!0,onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})},context:"view"}),a.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Ctrl+Alt+F",onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})}}),{isFullscreen:function(){return i}})});
|
@ -1 +1 @@
|
|||||||
tinymce.PluginManager.add("hr",function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"<hr />")}),n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});
|
tinymce.PluginManager.add("hr",function(a){a.addCommand("InsertHorizontalRule",function(){a.execCommand("mceInsertContent",!1,"<hr />")}),a.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),a.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});
|
@ -738,7 +738,12 @@ tinymce.PluginManager.add('lists', function(editor) {
|
|||||||
editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState('DL'));
|
editor.addQueryStateHandler('InsertDefinitionList', queryListCommandState('DL'));
|
||||||
|
|
||||||
editor.on('keydown', function(e) {
|
editor.on('keydown', function(e) {
|
||||||
if (e.keyCode == 9 && editor.dom.getParent(editor.selection.getStart(), 'LI,DT,DD')) {
|
// Check for tab but not ctrl/cmd+tab since it switches browser tabs
|
||||||
|
if (e.keyCode != 9 || tinymce.util.VK.metaKeyPressed(e)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (editor.dom.getParent(editor.selection.getStart(), 'LI,DT,DD')) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
if (e.shiftKey) {
|
if (e.shiftKey) {
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -345,15 +345,63 @@ define("tinymce/pasteplugin/Clipboard", [
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the rect of the current caret if the caret is in an empty block before a
|
||||||
|
* BR we insert a temporary invisible character that we get the rect this way we always get a proper rect.
|
||||||
|
*
|
||||||
|
* TODO: This might be useful in core.
|
||||||
|
*/
|
||||||
|
function getCaretRect(rng) {
|
||||||
|
var rects, textNode, node, container = rng.startContainer;
|
||||||
|
|
||||||
|
rects = rng.getClientRects();
|
||||||
|
if (rects.length) {
|
||||||
|
return rects[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!rng.collapsed || container.nodeType != 1) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
node = container.childNodes[lastRng.startOffset];
|
||||||
|
|
||||||
|
// Skip empty whitespace nodes
|
||||||
|
while (node && node.nodeType == 3 && !node.data.length) {
|
||||||
|
node = node.nextSibling;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!node) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if the location is |<br>
|
||||||
|
// TODO: Might need to expand this to say |<table>
|
||||||
|
if (node.tagName == 'BR') {
|
||||||
|
textNode = dom.doc.createTextNode('\uFEFF');
|
||||||
|
node.parentNode.insertBefore(textNode, node);
|
||||||
|
|
||||||
|
rng = dom.createRng();
|
||||||
|
rng.setStartBefore(textNode);
|
||||||
|
rng.setEndAfter(textNode);
|
||||||
|
|
||||||
|
rects = rng.getClientRects();
|
||||||
|
dom.remove(textNode);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (rects.length) {
|
||||||
|
return rects[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Calculate top cordinate this is needed to avoid scrolling to top of document
|
// Calculate top cordinate this is needed to avoid scrolling to top of document
|
||||||
// We want the paste bin to be as close to the caret as possible to avoid scrolling
|
// We want the paste bin to be as close to the caret as possible to avoid scrolling
|
||||||
if (lastRng.getClientRects) {
|
if (lastRng.getClientRects) {
|
||||||
var rects = lastRng.getClientRects();
|
var rect = getCaretRect(lastRng);
|
||||||
|
|
||||||
if (rects.length) {
|
if (rect) {
|
||||||
// Client rects gets us closes to the actual
|
// Client rects gets us closes to the actual
|
||||||
// caret location in for example a wrapped paragraph block
|
// caret location in for example a wrapped paragraph block
|
||||||
top = scrollTop + (rects[0].top - dom.getPos(body).y);
|
top = scrollTop + (rect.top - dom.getPos(body).y);
|
||||||
} else {
|
} else {
|
||||||
top = scrollTop;
|
top = scrollTop;
|
||||||
|
|
||||||
@ -531,12 +579,12 @@ define("tinymce/pasteplugin/Clipboard", [
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Chrome on Andoid doesn't support proper clipboard access so we have no choice but to allow the browser default behavior.
|
* Chrome on Android doesn't support proper clipboard access so we have no choice but to allow the browser default behavior.
|
||||||
*
|
*
|
||||||
* @param {Event} e Paste event object to check if it contains any data.
|
* @param {Event} e Paste event object to check if it contains any data.
|
||||||
* @return {Boolean} true/false if the clipboard is empty or not.
|
* @return {Boolean} true/false if the clipboard is empty or not.
|
||||||
*/
|
*/
|
||||||
function isBrokenAndoidClipboardEvent(e) {
|
function isBrokenAndroidClipboardEvent(e) {
|
||||||
var clipboardData = e.clipboardData;
|
var clipboardData = e.clipboardData;
|
||||||
|
|
||||||
return navigator.userAgent.indexOf('Android') != -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0;
|
return navigator.userAgent.indexOf('Android') != -1 && clipboardData && clipboardData.items && clipboardData.items.length === 0;
|
||||||
@ -630,7 +678,7 @@ define("tinymce/pasteplugin/Clipboard", [
|
|||||||
|
|
||||||
keyboardPastePlainTextState = false;
|
keyboardPastePlainTextState = false;
|
||||||
|
|
||||||
if (e.isDefaultPrevented() || isBrokenAndoidClipboardEvent(e)) {
|
if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e)) {
|
||||||
removePasteBin();
|
removePasteBin();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -984,10 +1032,22 @@ define("tinymce/pasteplugin/WordFilter", [
|
|||||||
trimListStart(paragraphNode, /^\u00a0+/);
|
trimListStart(paragraphNode, /^\u00a0+/);
|
||||||
}
|
}
|
||||||
|
|
||||||
var paragraphs = node.getAll('p');
|
// Build a list of all root level elements before we start
|
||||||
|
// altering them in the loop below.
|
||||||
|
var elements = [], child = node.firstChild;
|
||||||
|
while (typeof child !== 'undefined' && child !== null) {
|
||||||
|
elements.push(child);
|
||||||
|
|
||||||
for (var i = 0; i < paragraphs.length; i++) {
|
child = child.walk();
|
||||||
node = paragraphs[i];
|
if (child !== null) {
|
||||||
|
while (typeof child !== 'undefined' && child.parent !== node) {
|
||||||
|
child = child.walk();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var i = 0; i < elements.length; i++) {
|
||||||
|
node = elements[i];
|
||||||
|
|
||||||
if (node.name == 'p' && node.firstChild) {
|
if (node.name == 'p' && node.firstChild) {
|
||||||
// Find first text node in paragraph
|
// Find first text node in paragraph
|
||||||
@ -1002,7 +1062,7 @@ define("tinymce/pasteplugin/WordFilter", [
|
|||||||
// Detect ordered lists 1., a. or ixv.
|
// Detect ordered lists 1., a. or ixv.
|
||||||
if (isNumericList(nodeText)) {
|
if (isNumericList(nodeText)) {
|
||||||
// Parse OL start number
|
// Parse OL start number
|
||||||
var matches = /([0-9])\./.exec(nodeText);
|
var matches = /([0-9]+)\./.exec(nodeText);
|
||||||
var start = 1;
|
var start = 1;
|
||||||
if (matches) {
|
if (matches) {
|
||||||
start = parseInt(matches[1], 10);
|
start = parseInt(matches[1], 10);
|
||||||
@ -1018,6 +1078,13 @@ define("tinymce/pasteplugin/WordFilter", [
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
currentListNode = null;
|
||||||
|
} else {
|
||||||
|
// If the root level element isn't a p tag which can be
|
||||||
|
// processed by convertParagraphToLi, it interrupts the
|
||||||
|
// lists, causing a new list to start instead of having
|
||||||
|
// elements from the next list inserted above this tag.
|
||||||
|
prevListNode = currentListNode;
|
||||||
currentListNode = null;
|
currentListNode = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1152,8 +1219,11 @@ define("tinymce/pasteplugin/WordFilter", [
|
|||||||
|
|
||||||
var validElements = settings.paste_word_valid_elements;
|
var validElements = settings.paste_word_valid_elements;
|
||||||
if (!validElements) {
|
if (!validElements) {
|
||||||
validElements = '-strong/b,-em/i,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,' +
|
validElements = (
|
||||||
'-table[width],-tr,-td[colspan|rowspan|width],-th,-thead,-tfoot,-tbody,-a[href|name],sub,sup,strike,br,del';
|
'-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,' +
|
||||||
|
'-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,' +
|
||||||
|
'td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup strict schema
|
// Setup strict schema
|
||||||
|
File diff suppressed because one or more lines are too long
@ -35,12 +35,8 @@ tinymce.PluginManager.add('tabfocus', function(editor) {
|
|||||||
e.style.visibility != "hidden" && canSelectRecursive(e.parentNode));
|
e.style.visibility != "hidden" && canSelectRecursive(e.parentNode));
|
||||||
}
|
}
|
||||||
|
|
||||||
function canSelectInOldIe(el) {
|
|
||||||
return el.tabIndex || el.nodeName == "INPUT" || el.nodeName == "TEXTAREA";
|
|
||||||
}
|
|
||||||
|
|
||||||
function canSelect(el) {
|
function canSelect(el) {
|
||||||
return ((!canSelectInOldIe(el))) && el.getAttribute("tabindex") != '-1' && canSelectRecursive(el);
|
return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && tinymce.get(e.id) && el.tabIndex != -1 && canSelectRecursive(el);
|
||||||
}
|
}
|
||||||
|
|
||||||
each(el, function(e, i) {
|
each(el, function(e, i) {
|
||||||
@ -115,7 +111,6 @@ tinymce.PluginManager.add('tabfocus', function(editor) {
|
|||||||
|
|
||||||
editor.on('keyup', tabCancel);
|
editor.on('keyup', tabCancel);
|
||||||
|
|
||||||
// Add later so other plugins can preventDefault()
|
|
||||||
if (tinymce.Env.gecko) {
|
if (tinymce.Env.gecko) {
|
||||||
editor.on('keypress keydown', tabHandler);
|
editor.on('keypress keydown', tabHandler);
|
||||||
} else {
|
} else {
|
||||||
|
@ -1 +1 @@
|
|||||||
tinymce.PluginManager.add("tabfocus",function(a){function b(a){9!==a.keyCode||a.ctrlKey||a.altKey||a.metaKey||a.preventDefault()}function c(b){function c(b){function c(a){return"BODY"===a.nodeName||"hidden"!=a.type&&"none"!=a.style.display&&"hidden"!=a.style.visibility&&c(a.parentNode)}function f(a){return a.tabIndex||"INPUT"==a.nodeName||"TEXTAREA"==a.nodeName}function i(a){return!f(a)&&"-1"!=a.getAttribute("tabindex")&&c(a)}if(h=d.select(":input:enabled,*[tabindex]:not(iframe)"),e(h,function(b,c){return b.id==a.id?(g=c,!1):void 0}),b>0){for(j=g+1;j<h.length;j++)if(i(h[j]))return h[j]}else for(j=g-1;j>=0;j--)if(i(h[j]))return h[j];return null}var g,h,i,j;if(!(9!==b.keyCode||b.ctrlKey||b.altKey||b.metaKey||b.isDefaultPrevented())&&(i=f(a.getParam("tab_focus",a.getParam("tabfocus_elements",":prev,:next"))),1==i.length&&(i[1]=i[0],i[0]=":prev"),h=b.shiftKey?":prev"==i[0]?c(-1):d.get(i[0]):":next"==i[1]?c(1):d.get(i[1]))){var k=tinymce.get(h.id||h.name);h.id&&k?k.focus():window.setTimeout(function(){tinymce.Env.webkit||window.focus(),h.focus()},10),b.preventDefault()}}var d=tinymce.DOM,e=tinymce.each,f=tinymce.explode;a.on("init",function(){a.inline&&tinymce.DOM.setAttrib(a.getBody(),"tabIndex",null),a.on("keyup",b),tinymce.Env.gecko?a.on("keypress keydown",c):a.on("keydown",c)})});
|
tinymce.PluginManager.add("tabfocus",function(a){function b(a){9!==a.keyCode||a.ctrlKey||a.altKey||a.metaKey||a.preventDefault()}function c(b){function c(c){function f(a){return"BODY"===a.nodeName||"hidden"!=a.type&&"none"!=a.style.display&&"hidden"!=a.style.visibility&&f(a.parentNode)}function i(a){return/INPUT|TEXTAREA|BUTTON/.test(a.tagName)&&tinymce.get(b.id)&&-1!=a.tabIndex&&f(a)}if(h=d.select(":input:enabled,*[tabindex]:not(iframe)"),e(h,function(b,c){return b.id==a.id?(g=c,!1):void 0}),c>0){for(j=g+1;j<h.length;j++)if(i(h[j]))return h[j]}else for(j=g-1;j>=0;j--)if(i(h[j]))return h[j];return null}var g,h,i,j;if(!(9!==b.keyCode||b.ctrlKey||b.altKey||b.metaKey||b.isDefaultPrevented())&&(i=f(a.getParam("tab_focus",a.getParam("tabfocus_elements",":prev,:next"))),1==i.length&&(i[1]=i[0],i[0]=":prev"),h=b.shiftKey?":prev"==i[0]?c(-1):d.get(i[0]):":next"==i[1]?c(1):d.get(i[1]))){var k=tinymce.get(h.id||h.name);h.id&&k?k.focus():window.setTimeout(function(){tinymce.Env.webkit||window.focus(),h.focus()},10),b.preventDefault()}}var d=tinymce.DOM,e=tinymce.each,f=tinymce.explode;a.on("init",function(){a.inline&&tinymce.DOM.setAttrib(a.getBody(),"tabIndex",null),a.on("keyup",b),tinymce.Env.gecko?a.on("keypress keydown",c):a.on("keydown",c)})});
|
@ -1 +1 @@
|
|||||||
tinymce.PluginManager.add("textcolor",function(t){function e(e){var o;return t.dom.getParents(t.selection.getStart(),function(t){var r;(r=t.style["forecolor"==e?"color":"background-color"])&&(o=r)}),o}function o(){var e,o,r=[];for(o=t.settings.textcolor_map||["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],e=0;e<o.length;e+=2)r.push({text:o[e+1],color:"#"+o[e]});return r}function r(){function e(t,e){var o="transparent"==t;return'<td class="mce-grid-cell'+(o?" mce-colorbtn-trans":"")+'"><div id="'+m+"-"+F++ +'" data-mce-color="'+(t?t:"")+'" role="option" tabIndex="-1" style="'+(t?"background-color: "+t:"")+'" title="'+tinymce.translate(e)+'">'+(o?"×":"")+"</div></td>"}var r,l,a,n,c,d,u,g=this,m=g._id,F=0;for(r=o(),r.push({text:tinymce.translate("No color"),color:"transparent"}),a='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',n=r.length-1,d=0;s>d;d++){for(a+="<tr>",c=0;i>c;c++)u=d*i+c,u>n?a+="<td></td>":(l=r[u],a+=e(l.color,l.text));a+="</tr>"}if(t.settings.color_picker_callback){for(a+='<tr><td colspan="'+i+'" class="mce-custom-color-btn"><div id="'+m+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+m+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+tinymce.translate("Custom...")+"</button></div></td></tr>",a+="<tr>",c=0;i>c;c++)a+=e("","Custom color");a+="</tr>"}return a+="</tbody></table>"}function l(e,o){t.focus(),t.formatter.apply(e,{value:o}),t.nodeChanged()}function a(e){t.focus(),t.formatter.remove(e,{value:null},null,!0),t.nodeChanged()}function n(o){function r(t){s.hidePanel(),s.color(t),l(s.settings.format,t)}function n(t,e){t.style.background=e,t.setAttribute("data-mce-color",e)}var c,s=this.parent();if(tinymce.DOM.getParent(o.target,".mce-custom-color-btn")&&(s.hidePanel(),t.settings.color_picker_callback.call(t,function(t){var e,o,l,a=s.panel.getEl().getElementsByTagName("table")[0];for(e=tinymce.map(a.rows[a.rows.length-1].childNodes,function(t){return t.firstChild}),l=0;l<e.length&&(o=e[l],o.getAttribute("data-mce-color"));l++);if(l==i)for(l=0;i-1>l;l++)n(e[l],e[l+1].getAttribute("data-mce-color"));n(o,t),r(t)},e(s.settings.format))),c=o.target.getAttribute("data-mce-color")){if(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),o.target.setAttribute("aria-selected",!0),this.lastId=o.target.id,"transparent"==c)return a(s.settings.format),void s.hidePanel();r(c)}else null!==c&&s.hidePanel()}function c(){var t=this;t._color&&l(t.settings.format,t._color)}var i,s;s=t.settings.textcolor_rows||5,i=t.settings.textcolor_cols||8,t.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:n},onclick:c}),t.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:r,onclick:n},onclick:c})});
|
tinymce.PluginManager.add("textcolor",function(a){function b(b){var c;return a.dom.getParents(a.selection.getStart(),function(a){var d;(d=a.style["forecolor"==b?"color":"background-color"])&&(c=d)}),c}function c(){var b,c,d=[];for(c=a.settings.textcolor_map||["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],b=0;b<c.length;b+=2)d.push({text:c[b+1],color:"#"+c[b]});return d}function d(){function b(a,b){var c="transparent"==a;return'<td class="mce-grid-cell'+(c?" mce-colorbtn-trans":"")+'"><div id="'+n+"-"+o++ +'" data-mce-color="'+(a?a:"")+'" role="option" tabIndex="-1" style="'+(a?"background-color: "+a:"")+'" title="'+tinymce.translate(b)+'">'+(c?"×":"")+"</div></td>"}var d,e,f,g,h,k,l,m=this,n=m._id,o=0;for(d=c(),d.push({text:tinymce.translate("No color"),color:"transparent"}),f='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',g=d.length-1,k=0;j>k;k++){for(f+="<tr>",h=0;i>h;h++)l=k*i+h,l>g?f+="<td></td>":(e=d[l],f+=b(e.color,e.text));f+="</tr>"}if(a.settings.color_picker_callback){for(f+='<tr><td colspan="'+i+'" class="mce-custom-color-btn"><div id="'+n+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+n+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+tinymce.translate("Custom...")+"</button></div></td></tr>",f+="<tr>",h=0;i>h;h++)f+=b("","Custom color");f+="</tr>"}return f+="</tbody></table>"}function e(b,c){a.focus(),a.formatter.apply(b,{value:c}),a.nodeChanged()}function f(b){a.focus(),a.formatter.remove(b,{value:null},null,!0),a.nodeChanged()}function g(c){function d(a){j.hidePanel(),j.color(a),e(j.settings.format,a)}function g(a,b){a.style.background=b,a.setAttribute("data-mce-color",b)}var h,j=this.parent();if(tinymce.DOM.getParent(c.target,".mce-custom-color-btn")&&(j.hidePanel(),a.settings.color_picker_callback.call(a,function(a){var b,c,e,f=j.panel.getEl().getElementsByTagName("table")[0];for(b=tinymce.map(f.rows[f.rows.length-1].childNodes,function(a){return a.firstChild}),e=0;e<b.length&&(c=b[e],c.getAttribute("data-mce-color"));e++);if(e==i)for(e=0;i-1>e;e++)g(b[e],b[e+1].getAttribute("data-mce-color"));g(c,a),d(a)},b(j.settings.format))),h=c.target.getAttribute("data-mce-color")){if(this.lastId&&document.getElementById(this.lastId).setAttribute("aria-selected",!1),c.target.setAttribute("aria-selected",!0),this.lastId=c.target.id,"transparent"==h)return f(j.settings.format),void j.hidePanel();d(h)}else null!==h&&j.hidePanel()}function h(){var a=this;a._color&&e(a.settings.format,a._color)}var i,j;j=a.settings.textcolor_rows||5,i=a.settings.textcolor_cols||8,a.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:d,onclick:g},onclick:h}),a.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:d,onclick:g},onclick:h})});
|
@ -339,19 +339,21 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
|
|||||||
|
|
||||||
// should create a new function for generating the caption markup
|
// should create a new function for generating the caption markup
|
||||||
html = '<dl ' + id + 'class="' + className +'" style="width: '+ width +'px">' +
|
html = '<dl ' + id + 'class="' + className +'" style="width: '+ width +'px">' +
|
||||||
'<dt class="wp-caption-dt">' + dom.getOuterHTML( node ) + '</dt><dd class="wp-caption-dd">'+ imageData.caption +'</dd></dl>';
|
'<dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+ imageData.caption +'</dd></dl>';
|
||||||
|
|
||||||
|
wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
|
||||||
|
|
||||||
if ( parent = dom.getParent( node, 'p' ) ) {
|
if ( parent = dom.getParent( node, 'p' ) ) {
|
||||||
wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
|
|
||||||
parent.parentNode.insertBefore( wrap, parent );
|
parent.parentNode.insertBefore( wrap, parent );
|
||||||
dom.remove( node );
|
|
||||||
|
|
||||||
if ( dom.isEmpty( parent ) ) {
|
if ( dom.isEmpty( parent ) ) {
|
||||||
dom.remove( parent );
|
dom.remove( parent );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dom.setOuterHTML( node, '<div class="mceTemp">' + html + '</div>' );
|
node.parentNode.insertBefore( wrap, node );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
editor.$( wrap ).find( 'dt.wp-caption-dt' ).append( node );
|
||||||
}
|
}
|
||||||
} else if ( captionNode ) {
|
} else if ( captionNode ) {
|
||||||
// Remove the caption wrapper and place the image in new paragraph
|
// Remove the caption wrapper and place the image in new paragraph
|
||||||
@ -734,31 +736,27 @@ tinymce.PluginManager.add( 'wpeditimage', function( editor ) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( imgNode.parentNode && imgNode.parentNode.nodeName === 'A' ) {
|
if ( imgNode.parentNode && imgNode.parentNode.nodeName === 'A' ) {
|
||||||
html = dom.getOuterHTML( imgNode.parentNode );
|
|
||||||
node = imgNode.parentNode;
|
node = imgNode.parentNode;
|
||||||
} else {
|
} else {
|
||||||
html = dom.getOuterHTML( imgNode );
|
|
||||||
node = imgNode;
|
node = imgNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
html = '<dl ' + captionId + captionAlign + captionWidth + '>' +
|
html = '<dl ' + captionId + captionAlign + captionWidth + '>' +
|
||||||
'<dt class="wp-caption-dt">'+ html +'</dt><dd class="wp-caption-dd">'+ caption +'</dd></dl>';
|
'<dt class="wp-caption-dt"></dt><dd class="wp-caption-dd">'+ caption +'</dd></dl>';
|
||||||
|
|
||||||
if ( parent = dom.getParent( imgNode, 'p' ) ) {
|
wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
|
||||||
wrap = dom.create( 'div', { 'class': 'mceTemp' }, html );
|
|
||||||
dom.insertAfter( wrap, parent );
|
|
||||||
editor.selection.select( wrap );
|
|
||||||
editor.nodeChanged();
|
|
||||||
|
|
||||||
// Delete the old image node
|
if ( parent = dom.getParent( node, 'p' ) ) {
|
||||||
dom.remove( node );
|
parent.parentNode.insertBefore( wrap, parent );
|
||||||
|
|
||||||
if ( dom.isEmpty( parent ) ) {
|
if ( dom.isEmpty( parent ) ) {
|
||||||
dom.remove( parent );
|
dom.remove( parent );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
editor.selection.setContent( '<div class="mceTemp">' + html + '</div>' );
|
node.parentNode.insertBefore( wrap, node );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
editor.$( wrap ).find( 'dt.wp-caption-dt' ).append( node );
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if ( wrap ) {
|
if ( wrap ) {
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
|||||||
.mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0px}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp{background:#AAA}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}
|
.mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px!important;height:9px!important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp{background:#AAA}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#39f!important}.mce-edit-focus{outline:1px dotted #333}
|
@ -1 +1 @@
|
|||||||
body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px}.mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0px}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp{background:#AAA}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid #F00;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#3399ff !important}.mce-edit-focus{outline:1px dotted #333}
|
body{background-color:#FFF;color:#000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:11px}.mce-object{border:1px dotted #3A3A3A;background:#d5d5d5 url(img/object.gif) no-repeat center}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px!important;height:9px!important;border:1px dotted #3A3A3A;background:#d5d5d5 url(img/anchor.gif) no-repeat center}.mce-nbsp{background:#AAA}hr{cursor:default}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-spellchecker-word{border-bottom:2px solid red;cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid green;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td.mce-item-selected,th.mce-item-selected{background-color:#39f!important}.mce-edit-focus{outline:1px dotted #333}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
22
wp-includes/js/tinymce/tinymce.min.js
vendored
22
wp-includes/js/tinymce/tinymce.min.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
@ -18,7 +18,7 @@ $wp_db_version = 29630;
|
|||||||
*
|
*
|
||||||
* @global string $tinymce_version
|
* @global string $tinymce_version
|
||||||
*/
|
*/
|
||||||
$tinymce_version = '4104-20140822';
|
$tinymce_version = '4106-20141022';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the required PHP version
|
* Holds the required PHP version
|
||||||
|
Loading…
Reference in New Issue
Block a user