Replace $.proxy by Function.prototype.bind
authorFomafix <fomafix@googlemail.com>
Tue, 4 Sep 2018 07:51:49 +0000 (09:51 +0200)
committerKrinkle <krinklemail@gmail.com>
Wed, 5 Sep 2018 20:50:11 +0000 (20:50 +0000)
Also prevent further usage by an eslint rule.

jQuery.proxy is deprecated:
* https://github.com/jquery/jquery/issues/2958

Bug: T200877
Change-Id: I3a4977f9b90c2104db320d2d939a1cbaa1819de0

.eslintrc.json
resources/src/mediawiki.api/messages.js
resources/src/mediawiki.special.preferences/confirmClose.js

index f7a79ac..f088617 100644 (file)
                                "object": "$",
                                "property": "trim",
                                "message": "Please use String.prototype.trim instead"
+                       },
+                       {
+                               "object": "$",
+                               "property": "proxy",
+                               "message": "Please use Function.prototype.bind instead"
                        }
                ],
                "dot-notation": 0,
index 44bba8b..824cc19 100644 (file)
@@ -46,7 +46,7 @@
                 * @return {jQuery.Promise}
                 */
                loadMessages: function ( messages, options ) {
-                       return this.getMessages( messages, options ).then( $.proxy( mw.messages, 'set' ) );
+                       return this.getMessages( messages, options ).then( mw.messages.set.bind( mw.messages ) );
                },
 
                /**
index 244154b..bf65ae9 100644 (file)
@@ -71,7 +71,7 @@
                        message: mw.msg( 'prefswarning-warning', mw.msg( 'saveprefs' ) ),
                        namespace: 'prefswarning'
                } );
-               $( '#mw-prefs-form' ).on( 'submit', $.proxy( allowCloseWindow, 'release' ) );
+               $( '#mw-prefs-form' ).on( 'submit', allowCloseWindow.release );
                if ( oouiEnabled ) {
                        restoreButton.on( 'click', function () {
                                allowCloseWindow.release();
@@ -80,7 +80,7 @@
                                location.href = restoreButton.getHref();
                        } );
                } else {
-                       $( '#mw-prefs-restoreprefs' ).on( 'click', $.proxy( allowCloseWindow, 'release' ) );
+                       $( '#mw-prefs-restoreprefs' ).on( 'click', allowCloseWindow.release );
                }
        } );
 }( mediaWiki, jQuery ) );