https://www.mediawiki.org/wiki/Special:Code/MediaWiki/112961

Revision: 112961
Author:   jeroendedauw
Date:     2012-03-03 20:34:29 +0000 (Sat, 03 Mar 2012)
Log Message:
-----------
added name autocompletion to enlistment dialog

Modified Paths:
--------------
    trunk/extensions/EducationProgram/EducationProgram.php
    trunk/extensions/EducationProgram/resources/ep.api.js
    trunk/extensions/EducationProgram/resources/ep.enlist.js

Modified: trunk/extensions/EducationProgram/EducationProgram.php
===================================================================
--- trunk/extensions/EducationProgram/EducationProgram.php      2012-03-03 
20:22:18 UTC (rev 112960)
+++ trunk/extensions/EducationProgram/EducationProgram.php      2012-03-03 
20:34:29 UTC (rev 112961)
@@ -512,7 +512,8 @@
                'ep.core',
                'ep.api',
                'mediawiki.jqueryMsg',
-               'mediawiki.language'
+               'mediawiki.language',
+               'jquery.ui.autocomplete',
        ),
        'messages' => array(
                'ep-instructor-remove-title',

Modified: trunk/extensions/EducationProgram/resources/ep.api.js
===================================================================
--- trunk/extensions/EducationProgram/resources/ep.api.js       2012-03-03 
20:22:18 UTC (rev 112960)
+++ trunk/extensions/EducationProgram/resources/ep.api.js       2012-03-03 
20:34:29 UTC (rev 112961)
@@ -70,6 +70,32 @@
                        );
                        
                        return deferred.promise();
+               },
+
+               getMatchingUsers: function( prefix, args ) {
+                       var deferred = $.Deferred(),
+                       requestArgs = $.extend( {
+                               'action': 'query',
+                               'list': 'allusers',
+                               'format': 'json',
+                               'aulimit': 8,
+                               'auprefix': prefix
+                       }, args );
+
+                       $.getJSON(
+                               wgScriptPath + '/api.php',
+                               requestArgs,
+                               function( data ) {
+                                       if ( data.query && data.query.allusers 
) {
+                                               deferred.resolve( 
data.query.allusers );
+                                       }
+                                       else {
+                                               deferred.reject();
+                                       }
+                               }
+                       );
+
+                       return deferred.promise();
                }
 
        };

Modified: trunk/extensions/EducationProgram/resources/ep.enlist.js
===================================================================
--- trunk/extensions/EducationProgram/resources/ep.enlist.js    2012-03-03 
20:22:18 UTC (rev 112960)
+++ trunk/extensions/EducationProgram/resources/ep.enlist.js    2012-03-03 
20:34:29 UTC (rev 112961)
@@ -215,6 +215,26 @@
                                                'for': 'ep-' + role + 
'-summaryinput'
                                        } ).text( ep.msg( 'ep-' + role + 
'-summary-input' ) + ' ' )
                                );
+
+                               this.nameInput.autocomplete( {
+                                       source: function( request, response ) {
+                                               ep.api.getMatchingUsers( 
_this.nameInput.val() ).done( function( users ) {
+                                                       response( $.map( users, 
function( user ) {
+                                                               return {
+                                                                       
'label': user.name,
+                                                                       
'value': user.name
+                                                               };
+                                                       } ) );
+                                               } );
+                                       },
+                                       minLength: 2,
+                                       open: function() {
+                                               $( this ).removeClass( 
"ui-corner-all" ).addClass( "ui-corner-top" );
+                                       },
+                                       close: function() {
+                                               $( this ).removeClass( 
"ui-corner-top" ).addClass( "ui-corner-all" );
+                                       }
+                               } );
                        }
                        
                        this.$dialog.append( this.summaryInput );


_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to