Improve title text in jquery.confirmable
authorwctaiwan <wctaiwan@gmail.com>
Sun, 15 Feb 2015 22:09:57 +0000 (17:09 -0500)
committerwctaiwan <wctaiwan@gmail.com>
Mon, 16 Feb 2015 18:33:25 +0000 (13:33 -0500)
Don't clone the title text for the "No" button, and make the title text
customizable for both yes and no buttons.

Bug: T89572
Change-Id: I7e1e5c6ee78aa54a97205d6682f9520008cc11dd

resources/src/jquery/jquery.confirmable.js
resources/src/jquery/jquery.confirmable.mediawiki.js

index 339e65a..1ecce6c 100644 (file)
@@ -40,6 +40,8 @@
         * @param {string} [options.i18n.confirm] Text to use for the confirmation question.
         * @param {string} [options.i18n.yes] Text to use for the 'Yes' button.
         * @param {string} [options.i18n.no] Text to use for the 'No' button.
+        * @param {string} [options.i18n.yesTitle] Title text to use for the 'Yes' button.
+        * @param {string} [options.i18n.noTitle] Title text to use for the 'No' button.
         *
         * @chainable
         */
                                if ( options.handler ) {
                                        $buttonYes.on( options.events, options.handler );
                                }
+                               if ( options.i18n.yesTitle ) {
+                                       $buttonYes.attr( 'title', options.i18n.yesTitle );
+                               }
                                $buttonYes = options.buttonCallback( $buttonYes, 'yes' );
 
                                // Clone it without any events and prevent default action to represent the 'No' button.
                                                $interface.css( 'width', 0 );
                                                e.preventDefault();
                                        } );
+                               if ( options.i18n.noTitle ) {
+                                       $buttonNo.attr( 'title', options.i18n.noTitle );
+                               } else {
+                                       $buttonNo.removeAttr( 'title' );
+                               }
                                $buttonNo = options.buttonCallback( $buttonNo, 'no' );
 
                                // Prevent memory leaks
                        space: ' ',
                        confirm: 'Are you sure?',
                        yes: 'Yes',
-                       no: 'No'
+                       no: 'No',
+                       yesTitle: undefined,
+                       noTitle: undefined
                }
        };
 }( jQuery ) );
index d4a106e..daf23a9 100644 (file)
@@ -9,6 +9,8 @@
                space: mw.message( 'word-separator' ).text(),
                confirm: mw.message( 'confirmable-confirm', mw.user ).text(),
                yes: mw.message( 'confirmable-yes' ).text(),
-               no: mw.message( 'confirmable-no' ).text()
+               no: mw.message( 'confirmable-no' ).text(),
+               yesTitle: undefined,
+               noTitle: undefined
        };
 }( mediaWiki, jQuery ) );