Merge "Add ss_active_users in SiteStats::isSane"
[mediawiki.git] / resources / mediawiki.api / mediawiki.api.parse.js
blob4044655edb9fe7a86640e94217009662a672382a
1 /**
2  * @class mw.Api.plugin.parse
3  */
4 ( function ( mw, $ ) {
6         $.extend( mw.Api.prototype, {
7                 /**
8                  * Convinience method for 'action=parse'.
9                  *
10                  * @param {string} wikitext
11                  * @param {Function} [ok] Success callback (deprecated)
12                  * @param {Function} [err] Error callback (deprecated)
13                  * @return {jQuery.Promise}
14                  * @return {Function} return.done
15                  * @return {string} return.done.data Parsed HTML of `wikitext`.
16                  */
17                 parse: function ( wikitext, ok, err ) {
18                         var d = $.Deferred(),
19                                 apiPromise;
20                         // Backwards compatibility (< MW 1.20)
21                         d.done( ok );
22                         d.fail( err );
24                         apiPromise = this.get( {
25                                         action: 'parse',
26                                         text: wikitext
27                                 } )
28                                 .done( function ( data ) {
29                                         if ( data.parse && data.parse.text && data.parse.text['*'] ) {
30                                                 d.resolve( data.parse.text['*'] );
31                                         }
32                                 } )
33                                 .fail( d.reject );
35                         return d.promise( { abort: apiPromise.abort } );
36                 }
37         } );
39         /**
40          * @class mw.Api
41          * @mixins mw.Api.plugin.parse
42          */
44 }( mediaWiki, jQuery ) );