MediaWiki:Common.js

From Wiki The-West EN
Revision as of 10:47, 14 June 2017 by Thathanka (talk | contribs)
Jump to navigation

Note: After publishing, 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 / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */
if ($(".activate_v2").length > 0) {
    console.time('loop');
    $('.item_container').each(function() {
        $(this).append('<img src="' + $(this).attr('data-url') + '">');
        $(this).attr('onmouseenter', 'showPopup(this)');
        $(this).attr('onmouseleave', 'hidePopup()');
    })
    console.timeEnd('loop');
    $.getScript("https://wiki.the-west.net/wiki/Popup.js?action=raw");
} else {
    //Popup item
    $(document).mousemove(function(e) {
        if ($('.popup_window:visible').length !== 0) {
            var width;
            var height;
            var parent_left = $('.item_container:hover').offset().left;
            var parent_top = $('.item_container:hover').offset().top;
            var w = e.pageX;
            if (e.clientX < ($(window).width()) / 2) {
                width = w + 20 - parent_left;
            } else {
                width = w - 20 - $('.popup_window:visible').outerWidth() - parent_left;
            }
            var h = e.pageY;
            var h2 = $('.popup_window:visible').outerHeight();
            var h3 = $(window).height();
            if (e.clientY < (h3 / 2)) {
                height = h + 20 - parent_top;
                if (e.clientY + h2 + 10 > h3) height = h - e.clientY - parent_top + h3 - h2 + 10;
            } else {
                height = h - h2 - parent_top;
                if (e.clientY - h2 < 10) height = h - e.clientY - parent_top + 10;
            }
            $('.popup_window:visible').css({
                top: height,
                left: width
            });
        }
    });

    //Input level
    if ($("#input_level").length == 1) {
        var input_level = $('<input type="number" class="west" placeholder="Level" min="0" max="150">').bind("propertychange keyup input paste", function() {
            if (this.value > 150) {
                this.value = 150;
            } else if (this.value < 0) {
                this.value = 0;
            }
            $(".calc").each(function() {
                if (input_level.val() == 0) {
                    $(this).html(this.id);
                    $('.per_level_off').addClass('per_level').removeClass('per_level_off');
                } else {
                    $(this).html(Math.ceil(Number(this.id) * input_level.val()));
                    $('.per_level').addClass('per_level_off').removeClass('per_level');
                }
            });
        }).appendTo($("#input_level"));
    }

    //Search
    if ($("#input_search").length == 1) {
        //Add :containsCI selector (contains case insensitive)
        $.extend($.expr[":"], {
            "containsCI": function(elem, i, match, array) {
                return (elem.textContent || elem.innerText || "").toLowerCase().indexOf((match[3] || "").toLowerCase()) >= 0;
            }
        });
        var input_search = $('<input type="search" class="west" placeholder="Search">').bind("propertychange keyup input paste", function() {
            if (this.value == '') {
                $('.item_container').show();
            } else {
                $('.item_container').hide();
                $('.item_container:containsCI("' + this.value + '")').show();
            }
        }).appendTo($("#input_search"));
    }
    //Switch weapons
    if ($("#switch").length == 1) {
        $("#fire").hide();
        $("#switch").on("click", function() {
            $('#melee, #fire').toggle()
        });
    }
}