Gergő Tisza has uploaded a new change for review.
https://gerrit.wikimedia.org/r/312445
Change subject: Add a continuation button to ApiSandbox
......................................................................
Add a continuation button to ApiSandbox
Change-Id: I4def43b2000b5639e3ced2643afea4b1288e28b0
---
M includes/api/ApiFormatBase.php
M languages/i18n/en.json
M languages/i18n/qqq.json
M resources/Resources.php
M resources/src/mediawiki.special/mediawiki.special.apisandbox.js
5 files changed, 37 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/45/312445/1
diff --git a/includes/api/ApiFormatBase.php b/includes/api/ApiFormatBase.php
index c826bba..4df7f51 100644
--- a/includes/api/ApiFormatBase.php
+++ b/includes/api/ApiFormatBase.php
@@ -231,6 +231,7 @@
$out->getModuleScripts(),
$out->getModuleStyles()
) ) ),
+ 'continue' =>
$this->getResult()->getResultData( 'continue' ),
'time' => round( $time * 1000 ),
],
false, FormatJson::ALL_OK
diff --git a/languages/i18n/en.json b/languages/i18n/en.json
index 67e6491..6af0f1e 100644
--- a/languages/i18n/en.json
+++ b/languages/i18n/en.json
@@ -1922,6 +1922,7 @@
"apisandbox-results-fixtoken-fail": "Failed to fetch \"$1\" token.",
"apisandbox-alert-page": "Fields on this page are not valid.",
"apisandbox-alert-field": "The value of this field is not valid.",
+ "apisandbox-continue": "Continue",
"booksources": "Book sources",
"booksources-summary": "",
"booksources-search-legend": "Search for book sources",
diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json
index 163b613..0f7b60b 100644
--- a/languages/i18n/qqq.json
+++ b/languages/i18n/qqq.json
@@ -2106,6 +2106,7 @@
"apisandbox-results-fixtoken-fail": "Displayed as an error message from
JavaScript when a CSRF token could not be fetched.\n\nParameters:\n* $1 - Token
type",
"apisandbox-alert-page": "Tooltip for the alert icon on a module's page
tab when the page contains fields with issues.",
"apisandbox-alert-field": "Tooltip for the alert icon on a field when
the field has issues.",
+ "apisandbox-continue": "Button text for sending another request using
query continuation.",
"booksources": "{{doc-special|BookSources}}\n\n'''This message
shouldn't be changed unless it has serious mistakes.'''\n\nIt's used as the
page name of the configuration page of [[Special:BookSources]]. Changing it
breaks existing sites using the default version of this message.\n\nSee
also:\n* {{msg-mw|Booksources|title}}\n* {{msg-mw|Booksources-text|text}}",
"booksources-summary": "{{doc-specialpagesummary|booksources}}",
"booksources-search-legend": "Box heading on [[Special:BookSources|book
sources]] special page. The box is for searching for places where a particular
book can be bought or viewed.",
diff --git a/resources/Resources.php b/resources/Resources.php
index 89168db..7678037 100644
--- a/resources/Resources.php
+++ b/resources/Resources.php
@@ -1858,6 +1858,7 @@
'apisandbox-results-fixtoken-fail',
'apisandbox-alert-page',
'apisandbox-alert-field',
+ 'apisandbox-continue',
'blanknamespace',
],
],
diff --git a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js
b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js
index 5c3715d..8b61dcb 100644
--- a/resources/src/mediawiki.special/mediawiki.special.apisandbox.js
+++ b/resources/src/mediawiki.special/mediawiki.special.apisandbox.js
@@ -962,6 +962,39 @@
.text( data )
.appendTo(
$result );
}
+ if ( data.continue ) {
+ $result.append(
+ $( '<div>'
).append(
+ new
OO.ui.ButtonWidget( {
+
label: mw.message( 'apisandbox-continue' ).text()
+ } ).on(
'click', function () {
+
$.each( pages, function ( _, page ) {
+
var key,
+
params = {};
+
page.getQueryParams( params, {} );
+
$.each( params, function ( k ) {
+
// This is a hack. Normally the client would have to keep track
of which are the
+
// original parameters and which are from continuing, and only
keep the former,
+
// but with the possibility of the user clicking around in the
GUI between
+
// requests that is too much of a moving target.
+
if ( k.match( /continue$/ ) ) {
+
delete params[k];
+
}
+
} );
+
for ( i = 0; i < page.paramInfo.parameters.length; i++ ) {
+
key = ( page.prefix || '' ) + ( page.paramInfo.prefix || '' )
+
+ page.paramInfo.parameters[i].name;
+
if ( key in data.continue ) {
+
params[key] = data.continue[key];
+
}
+
}
+
page.loadQueryParams( params );
+
} );
+
ApiSandbox.sendRequest();
+ }
).$element
+ )
+ );
+ }
if ( typeof loadTime ===
'number' ) {
$result.append(
$( '<div>'
).append(
--
To view, visit https://gerrit.wikimedia.org/r/312445
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I4def43b2000b5639e3ced2643afea4b1288e28b0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Gergő Tisza <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits