From 2eda3a93100b08e7c10be852af896a804b910c7e Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Tue, 7 Jul 2015 15:23:25 +0200 Subject: [PATCH] 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 --- resources/Resources.php | 1 + resources/src/mediawiki.page/mediawiki.page.ready.js | 2 -- resources/src/mediawiki.widgets/mw.widgets.infuse.js | 3 +++ 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 resources/src/mediawiki.widgets/mw.widgets.infuse.js 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 ); -- 2.20.1