Merge "Add default edit rate limit of 90 edits/minute for all users"
[lhc/web/wiklou.git] / resources / src / jquery / jquery.makeCollapsible.js
index 1f40e0a..e355196 100644 (file)
@@ -1,5 +1,8 @@
 /**
  * jQuery makeCollapsible
+ * Note: To avoid performance issues such as reflows, several styles are
+ * shipped in mediawiki.makeCollapsible.styles to reserve space for the toggle control. Please
+ * familiarise yourself with that CSS before making any changes to this code.
  *
  * Dual licensed:
  * - CC BY 3.0 <http://creativecommons.org/licenses/by/3.0>
         *   expand the element. Default: the 'data-expandtext' attribute of the
         *   collapsible element or the content of 'collapsible-expand' message.
         * @param {boolean} [options.collapsed] Whether to collapse immediately. By default
-        *   collapse only if the elements has the 'mw-collapsible' class.
+        *   collapse only if the element has the 'mw-collapsed' class.
         * @param {jQuery} [options.$customTogglers] Elements to be used as togglers
         *   for this collapsible element. By default, if the collapsible element
         *   has an id attribute like 'mw-customcollapsible-XXX', elements with a
                        if ( $collapsible.data( 'mw-made-collapsible' ) ) {
                                return;
                        } else {
-                               $collapsible.data( 'mw-made-collapsible', true );
+                               // Let CSS know that it no longer needs to worry about flash of unstyled content.
+                               // This will allow mediawiki.makeCollapsible.styles to disable temporary pseudo elements, that
+                               // are needed to avoid a flash of unstyled content.
+                               $collapsible.addClass( 'mw-made-collapsible' )
+                                       .data( 'mw-made-collapsible', true );
                        }
 
                        // Use custom text or default?