Difference between revisions of "MediaWiki:Common.js"

From comp.tf
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;
    var highlighted;
+
$.fn.justtext = function() {
    jQuery.fn.justtext = function () {
+
    return $(this).clone().children().remove('div').end().text().trim();
            return $(this).clone().children().remove('div').end().text().trim();
+
};
    };
+
var bracketGame;
    var bracketGame;
+
$(document).ready(function() {
    $(document).ready(function () {
+
        $('.bracket-game').each( function() {
            $('.bracket-player-top, .bracket-player-bottom, .bracket-game .icon').hover(function () {
+
                if ($(this).find('.bracket-game-details').length > 0) {
                    t = $(this);
+
                        var margin = $(this).find(':first-child').height() - 6;
                    var text = t.justtext();
+
                        $(this).prepend('<div class="icon" style="margin-top:' + margin + 'px;"></div>');
                    if (text) {
+
                }
                            highlighted = t.
+
        });
                                    parents('.bracket').find('.bracket-player-top, .bracket-player-bottom').filter(function () {
+
        $('.match-row').each( function() {
                                            return $(this).justtext() == text
+
                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>');
                            highlighted.addClass('bracket-hover');
+
                }
                            highlighted.each(function () {
+
        });
                                    $(this).data('bgcolor', $(this).css('background-color'));
+
        $('.match-row').hover(function () {
                                    switch ($(this).data('bgcolor')) {
+
                $(this).addClass('bracket-hover');
                                    case 'rgb(242, 184, 184)':
+
                if ($(this).closest('.match-row').find('.bracket-game-details').length) {
                                            $(this).css('background-color', 'rgb(250,217,217)');
+
                        $(this).css('cursor', 'pointer');
                                            break;
+
                }
                                    case 'rgb(184, 242, 184)':
+
        },
                                            $(this).css('background-color', 'rgb(217,250,217)');
+
        function () {
                                            break;
+
                $(this).removeClass('bracket-hover');
                                    case 'rgb(184, 184, 242)':
+
        });
                                            $(this).css('background-color', 'rgb(217,217,250)');
+
        $('.bracket-team-top, .bracket-team-bottom, .bracket-game .icon').hover(function () {
                                            break;
+
                t = $(this);
                                    default:
+
                var text = t.justtext();
                                            $(this).css('background-color', 'rgb(250,250,250)');
+
                if (text) {
                                            break;
+
                        highlighted = t.parents('.bracket').find('.bracket-team-top, .bracket-team-bottom').filter(function () {
                                    }
+
                                return $(this).justtext() == text;
                            });
+
                        });
                    }
+
                        highlighted.css('background', '#cecece');
            }, function () {
+
                }
                    highlighted.removeClass('bracket-hover');
+
        },
                    highlighted.each(function () {
+
        function() {
                            $(this).css('background-color', $(this).data('bgcolor'));
+
                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();
        });
});