Allow custom event handlers for the click event of toolbar buttons
authorhelderwiki <helder.wiki@gmail.com>
Sat, 23 Aug 2014 19:12:21 +0000 (16:12 -0300)
committerhelderwiki <helder.wiki@gmail.com>
Sun, 24 Aug 2014 19:07:18 +0000 (16:07 -0300)
Example:
mw.toolbar.addButton( {
imageFile: '//upload.wikimedia.org/wikipedia/commons/a/a9/Button_tournesol.png',
onClick: function(){ alert( 'MediaWiki!' ); }
} );

Change-Id: I615960f689a0f8d35a12879efebc0afda8eef7b1

resources/src/mediawiki.action/mediawiki.action.edit.js

index 0481b6a..0ebcd3c 100644 (file)
                        title: b.speedTip,
                        id: b.imageId || undefined,
                        'class': 'mw-toolbar-editbutton'
-               } ).click( function () {
-                       toolbar.insertTags( b.tagOpen, b.tagClose, b.sampleText );
+               } ).click( function ( e ) {
+                       if ( $.isFunction( b.onClick ) ) {
+                               b.onClick( e );
+                       } else {
+                               toolbar.insertTags( b.tagOpen, b.tagClose, b.sampleText );
+                       }
                        return false;
                } );
 
@@ -72,6 +76,7 @@
                 * @param {string} button.tagClose
                 * @param {string} button.sampleText
                 * @param {string} [button.imageId]
+                * @param {Function} [button.onClick]
                 */
                addButton: function () {
                        if ( isReady ) {