MediaWiki:Common.js
Jump to navigation
Jump to search
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
/* Any JavaScript here will be loaded for all users on every page load. */
/* brackets code */var highlighted;
$.fn.justtext = function() {
return $(this).clone().children().remove('div').end().text().trim();
};
var bracketGame;
$(document).ready(function() {
$('.bracket-game').each( function() {
if ($(this).find('.bracket-game-details').length > 0) {
var margin = $(this).find(':first-child').height() - 6;
$(this).prepend('<div class="icon" style="margin-top:' + margin + 'px;"></div>');
}
});
$('.match-row').each( function() {
if ($(this).find('.bracket-game-details').length > 0) {
$(this).find('td:eq(2)').prepend('<div style="position:relative"><div class="match-row-icon"></div></div>');
}
});
$('.match-row').hover(function () {
$(this).addClass('bracket-hover');
if ($(this).closest('.match-row').find('.bracket-game-details').length) {
$(this).css('cursor', 'pointer');
}
},
function () {
$(this).removeClass('bracket-hover');
});
$('.bracket-team-top, .bracket-team-bottom, .bracket-game .icon').hover(function () {
t = $(this);
var text = t.justtext();
if (text) {
highlighted = t.parents('.bracket').find('.bracket-team-top, .bracket-team-bottom').filter(function () {
return $(this).justtext() == text;
});
highlighted.css('background', '#cecece');
}
},
function() {
highlighted.css('background', '');
});
$('html').click(function () {
if (bracketGame != null) {
bracketGame.find('.bracket-game-details').toggle();
bracketGame = null;
}
});
$('.bracket-team-top, .bracket-team-bottom, .bracket-game .icon').click(
function (event) {
var bracket = $(this).closest('.bracket'),
detailsHeight, detailsWidth, spaceOnTheRight;
if (bracketGame != null) {
bracketGame.children('.bracket-game-details').toggle();
if (bracketGame[0] === $(this).closest('.bracket-game')[0]) {
bracketGame = null;
return;
}
}
bracketGame = $(this).closest('.bracket-game');
detailsHeight= bracketGame.children('.bracket-game-details').height();
detailsWidth = bracketGame.children('.bracket-game-details').width();
bracketGame.children('.bracket-game-details').css('margin-top', -detailsHeight / 2);
spaceOnTheRight = Math.max($(window).width(), bracket.offset().left + bracket.outerWidth()) - (bracketGame.offset().left + bracketGame.outerWidth());
if (spaceOnTheRight < detailsWidth && bracketGame.offset().left > detailsWidth) {
bracketGame.children('.bracket-game-details').css('margin-left', -detailsWidth - 1);
} else {
bracketGame.children('.bracket-game-details').css('margin-left', bracketGame.width());
}
bracketGame.children('.bracket-game-details').fadeToggle(0);
event.stopPropagation();
});
$('.match-row').click(function (event) {
if (bracketGame != null) {
bracketGame.find('.bracket-game-details').toggle();
if (bracketGame[0] === $(this)[0]) {
bracketGame = null;
return;
}
}
bracketGame = $(this);
var height = bracketGame.find('.bracket-game-details').height();
bracketGame.find('.bracket-game-details').css('margin-top', 3);
bracketGame.find('.bracket-game-details').toggle();
event.stopPropagation();
});
$('.bracket-game-details').click(function (event) {
event.stopPropagation();
});
});
/* Cross table row/column highlights */
/* Liquipedia Attribution */
$('.crosstable td').hover(function() {
var crcolumn = parseInt($(this).index()) + 1;
var crcolumnp = crcolumn + 1;
var crcolumnm = crcolumn - 1;
var crrow = parseInt($(this).parent().index()) + 1;
var crrowp = crrow + 1;
var crrowm = crrow - 1;
$(this).closest('table').find('tr:not(:nth-child(' + crrow + '))').find('td:nth-child(' + crcolumnp + ')').addClass('crosstable-highlighted-column-right');
$(this).closest('table').find('tr:not(:nth-child(' + crrow + '))').find('td:nth-child(' + crcolumnm + ')').addClass('crosstable-highlighted-column-left');
$(this).closest('table').find('tr:nth-child(' + crrowp + ')').find('td:not(:nth-child(' + crcolumn + '))').addClass('crosstable-highlighted-row-lower');
$(this).closest('table').find('tr:nth-child(' + crrowm + ')').find('td:not(:nth-child(' + crcolumn + '))').addClass('crosstable-highlighted-row-upper');
$(this).closest('table').find('tr:not(:nth-child(' + crrow + '))').find('td:not(:nth-child(' + crcolumn + '))').addClass('crosstable-muted');
},
function() {
var crcolumn = parseInt($(this).index()) + 1;
var crcolumnp = crcolumn + 1;
var crcolumnm = crcolumn - 1;
var crrow = parseInt($(this).parent().index()) + 1;
var crrowp = crrow + 1;
var crrowm = crrow - 1;
$(this).closest('table').find('td:nth-child(' + crcolumnp + ')').removeClass('crosstable-highlighted-column-right');
$(this).closest('table').find('td:nth-child(' + crcolumnm + ')').removeClass('crosstable-highlighted-column-left');
$(this).closest('table').find('tr:nth-child(' + crrowp + ')').find('td').removeClass('crosstable-highlighted-row-lower');
$(this).closest('table').find('tr:nth-child(' + crrowm + ')').find('td').removeClass('crosstable-highlighted-row-upper');
$(this).closest('table').find('tr:not(:nth-child(' + crrow + '))').find('td:not(:nth-child(' + crcolumn + '))').removeClass('crosstable-muted');
});
;$('.crosstable').find('tr:not(:last-child)').children('th').hover(function() {
var crrow = parseInt($(this).parent().index()) + 1;
var crrowp = crrow + 1;
var crrowm = crrow - 1;
$(this).closest('table').find('tr:nth-child(' + crrowp + ')').find('td').addClass('crosstable-highlighted-row-lower');
$(this).closest('table').find('tr:nth-child(' + crrowm + ')').find('td').addClass('crosstable-highlighted-row-upper');
$(this).closest('table').find('tr:not(:nth-child(' + crrow + '))').find('td').addClass('crosstable-muted');
},
function() {
var crrow = parseInt($(this).parent().index()) + 1;
var crrowp = crrow + 1;
var crrowm = crrow - 1;
$(this).closest('table').find('tr:nth-child(' + crrowp + ')').find('td').removeClass('crosstable-highlighted-row-lower');
$(this).closest('table').find('tr:nth-child(' + crrowm + ')').find('td').removeClass('crosstable-highlighted-row-upper');
$(this).closest('table').find('tr:not(:nth-child(' + crrow + '))').find('td').removeClass('crosstable-muted');
});
/*Click-To-Top*/
/*Credit to stackoverflow user forresto*/
$('.click-to-top').click(function(){
var topZ = 0;
$('.click-to-top').each(function(){
var thisZ = parseInt($(this).css('z-index'), 10);
if (thisZ > topZ){
topZ = thisZ;
}
});
$(this).css('z-index', topZ+1);
});