From 63601400e476c6cf43d985f3e7b9864681695ed4 Mon Sep 17 00:00:00 2001 From: Pierre Schmitz Date: Fri, 18 Jan 2013 16:46:04 +0100 Subject: 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 --- resources/mediawiki.api/mediawiki.api.parse.js | 45 ++++++++++++++++---------- 1 file changed, 28 insertions(+), 17 deletions(-) (limited to 'resources/mediawiki.api/mediawiki.api.parse.js') 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 ) ); -- cgit v1.2.2