MediaWiki:Common.js: Difference between revisions

m Add global collapsible expand/collapse controls
m Make collapsible controls available while scrolling
Line 19: Line 19:
         return $root
         return $root
             .find('.mw-collapsible.mw-made-collapsible')
             .find('.mw-collapsible.mw-made-collapsible')
             .add($root.filter('.mw-collapsible.mw-made-collapsible'))
             .add($root.filter('.mw-collapsible.mw-made-collapsible'));
            .filter(function () {
                return !$(this).closest('#muhro-collapse-controls').length;
            });
     }
     }


Line 64: Line 61:
         }
         }


         if ($root.find('#muhro-collapse-controls').length || !findCollapsibles($root).length) {
         if ($('#muhro-collapse-controls').length || !findCollapsibles($root).length) {
             return;
             return;
         }
         }
Line 77: Line 74:
             .text('Collapse all');
             .text('Collapse all');
         var $controls = $('<div>')
         var $controls = $('<div>')
             .attr('id', 'muhro-collapse-controls')
             .attr({
                id: 'muhro-collapse-controls',
                role: 'group',
                'aria-label': 'Collapsible content controls'
            })
             .addClass('muhro-collapse-controls noprint')
             .addClass('muhro-collapse-controls noprint')
             .append($expand, $collapse);
             .append($expand, $collapse);
Line 94: Line 95:


         updateButtons($root, $expand, $collapse);
         updateButtons($root, $expand, $collapse);
         $root.prepend($controls);
         $('body').append($controls);
     }
     }