MediaWiki:Gadget-CollapsibleTemplates.js — различия между версиями
(via resourceloader) |
м (1 версия импортирована) |
(нет различий)
|
Текущая версия на 01:23, 23 января 2015
/*jshint curly:false */
/*global jQuery:false, mediaWiki:false, importStylesheet:false*/
(function($, mw) {
'use strict';
var slideDuration = (mw.config.get('skin') === 'vector') ? 150 : 0;
var launch = function() {
$('div.collapsibleheader').show();
$('div.collapsibletemplate.collapsed div.body').hide();
$('table.collapsible.collapsed > tbody > tr:not(:first-child)').toggleClass('hidden');
$('div.collapsibletemplate div.body').removeClass('show-on-commons');
function toggleTemplate($element) {
if ($element.is('tr')) {
$element
.parent().parent()
.toggleClass('collapsed');
$element.nextAll('tr')
.toggleClass('hidden');
// support old browsers without first-child support
$element.toggleClass('collapsibleCollapsedTH');
} else {
$element
.parent()
.toggleClass('expanded')
.toggleClass('collapsed')
.find('div.body')
.slideToggle(slideDuration);
}
}
var $headings = $('div.collapsibletemplate > div.collapsibleheader, table.collapsible > tbody > tr:first-child');
// support old browsers without first-child support
$('table.collapsible > tbody > tr:first-child th').addClass('collapsibleTH');
$headings.mousedown(function(e) {
var $t = $(e.target);
if ($t.is('a') || $t.parents('a').length !== 0) {
return true;
} else {
toggleTemplate($(this));
return false;
}
});
};
mw.hook( 'wikipage.content' ).add( launch );
}(jQuery, mediaWiki));