Difference between revisions of "MediaWiki:Common.js"
Jump to navigation
Jump to search
(added brackets code) |
(credit to thesupremecommander for this JS) |
||
| Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
| − | /* brackets code */ | + | /* 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(); | ||
| + | }); | ||
| + | }); | ||
Revision as of 16:34, 21 August 2014
/* 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();
});
});