Provides an API for showing banners above the content of a page
This code is meant to be executed within the MediaWiki application context. No standalone usage is intended.
Add "mwstake/mediawiki-component-alertbanners": "~2.0" to the require section of your composer.json file.
Since 2.0 explicit initialization is required. This can be archived by
- either adding
"callback": "mwsInitComponents"to yourextension.json/skin.json - or calling
mwsInitComponents();within you extensions/skins customcallbackmethod
See also mwstake/mediawiki-componentloader.
Create a class that implements MWStake\MediaWiki\Component\AlertBanners\IAlertProvider. For convenience you may want to derive directly from the abstract base class MWStake\MediaWiki\Component\AlertBanners\AlertProviderBase
There are two ways to register a provider:
- Using the
mwsgAlertBannersProviderRegistryGlobalVars configuraton - Using the hook
MWStakeAlertBannersRegisterProviders
On both cases a ObjectFactory specification must be provided.
Example 1: GlobalVars
$GLOBALS['mwsgAlertProviderRegistry']['my-own-provider'] = [
'class' => '\\MediaWiki\Extension\\MyExt\\MyAlertProvider',
'services' => 'MainConfig'
];Example 2: Hookhandler
$GLOBALS['wgHooks']['MWStakeAlertBannersRegisterProviders'][] = function( &$providers ) {
$providers["my-own-provider"] = [
'class' => '\\MediaWiki\Extension\\MyExt\\MyAlertProvider',
'services' => 'MainConfig'
]
}Load mwstake.component.alertbanners ResourceLoader module.
Available methods:
mwstake.alerts.add( id: string, $elem: jQuery, type: string ): Inject a alert boxmwstake.alerts.remove( id: string ): Remove a alert box