mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
synced 2024-12-11 07:26:03 +00:00
951dec1fab
Implement a rest API endpoint that displays the popup that is currently only shown on a special page. Code was revived from Idd22057a88312bf1a1cb5546d0a6edca5678d80d Bug: T288076 Bug: T233099 Change-Id: I65fcbf25ac5818f6c649daf494c719921247e8f5
58 lines
2 KiB
PHP
58 lines
2 KiB
PHP
<?php
|
|
|
|
use MediaWiki\Config\ServiceOptions;
|
|
use MediaWiki\Extension\Math\InputCheck\InputCheckFactory;
|
|
use MediaWiki\Extension\Math\Math;
|
|
use MediaWiki\Extension\Math\MathConfig;
|
|
use MediaWiki\Extension\Math\MathFormatter;
|
|
use MediaWiki\Extension\Math\MathWikibaseConnector;
|
|
use MediaWiki\Extension\Math\Render\RendererFactory;
|
|
use MediaWiki\Logger\LoggerFactory;
|
|
use MediaWiki\MediaWikiServices;
|
|
use Wikibase\Client\WikibaseClient;
|
|
use Wikibase\Lib\Formatters\SnakFormatter;
|
|
|
|
return [
|
|
'Math.CheckerFactory' => static function ( MediaWikiServices $services ): InputCheckFactory {
|
|
return new InputCheckFactory(
|
|
new ServiceOptions(
|
|
InputCheckFactory::CONSTRUCTOR_OPTIONS,
|
|
$services->getMainConfig()
|
|
),
|
|
$services->getMainWANObjectCache(),
|
|
$services->getHttpRequestFactory(),
|
|
LoggerFactory::getInstance( 'Math' )
|
|
);
|
|
},
|
|
'Math.Config' => static function ( MediaWikiServices $services ): MathConfig {
|
|
return new MathConfig(
|
|
new ServiceOptions( MathConfig::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ),
|
|
ExtensionRegistry::getInstance()
|
|
);
|
|
},
|
|
'Math.RendererFactory' => static function ( MediaWikiServices $services ): RendererFactory {
|
|
return new RendererFactory(
|
|
new ServiceOptions(
|
|
RendererFactory::CONSTRUCTOR_OPTIONS,
|
|
$services->getMainConfig()
|
|
),
|
|
Math::getMathConfig( $services ),
|
|
$services->getUserOptionsLookup(),
|
|
LoggerFactory::getInstance( 'Math' )
|
|
);
|
|
},
|
|
'Math.WikibaseConnector' => static function ( MediaWikiServices $services ): MathWikibaseConnector {
|
|
return new MathWikibaseConnector(
|
|
new ServiceOptions( MathWikibaseConnector::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ),
|
|
WikibaseClient::getRepoLinker( $services ),
|
|
$services->getLanguageFactory(),
|
|
WikibaseClient::getEntityRevisionLookup( $services ),
|
|
WikibaseClient::getFallbackLabelDescriptionLookupFactory( $services ),
|
|
WikibaseClient::getSite( $services ),
|
|
WikibaseClient::getEntityIdParser( $services ),
|
|
new MathFormatter( SnakFormatter::FORMAT_HTML ),
|
|
LoggerFactory::getInstance( 'Math' )
|
|
);
|
|
}
|
|
];
|