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