summaryrefslogtreecommitdiff
path: root/resources/mediawiki.api/mediawiki.api.parse.js
diff options
context:
space:
mode:
authorPierre Schmitz <pierre@archlinux.de>2013-01-18 16:46:04 +0100
committerPierre Schmitz <pierre@archlinux.de>2013-01-18 16:46:04 +0100
commit63601400e476c6cf43d985f3e7b9864681695ed4 (patch)
treef7846203a952e38aaf66989d0a4702779f549962 /resources/mediawiki.api/mediawiki.api.parse.js
parent8ff01378c9e0207f9169b81966a51def645b6a51 (diff)
Update to MediaWiki 1.20.2
this update includes: * adjusted Arch Linux skin * updated FluxBBAuthPlugin * patch for https://bugzilla.wikimedia.org/show_bug.cgi?id=44024
Diffstat (limited to 'resources/mediawiki.api/mediawiki.api.parse.js')
-rw-r--r--resources/mediawiki.api/mediawiki.api.parse.js45
1 files changed, 28 insertions, 17 deletions
diff --git a/resources/mediawiki.api/mediawiki.api.parse.js b/resources/mediawiki.api/mediawiki.api.parse.js
index 1cc68f29..e8d1b3e6 100644
--- a/resources/mediawiki.api/mediawiki.api.parse.js
+++ b/resources/mediawiki.api/mediawiki.api.parse.js
@@ -1,31 +1,42 @@
/**
- * Additional mw.Api methods to assist with API calls related to parsing wikitext.
+ * mw.Api methods for parsing wikitext.
*/
-
-( function( $, mw ) {
+( function ( mw, $ ) {
$.extend( mw.Api.prototype, {
/**
* Convinience method for 'action=parse'. Parses wikitext into HTML.
*
* @param wikiText {String}
- * @param success {Function} callback to which to pass success HTML
- * @param err {Function} callback if error (optional)
- * @return {jqXHR}
+ * @param ok {Function} [optional] deprecated (success callback)
+ * @param err {Function} [optional] deprecated (error callback)
+ * @return {jQuery.Promise}
*/
- parse: function( wikiText, success, err ) {
- var params = {
- text: wikiText,
- action: 'parse'
- },
- ok = function( data ) {
+ parse: function ( wikiText, ok, err ) {
+ var apiDeferred = $.Deferred();
+
+ // Backwards compatibility (< MW 1.20)
+ if ( ok ) {
+ apiDeferred.done( ok );
+ }
+ if ( err ) {
+ apiDeferred.fail( err );
+ }
+
+ this.get( {
+ action: 'parse',
+ text: wikiText
+ } )
+ .done( function ( data ) {
if ( data.parse && data.parse.text && data.parse.text['*'] ) {
- success( data.parse.text['*'] );
+ apiDeferred.resolve( data.parse.text['*'] );
}
- };
- return this.get( params, { ok: ok, err: err } );
- }
+ } )
+ .fail( apiDeferred.reject );
+ // Return the promise
+ return apiDeferred.promise();
+ }
} );
-} )( jQuery, mediaWiki );
+}( mediaWiki, jQuery ) );