From: Roan Kattouw Date: Mon, 25 May 2015 09:58:36 +0000 (+0200) Subject: Automatically infuse any infusable OOUI widgets present on the page X-Git-Tag: 1.31.0-rc.0~10922^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/pie.php?a=commitdiff_plain;h=7fea174c8336c526c7549fc6282eb67310e26d31;p=lhc%2Fweb%2Fwiklou.git Automatically infuse any infusable OOUI widgets present on the page Change-Id: I931df032c3d8dc5807c7590a763b8d9060c5ee87 --- diff --git a/includes/htmlform/OOUIHTMLForm.php b/includes/htmlform/OOUIHTMLForm.php index 1ac7956e52..80e91f7ed2 100644 --- a/includes/htmlform/OOUIHTMLForm.php +++ b/includes/htmlform/OOUIHTMLForm.php @@ -34,7 +34,6 @@ class OOUIHTMLForm extends HTMLForm { 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' ); } diff --git a/resources/Resources.php b/resources/Resources.php index f7a05318f4..bd9788e3a8 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -963,10 +963,6 @@ return array( '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', diff --git a/resources/src/mediawiki.page/mediawiki.page.ready.js b/resources/src/mediawiki.page/mediawiki.page.ready.js index 36eb9d4f22..3a8e0e798d 100644 --- a/resources/src/mediawiki.page/mediawiki.page.ready.js +++ b/resources/src/mediawiki.page/mediawiki.page.ready.js @@ -59,6 +59,18 @@ } $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 ) ); diff --git a/resources/src/mediawiki/mediawiki.htmlform.ooui.js b/resources/src/mediawiki/mediawiki.htmlform.ooui.js deleted file mode 100644 index 48b8a877f7..0000000000 --- a/resources/src/mediawiki/mediawiki.htmlform.ooui.js +++ /dev/null @@ -1,9 +0,0 @@ -/*global OO */ -jQuery( function ( $ ) { - - // Infuse everything with JavaScript widgets - $( '.mw-htmlform-ooui [data-ooui]' ).each( function () { - OO.ui.infuse( this.id ); - } ); - -} );