mirror of
https://github.com/YunoHost-Apps/mediawiki_ynh.git
synced 2024-09-03 19:46:05 +02:00
62 lines
1.6 KiB
JavaScript
62 lines
1.6 KiB
JavaScript
/**
|
|
* @class mw.Api.plugin.edit
|
|
*/
|
|
( function ( mw, $ ) {
|
|
|
|
$.extend( mw.Api.prototype, {
|
|
|
|
/**
|
|
* Post to API with edit token. If we have no token, get one and try to post.
|
|
* If we have a cached token try using that, and if it fails, blank out the
|
|
* cached token and start over.
|
|
*
|
|
* @param {Object} params API parameters
|
|
* @param {Function} [ok] Success callback (deprecated)
|
|
* @param {Function} [err] Error callback (deprecated)
|
|
* @return {jQuery.Promise} See #post
|
|
*/
|
|
postWithEditToken: function ( params, ok, err ) {
|
|
return this.postWithToken( 'edit', params ).done( ok ).fail( err );
|
|
},
|
|
|
|
/**
|
|
* Api helper to grab an edit token.
|
|
*
|
|
* @param {Function} [ok] Success callback
|
|
* @param {Function} [err] Error callback
|
|
* @return {jQuery.Promise}
|
|
* @return {Function} return.done
|
|
* @return {string} return.done.token Received token.
|
|
*/
|
|
getEditToken: function ( ok, err ) {
|
|
return this.getToken( 'edit' ).done( ok ).fail( err );
|
|
},
|
|
|
|
/**
|
|
* Create a new section of the page.
|
|
* @see #postWithEditToken
|
|
* @param {mw.Title|String} title Target page
|
|
* @param {string} header
|
|
* @param {string} message wikitext message
|
|
* @param {Function} [ok] Success handler
|
|
* @param {Function} [err] Error handler
|
|
* @return {jQuery.Promise}
|
|
*/
|
|
newSection: function ( title, header, message, ok, err ) {
|
|
return this.postWithEditToken( {
|
|
action: 'edit',
|
|
section: 'new',
|
|
format: 'json',
|
|
title: title.toString(),
|
|
summary: header,
|
|
text: message
|
|
}, ok, err );
|
|
}
|
|
} );
|
|
|
|
/**
|
|
* @class mw.Api
|
|
* @mixins mw.Api.plugin.edit
|
|
*/
|
|
|
|
}( mediaWiki, jQuery ) );
|