mwstake / mediawiki-component-commonuserinterface
提供常用用户界面元素和可定制的样式
5.0.1
2024-08-23 09:44 UTC
Requires
- composer/installers: ~1.0|~2
- mwstake/mediawiki-componentloader: ~1
Requires (Dev)
- mediawiki/mediawiki-codesniffer: 39.0.0
- mediawiki/minus-x: 1.1.1
- php-parallel-lint/php-console-highlighter: 1.0.0
- php-parallel-lint/php-parallel-lint: 1.3.2
- phpunit/phpunit: ^8.5
- dev-master
- 5.0.1
- 5.0.0
- 4.0.x-dev
- 4.0.2
- 4.0.1
- 4.0.0
- 3.2.x-dev
- 3.2.6
- 3.2.5
- 3.2.4
- 3.2.3
- 3.2.2
- 3.2.1
- 3.2.0
- 3.1.x-dev
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.x-dev
- 3.0.9
- 3.0.8
- 3.0.7
- 3.0.6
- 3.0.5
- 3.0.4
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.x-dev
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.x-dev
- 1.1
- 1.0
- dev-ERM38444
- dev-wcag
- dev-CS
- dev-LinklistGroupText
- dev-ERM27470
- dev-OOJSUITheme
This package is auto-updated.
Last update: 2024-09-23 09:53:55 UTC
README
MediaWiki的CommonUserInterface
提供常用用户界面元素和可定制的样式。
此代码旨在在MediaWiki应用程序环境中执行。不打算独立使用。
在MediaWiki扩展中使用
将"mwstake/mediawiki-component-commonuserinterface": "~3.0"
添加到您的composer.json
文件的require
部分。
从3.0版本开始,需要显式初始化。这可以通过以下方式实现:
- 在您的
extension.json
/skin.json
中添加"callback": "mwsInitComponents"
- 或在其中调用
mwsInitComponents();
您扩展/皮肤的定制callback
方法
另请参阅mwstake/mediawiki-componentloader
。
组件和渲染器
默认渲染器类型
*
bootstrap-5
皮肤可以定义
$GLOBALS['mwsgCommonUIComponentRendererType'] = 'bootstrap-5';
如果它提供了"Twitter Bootstrap V5"。如果请求的渲染器类型不可用,"CommonUserInterface"将回退到*
。
自定义渲染器
$GLOBALS['mwsgCommonUIComponentRendererRegistry']['my-custom-renderer']['button'] = '...';
皮肤插槽
默认插槽
siteNoticeAfter
: 使用钩子SiteNoticeAfter
向任何默认皮肤添加组件dataAfterContent
: 使用钩子SkinAfterContent
向任何默认皮肤添加组件
示例
$GLOBALS['mwsgCommonUISkinSlots']['siteNoticeAfter']['my-sitenoticeafter-toolbar'] = [ 'factory' => function() { return new MWStake\MediaWiki\Component\CommonUserInterface\Component\SimpleToolbar( [ 'items' => [ new MWStake\MediaWiki\Component\CommonUserInterface\Component\SimpleDropDown( [ 'label' => new RawMessage( 'Click me!' ), 'toggleRLModules' => [ 'my-dropdown-module' ] ] ) ] ] ); } ]; $GLOBALS['mwsgCommonUISkinSlots']['skinAfterContent']['my-skinaftercontent-panel'] = [ 'factory' => function() { return new MWStake\MediaWiki\Component\CommonUserInterface\Component\SimplePanel( [ 'title' => new RawMessage( 'My panel' ), 'collapsible' => true, 'collapsed' => true, 'expandRLModules' => [ 'my-panel-module' ] ] ); } ];
待办事项
客户端渲染
示例
mws.commonui.renderPath( '<skinslot>/<parentComponentId>/<subComponentId>', $container );