jenkins-bot has submitted this change and it was merged.
Change subject: MWWikitextStringTransferHandler: Show indeterminate progress
bar while converting
......................................................................
MWWikitextStringTransferHandler: Show indeterminate progress bar while
converting
Also store the abortable API request so it can be cancelled
by the dialog.
To test this, put sleep(4); in ApiVisualEditor.php.
Depends on Ied21e574baa in core.
Change-Id: I83ffa9e0b7164ca4a34eae86cde452d8f38dc853
---
M extension.json
M modules/ve-mw/i18n/en.json
M modules/ve-mw/i18n/qqq.json
M
modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js
M modules/ve-mw/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.js
5 files changed, 31 insertions(+), 5 deletions(-)
Approvals:
Jforrester: Looks good to me, approved
jenkins-bot: Verified
diff --git a/extension.json b/extension.json
index ee590c2..ad1d4f4 100644
--- a/extension.json
+++ b/extension.json
@@ -1042,6 +1042,7 @@
"visualeditor-viewpage-savewarning-discard",
"visualeditor-viewpage-savewarning-keep",
"visualeditor-viewpage-savewarning-title",
+ "visualeditor-wikitext-progress",
"visualeditor-wikitext-warning-title",
"visualeditor-window-title",
"ooui-dialog-process-continue",
diff --git a/modules/ve-mw/i18n/en.json b/modules/ve-mw/i18n/en.json
index 1725c00..0e74169 100644
--- a/modules/ve-mw/i18n/en.json
+++ b/modules/ve-mw/i18n/en.json
@@ -315,6 +315,7 @@
"visualeditor-viewpage-savewarning-discard": "Discard edits",
"visualeditor-viewpage-savewarning-keep": "Continue editing",
"visualeditor-viewpage-savewarning-title": "Are you sure?",
+ "visualeditor-wikitext-progress": "Converting wikitext",
"visualeditor-wikitext-warning": "You are using the visual editor -
[[{{MediaWiki:visualeditor-wikitext-warning-link}}|wikitext]] does not work
here. To switch to source editing at any time without losing your changes, open
the dropdown menu next to \"{{int:visualeditor-toolbar-savedialog}}\" and
select \"{{int:visualeditor-mweditmodesource-title}}\".",
"visualeditor-wikitext-warning-link":
"mediawikiwiki:Special:MyLanguage/Help:Formatting",
"visualeditor-wikitext-warning-title": "Wikitext markup detected"
diff --git a/modules/ve-mw/i18n/qqq.json b/modules/ve-mw/i18n/qqq.json
index d992247..c82cf65 100644
--- a/modules/ve-mw/i18n/qqq.json
+++ b/modules/ve-mw/i18n/qqq.json
@@ -324,6 +324,7 @@
"visualeditor-viewpage-savewarning-discard": "Text shown on the button
which closes VE and discards changes when the user confirms that they want to
leave the editor.\n\nPreceded by the prompt
{{msg-mw|Visualeditor-viewpage-savewarning}}.\n\nFollowed by the button
{{msg-mw|Visualeditor-viewpage-savewarning-keep}}.",
"visualeditor-viewpage-savewarning-keep": "Text shown on the button
which does not do anything when the user decides that they do not want to leave
the editor.\n\nPreceded by the button
{{msg-mw|Visualeditor-viewpage-savewarning-discard}}.",
"visualeditor-viewpage-savewarning-title": "Title of the dialog shown
when the user tries to leave the editor without saving their
changes.\n\nFollowed by the following buttons:\n*
{{msg-mw|Visualeditor-viewpage-savewarning-discard}}\n*
{{msg-mw|Visualeditor-viewpage-savewarning-keep}}\n{{Identical|Are you sure?}}",
+ "visualeditor-wikitext-progress": "Label for progress bar shown while
converting pasted wikitext.",
"visualeditor-wikitext-warning": "Contents of notification displayed
when Wikitext has been detected.\n\nRefers to:\n*
{{msg-mw|Visualeditor-wikitext-warning-link}}\n*
{{msg-mw|Visualeditor-toolbar-cancel}}\n*
{{msg-mw|Visualeditor-mweditmodesource-title}}\nSee also:\n*
{{msg-mw|Visualeditor-beta-warning}}",
"visualeditor-wikitext-warning-link": "Link to page describing what
Wikitext is.\n\nUsed in:\n*
{{msg-mw|Visualeditor-wikitext-warning}}.\n\nTranslate to a title where most
wikis in the language you're translating to have one such help page; if they
don't have one, you can use [[mw:Special:MyLanguage/Help:Formatting]] as
target.",
"visualeditor-wikitext-warning-title": "Title of notification displayed
when Wikitext has been detected"
diff --git
a/modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js
b/modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js
index d57deb9..484689a 100644
---
a/modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js
+++
b/modules/ve-mw/tests/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.test.js
@@ -26,6 +26,9 @@
return doc;
}
};
+ },
+ createProgress: function () {
+ return $.Deferred().promise();
}
};
diff --git
a/modules/ve-mw/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.js
b/modules/ve-mw/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.js
index e520c2b..3620cd5 100644
---
a/modules/ve-mw/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.js
+++
b/modules/ve-mw/ui/datatransferhandlers/ve.ui.MWWikitextStringTransferHandler.js
@@ -18,6 +18,9 @@
ve.ui.MWWikitextStringTransferHandler = function
VeUiMWWikitextStringTransferHandler() {
// Parent constructor
ve.ui.MWWikitextStringTransferHandler.super.apply( this, arguments );
+
+ // Properties
+ this.parsoidRequest = null;
};
/* Inheritance */
@@ -74,8 +77,7 @@
* @inheritdoc
*/
ve.ui.MWWikitextStringTransferHandler.prototype.process = function () {
- var xhr,
- handler = this,
+ var handler = this,
wikitext = this.item.getAsString();
function failure() {
@@ -85,12 +87,15 @@
}
// Convert wikitext to html using Parsoid.
- xhr = new mw.Api().post( {
+ this.parsoidRequest = new mw.Api().post( {
action: 'visualeditor',
paction: 'parsefragment',
page: mw.config.get( 'wgRelevantPageName' ),
wikitext: wikitext
- } ).then( function ( response ) {
+ } );
+
+ // Don't immediately chain, as this.parsoidRequest must be abortable
+ this.parsoidRequest.then( function ( response ) {
var doc, surface;
if ( ve.getProp( response, 'visualeditor', 'result' ) !==
'success' ) {
return failure();
@@ -112,9 +117,24 @@
// Sometimes there are multiple <p> tags in the output.
// That's okay: ignore the error and paste what we've
got.
}
-
handler.resolve( doc );
}, failure );
+
+ this.createProgress( this.parsoidRequest, ve.msg(
'visualeditor-wikitext-progress' ) );
+ // Indeterminate progress
+ this.setProgress( null );
+};
+
+/**
+ * @inheritdoc
+ */
+ve.ui.MWWikitextStringTransferHandler.prototype.abort = function () {
+ // Parent method
+ ve.ui.MWWikitextStringTransferHandler.super.prototype.abort.apply(
this, arguments );
+
+ if ( this.parsoidRequest ) {
+ this.parsoidRequest.abort();
+ }
};
/* Registration */
--
To view, visit https://gerrit.wikimedia.org/r/233205
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I83ffa9e0b7164ca4a34eae86cde452d8f38dc853
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Esanders <[email protected]>
Gerrit-Reviewer: Cscott <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: Siebrand <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits