OO.ui.infuse assumes all widgets are in the OO.ui. namespace.
We previously made that happen on document-ready in
'mediawiki.page.ready' module, but that's too late: document-ready
handlers defined by other modules' can run earlier.
Let's just do it in 'mediawiki.widgets' after all widgets are defined.
Change-Id: Ib2184bf87d72db64d1565d742ef9f1be37f24b6f
'resources/src/mediawiki.widgets/mw.widgets.js',
'resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js',
'resources/src/mediawiki.widgets/mw.widgets.TitleOptionWidget.js',
+ 'resources/src/mediawiki.widgets/mw.widgets.infuse.js',
),
'skinStyles' => array(
'default' => 'resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.css',
$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 );
} );
--- /dev/null
+// HACK: OO.ui.infuse assumes all widgets are in the OO.ui. namespace.
+// Make it so until this is fixed. (T104989)
+jQuery.extend( OO.ui, mediaWiki.widgets );