Merge "RCFilters: Export i18n messages as a config var instead of inline script"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 9 Aug 2018 04:26:56 +0000 (04:26 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 9 Aug 2018 04:26:56 +0000 (04:26 +0000)
includes/specialpage/ChangesListSpecialPage.php
resources/src/mediawiki.rcfilters/mw.rcfilters.init.js

index 58944b4..caa039b 100644 (file)
@@ -780,26 +780,20 @@ abstract class ChangesListSpecialPage extends SpecialPage {
                $out = $this->getOutput();
                if ( $this->isStructuredFilterUiEnabled() && !$this->including() ) {
                        $jsData = $this->getStructuredFilterJsData();
-
                        $messages = [];
                        foreach ( $jsData['messageKeys'] as $key ) {
                                $messages[$key] = $this->msg( $key )->plain();
                        }
-                       $out->addBodyClasses( 'mw-rcfilters-enabled' );
 
+                       $out->addBodyClasses( 'mw-rcfilters-enabled' );
                        $collapsed = $this->getUser()->getBoolOption( static::$collapsedPreferenceName );
                        if ( $collapsed ) {
                                $out->addBodyClasses( 'mw-rcfilters-collapsed' );
                        }
 
-                       $out->addHTML(
-                               ResourceLoader::makeInlineScript(
-                                       ResourceLoader::makeMessageSetScript( $messages ),
-                                       $out->getCSPNonce()
-                               )
-                       );
-
+                       // These config and message exports should be moved into a ResourceLoader data module (T201574)
                        $out->addJsConfigVars( 'wgStructuredChangeFilters', $jsData['groups'] );
+                       $out->addJsConfigVars( 'wgStructuredChangeFiltersMessages', $messages );
                        $out->addJsConfigVars( 'wgStructuredChangeFiltersCollapsedState', $collapsed );
 
                        $out->addJsConfigVars(
index c918df8..9724927 100644 (file)
                }
        };
 
+       // Import i18n messages from config
+       mw.messages.set( mw.config.get( 'wgStructuredChangeFiltersMessages' ) );
+
        // Early execute of init
        if ( document.readyState === 'interactive' || document.readyState === 'complete' ) {
                rcfilters.init();