mwstake / mediawiki-component-alertbanners
Provides an API for showing banners above the content of a page
Installs: 18 795
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 8
Forks: 1
Open Issues: 0
Requires
Requires (Dev)
README
AlertBanners for MediaWiki
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.
Use in a MediaWiki extension
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
.
Implement a provider
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
Register a provider
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' ] }
Use in client code
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