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(); }); });