jenkins-bot has submitted this change and it was merged.

Change subject: Implement autocompletion for Performer field on Special:Log
......................................................................


Implement autocompletion for Performer field on Special:Log

Bug: 48241
Change-Id: I5e6af5aba56de613f10f862aaf064aaa32b5b176
---
M includes/logging/LogEventsList.php
M includes/specials/SpecialLog.php
M resources/Resources.php
A resources/src/mediawiki/mediawiki.userSuggest.js
4 files changed, 52 insertions(+), 1 deletion(-)

Approvals:
  Krinkle: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/logging/LogEventsList.php 
b/includes/logging/LogEventsList.php
index e1f58a4..70f1f1a 100644
--- a/includes/logging/LogEventsList.php
+++ b/includes/logging/LogEventsList.php
@@ -223,7 +223,8 @@
                        'user',
                        'mw-log-user',
                        15,
-                       $user
+                       $user,
+                       array( 'class' => 'mw-autocomplete-user' )
                );
 
                return '<span style="white-space: nowrap">' . $label . 
'</span>';
diff --git a/includes/specials/SpecialLog.php b/includes/specials/SpecialLog.php
index dc33801..d3aa6c4 100644
--- a/includes/specials/SpecialLog.php
+++ b/includes/specials/SpecialLog.php
@@ -47,6 +47,7 @@
        public function execute( $par ) {
                $this->setHeaders();
                $this->outputHeader();
+               $this->getOutput()->addModules( 'mediawiki.userSuggest' );
 
                $opts = new FormOptions;
                $opts->add( 'type', '' );
diff --git a/resources/Resources.php b/resources/Resources.php
index a0ce040..07db06f 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -962,6 +962,13 @@
                ),
                'targets' => array( 'desktop', 'mobile' ),
        ),
+       'mediawiki.userSuggest' => array(
+               'scripts' => 'resources/src/mediawiki/mediawiki.userSuggest.js',
+               'dependencies' => array(
+                       'jquery.suggestions',
+                       'mediawiki.api'
+               )
+       ),
        'mediawiki.util' => array(
                'scripts' => 'resources/src/mediawiki/mediawiki.util.js',
                'dependencies' => array(
diff --git a/resources/src/mediawiki/mediawiki.userSuggest.js 
b/resources/src/mediawiki/mediawiki.userSuggest.js
new file mode 100644
index 0000000..aed093c
--- /dev/null
+++ b/resources/src/mediawiki/mediawiki.userSuggest.js
@@ -0,0 +1,42 @@
+/*!
+ * Add autocomplete suggestions for names of registered users.
+ */
+( function ( mw, $ ) {
+       var api, config;
+
+       config = {
+               fetch: function ( userInput ) {
+                       var $textbox = this,
+                               node = this[0];
+
+                       api = api || new mw.Api();
+
+                       $.data( node, 'request', api.get( {
+                               action: 'query',
+                               list: 'allusers',
+                               // Prefix of list=allusers is case sensitive. 
Normalise first
+                               // character to uppercase so that "fo" may 
yield "Foo".
+                               auprefix: userInput.charAt( 0 ).toUpperCase() + 
userInput.slice( 1 )
+                       } ).done( function ( data ) {
+                               var users = $.map( data.query.allusers, 
function ( userObj ) {
+                                       return userObj.name;
+                               } );
+                               // Set the results as the autocomplete options
+                               $textbox.suggestions( 'suggestions', users );
+                       } ) );
+               },
+               cancel: function () {
+                       var node = this[0],
+                               request = $.data( node, 'request' );
+
+                       if ( request ) {
+                               request.abort();
+                               $.removeData( node, 'request' );
+                       }
+               }
+       };
+
+       $( function () {
+               $( '.mw-autocomplete-user' ).suggestions( config );
+       } );
+}( mediaWiki, jQuery ) );

-- 
To view, visit https://gerrit.wikimedia.org/r/110820
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5e6af5aba56de613f10f862aaf064aaa32b5b176
Gerrit-PatchSet: 15
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Alex Monk <kren...@wikimedia.org>
Gerrit-Reviewer: Alex Monk <kren...@wikimedia.org>
Gerrit-Reviewer: Hoo man <h...@online.de>
Gerrit-Reviewer: Jack Phoenix <j...@countervandalism.net>
Gerrit-Reviewer: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: Legoktm <legoktm.wikipe...@gmail.com>
Gerrit-Reviewer: MZMcBride <w...@mzmcbride.com>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to