2 * @class mw.Api.plugin.watch
11 * @param {String|mw.Title} page Full page name or instance of mw.Title
12 * @param {Function} [ok] Success callback (deprecated)
13 * @param {Function} [err] Error callback (deprecated)
14 * @return {jQuery.Promise}
15 * @return {Function} return.done
16 * @return {Object} return.done.watch
17 * @return {string} return.done.watch.title Full pagename
18 * @return {boolean} return.done.watch.watched
19 * @return {string} return.done.watch.message Parsed HTML of the confirmational interface message
21 function doWatchInternal( page
, ok
, err
, addParams
) {
22 var params
, d
= $.Deferred();
23 // Backwards compatibility (< MW 1.20)
29 title
: String( page
),
30 token
: mw
.user
.tokens
.get( 'watchToken' ),
31 uselang
: mw
.config
.get( 'wgUserLanguage' )
35 $.extend( params
, addParams
);
39 .done( function ( data
) {
40 d
.resolve( data
.watch
);
47 $.extend( mw
.Api
.prototype, {
49 * Convenience method for `action=watch`.
51 * @inheritdoc #doWatchInternal
53 watch: function ( page
, ok
, err
) {
54 return doWatchInternal
.call( this, page
, ok
, err
);
57 * Convenience method for `action=watch&unwatch=1`.
59 * @inheritdoc #doWatchInternal
61 unwatch: function ( page
, ok
, err
) {
62 return doWatchInternal
.call( this, page
, ok
, err
, { unwatch
: 1 } );
69 * @mixins mw.Api.plugin.watch
72 }( mediaWiki
, jQuery
) );