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 <esand...@wikimedia.org>
Gerrit-Reviewer: Cscott <canan...@wikimedia.org>
Gerrit-Reviewer: Jforrester <jforres...@wikimedia.org>
Gerrit-Reviewer: Siebrand <siebr...@kitano.nl>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to