Skin: Only load jquery.makeCollapsible if needed
authorTimo Tijhof <krinklemail@gmail.com>
Wed, 8 Mar 2017 04:48:21 +0000 (20:48 -0800)
committerKrinkle <krinklemail@gmail.com>
Wed, 8 Mar 2017 20:25:59 +0000 (20:25 +0000)
commit692bf795a991ba2041eba086150cf87403e37fe0
tree5c5a4ff5f0e4d7941ad98ce7f62344ac9649c9ec
parent2fccd229d2e8ba11c37b5d5c25a65751a714f3f6
Skin: Only load jquery.makeCollapsible if needed

Currently, module 'jquery.makeCollapsible' is loaded on all pages
regarless of whether the page contains any collapsible elements.

It is required via 'mediawiki.page.ready'. Change this to lazy-loading
when needed only.

However, this lazy-load is discovered very late (after page ready,
after modules ready). To avoid regressing UX with an annoying reflow
of content and a very late hiding of collapsed elements, still
enqueue it in the main module loader by default on pages that
contain collapsible content server-side.

Bug: T159911
Change-Id: I4703ecd52d2d60207ba39108a4b3ef4aa1570965
includes/skins/Skin.php
resources/Resources.php
resources/src/mediawiki/page/ready.js