Difference between revisions of "MediaWiki:Common.js"

From LINKS Community Center
Jump to: navigation, search
Line 19: Line 19:
 
if (changesWrapper) {
 
if (changesWrapper) {
 
     var url = 'https://links.communitycenter.eu/api.php';
 
     var url = 'https://links.communitycenter.eu/api.php';
     var params = {
+
     var params = new URLSearchParams({
 
         action: 'query',
 
         action: 'query',
 
         list: 'recentchanges',
 
         list: 'recentchanges',
Line 25: Line 25:
 
         rclimit: '5',
 
         rclimit: '5',
 
         format: 'json'
 
         format: 'json'
     };
+
     });
    var xxx = new URLSearchParams(params);
 
    console.log(xxx.toString());
 
  
     url = url + '?origin=*';
+
     url = url + '?origin=*' + params.toString();
     Object.keys(params).forEach(function (key) { url += '&' + key + '=' + params[key]; });
+
     // Object.keys(params).forEach(function (key) { url += '&' + key + '=' + params[key]; });
  
 
     fetch(url)
 
     fetch(url)

Revision as of 15:08, 15 February 2022

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

/* Matomo */
var _paq = window._paq = window._paq || [];
/* Tracker methods like 'setCustomDimension' should be called before 'trackPageView'. */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function () {
    var u = '//analytics.safetyinnovation.center/';
    _paq.push(['setTrackerUrl', u + 'matomo.php']);
    _paq.push(['setSiteId', '11']);
    var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
    g.async = true; g.src = u + 'matomo.js'; s.parentNode.insertBefore(g, s);
})();
/* End Matomo Code */

/* Recent Changes Start */
var changesWrapper = document.getElementById('recentChanges');
if (changesWrapper) {
    var url = 'https://links.communitycenter.eu/api.php';
    var params = new URLSearchParams({
        action: 'query',
        list: 'recentchanges',
        rcprop: 'title|user|timestamp',
        rclimit: '5',
        format: 'json'
    });

    url = url + '?origin=*' + params.toString();
    // Object.keys(params).forEach(function (key) { url += '&' + key + '=' + params[key]; });

    fetch(url)
        .then(function (response) { return response.json(); })
        .then(function (response) {
            var domStr = response.query.recentchanges.reduce(function (output, change) {
                return output
                    + '<div class="recentChange">'
                    + '<span>' + change.title + '</span>'
                    + '<span>' + change.user + '</span>'
                    + '<span>' + change.timestamp + '</span>'
                    + '</div>'
            }, '');
            changesWrapper.innerHTML = domStr;
        })
        .catch(function (error) { console.log('Error in Recent Changes Widget', error); });
}
/* Recent Changes End */