Suradnik:Conquistador/LiveEditCounter.js

Napomena: Nakon objave možda ćete trebati očistiti međuspremnik svog preglednika kako biste vidjeli promjene.

  • Firefox / Safari: držite Shift i pritisnite Reload, ili pritisnite bilo Ctrl-F5 ili Ctrl-R (⌘-R na Macu)
  • Google Chrome: pritisnite Ctrl-Shift-R (⌘-Shift-R na Macu)
  • Internet Explorer / Edge: držite Ctrl i kliknite Refresh, ili pritisnite Ctrl-F5
  • Opera: pritisnite Ctrl-F5.
// Based on [[:en:user:Henrik/js/live-edit-counter]]
function liveEditCounter(username)
{
    if (!document.getElementById('edit-count-id') || !document.getElementById('edit-count-info'))
        return;
    var count="";
    if (mw.config.get('wgUserName') == mw.config.get('wgTitle')) // If a user is viewing their own page, the data has already been loaded, no need to make a XHR
    {
        count = wgNoticeUserData.editcount;
    }
    else

    {
        var ECparametri = {
            "action": "query",
            "format": "json",
            "list": "users",
            "usprop": "editcount",
            "ususers": username
        }, api = new mw.Api();

        api.get(ECparametri).done(function(data){
            if (data.query.users[0].editcount){
                count = data.query.users[0].editcount;

            } else { // Cater to zero edit counts
                count="0";
            }

        });
    }
    count = (count+'').replace(/(?=(?:\d{3})+$)(?!^)/g, ','); // Add commas as thousand separators (hat tip to http://jsperf.com/number-format)
    document.getElementById('edit-count-id').innerHTML=count; // Update "icon"
    document.getElementById('edit-count-info').innerHTML=count; // Update text
}

$(function() {
  if ($.inArray(mw.config.get('wgCanonicalNamespace'), ["User" , "User_talk"]) !== -1) {
     var username = encodeURIComponent( mw.config.get('wgTitle').split("/")[0] );
     liveEditCounter(username);
  }
});