From c4f67e5a3a8c3286487ad10b575730c9b0204b0a Mon Sep 17 00:00:00 2001 From: Ori Livneh Date: Wed, 3 Dec 2014 18:03:29 -0800 Subject: [PATCH] Don't attempt to stash new section edits The parser output of edits produced via the 'new section' interface varies on both the edit body and the edit summary (since it determines the new section's name). So there isn't an early point in the edit process where we can start computing the edit output. We have to wait for the user to be completely done, by which point edit-stashing provides no advantage. Change-Id: Ida461e08189b75c5a508628d11dc929a6138814a --- .../mediawiki.action.edit.stash.js | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/resources/src/mediawiki.action/mediawiki.action.edit.stash.js b/resources/src/mediawiki.action/mediawiki.action.edit.stash.js index 895cb03783..9972321e47 100644 --- a/resources/src/mediawiki.action/mediawiki.action.edit.stash.js +++ b/resources/src/mediawiki.action/mediawiki.action.edit.stash.js @@ -13,7 +13,7 @@ token: token, title: mw.config.get( 'wgPageName' ), section: data.wpSection, - sectiontitle: data.wpSection === 'new' ? data.wpSummary : '', + sectiontitle: '', text: data.wpTextbox1, contentmodel: data.model, contentformat: data.format, @@ -21,11 +21,22 @@ } ); } - $form.on( 'change', function () { + function onEditChanged() { + // If a stash request is already in flight, abort it, since its + // payload has just been invalidated by this change. if ( pending ) { pending.abort(); } api.getToken( 'edit' ).then( stashEdit ); - } ); + } + + // We don't attempt to stash new section edits because in such cases + // the parser output varies on the edit summary (since it determines + // the new section's name). + if ( $form.find( 'input[name=wpSection]' ).val() === 'new' ) { + return; + } + + $form.find( '#wpTextbox1' ).on( 'change', onEditChanged ); } ); }( mediaWiki, jQuery ) ); -- 2.20.1