From 07682662aaef0174241ac70f46e4b20fc66c9165 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Tue, 8 Dec 2015 17:38:44 +0100 Subject: [PATCH] mediawiki.Upload: Add #getApi method, use it instead of undocumented properties Change-Id: I4bbc5b5f371ce20e67de3b21ba761d28f194541e --- ...mediawiki.ForeignStructuredUpload.BookletLayout.js | 2 +- resources/src/mediawiki/mediawiki.ForeignUpload.js | 7 +++++++ .../src/mediawiki/mediawiki.Upload.BookletLayout.js | 4 +--- resources/src/mediawiki/mediawiki.Upload.js | 11 +++++++++++ 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js index aa2998bbd1..ee00cea730 100644 --- a/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js +++ b/resources/src/mediawiki/mediawiki.ForeignStructuredUpload.BookletLayout.js @@ -43,7 +43,7 @@ mw.ForeignStructuredUpload.BookletLayout.parent.prototype.initialize.call( this ) .done( function () { // Point the CategorySelector to the right wiki - this.upload.apiPromise.done( function ( api ) { + this.upload.getApi().done( function ( api ) { // If this is a ForeignApi, it will have a apiUrl, otherwise we don't need to do anything if ( api.apiUrl ) { // Can't reuse the same object, CategorySelector calls #abort on its mw.Api instance diff --git a/resources/src/mediawiki/mediawiki.ForeignUpload.js b/resources/src/mediawiki/mediawiki.ForeignUpload.js index 61fb59f609..aa08b6cd7c 100644 --- a/resources/src/mediawiki/mediawiki.ForeignUpload.js +++ b/resources/src/mediawiki/mediawiki.ForeignUpload.js @@ -109,6 +109,13 @@ * or to local uploads if no foreign target is configured. */ + /** + * @inheritdoc + */ + ForeignUpload.prototype.getApi = function () { + return this.apiPromise; + }; + /** * Override from mw.Upload to make sure the API info is found and allowed */ diff --git a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js index 54f3ab68f4..9377054e53 100644 --- a/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js +++ b/resources/src/mediawiki/mediawiki.Upload.BookletLayout.js @@ -152,7 +152,6 @@ */ mw.Upload.BookletLayout.prototype.initialize = function () { var - apiPromise, booklet = this, deferred = $.Deferred(); @@ -160,8 +159,7 @@ this.upload = this.createUpload(); this.setPage( 'upload' ); - apiPromise = this.upload.apiPromise || $.Deferred().resolve( this.upload.api ); - apiPromise.done( function ( api ) { + this.upload.getApi().done( function ( api ) { // If the user can't upload anything, don't give them the option to. api.getUserInfo().done( function ( userInfo ) { if ( userInfo.rights.indexOf( 'upload' ) === -1 ) { diff --git a/resources/src/mediawiki/mediawiki.Upload.js b/resources/src/mediawiki/mediawiki.Upload.js index d80b4ebcc7..8a74ffc6ab 100644 --- a/resources/src/mediawiki/mediawiki.Upload.js +++ b/resources/src/mediawiki/mediawiki.Upload.js @@ -62,6 +62,17 @@ UP = Upload.prototype; + /** + * Get the mw.Api instance used by this Upload object. + * + * @return {jQuery.Promise} + * @return {Function} return.done + * @return {mw.Api} return.done.api + */ + UP.getApi = function () { + return $.Deferred().resolve( this.api ).promise(); + }; + /** * Set the text of the file page, to be created on file upload. * -- 2.20.1