From: Bartosz DziewoƄski Date: Tue, 7 Jul 2015 13:23:25 +0000 (+0200) Subject: Move `$.extend( OO.ui, mw.widgets )` hack to 'mediawiki.widgets' module X-Git-Tag: 1.31.0-rc.0~10650^2~2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/membres/fiche.php?a=commitdiff_plain;h=2eda3a93100b08e7c10be852af896a804b910c7e;p=lhc%2Fweb%2Fwiklou.git Move `$.extend( OO.ui, mw.widgets )` hack to 'mediawiki.widgets' module 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 --- diff --git a/resources/Resources.php b/resources/Resources.php index 25c8de13a5..182f0901be 100644 --- a/resources/Resources.php +++ b/resources/Resources.php @@ -1735,6 +1735,7 @@ return array( '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', diff --git a/resources/src/mediawiki.page/mediawiki.page.ready.js b/resources/src/mediawiki.page/mediawiki.page.ready.js index 3a8e0e798d..8ec4cf0c67 100644 --- a/resources/src/mediawiki.page/mediawiki.page.ready.js +++ b/resources/src/mediawiki.page/mediawiki.page.ready.js @@ -63,8 +63,6 @@ $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 ); } ); diff --git a/resources/src/mediawiki.widgets/mw.widgets.infuse.js b/resources/src/mediawiki.widgets/mw.widgets.infuse.js new file mode 100644 index 0000000000..98480bb312 --- /dev/null +++ b/resources/src/mediawiki.widgets/mw.widgets.infuse.js @@ -0,0 +1,3 @@ +// 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 );