From 1f705968827f9dea3ee66e5ea9d35f00d360ad9a Mon Sep 17 00:00:00 2001
From: cmcnulty <cmcnulty@kznf.com>
Date: Sat, 09 Nov 2013 21:49:23 -0500
Subject: [PATCH] CSS only solution to focused messages

---
 program/js/tiny_mce/plugins/directionality/editor_plugin_src.js |   39 +++++++++++++++++++++------------------
 1 files changed, 21 insertions(+), 18 deletions(-)

diff --git a/program/js/tiny_mce/plugins/directionality/editor_plugin_src.js b/program/js/tiny_mce/plugins/directionality/editor_plugin_src.js
index 4444959..b134014 100644
--- a/program/js/tiny_mce/plugins/directionality/editor_plugin_src.js
+++ b/program/js/tiny_mce/plugins/directionality/editor_plugin_src.js
@@ -15,30 +15,33 @@
 
 			t.editor = ed;
 
-			ed.addCommand('mceDirectionLTR', function() {
-				var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);
+			function setDir(dir) {
+				var dom = ed.dom, curDir, blocks = ed.selection.getSelectedBlocks();
 
-				if (e) {
-					if (ed.dom.getAttrib(e, "dir") != "ltr")
-						ed.dom.setAttrib(e, "dir", "ltr");
-					else
-						ed.dom.setAttrib(e, "dir", "");
+				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);
+							}
+						}
+					});
+
+					ed.nodeChanged();
 				}
+			}
 
-				ed.nodeChanged();
+			ed.addCommand('mceDirectionLTR', function() {
+				setDir("ltr");
 			});
 
 			ed.addCommand('mceDirectionRTL', function() {
-				var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);
-
-				if (e) {
-					if (ed.dom.getAttrib(e, "dir") != "rtl")
-						ed.dom.setAttrib(e, "dir", "rtl");
-					else
-						ed.dom.setAttrib(e, "dir", "");
-				}
-
-				ed.nodeChanged();
+				setDir("rtl");
 			});
 
 			ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'});

--
Gitblit v1.9.1