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 achived by
- either adding
"callback": "mwsInitComponents"
to yourextension.json
/skin.json
- or calling
mwsInitComponents();
within you extensions/skins customcallback
method
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
mwsgAlertBannersProviderRegistry
GlobalVars 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