]> code.citadel.org Git - citadel.git/blob - webcit/tiny_mce/plugins/directionality/editor_plugin_src.js
Began removing $Id$ tags. This will be an ongoing process.
[citadel.git] / webcit / tiny_mce / plugins / directionality / editor_plugin_src.js
1 /*\r
2  * Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved.\r
3  */\r
4 \r
5 (function() {\r
6         tinymce.create('tinymce.plugins.Directionality', {\r
7                 init : function(ed, url) {\r
8                         var t = this;\r
9 \r
10                         t.editor = ed;\r
11 \r
12                         ed.addCommand('mceDirectionLTR', function() {\r
13                                 var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);\r
14 \r
15                                 if (e) {\r
16                                         if (ed.dom.getAttrib(e, "dir") != "ltr")\r
17                                                 ed.dom.setAttrib(e, "dir", "ltr");\r
18                                         else\r
19                                                 ed.dom.setAttrib(e, "dir", "");\r
20                                 }\r
21 \r
22                                 ed.nodeChanged();\r
23                         });\r
24 \r
25                         ed.addCommand('mceDirectionRTL', function() {\r
26                                 var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock);\r
27 \r
28                                 if (e) {\r
29                                         if (ed.dom.getAttrib(e, "dir") != "rtl")\r
30                                                 ed.dom.setAttrib(e, "dir", "rtl");\r
31                                         else\r
32                                                 ed.dom.setAttrib(e, "dir", "");\r
33                                 }\r
34 \r
35                                 ed.nodeChanged();\r
36                         });\r
37 \r
38                         ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'});\r
39                         ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'});\r
40 \r
41                         ed.onNodeChange.add(t._nodeChange, t);\r
42                 },\r
43 \r
44                 getInfo : function() {\r
45                         return {\r
46                                 longname : 'Directionality',\r
47                                 author : 'Moxiecode Systems AB',\r
48                                 authorurl : 'http://tinymce.moxiecode.com',\r
49                                 infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality',\r
50                                 version : tinymce.majorVersion + "." + tinymce.minorVersion\r
51                         };\r
52                 },\r
53 \r
54                 // Private methods\r
55 \r
56                 _nodeChange : function(ed, cm, n) {\r
57                         var dom = ed.dom, dir;\r
58 \r
59                         n = dom.getParent(n, dom.isBlock);\r
60                         if (!n) {\r
61                                 cm.setDisabled('ltr', 1);\r
62                                 cm.setDisabled('rtl', 1);\r
63                                 return;\r
64                         }\r
65 \r
66                         dir = dom.getAttrib(n, 'dir');\r
67                         cm.setActive('ltr', dir == "ltr");\r
68                         cm.setDisabled('ltr', 0);\r
69                         cm.setActive('rtl', dir == "rtl");\r
70                         cm.setDisabled('rtl', 0);\r
71                 }\r
72         });\r
73 \r
74         // Register plugin\r
75         tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality);\r
76 })();\r