Merge "(bug 42607) $.tablesorter: require separators when detecting dates"
[lhc/web/wiklou.git] / resources / mediawiki.api / mediawiki.api.parse.js
1 /**
2 * @class mw.Api.plugin.parse
3 */
4 ( function ( mw, $ ) {
5
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 );
23
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 );
34
35 return d.promise( { abort: apiPromise.abort } );
36 }
37 } );
38
39 /**
40 * @class mw.Api
41 * @mixins mw.Api.plugin.parse
42 */
43
44 }( mediaWiki, jQuery ) );