Upgrade of TinyMCE is in progress.
[citadel.git] / webcit / tiny_mce / plugins / nonbreaking / editor_plugin_src.js
1 /**\r
2  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $\r
3  *\r
4  * @author Moxiecode\r
5  * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.\r
6  */\r
7 \r
8 /* Import plugin specific language pack */\r
9 tinyMCE.importPluginLanguagePack('nonbreaking');\r
10 \r
11 var TinyMCE_NonBreakingPlugin = {\r
12         getInfo : function() {\r
13                 return {\r
14                         longname : 'Nonbreaking space',\r
15                         author : 'Moxiecode Systems AB',\r
16                         authorurl : 'http://tinymce.moxiecode.com',\r
17                         infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',\r
18                         version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion\r
19                 };\r
20         },\r
21 \r
22         getControlHTML : function(cn) {\r
23                 switch (cn) {\r
24                         case "nonbreaking":\r
25                                 return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false);\r
26                 }\r
27 \r
28                 return "";\r
29         },\r
30 \r
31 \r
32         execCommand : function(editor_id, element, command, user_interface, value) {\r
33                 var inst = tinyMCE.getInstanceById(editor_id), h;\r
34 \r
35                 switch (command) {\r
36                         case "mceNonBreaking":\r
37                                 h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;</span>' : '&nbsp;';\r
38                                 tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h);\r
39                                 return true;\r
40                 }\r
41 \r
42                 return false;\r
43         },\r
44 \r
45         handleEvent : function(e) {\r
46                 var inst, h;\r
47 \r
48                 if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) {\r
49                         inst = tinyMCE.selectedInstance;\r
50 \r
51                         h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>' : '&nbsp;&nbsp;&nbsp;';\r
52                         tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h);\r
53 \r
54                         tinyMCE.cancelEvent(e);\r
55                         return false;\r
56                 }\r
57 \r
58                 return true;\r
59         }\r
60 };\r
61 \r
62 tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin);\r