JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
vanilla ckeditor-3.5
[ckeditor.git] / _source / plugins / button / plugin.js
index c0c8208..569fa92 100644 (file)
@@ -55,6 +55,45 @@ CKEDITOR.ui.button.handler =
        }\r
 };\r
 \r
+/**\r
+ * Handles a button click.\r
+ * @private\r
+ */\r
+CKEDITOR.ui.button._ =\r
+{\r
+       instances : [],\r
+\r
+       keydown : function( index, ev )\r
+       {\r
+               var instance = CKEDITOR.ui.button._.instances[ index ];\r
+\r
+               if ( instance.onkey )\r
+               {\r
+                       ev = new CKEDITOR.dom.event( ev );\r
+                       return ( instance.onkey( instance, ev.getKeystroke() ) !== false );\r
+               }\r
+       },\r
+\r
+       focus : function( index, ev )\r
+       {\r
+               var instance = CKEDITOR.ui.button._.instances[ index ],\r
+                       retVal;\r
+\r
+               if ( instance.onfocus )\r
+                       retVal = ( instance.onfocus( instance, new CKEDITOR.dom.event( ev ) ) !== false );\r
+\r
+               // FF2: prevent focus event been bubbled up to editor container, which caused unexpected editor focus.\r
+               if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 )\r
+                       ev.preventBubble();\r
+               return retVal;\r
+       }\r
+};\r
+\r
+( function()\r
+{\r
+       var keydownFn = CKEDITOR.tools.addFunction( CKEDITOR.ui.button._.keydown, CKEDITOR.ui.button._ ),\r
+               focusFn = CKEDITOR.tools.addFunction( CKEDITOR.ui.button._.focus, CKEDITOR.ui.button._ );\r
+\r
 CKEDITOR.ui.button.prototype =\r
 {\r
        canGroup : true,\r
@@ -171,8 +210,8 @@ CKEDITOR.ui.button.prototype =
                }\r
 \r
                output.push(\r
-                               ' onkeydown="return CKEDITOR.ui.button._.keydown(', index, ', event);"' +\r
-                               ' onfocus="return CKEDITOR.ui.button._.focus(', index, ', event);"' +\r
+                                       ' onkeydown="return CKEDITOR.tools.callFunction(', keydownFn, ', ', index, ', event);"' +\r
+                                       ' onfocus="return CKEDITOR.tools.callFunction(', focusFn,', ', index, ', event);"' +\r
                                ' onclick="CKEDITOR.tools.callFunction(', clickFn, ', this); return false;">' +\r
                                        '<span class="cke_icon"' );\r
 \r
@@ -232,39 +271,7 @@ CKEDITOR.ui.button.prototype =
        }\r
 };\r
 \r
-/**\r
- * Handles a button click.\r
- * @private\r
- */\r
-CKEDITOR.ui.button._ =\r
-{\r
-       instances : [],\r
-\r
-       keydown : function( index, ev )\r
-       {\r
-               var instance = CKEDITOR.ui.button._.instances[ index ];\r
-\r
-               if ( instance.onkey )\r
-               {\r
-                       ev = new CKEDITOR.dom.event( ev );\r
-                       return ( instance.onkey( instance, ev.getKeystroke() ) !== false );\r
-               }\r
-       },\r
-\r
-       focus : function( index, ev )\r
-       {\r
-               var instance = CKEDITOR.ui.button._.instances[ index ],\r
-                       retVal;\r
-\r
-               if ( instance.onfocus )\r
-                       retVal = ( instance.onfocus( instance, new CKEDITOR.dom.event( ev ) ) !== false );\r
-\r
-               // FF2: prevent focus event been bubbled up to editor container, which caused unexpected editor focus.\r
-               if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 )\r
-                       ev.preventBubble();\r
-               return retVal;\r
-       }\r
-};\r
+})();\r
 \r
 /**\r
  * Adds a button definition to the UI elements list.\r