MediaWiki:Common.js: Difference between revisions
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();
});
});