Nikerabbit has uploaded a new change for review. https://gerrit.wikimedia.org/r/178032
Change subject: Don't use new with $.Deferred() ...................................................................... Don't use new with $.Deferred() Simplified code where possible with then() and postWithToken(). Change-Id: Ifd39d7e3063681363961e3a6125d6ce99b6f6e74 --- M resources/js/ext.translate.base.js M resources/js/ext.translate.editor.helpers.js M resources/js/ext.translate.special.pagemigration.js M resources/js/ext.translate.special.pagepreparation.js M resources/js/ext.translate.workflowselector.js 5 files changed, 25 insertions(+), 43 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Translate refs/changes/32/178032/1 diff --git a/resources/js/ext.translate.base.js b/resources/js/ext.translate.base.js index 4d409f7..76c8e7d 100644 --- a/resources/js/ext.translate.base.js +++ b/resources/js/ext.translate.base.js @@ -53,8 +53,7 @@ * @return {jQuery.Promise} Object containing the requested properties on success. */ getMessageGroup: function ( id, props ) { - var params, - deferred = new $.Deferred(); + var params; if ( $.isArray( props ) ) { props = props.join( '|' ); @@ -71,14 +70,9 @@ mgroot: id }; - new mw.Api() - .get( params ) - .done( function ( result ) { - deferred.resolve( result.query.messagegroups[0] ); - } ) - .fail( deferred.reject ); - - return deferred.promise(); + return (new mw.Api()).get( params ).then( function ( result ) { + return result.query.messagegroups[0]; + } ); }, /** diff --git a/resources/js/ext.translate.editor.helpers.js b/resources/js/ext.translate.editor.helpers.js index 9c08552..6a0587d 100644 --- a/resources/js/ext.translate.editor.helpers.js +++ b/resources/js/ext.translate.editor.helpers.js @@ -53,10 +53,9 @@ saveDocumentation: function () { var translateEditor = this, api = new mw.Api(), - deferred = new $.Deferred(), newDocumentation = translateEditor.$editor.find( '.tux-textarea-documentation' ).val(); - deferred = api.postWithToken( 'edit', { + return api.postWithToken( 'edit', { action: 'edit', title: translateEditor.message.title .replace( /\/[a-z\-]+$/, '/' + mw.config.get( 'wgTranslateDocumentationLanguageCode' ) ), @@ -85,7 +84,6 @@ mw.notify( 'Error saving message documentation' ); mw.log( 'Error saving documentation', errorCode, results ); } ); - return deferred.promise(); }, /** diff --git a/resources/js/ext.translate.special.pagemigration.js b/resources/js/ext.translate.special.pagemigration.js index 7b72bae..307b121 100644 --- a/resources/js/ext.translate.special.pagemigration.js +++ b/resources/js/ext.translate.special.pagemigration.js @@ -12,15 +12,14 @@ function createTranslationPage( i, content ) { return function () { - var api = new mw.Api(), - identifier, title, summary, - deferred = new $.Deferred(); + var identifier, title, summary, + api = new mw.Api(); identifier = sourceUnits[i].identifier; title = 'Translations:' + pageName + '/' + identifier + '/' + langCode; summary = $( '#pm-summary' ).val(); - deferred = api.postWithToken( 'edit', { + return api.postWithToken( 'edit', { action: 'edit', format: 'json', watchlist: 'nochange', @@ -28,7 +27,6 @@ text: content, summary: summary, } ); - return deferred.promise(); }; } @@ -59,12 +57,12 @@ if ( typeof obj === undefined ) { // obj was not initialized errorBox.text( mw.msg( 'pm-page-does-not-exist', pageTitle ) ).show( 'fast' ); - return new $.Deferred().reject(); + return $.Deferred().reject(); } if ( obj.revisions === undefined ) { // the case of /en subpage where first edit is by FuzzyBot errorBox.text( mw.msg( 'pm-old-translations-missing', pageTitle ) ).show( 'fast' ); - return new $.Deferred().reject(); + return $.Deferred().reject(); } pageContent = obj.revisions[0]['*']; oldTranslationUnits = pageContent.split( '\n\n' ); @@ -101,12 +99,12 @@ // Page does not exist if missing field is present if ( obj.missing === '' ) { errorBox.text( mw.msg( 'pm-page-does-not-exist', pageTitle ) ).show( 'fast' ); - return new $.Deferred().reject(); + return $.Deferred().reject(); } // Page exists, but no edit by FuzzyBot if ( obj.revisions === undefined ) { errorBox.text( mw.msg( 'pm-old-translations-missing', pageTitle ) ).show( 'fast' ); - return new $.Deferred().reject(); + return $.Deferred().reject(); } else { // FB over here refers to FuzzyBot timestampFB = obj.revisions[0].timestamp; diff --git a/resources/js/ext.translate.special.pagepreparation.js b/resources/js/ext.translate.special.pagepreparation.js index 58d96cd..06e623b 100644 --- a/resources/js/ext.translate.special.pagepreparation.js +++ b/resources/js/ext.translate.special.pagepreparation.js @@ -156,7 +156,7 @@ * @return {string} */ function doFiles( pageContent ) { - var deferred = new $.Deferred(); + var deferred = $.Deferred(); $.when( getNamespaceAliases( 6 ) ).then( function ( aliases ) { var aliasList, captionFilesRegex, fileRegex; diff --git a/resources/js/ext.translate.workflowselector.js b/resources/js/ext.translate.workflowselector.js index 5911ce0..71652a7 100644 --- a/resources/js/ext.translate.workflowselector.js +++ b/resources/js/ext.translate.workflowselector.js @@ -55,28 +55,20 @@ * @return {jQuery.Promise} */ changeState: function ( state ) { - var instance = this, - tokenCall, deferred; + var token, params, + api = new mw.Api(); - deferred = new $.Deferred(); - tokenCall = new mw.Api().get( { action: 'tokens', type: 'groupreview' } ); + params = { + action: 'groupreview', + group: this.groupId, + language: this.language, + state: state, + token: result.tokens.groupreviewtoken, + format: 'json' + }; + token = mw.config.get( 'wgTranslateSupportsCsrfToken' ) ? 'csrf' : 'groupreview'; - tokenCall.fail( deferred.reject ); - tokenCall.done( function ( result ) { - var params = { - action: 'groupreview', - group: instance.groupId, - language: instance.language, - state: state, - token: result.tokens.groupreviewtoken, - format: 'json' - }; - new mw.Api().post( params ) - .done( deferred.resolve ) - .fail( deferred.reject ); - } ); - - return deferred.promise(); + return api.postWithToken( token, params ); }, /** -- To view, visit https://gerrit.wikimedia.org/r/178032 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifd39d7e3063681363961e3a6125d6ce99b6f6e74 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Translate Gerrit-Branch: master Gerrit-Owner: Nikerabbit <niklas.laxst...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits