Merge "Bumped the default Swift token expiry a bit"
[lhc/web/wiklou.git] / resources / src / mediawiki / mediawiki.userSuggest.js
1 /*!
2 * Add autocomplete suggestions for names of registered users.
3 */
4 ( function ( mw, $ ) {
5 var api, config;
6
7 config = {
8 fetch: function ( userInput ) {
9 var $textbox = this,
10 node = this[0];
11
12 api = api || new mw.Api();
13
14 $.data( node, 'request', api.get( {
15 action: 'query',
16 list: 'allusers',
17 // Prefix of list=allusers is case sensitive. Normalise first
18 // character to uppercase so that "fo" may yield "Foo".
19 auprefix: userInput.charAt( 0 ).toUpperCase() + userInput.slice( 1 )
20 } ).done( function ( data ) {
21 var users = $.map( data.query.allusers, function ( userObj ) {
22 return userObj.name;
23 } );
24 // Set the results as the autocomplete options
25 $textbox.suggestions( 'suggestions', users );
26 } ) );
27 },
28 cancel: function () {
29 var node = this[0],
30 request = $.data( node, 'request' );
31
32 if ( request ) {
33 request.abort();
34 $.removeData( node, 'request' );
35 }
36 }
37 };
38
39 $( function () {
40 $( '.mw-autocomplete-user' ).suggestions( config );
41 } );
42 }( mediaWiki, jQuery ) );