User:Fumple/common.js

function resolveID(id) { var replaced = id.replaceAll(".26", "&"); replaced = replaced.replaceAll(".21", "!"); replaced = replaced.replaceAll(".28", "(");           replaced = replaced.replaceAll(".29", ")"); replaced = replaced.replaceAll(".CF.89", "ω"); replaced = replaced.replaceAll(".7E", "~"); replaced = replaced.replaceAll(".27", "'"); replaced = replaced.replaceAll(".40", "@"); replaced = replaced.replaceAll(".23", "#"); replaced = replaced.replaceAll(".24", "$"); replaced = replaced.replaceAll(".25", "%"); return replaced; }       String.prototype.replaceAll = function (search, replacement) { var target = this; return target.split(search).join(replacement); };       //Had to do a one line string due to MediaWiki JS restrictions var contextmenu = " File not set Open file page Open file page in new tab "; //I know I could avoid some lines but I don't really want to change how it is       var el = document.createElement("div"); el.innerHTML = contextmenu; document.body.append(el); $(".load-media").contextmenu(function (e) {           if (e.target.tagName != "DIV") {                return;            }            $(".-context-menu").css("display", "block")                .css("top", e.pageY)                .css("left", e.pageX);            if (e.target.id == "") {                $(".-context-menu-media-load-file").text(resolveID(e.target.parentElement.id.split("|")[0]));            }            else {                $(".-context-menu-media-load-file").text(resolveID(e.target.id.split("|")[0]));            }            e.preventDefault;            return false;        }); $(document).click(function (e) {           var t = $(e.target);            if (t.hasClass("-context-menu-text") || t.hasClass("-context-menu-item")) {                return;            }            $(".-context-menu").css("display", "none")        }) $(document).contextmenu(function (e) {           $(".-context-menu").css("display", "none")        }) $(".-context-menu-media-load-open").click(function (e) { window.location = "/wiki/" + e.target.previousSibling.innerHTML }) $(".-context-menu-media-load-tab").click(function (e) { window.open("/wiki/" + e.target.previousSibling.previousSibling.innerHTML) })