MediaWiki:Common.js: Difference between revisions
Jump to navigation
Jump to search
Import-sysop (talk | contribs) (transformed) |
Import-sysop (talk | contribs) (transformed) |
||
Line 1: | Line 1: | ||
loadScript('/MediaWiki:Scripting.js?action=raw&ctype=text/javascript'); | loadScript('/MediaWiki:Scripting.js?action=raw&ctype=text/javascript'); | ||
function | 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( | 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);
}