mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-15 02:23:58 +00:00
DesktopArticleTarget.init: Support '&editintro=…' in edit links
Support gadgets adding '&editintro=…' to the default edit link. It was already supported when opening the link in a new window, or following an external link, or when clicking a section edit link. Also, clean up these parameters when leaving the editor. This also applies to 'preload', 'preloadparams', 'preloadtitle', 'summary'. KNOWN BUG: Only works the first time the editor is loaded on the page. Afterwards, DesktopArticleTarget.init lets DesktopArticleTarget handle initialization, and it ignores extra parameters. I made a few attempts at fixing this, but I only broke it further. I don't understand why the history handling code even works. Maybe I'll come back to this. Bug: T56029 Change-Id: I38fcde573f728250aaa125b391815e7fac7df362
This commit is contained in:
parent
53217d24e0
commit
872679aeec
|
@ -1170,6 +1170,13 @@ ve.init.mw.DesktopArticleTarget.prototype.restorePage = function () {
|
|||
url.searchParams.delete( 'oldid' );
|
||||
}
|
||||
|
||||
// Remove parameters which are only intended for the editor, not for read mode
|
||||
url.searchParams.delete( 'editintro' );
|
||||
url.searchParams.delete( 'preload' );
|
||||
url.searchParams.delete( 'preloadparams[]' );
|
||||
url.searchParams.delete( 'preloadtitle' );
|
||||
url.searchParams.delete( 'summary' );
|
||||
|
||||
// If there are any other query parameters left, re-use that URL object.
|
||||
// Otherwise use the canonical style view URL (T44553, T102363).
|
||||
var keys = [];
|
||||
|
|
|
@ -645,10 +645,10 @@
|
|||
// way to do this. See also similar code in the DesktopArticleTarget constructor.
|
||||
history.replaceState( { tag: 'visualeditor' }, '', url );
|
||||
// Set action=edit or veaction=edit/editsource
|
||||
history.pushState( { tag: 'visualeditor' }, '', mode === 'source' ? veEditSourceUrl : veEditUrl );
|
||||
|
||||
// Use linkUrl to preserve parameters like 'editintro' (T56029)
|
||||
history.pushState( { tag: 'visualeditor' }, '', linkUrl || ( mode === 'source' ? veEditSourceUrl : veEditUrl ) );
|
||||
// Update URL instance
|
||||
url = veEditUrl;
|
||||
url = linkUrl || veEditUrl;
|
||||
}
|
||||
|
||||
activateTarget( mode, section, undefined, modified );
|
||||
|
@ -1282,7 +1282,7 @@
|
|||
// back button from breaking when used to exit VE. FIXME: there should be a better
|
||||
// way to do this. See also similar code in the DesktopArticleTarget constructor.
|
||||
history.replaceState( { tag: 'visualeditor' }, '', url );
|
||||
// Use linkUrl
|
||||
// Use linkUrl to preserve the 'section' parameter and others like 'editintro' (T56029)
|
||||
history.pushState( { tag: 'visualeditor' }, '', linkUrl );
|
||||
}
|
||||
// Update URL instance
|
||||
|
|
Loading…
Reference in a new issue