From: Ori Livneh Date: Thu, 4 Dec 2014 02:03:29 +0000 (-0800) Subject: Don't attempt to stash new section edits X-Git-Tag: 1.31.0-rc.0~13095 X-Git-Url: http://git.cyclocoop.org/%24image?a=commitdiff_plain;h=c4f67e5a3a8c3286487ad10b575730c9b0204b0a;p=lhc%2Fweb%2Fwiklou.git 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 --- 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 ) );