public function __construct( $descriptor, $context = null, $messagePrefix = '' ) {
parent::__construct( $descriptor, $context, $messagePrefix );
$this->getOutput()->enableOOUI();
- $this->getOutput()->addModules( 'mediawiki.htmlform.ooui' );
$this->getOutput()->addModuleStyles( 'mediawiki.htmlform.ooui.styles' );
}
'colon-separator',
),
),
- 'mediawiki.htmlform.ooui' => array(
- 'scripts' => 'resources/src/mediawiki/mediawiki.htmlform.ooui.js',
- 'dependencies' => 'oojs-ui',
- ),
'mediawiki.htmlform.ooui.styles' => array(
'styles' => 'resources/src/mediawiki/mediawiki.htmlform.ooui.css',
'position' => 'top',
}
$nodes.updateTooltipAccessKeys();
+ // Infuse OOUI widgets, if any are present
+ $nodes = $( '[data-ooui]' );
+ if ( $nodes.length ) {
+ mw.loader.using( 'mediawiki.widgets' ).done( function () {
+ // HACK: OO.ui.infuse assumes all widgets are in the OO.ui. namespace
+ $.extend( OO.ui, mw.widgets );
+ $nodes.each( function () {
+ OO.ui.infuse( this );
+ } );
+ } );
+ }
+
} );
}( mediaWiki, jQuery ) );
+++ /dev/null
-/*global OO */
-jQuery( function ( $ ) {
-
- // Infuse everything with JavaScript widgets
- $( '.mw-htmlform-ooui [data-ooui]' ).each( function () {
- OO.ui.infuse( this.id );
- } );
-
-} );