Alex Monk has uploaded a new change for review.

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

Change subject: Switch to the wikitext editor if VE fails to load
......................................................................

Switch to the wikitext editor if VE fails to load

Also kill some dead HACK code in 
DesktopWikitextArticleTarget#switchToWikitextEditor

Bug: T135748
Change-Id: Ie5aaa0f3c3bd20755abaac9b86af015b71eb777b
---
M modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
M modules/ve-mw/init/targets/ve.init.mw.DesktopWikitextArticleTarget.js
2 files changed, 28 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/VisualEditor 
refs/changes/60/314460/1

diff --git a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js 
b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
index 42d910f..5fcad5c 100644
--- a/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
+++ b/modules/ve-mw/init/targets/ve.init.mw.DesktopArticleTarget.js
@@ -698,7 +698,12 @@
 
        if ( confirmPromptMessage && confirm( confirmPromptMessage ) ) {
                this.load();
+       } else if ( !$( '#wpTextbox1' ).length ) {
+               // TODO: Some sort of progress bar?
+               this.switchToWikitextEditor( true, false );
        } else {
+               // If we're switching from the wikitext editor, just deactivate
+               // don't try to switch back to it fully, that'd discard changes.
                this.deactivate( true );
        }
 };
diff --git 
a/modules/ve-mw/init/targets/ve.init.mw.DesktopWikitextArticleTarget.js 
b/modules/ve-mw/init/targets/ve.init.mw.DesktopWikitextArticleTarget.js
index 368bb46..b93efae 100644
--- a/modules/ve-mw/init/targets/ve.init.mw.DesktopWikitextArticleTarget.js
+++ b/modules/ve-mw/init/targets/ve.init.mw.DesktopWikitextArticleTarget.js
@@ -47,21 +47,30 @@
        var dataPromise,
                target = this;
 
-       this.serialize( this.getDocToSave() );
-       dataPromise = this.serializing.then( function ( response ) {
-               // HACK
-               var data = response.visualeditor;
-               data.etag = target.etag;
-               data.fromEditedState = modified;
-               data.notices = target.remoteNotices;
-               data.protectedClasses = target.protectedClasses;
-               data.basetimestamp = target.baseTimeStamp;
-               data.starttimestamp = target.startTimeStamp;
-               data.oldid = target.revid;
-               return response;
-       } );
+       if ( discardChanges ) {
+               dataPromise = mw.libs.ve.targetLoader.requestPageData(
+                       'source',
+                       this.pageName,
+                       this.requestedRevId,
+                       this.constructor.name
+               ).then(
+                       function ( response ) { return response; },
+                       function () {
+                               // TODO: Some sort of progress bar?
+                               
ve.init.mw.DesktopWikitextArticleTarget.super.prototype.switchToWikitextEditor.call(
+                                       target,
+                                       discardChanges,
+                                       modified
+                               );
+                               // Keep everything else waiting so our error 
handler can do its business
+                               return $.Deferred().promise();
+                       }
+               );
+       } else {
+               this.serialize( this.getDocToSave() );
+               dataPromise = this.serializing;
+       }
        this.setMode( 'source' );
-
        this.reloadSurface( dataPromise );
 };
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie5aaa0f3c3bd20755abaac9b86af015b71eb777b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/VisualEditor
Gerrit-Branch: master
Gerrit-Owner: Alex Monk <a...@wikimedia.org>

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

Reply via email to