From: Derk-Jan Hartman Date: Mon, 19 Feb 2018 11:53:47 +0000 (+0100) Subject: Contributions: Only add form JS when the form is added X-Git-Tag: 1.31.0-rc.0~550^2 X-Git-Url: https://git.cyclocoop.org/admin/?a=commitdiff_plain;h=0e8f08bb12333705c8efa05793adabbe7a59d9ce;p=lhc%2Fweb%2Fwiklou.git 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 --- 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',