Use namespaced ResourceLoader classes
This change requires MediaWiki >= 1.39 which is already required in extension.json. Change-Id: I25b820ddaab1775d021b1b708f989fb6d9fc2b27
This commit is contained in:
@@ -9,22 +9,22 @@
|
|||||||
|
|
||||||
namespace UniversalLanguageSelector;
|
namespace UniversalLanguageSelector;
|
||||||
|
|
||||||
use ResourceLoaderContext;
|
use MediaWiki\ResourceLoader\Context;
|
||||||
use ResourceLoaderModule;
|
use MediaWiki\ResourceLoader\Module;
|
||||||
use Xml;
|
use Xml;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ResourceLoader module for client-side loading of json-based localization.
|
* ResourceLoader module for client-side loading of json-based localization.
|
||||||
*/
|
*/
|
||||||
class ResourceLoaderULSJsonMessageModule extends ResourceLoaderModule {
|
class ResourceLoaderULSJsonMessageModule extends Module {
|
||||||
/**
|
/**
|
||||||
* Part of the ResourceLoader module interface.
|
* Part of the ResourceLoader module interface.
|
||||||
* Declares the core ext.uls.i18n module as a dependency.
|
* Declares the core ext.uls.i18n module as a dependency.
|
||||||
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
||||||
* @param ResourceLoaderContext|null $context
|
* @param Context|null $context
|
||||||
* @return string[] Module names.
|
* @return string[] Module names.
|
||||||
*/
|
*/
|
||||||
public function getDependencies( ResourceLoaderContext $context = null ) {
|
public function getDependencies( Context $context = null ) {
|
||||||
return [ 'ext.uls.i18n' ];
|
return [ 'ext.uls.i18n' ];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -38,10 +38,10 @@ class ResourceLoaderULSJsonMessageModule extends ResourceLoaderModule {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
||||||
* @param ResourceLoaderContext $context
|
* @param Context $context
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function getDefinitionSummary( ResourceLoaderContext $context ) {
|
public function getDefinitionSummary( Context $context ) {
|
||||||
$code = $context->getLanguage();
|
$code = $context->getLanguage();
|
||||||
$fileHashes = array_map(
|
$fileHashes = array_map(
|
||||||
[ __CLASS__, 'safeFileHash' ],
|
[ __CLASS__, 'safeFileHash' ],
|
||||||
@@ -59,10 +59,10 @@ class ResourceLoaderULSJsonMessageModule extends ResourceLoaderModule {
|
|||||||
* Get the message strings for the current UI language. Uses
|
* Get the message strings for the current UI language. Uses
|
||||||
* mw.uls.loadLocalization to register them on the frontend.
|
* mw.uls.loadLocalization to register them on the frontend.
|
||||||
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
||||||
* @param ResourceLoaderContext $context
|
* @param Context $context
|
||||||
* @return string JavaScript code.
|
* @return string JavaScript code.
|
||||||
*/
|
*/
|
||||||
public function getScript( ResourceLoaderContext $context ) {
|
public function getScript( Context $context ) {
|
||||||
$code = $context->getLanguage();
|
$code = $context->getLanguage();
|
||||||
$params = [ $code, ULSJsonMessageLoader::getMessages( $code ) ];
|
$params = [ $code, ULSJsonMessageLoader::getMessages( $code ) ];
|
||||||
|
|
||||||
|
|||||||
@@ -23,14 +23,14 @@ namespace UniversalLanguageSelector;
|
|||||||
|
|
||||||
use MediaWiki\Languages\LanguageNameUtils;
|
use MediaWiki\Languages\LanguageNameUtils;
|
||||||
use MediaWiki\MediaWikiServices;
|
use MediaWiki\MediaWikiServices;
|
||||||
use ResourceLoader;
|
use MediaWiki\ResourceLoader\Context;
|
||||||
use ResourceLoaderContext;
|
use MediaWiki\ResourceLoader\Module;
|
||||||
use ResourceLoaderModule;
|
use MediaWiki\ResourceLoader\ResourceLoader;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ResourceLoader module for UniversalLanguageSelector
|
* ResourceLoader module for UniversalLanguageSelector
|
||||||
*/
|
*/
|
||||||
class ResourceLoaderULSModule extends ResourceLoaderModule {
|
class ResourceLoaderULSModule extends Module {
|
||||||
/** @var string[] */
|
/** @var string[] */
|
||||||
protected $targets = [ 'desktop', 'mobile' ];
|
protected $targets = [ 'desktop', 'mobile' ];
|
||||||
|
|
||||||
@@ -51,10 +51,10 @@ class ResourceLoaderULSModule extends ResourceLoaderModule {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
* @suppress PhanParamSignatureRealMismatchParamType, UnusedSuppression -- T308443
|
||||||
* @param ResourceLoaderContext $context
|
* @param Context $context
|
||||||
* @return string JavaScript code
|
* @return string JavaScript code
|
||||||
*/
|
*/
|
||||||
public function getScript( ResourceLoaderContext $context ) {
|
public function getScript( Context $context ) {
|
||||||
$languageCode = $context->getLanguage();
|
$languageCode = $context->getLanguage();
|
||||||
return ResourceLoader::makeConfigSetScript( $this->getData( $languageCode ) );
|
return ResourceLoader::makeConfigSetScript( $this->getData( $languageCode ) );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace UniversalLanguageSelector\Tests;
|
namespace UniversalLanguageSelector\Tests;
|
||||||
|
|
||||||
|
use MediaWiki\ResourceLoader\Context;
|
||||||
use UniversalLanguageSelector\ResourceLoaderULSJsonMessageModule;
|
use UniversalLanguageSelector\ResourceLoaderULSJsonMessageModule;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -15,7 +16,7 @@ class ResourceLoaderULSJsonMessageModuleTest extends \PHPUnit\Framework\TestCase
|
|||||||
public function testAllReturnValues() {
|
public function testAllReturnValues() {
|
||||||
$instance = new ResourceLoaderULSJsonMessageModule();
|
$instance = new ResourceLoaderULSJsonMessageModule();
|
||||||
|
|
||||||
$context = $this->createMock( \ResourceLoaderContext::class );
|
$context = $this->createMock( Context::class );
|
||||||
$context->method( 'getLanguage' )
|
$context->method( 'getLanguage' )
|
||||||
->willReturn( 'en' );
|
->willReturn( 'en' );
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace UniversalLanguageSelector\Tests;
|
namespace UniversalLanguageSelector\Tests;
|
||||||
|
|
||||||
|
use MediaWiki\ResourceLoader\Context;
|
||||||
use UniversalLanguageSelector\ResourceLoaderULSModule;
|
use UniversalLanguageSelector\ResourceLoaderULSModule;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -15,7 +16,7 @@ class ResourceLoaderULSModuleTest extends \PHPUnit\Framework\TestCase {
|
|||||||
public function testAllReturnValues() {
|
public function testAllReturnValues() {
|
||||||
$instance = new ResourceLoaderULSModule();
|
$instance = new ResourceLoaderULSModule();
|
||||||
|
|
||||||
$context = $this->createMock( \ResourceLoaderContext::class );
|
$context = $this->createMock( Context::class );
|
||||||
$context->method( 'getLanguage' )
|
$context->method( 'getLanguage' )
|
||||||
->willReturn( 'en' );
|
->willReturn( 'en' );
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user