diff -r 346c88efed21 -r 5e2f62d02dcd wp/wp-includes/js/tinymce/plugins/directionality/plugin.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/js/tinymce/plugins/directionality/plugin.js Tue Jun 09 03:35:32 2015 +0200 @@ -0,0 +1,64 @@ +/** + * plugin.js + * + * Copyright, Moxiecode Systems AB + * Released under LGPL License. + * + * License: http://www.tinymce.com/license + * Contributing: http://www.tinymce.com/contributing + */ + +/*global tinymce:true */ + +tinymce.PluginManager.add('directionality', function(editor) { + function setDir(dir) { + var dom = editor.dom, curDir, blocks = editor.selection.getSelectedBlocks(); + + if (blocks.length) { + curDir = dom.getAttrib(blocks[0], "dir"); + + tinymce.each(blocks, function(block) { + // Add dir to block if the parent block doesn't already have that dir + if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) { + if (curDir != dir) { + dom.setAttrib(block, "dir", dir); + } else { + dom.setAttrib(block, "dir", null); + } + } + }); + + editor.nodeChanged(); + } + } + + function generateSelector(dir) { + var selector = []; + + tinymce.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function(name) { + selector.push(name + '[dir=' + dir + ']'); + }); + + return selector.join(','); + } + + editor.addCommand('mceDirectionLTR', function() { + setDir("ltr"); + }); + + editor.addCommand('mceDirectionRTL', function() { + setDir("rtl"); + }); + + editor.addButton('ltr', { + title: 'Left to right', + cmd: 'mceDirectionLTR', + stateSelector: generateSelector('ltr') + }); + + editor.addButton('rtl', { + title: 'Right to left', + cmd: 'mceDirectionRTL', + stateSelector: generateSelector('rtl') + }); +}); \ No newline at end of file