From 66468a7820e4f88160f620a5ed49367ce5b7c043 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Thu, 27 Aug 2015 01:07:54 +0200 Subject: [PATCH] Pass real boolean or array params to mw.Api#get and #post when convenient We have this wonderful feature, let's use is more often! Change-Id: I3cc48d11780c0f83df2f13acc9885bb0b4124a92 --- .../mediawiki.action.edit.preview.js | 34 ++++++++----------- .../mediawiki.messagePoster.factory.js | 2 +- .../mediawiki.special.upload.js | 4 +-- .../mw.widgets.TitleWidget.js | 11 +++--- resources/src/mediawiki/api/options.js | 2 +- .../src/mediawiki/mediawiki.searchSuggest.js | 2 +- 6 files changed, 24 insertions(+), 31 deletions(-) diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js index dd23e875b9..aeef453ab0 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.preview.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.preview.js @@ -78,39 +78,33 @@ uselang: mw.config.get( 'wgUserLanguage' ), title: mw.config.get( 'wgPageName' ), text: $textbox.textSelection( 'getContents' ), - summary: $summary.textSelection( 'getContents' ) + summary: $summary.textSelection( 'getContents' ), + sectionpreview: section !== '' }; - if ( section !== '' ) { - postData.sectionpreview = ''; - if ( section === 'new' ) { - postData.section = section; - postData.sectiontitle = postData.summary; - } + if ( section === 'new' ) { + postData.section = 'new'; + postData.sectiontitle = postData.summary; } if ( isDiff ) { $wikiPreview.hide(); // First PST the input, then diff it - postData.onlypst = ''; + postData.onlypst = true; request = api.post( postData ); request.done( function ( response ) { - var postData; - postData = { + return api.post( { action: 'query', - indexpageids: '', + indexpageids: true, prop: 'revisions', titles: mw.config.get( 'wgPageName' ), rvdifftotext: response.parse.text[ '*' ], - rvprop: '' - }; - if ( section !== '' ) { - postData.rvsection = section; - } - return api.post( postData ).done( function ( result2 ) { + rvprop: [], + rvsection: section === '' ? undefined : section + } ).done( function ( response ) { try { - var diffHtml = result2.query.pages[ result2.query.pageids[ 0 ] ] + var diffHtml = response.query.pages[ response.query.pageids[ 0 ] ] .revisions[ 0 ].diff[ '*' ]; $wikiDiff.find( 'table.diff tbody' ).html( diffHtml ); } catch ( e ) { @@ -123,8 +117,8 @@ } else { $wikiDiff.hide(); $.extend( postData, { - pst: '', - preview: '', + pst: true, + preview: true, prop: 'text|displaytitle|modules|jsconfigvars|categorieshtml|templates|langlinks|limitreporthtml', disableeditsection: true } ); diff --git a/resources/src/mediawiki.messagePoster/mediawiki.messagePoster.factory.js b/resources/src/mediawiki.messagePoster/mediawiki.messagePoster.factory.js index 6f9aa02593..4d0231f3f6 100644 --- a/resources/src/mediawiki.messagePoster/mediawiki.messagePoster.factory.js +++ b/resources/src/mediawiki.messagePoster/mediawiki.messagePoster.factory.js @@ -64,7 +64,7 @@ return this.api.get( { action: 'query', prop: 'info', - indexpageids: 1, + indexpageids: true, titles: title.getPrefixedDb() } ).then( function ( result ) { if ( result.query.pageids && result.query.pageids.length > 0 ) { diff --git a/resources/src/mediawiki.special/mediawiki.special.upload.js b/resources/src/mediawiki.special/mediawiki.special.upload.js index c6ae5ac726..76933408e1 100644 --- a/resources/src/mediawiki.special/mediawiki.special.upload.js +++ b/resources/src/mediawiki.special/mediawiki.special.upload.js @@ -68,7 +68,7 @@ titles: ( new mw.Title( this.nameToCheck, mw.config.get( 'wgNamespaceIds' ).file ) ).getPrefixedText(), prop: 'imageinfo', iiprop: 'uploadwarning', - indexpageids: '' + indexpageids: true } ).done( function ( result ) { var resultOut = ''; if ( result.query ) { @@ -119,7 +119,7 @@ text: '{{' + license + '}}', title: $( '#wpDestFile' ).val() || 'File:Sample.jpg', prop: 'text', - pst: '' + pst: true } ).done( function ( result ) { $spinnerLicense.remove(); uploadLicense.processResult( result, license ); diff --git a/resources/src/mediawiki.widgets/mw.widgets.TitleWidget.js b/resources/src/mediawiki.widgets/mw.widgets.TitleWidget.js index 672b54a24a..5732aa5c12 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.TitleWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.TitleWidget.js @@ -106,7 +106,7 @@ if ( mw.Title.newFromText( query ) ) { return this.interwikiPrefixesPromise.then( function () { - var params, props, + var params, interwiki = query.substring( 0, query.indexOf( ':' ) ); if ( interwiki && interwiki !== '' && @@ -120,26 +120,25 @@ } else { params = { action: 'query', + prop: [ 'info', 'pageprops' ], generator: 'prefixsearch', gpssearch: query, gpsnamespace: widget.namespace !== null ? widget.namespace : undefined, gpslimit: widget.limit, ppprop: 'disambiguation' }; - props = [ 'info', 'pageprops' ]; if ( widget.showRedirectTargets ) { - params.redirects = '1'; + params.redirects = true; } if ( widget.showImages ) { - props.push( 'pageimages' ); + params.prop.push( 'pageimages' ); params.pithumbsize = 80; params.pilimit = widget.limit; } if ( widget.showDescriptions ) { - props.push( 'pageterms' ); + params.prop.push( 'pageterms' ); params.wbptterms = 'description'; } - params.prop = props.join( '|' ); req = new mw.Api().get( params ); promiseAbortObject.abort = req.abort.bind( req ); // todo: ew return req; diff --git a/resources/src/mediawiki/api/options.js b/resources/src/mediawiki/api/options.js index 399e6f4356..9dd276d60a 100644 --- a/resources/src/mediawiki/api/options.js +++ b/resources/src/mediawiki/api/options.js @@ -72,7 +72,7 @@ if ( grouped.length ) { deferreds.push( this.postWithToken( 'options', { action: 'options', - change: grouped.join( '|' ) + change: grouped } ) ); } diff --git a/resources/src/mediawiki/mediawiki.searchSuggest.js b/resources/src/mediawiki/mediawiki.searchSuggest.js index 6c7484e26b..c960d6570e 100644 --- a/resources/src/mediawiki/mediawiki.searchSuggest.js +++ b/resources/src/mediawiki/mediawiki.searchSuggest.js @@ -9,7 +9,7 @@ search: query, namespace: 0, limit: maxRows, - suggest: '' + suggest: true } ).done( function ( data ) { response( data[ 1 ] ); } ); -- 2.20.1