]> git.mxchange.org Git - friendica.git/blobdiff - library/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js
TinyMCE 3.5.8 update; some fixes
[friendica.git] / library / tinymce / jscripts / tiny_mce / plugins / directionality / editor_plugin_src.js
index 4444959bf31bb3a7a22b947305fafdbd5d446939..b1340141276c4eac2d2bb74c33cc243b5ef2bf45 100644 (file)
 \r
                        t.editor = ed;\r
 \r
-                       ed.addCommand('mceDirectionLTR', function() {\r
-                               var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);\r
-\r
-                               if (e) {\r
-                                       if (ed.dom.getAttrib(e, "dir") != "ltr")\r
-                                               ed.dom.setAttrib(e, "dir", "ltr");\r
-                                       else\r
-                                               ed.dom.setAttrib(e, "dir", "");\r
+                       function setDir(dir) {\r
+                               var dom = ed.dom, curDir, blocks = ed.selection.getSelectedBlocks();\r
+\r
+                               if (blocks.length) {\r
+                                       curDir = dom.getAttrib(blocks[0], "dir");\r
+\r
+                                       tinymce.each(blocks, function(block) {\r
+                                               // Add dir to block if the parent block doesn't already have that dir\r
+                                               if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) {\r
+                                                       if (curDir != dir) {\r
+                                                               dom.setAttrib(block, "dir", dir);\r
+                                                       } else {\r
+                                                               dom.setAttrib(block, "dir", null);\r
+                                                       }\r
+                                               }\r
+                                       });\r
+\r
+                                       ed.nodeChanged();\r
                                }\r
+                       }\r
 \r
-                               ed.nodeChanged();\r
+                       ed.addCommand('mceDirectionLTR', function() {\r
+                               setDir("ltr");\r
                        });\r
 \r
                        ed.addCommand('mceDirectionRTL', function() {\r
-                               var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);\r
-\r
-                               if (e) {\r
-                                       if (ed.dom.getAttrib(e, "dir") != "rtl")\r
-                                               ed.dom.setAttrib(e, "dir", "rtl");\r
-                                       else\r
-                                               ed.dom.setAttrib(e, "dir", "");\r
-                               }\r
-\r
-                               ed.nodeChanged();\r
+                               setDir("rtl");\r
                        });\r
 \r
                        ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'});\r