From 0e8f08bb12333705c8efa05793adabbe7a59d9ce Mon Sep 17 00:00:00 2001 From: Derk-Jan Hartman Date: Mon, 19 Feb 2018 12:53:47 +0100 Subject: [PATCH] Contributions: Only add form JS when the form is added Special:Contributions can be transcluded ('including') on to another page. In this mode, the form is not present, but the OOUI JS infusing, payload and styling, was added regardless. This caused errors on pages transcluding such lists, as the OOUI HTML was missing, causing the JS to throw errors. Bug: T187710 Change-Id: I7d45dd3ddd3ba75d44f7d24e03cef5e95301f4ed --- includes/specials/SpecialContributions.php | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/includes/specials/SpecialContributions.php b/includes/specials/SpecialContributions.php index 4775a7f928..806713b4ef 100644 --- a/includes/specials/SpecialContributions.php +++ b/includes/specials/SpecialContributions.php @@ -40,14 +40,12 @@ class SpecialContributions extends IncludableSpecialPage { $this->setHeaders(); $this->outputHeader(); $out = $this->getOutput(); + // Modules required for viewing the list of contributions (also when included on other pages) $out->addModuleStyles( [ 'mediawiki.special', 'mediawiki.special.changeslist', - 'mediawiki.widgets.DateInputWidget.styles', ] ); - $out->addModules( 'mediawiki.special.contributions' ); $this->addHelpLink( 'Help:User contributions' ); - $out->enableOOUI(); $this->opts = []; $request = $this->getRequest(); @@ -497,6 +495,14 @@ class SpecialContributions extends IncludableSpecialPage { $this->opts['hideMinor'] = false; } + // Modules required only for the form + $this->getOutput()->addModules( [ + 'mediawiki.userSuggest', + 'mediawiki.special.contributions', + ] ); + $this->getOutput()->addModuleStyles( 'mediawiki.widgets.DateInputWidget.styles' ); + $this->getOutput()->enableOOUI(); + $form = Html::openElement( 'form', [ @@ -544,8 +550,6 @@ class SpecialContributions extends IncludableSpecialPage { $filterSelection = Html::rawElement( 'div', [], '' ); } - $this->getOutput()->addModules( 'mediawiki.userSuggest' ); - $labelNewbies = Xml::radioLabel( $this->msg( 'sp-contributions-newbies' )->text(), 'contribs', -- 2.20.1