MediaWiki:Common.js: Difference between revisions

From BetaMC Wiki
Jump to navigation Jump to search
Testing
 
Actually works, lets go!
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


function playerCountCall(data) {
// needs to be loaded from separate JS files, because the shitty outdated JS-parser in mediawiki refuses any modern syntax lol
     var count = data.players.length;
var args = { action: 'raw', ctype: 'text/javascript' };
    var el = document.getElementById('betamc-player-count');
function script(name) {
    if (el) {
     return function() {
         el.textContent = count;
        return mw.loader.getScript(
     }
            mw.util.getUrl('MediaWiki:' + name + '.js', {
                action: 'raw',
                ctype: 'text/javascript'
            })
         );
     };
}
}


function loadPlayerCount() {
Promise.resolve()
     var script = document.createElement('script');
     .then(script('StatsClient'))
     script.src = 'https://betamc.org:8080/api/players?callback=playerCountCall';
     .then(script('ClamComponent'))
    document.body.appendChild(script);
;
}
 
document.addEventListener('DOMContentLoaded', loadPlayerCount);

Latest revision as of 11:28, 8 October 2026

/* Any JavaScript here will be loaded for all users on every page load. */

// needs to be loaded from separate JS files, because the shitty outdated JS-parser in mediawiki refuses any modern syntax lol
var args = { action: 'raw', ctype: 'text/javascript' };
function script(name) {
    return function() {
        return mw.loader.getScript(
            mw.util.getUrl('MediaWiki:' + name + '.js', {
                action: 'raw',
                ctype: 'text/javascript'
            })
        );
    };
}

Promise.resolve()
    .then(script('StatsClient'))
    .then(script('ClamComponent'))
;