Cookies help us deliver our services. By using our services, you agree to our use of cookies. More information

Difference between revisions of "MediaWiki:Common.js"

From NoSQLZoo
Jump to: navigation, search
m
 
(45 intermediate revisions by 3 users not shown)
Line 1: Line 1:
function linkScript(){
+
function linkScript() {
     const args = Array.prototype.slice.call(arguments, 0);
+
     /* poor man's autoloader */
    args.forEach(function(a){
+
    "use strict";
 +
    Array.prototype.slice.call(arguments, 0).forEach(function (a) {
 
         var x = document.createElement("script");
 
         var x = document.createElement("script");
 +
        x.async = false;
 
         x.src = "/mw/scripts/" + a + ".js";
 
         x.src = "/mw/scripts/" + a + ".js";
        x.type = "text/javascript";
 
 
         document.head.appendChild(x);
 
         document.head.appendChild(x);
 
     });
 
     });
Line 11: Line 12:
 
$(function () {
 
$(function () {
 
     "use strict";
 
     "use strict";
 +
    //CodeMirror.
 +
    var cmVersion = "codemirror-5.49.2/";
 +
    linkScript(
 +
        "jshint-2.10.2-min",
 +
        cmVersion + "lib/codemirror",
 +
        cmVersion + "mode/javascript/javascript",
 +
        cmVersion + "mode/cypher/cypher",
 +
        cmVersion + "addon/display/fullscreen",
 +
        cmVersion + "addon/display/rulers",
 +
        cmVersion + "addon/edit/closebrackets",
 +
        cmVersion + "addon/edit/matchbrackets",
 +
        cmVersion + "addon/fold/foldcode",
 +
        cmVersion + "addon/fold/foldgutter",
 +
        cmVersion + "addon/fold/brace-fold",
 +
        cmVersion + "addon/hint/show-hint",
 +
        cmVersion + "addon/lint/lint",
 +
        cmVersion + "addon/lint/javascript-lint",
 +
        cmVersion + "addon/lint/json-lint",
 +
        cmVersion + "addon/edit/trailingspace"
 +
    );
  
     // Add various scripts to page.
+
     //Question-related scripts.
 
     linkScript("nosqlzoo", "beautify", "validator");
 
     linkScript("nosqlzoo", "beautify", "validator");
  
Line 18: Line 39:
 
     var tag_manager = document.createElement("script");
 
     var tag_manager = document.createElement("script");
 
     tag_manager.async = true;
 
     tag_manager.async = true;
     tag_manager.src = "https://www.googletagmanager.com/gtag/js?id=UA-120387375-1";  
+
     tag_manager.src = "https://www.googletagmanager.com/gtag/js?id=UA-120387375-1";
 
     document.head.appendChild(tag_manager);
 
     document.head.appendChild(tag_manager);
  
 
     var google = document.createElement("script");
 
     var google = document.createElement("script");
     google.src = "/mw/scripts/google.js";
+
     google.src = "/mw/scripts/google.js";
 
     document.head.appendChild(google);
 
     document.head.appendChild(google);
   
 
 
    //Allow all the tables to be collapsible
 
    //items move into the "More" actions
 
    //Change the following to change the word "More"
 
    //http://sqlzoo.net/dev/MediaWiki:Vector-more-actions
 
    $("#left-navigation,#right-navigation").hide();
 
    $("#ca-view, #ca-viewsource, #ca-edit").addClass("collapsible");
 
 
    $("#mw-head").append(
 
        $("<div/>", {
 
            id: "cog-cont"
 
        }).append(
 
            $("<div/>", {
 
                css: {
 
                    "background-image": "url(//sqlzoo.net/design/Cog_font_awesome.svg)",
 
                    "z-index": 1003,
 
                    width: 32,
 
                    height: 32,
 
                    position: "absolute",
 
                    right: 0,
 
                    top: 0
 
                },
 
                title: "Wiki Controls",
 
                id: "cog",
 
                click: function() {
 
                    $("#coglist").slideToggle();
 
                    if ($("#overlay").length === 0) {
 
                        $("<div/>", {
 
                                id: "overlay",
 
                                click: function() {
 
                                    $("#coglist").slideUp();
 
                                    $("#overlay").remove();
 
                                },
 
                                css: {
 
                                    position: "absolute",
 
                                    top: 0,
 
                                    left: 0,
 
                                    background: "#AAA",
 
                                    width: "100%",
 
                                    height: "100%",
 
                                    opacity: 0.3,
 
                                    "z-index": 1002
 
                                }
 
                            })
 
                            .appendTo("body");
 
                    } else {
 
                        $("#overlay").remove();
 
                    }
 
                }
 
            }))
 
    );
 
    $("#cog-cont").append(
 
        $("<ul/>", {
 
            id: "coglist",
 
            css: {
 
                display: "none",
 
                "z-index": 1003
 
            }
 
        })
 
        .append($("<li/>").append($("#p-search")))
 
        .append($("#pick-engine"))
 
        .append($("#pt-createaccount"))
 
        .append($("#pt-userpage"))
 
        .append($("#pt-mytalk"))
 
        .append($("#pt-preferences"))
 
        .append($("#pt-watchlist"))
 
        .append($("#pt-mycontris"))
 
        //      .append($("#pt-login"))
 
        //      .append($("#pt-logout"))
 
        .append($("#ca-view"))
 
        .append($("#ca-viewsource"))
 
        .append($("#ca-edit"))
 
        .append($("#ca-history"))
 
        .append($("#ca-nstab-main"))
 
        .append($("#ca-talk"))
 
        .append($("#ca-watch"))
 
        .append($("#ca-unwatch"))
 
        .append($("#ca-move"))
 
        .append($("#ca-delete"))
 
        .append($("#ca-protect"))
 
    );
 
    $("#pt-login, #pt-logout").before($("#pick-engine"));
 
    /*$("#mw-head").prepend($("<a/>", {
 
        id: "napier-ad",
 
        href: "//www.napier.ac.uk/faculties/engineering-computing-creative/computing/Pages/Postgraduate.aspx?sz",
 
        title: "NoSQLZoo: developed and maintained at Edinburgh Napier University",
 
        text: "NoSQLZoo: developed and maintained at Edinburgh Napier University"
 
    }));*/
 
});
 
 
/*
 
Tweek the Log in scheme
 
* */
 
$(function() {
 
    "use strict";
 
    $("#mw-user-domain-section").hide();
 
    $("#wpRemember").attr("checked", true);
 
 
});
 
});

Latest revision as of 15:23, 25 October 2020

function linkScript() {
    /* poor man's autoloader */
    "use strict";
    Array.prototype.slice.call(arguments, 0).forEach(function (a) {
        var x = document.createElement("script");
        x.async = false;
        x.src = "/mw/scripts/" + a + ".js";
        document.head.appendChild(x);
    });
}

$(function () {
    "use strict";
    //CodeMirror.
    var cmVersion = "codemirror-5.49.2/";
    linkScript(
        "jshint-2.10.2-min",
        cmVersion + "lib/codemirror",
        cmVersion + "mode/javascript/javascript",
        cmVersion + "mode/cypher/cypher",
        cmVersion + "addon/display/fullscreen",
        cmVersion + "addon/display/rulers",
        cmVersion + "addon/edit/closebrackets",
        cmVersion + "addon/edit/matchbrackets",
        cmVersion + "addon/fold/foldcode",
        cmVersion + "addon/fold/foldgutter",
        cmVersion + "addon/fold/brace-fold",
        cmVersion + "addon/hint/show-hint",
        cmVersion + "addon/lint/lint",
        cmVersion + "addon/lint/javascript-lint",
        cmVersion + "addon/lint/json-lint",
        cmVersion + "addon/edit/trailingspace"
    );

    //Question-related scripts.
    linkScript("nosqlzoo", "beautify", "validator");

    //Google Analytics
    var tag_manager = document.createElement("script");
    tag_manager.async = true;
    tag_manager.src = "https://www.googletagmanager.com/gtag/js?id=UA-120387375-1";
    document.head.appendChild(tag_manager);

    var google = document.createElement("script");
    google.src = "/mw/scripts/google.js";
    document.head.appendChild(google);
});