MediaWiki:Common.js: Difference between revisions

From
Jump to navigation Jump to search
(transformed)
(transformed)
Line 1: Line 1:
loadScript('/MediaWiki:Scripting.js?action=raw&ctype=text/javascript');
loadScript('/MediaWiki:Scripting.js?action=raw&ctype=text/javascript');


function makeVisible(el) {
function makeBlock(el) {
    el.style.display = 'block';
}
function makeInline(el) {
     el.style.display = 'inline';
     el.style.display = 'inline';
}
}
// show edit items when a user is logged in
// show edit items when a user is logged in
// show edit items when a user is logged in
if (window.mw.config.values.wgUserId) {
if (window.mw.config.values.wgUserId) {
     Array.from(document.getElementsByClassName('controls-loggedin')).forEach(makeVisible);
     Array.from(document.getElementsByClassName('controls-loggedin')).forEach(makeBlock);
    Array.from(document.getElementsByClassName('controls-loggedin-inline')).forEach(makeInline);
}
}



Revision as of 13:52, 5 January 2023

loadScript('/MediaWiki:Scripting.js?action=raw&ctype=text/javascript');

function makeBlock(el) {
    el.style.display = 'block';
}
function makeInline(el) {
    el.style.display = 'inline';
}
// show edit items when a user is logged in
// show edit items when a user is logged in
if (window.mw.config.values.wgUserId) {
    Array.from(document.getElementsByClassName('controls-loggedin')).forEach(makeBlock);
    Array.from(document.getElementsByClassName('controls-loggedin-inline')).forEach(makeInline);
}

// make sunwater logo area clickable
document.querySelector('#p-tb').addEventListener('click', function (e) {
    function isInPath(p) {
        return p.parentNode.nodeName === 'A';
    }

    const isMenuItem = isInPath(e.path[0]);

    if (!isMenuItem) {
        document.location = 'https://sunwater.org';
        return false;
    }
});

function parse(data) {
    const text = data.text();
    return text; // Promise
}

function evals(script) {
    try {
        eval(script);
    } catch (e) {
        console.log('failed', e);
    }
}

function loadScript(url) {
    fetch(url)
        .then(parse)
        .then(evals);
}