From: Brad Jorsch Date: Thu, 25 Feb 2016 15:05:12 +0000 (-0500) Subject: ApiSandbox: Blur before sending request X-Git-Tag: 1.31.0-rc.0~7820^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/operations/recherche.php?a=commitdiff_plain;h=d61d185a735acaf56c71268c9e71604c36e977c2;p=lhc%2Fweb%2Fwiklou.git ApiSandbox: Blur before sending request OO.ui.ButtonWidget doesn't take focus itself, so clicking the "Make request" button isn't sending the blur event, so stuff like OO.ui.CapsuleMultiSelectWidget doesn't get to process its input until too late. Bug: T128054 Change-Id: I00913123e0019c096890b2829bfea3a77c551b2e --- diff --git a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js index bd1cad6bb9..4159906d77 100644 --- a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js +++ b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js @@ -791,13 +791,20 @@ * Submit button handler */ sendRequest: function () { - var page, subpages, i, query, $result, + var page, subpages, i, query, $result, $focus, progress, $progressText, progressLoading, deferreds = [], params = {}, displayParams = {}, checkPages = [ pages.main ]; + // Blur any focused widget before submit, because + // OO.ui.ButtonWidget doesn't take focus itself (T128054) + $focus = $( '#mw-apisandbox-ui' ).find( document.activeElement ); + if ( $focus.length ) { + $focus[ 0 ].blur(); + } + suppressErrors = false; while ( checkPages.length ) {