Upgrade TinyMCE to v3.4.5
[citadel.git] / webcit / tiny_mce / plugins / nonbreaking / editor_plugin_src.js
old mode 100755 (executable)
new mode 100644 (file)
index 73d5478..d492fbe
@@ -1,62 +1,54 @@
 /**\r
- * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $\r
+ * editor_plugin_src.js\r
  *\r
- * @author Moxiecode\r
- * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved.\r
+ * Copyright 2009, Moxiecode Systems AB\r
+ * Released under LGPL License.\r
+ *\r
+ * License: http://tinymce.moxiecode.com/license\r
+ * Contributing: http://tinymce.moxiecode.com/contributing\r
  */\r
 \r
-/* Import plugin specific language pack */\r
-tinyMCE.importPluginLanguagePack('nonbreaking');\r
-\r
-var TinyMCE_NonBreakingPlugin = {\r
-       getInfo : function() {\r
-               return {\r
-                       longname : 'Nonbreaking space',\r
-                       author : 'Moxiecode Systems AB',\r
-                       authorurl : 'http://tinymce.moxiecode.com',\r
-                       infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',\r
-                       version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion\r
-               };\r
-       },\r
-\r
-       getControlHTML : function(cn) {\r
-               switch (cn) {\r
-                       case "nonbreaking":\r
-                               return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false);\r
-               }\r
-\r
-               return "";\r
-       },\r
-\r
-\r
-       execCommand : function(editor_id, element, command, user_interface, value) {\r
-               var inst = tinyMCE.getInstanceById(editor_id), h;\r
-\r
-               switch (command) {\r
-                       case "mceNonBreaking":\r
-                               h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;</span>' : '&nbsp;';\r
-                               tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h);\r
-                               return true;\r
-               }\r
-\r
-               return false;\r
-       },\r
-\r
-       handleEvent : function(e) {\r
-               var inst, h;\r
-\r
-               if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) {\r
-                       inst = tinyMCE.selectedInstance;\r
-\r
-                       h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>' : '&nbsp;&nbsp;&nbsp;';\r
-                       tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h);\r
-\r
-                       tinyMCE.cancelEvent(e);\r
-                       return false;\r
+(function() {\r
+       tinymce.create('tinymce.plugins.Nonbreaking', {\r
+               init : function(ed, url) {\r
+                       var t = this;\r
+\r
+                       t.editor = ed;\r
+\r
+                       // Register commands\r
+                       ed.addCommand('mceNonBreaking', function() {\r
+                               ed.execCommand('mceInsertContent', false, (ed.plugins.visualchars && ed.plugins.visualchars.state) ? '<span data-mce-bogus="1" class="mceItemHidden mceItemNbsp">&nbsp;</span>' : '&nbsp;');\r
+                       });\r
+\r
+                       // Register buttons\r
+                       ed.addButton('nonbreaking', {title : 'nonbreaking.nonbreaking_desc', cmd : 'mceNonBreaking'});\r
+\r
+                       if (ed.getParam('nonbreaking_force_tab')) {\r
+                               ed.onKeyDown.add(function(ed, e) {\r
+                                       if (e.keyCode == 9) {\r
+                                               e.preventDefault();\r
+       \r
+                                               ed.execCommand('mceNonBreaking');\r
+                                               ed.execCommand('mceNonBreaking');\r
+                                               ed.execCommand('mceNonBreaking');\r
+                                       }\r
+                               });\r
+                       }\r
+               },\r
+\r
+               getInfo : function() {\r
+                       return {\r
+                               longname : 'Nonbreaking space',\r
+                               author : 'Moxiecode Systems AB',\r
+                               authorurl : 'http://tinymce.moxiecode.com',\r
+                               infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',\r
+                               version : tinymce.majorVersion + "." + tinymce.minorVersion\r
+                       };\r
                }\r
 \r
-               return true;\r
-       }\r
-};\r
+               // Private methods\r
+       });\r
 \r
-tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin);\r
+       // Register plugin\r
+       tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking);\r
+})();
\ No newline at end of file