2011-12-21 23:52:37 +00:00
|
|
|
/**
|
2012-06-07 20:45:53 +00:00
|
|
|
* mw.Api methods for parsing wikitext.
|
2011-12-21 23:52:37 +00:00
|
|
|
*/
|
2012-06-07 20:45:53 +00:00
|
|
|
( function ( mw, $ ) {
|
2011-12-09 04:48:39 +00:00
|
|
|
|
2011-12-21 23:52:37 +00:00
|
|
|
$.extend( mw.Api.prototype, {
|
2011-12-09 04:48:39 +00:00
|
|
|
/**
|
2011-12-21 23:52:37 +00:00
|
|
|
* Convinience method for 'action=parse'. Parses wikitext into HTML.
|
|
|
|
|
*
|
|
|
|
|
* @param wikiText {String}
|
2012-06-07 20:45:53 +00:00
|
|
|
* @param ok {Function} [optional] deprecated (success callback)
|
|
|
|
|
* @param err {Function} [optional] deprecated (error callback)
|
|
|
|
|
* @return {jQuery.Promise}
|
2011-12-09 04:48:39 +00:00
|
|
|
*/
|
2012-06-07 20:45:53 +00:00
|
|
|
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 ) {
|
2011-12-27 00:44:49 +00:00
|
|
|
if ( data.parse && data.parse.text && data.parse.text['*'] ) {
|
2012-06-07 20:45:53 +00:00
|
|
|
apiDeferred.resolve( data.parse.text['*'] );
|
2011-12-21 23:52:37 +00:00
|
|
|
}
|
2012-06-07 20:45:53 +00:00
|
|
|
} )
|
|
|
|
|
.fail( apiDeferred.reject );
|
2011-12-09 04:48:39 +00:00
|
|
|
|
2012-06-07 20:45:53 +00:00
|
|
|
// Return the promise
|
|
|
|
|
return apiDeferred.promise();
|
|
|
|
|
}
|
2011-12-21 23:52:37 +00:00
|
|
|
} );
|
2011-12-09 04:48:39 +00:00
|
|
|
|
2012-06-07 20:45:53 +00:00
|
|
|
} )( mediaWiki, jQuery );
|