2 * editor_plugin_src.js
\r
4 * Copyright 2009, Moxiecode Systems AB
\r
5 * Released under LGPL License.
\r
7 * License: http://tinymce.moxiecode.com/license
\r
8 * Contributing: http://tinymce.moxiecode.com/contributing
\r
12 tinymce.create('tinymce.plugins.Directionality', {
\r
13 init : function(ed, url) {
\r
18 function setDir(dir) {
\r
19 var dom = ed.dom, curDir, blocks = ed.selection.getSelectedBlocks();
\r
21 if (blocks.length) {
\r
22 curDir = dom.getAttrib(blocks[0], "dir");
\r
24 tinymce.each(blocks, function(block) {
\r
25 // Add dir to block if the parent block doesn't already have that dir
\r
26 if (!dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot())) {
\r
27 if (curDir != dir) {
\r
28 dom.setAttrib(block, "dir", dir);
\r
30 dom.setAttrib(block, "dir", null);
\r
39 ed.addCommand('mceDirectionLTR', function() {
\r
43 ed.addCommand('mceDirectionRTL', function() {
\r
47 ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'});
\r
48 ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'});
\r
50 ed.onNodeChange.add(t._nodeChange, t);
\r
53 getInfo : function() {
\r
55 longname : 'Directionality',
\r
56 author : 'Moxiecode Systems AB',
\r
57 authorurl : 'http://tinymce.moxiecode.com',
\r
58 infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',
\r
59 version : tinymce.majorVersion + "." + tinymce.minorVersion
\r
65 _nodeChange : function(ed, cm, n) {
\r
66 var dom = ed.dom, dir;
\r
68 n = dom.getParent(n, dom.isBlock);
\r
70 cm.setDisabled('ltr', 1);
\r
71 cm.setDisabled('rtl', 1);
\r
75 dir = dom.getAttrib(n, 'dir');
\r
76 cm.setActive('ltr', dir == "ltr");
\r
77 cm.setDisabled('ltr', 0);
\r
78 cm.setActive('rtl', dir == "rtl");
\r
79 cm.setDisabled('rtl', 0);
\r
84 tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality);
\r