( function ( mw ) { /** * This is the abstract base class for MessagePoster implementations. * * @abstract * @class * * @constructor * @param {mw.Title} title Title to post to */ mw.messagePoster.MessagePoster = function MwMessagePoster() {}; OO.initClass( mw.messagePoster.MessagePoster ); /** * Post a message (with subject and body) to a talk page. * * @abstract * @param {string} subject Subject/topic title. The amount of wikitext supported is * implementation-specific. It is recommended to only use basic wikilink syntax for * maximum compatibility. * @param {string} body Body, as wikitext. Signature code will automatically be added * by MessagePosters that require one, unless the message already contains the string * ~~~. * @return {jQuery.Promise} Promise completing when the post succeeds or fails. * For failure, will be rejected with three arguments: * * - primaryError - Primary error code. For a mw.Api failure, * this should be 'api-fail'. * - secondaryError - Secondary error code. For a mw.Api failure, * this, should be mw.Api's code, e.g. 'http', 'ok-but-empty', or the error passed through * from the server. * - details - Further details about the error * * @localdoc * The base class currently does nothing, but could be used for shared analytics or * something. */ mw.messagePoster.MessagePoster.prototype.post = function () {}; }( mediaWiki ) );