MediaWiki:Common.js: Forskelle mellem versioner

m
ingen redigeringsopsummering
mNo edit summary
Tag: Manuel tilbagerulning
mNo edit summary
Linje 46: Linje 46:
});
});


// Function to generate a random integer between 0 and max
$(function() {
function getRandomInt(max) {
  return Math.floor(Math.random() * Math.floor(max));
}
 
// Function to retrieve the page ID of a random page
function getRandomPageId() {
  var apiUrl = mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/api.php';
  var params = {
    action: 'query',
    generator: 'random',
    format: 'json',
    prop: 'info',
    inprop: 'url',
    formatversion: 2,
    indexpageids: true,
    redirects: true
  };
  return new Promise(function(resolve, reject) {
    $.get(apiUrl, params).done(function(data) {
      var pageIds = data.query.pageids;
      if (pageIds.length > 0) {
        var randomIndex = getRandomInt(pageIds.length);
        var pageId = pageIds[randomIndex];
        resolve(pageId);
      } else {
        reject('No pages found.');
      }
    }).fail(function() {
      reject('Failed to retrieve random page ID.');
    });
  });
}
 
// Function to add a "Random Article" link to the navigation panel
function addRandomArticleLink() {
   var navPanel = $('#p-navigation ul');
   var navPanel = $('#p-navigation ul');
   if (navPanel.length > 0) {
   if (navPanel.length > 0) {
     getRandomPageId().then(function(pageId) {
     var linkUrl = 'https://aarhuswiki.dk/wiki/Speciel:Tilf%C3%A6ldig_side';
      var linkUrl = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=edit&section=0&random=' + pageId;
    var linkText = 'Tilfældig side';
      var linkText = 'Tilfældig side';
    navPanel.append('<li><a href="' + linkUrl + '">' + linkText + '</a></li>');
      navPanel.append('<li><a href="' + linkUrl + '">' + linkText + '</a></li>');
    }).catch(function(errorMessage) {
      console.error('Error adding "Random Article" link: ' + errorMessage);
    });
   }
   }
}
// Add the "Random Article" link to the navigation panel when the document is ready
$(function() {
  addRandomArticleLink();
});
});