Gerrit Patch Uploader has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/269107

Change subject: Use formatversion=2 for API request
......................................................................

Use formatversion=2 for API request

With formatversion=2 the JSON response uses UTF-8 instead of escape sequence
with hex for encoding of non-ASCII characters (e.g. "\u00e4" for "รค").

The JSON response from formatversion=2 has some structural improvements.
This allows a simplification of the processing of the response.
The parameter indexpageids= is not necessary anymore.

Change-Id: Ic08c8ba46b7529952c0fb2f04564b458b55112fd
---
M modules/jquery.wikiEditor.dialogs.config.js
M modules/jquery.wikiEditor.preview.js
2 files changed, 15 insertions(+), 12 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikiEditor 
refs/changes/07/269107/1

diff --git a/modules/jquery.wikiEditor.dialogs.config.js 
b/modules/jquery.wikiEditor.dialogs.config.js
index cfc7690..42908f5 100644
--- a/modules/jquery.wikiEditor.dialogs.config.js
+++ b/modules/jquery.wikiEditor.dialogs.config.js
@@ -180,24 +180,24 @@
                                                $( 
'#wikieditor-toolbar-link-int-target-status' ).data(
                                                        'request',
                                                        api.get( {
+                                                               formatversion: 
2,
                                                                action: 'query',
                                                                prop: 
'pageprops',
                                                                titles: target,
-                                                               ppprop: 
'disambiguation',
-                                                               indexpageids: 
true
+                                                               ppprop: 
'disambiguation'
                                                        } ).done( function ( 
data ) {
                                                                var status;
                                                                if ( 
!data.query || !data.query.pages ) {
                                                                        // This 
happens in some weird cases like interwiki links
                                                                        status 
= false;
                                                                } else {
-                                                                       var 
page = data.query.pages[ data.query.pageids[ 0 ] ];
+                                                                       var 
page = data.query.pages[ 0 ];
                                                                        status 
= 'exists';
-                                                                       if ( 
page.missing !== undefined ) {
+                                                                       if ( 
page.missing ) {
                                                                                
status = 'notexists';
-                                                                       } else 
if ( page.invalid !== undefined ) {
+                                                                       } else 
if ( page.invalid ) {
                                                                                
status = 'invalid';
-                                                                       } else 
if ( page.pageprops !== undefined ) {
+                                                                       } else 
if ( page.pageprops ) {
                                                                                
status = 'disambig';
                                                                        }
                                                                }
@@ -380,6 +380,7 @@
                                                        }
 
                                                        var request = api.get( {
+                                                               formatversion: 
2,
                                                                action: 
'opensearch',
                                                                search: title,
                                                                namespace: 0,
diff --git a/modules/jquery.wikiEditor.preview.js 
b/modules/jquery.wikiEditor.preview.js
index 1d621e2..f0a1099 100644
--- a/modules/jquery.wikiEditor.preview.js
+++ b/modules/jquery.wikiEditor.preview.js
@@ -56,20 +56,21 @@
                                        context.modules.preview.$preview.find( 
'.wikiEditor-preview-contents' ).empty();
                                        context.modules.preview.$preview.find( 
'.wikiEditor-preview-loading' ).show();
                                        api.post( {
+                                               formatversion: 2,
                                                action: 'parse',
                                                title: mw.config.get( 
'wgPageName' ),
                                                text: wikitext,
                                                prop: 'text|modules',
                                                pst: ''
                                        } ).done( function ( data ) {
-                                               if ( !data.parse || 
!data.parse.text || data.parse.text[ '*' ] === undefined ) {
+                                               if ( !data.parse || 
!data.parse.text ) {
                                                        return;
                                                }
 
                                                
context.modules.preview.previewText = wikitext;
                                                
context.modules.preview.$preview.find( '.wikiEditor-preview-loading' ).hide();
                                                
context.modules.preview.$preview.find( '.wikiEditor-preview-contents' )
-                                                       .html( data.parse.text[ 
'*' ] )
+                                                       .html( data.parse.text )
                                                        .append( '<div 
class="visualClear"></div>' )
                                                        .find( 
'a:not([href^=#])' )
                                                                .click( false );
@@ -98,6 +99,7 @@
 
                                        // Call the API. First PST the input, 
then diff it
                                        api.post( {
+                                               formatversion: 2,
                                                action: 'parse',
                                                title: mw.config.get( 
'wgPageName' ),
                                                onlypst: '',
@@ -105,11 +107,11 @@
                                        } ).done( function ( data ) {
                                                try {
                                                        var postdata2 = {
+                                                               formatversion: 
2,
                                                                action: 'query',
-                                                               indexpageids: 
'',
                                                                prop: 
'revisions',
                                                                titles: 
mw.config.get( 'wgPageName' ),
-                                                               rvdifftotext: 
data.parse.text[ '*' ],
+                                                               rvdifftotext: 
data.parse.text,
                                                                rvprop: ''
                                                        };
                                                        var section = $( 
'[name="wpSection"]' ).val();
@@ -122,8 +124,8 @@
                                                                // Add diff CSS
                                                                mw.loader.load( 
'mediawiki.action.history.diff' );
                                                                try {
-                                                                       var 
diff = data.query.pages[ data.query.pageids[ 0 ] ]
-                                                                               
.revisions[ 0 ].diff[ '*' ];
+                                                                       var 
diff = data.query.pages[ 0 ]
+                                                                               
.revisions[ 0 ].diff.body;
 
                                                                        
context.$changesTab.find( 'table.diff tbody' )
                                                                                
.html( diff )

-- 
To view, visit https://gerrit.wikimedia.org/r/269107
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic08c8ba46b7529952c0fb2f04564b458b55112fd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikiEditor
Gerrit-Branch: master
Gerrit-Owner: Gerrit Patch Uploader <gerritpatchuploa...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to