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