Anonym

MediaWiki:Common.js: Forskelle mellem versioner

Fra AarhusWiki
m
ingen redigeringsopsummering
No edit summary
Tag: Manuel tilbagerulning
mNo edit summary
Linje 44: Linje 44:
   /* Add link to accessability-declaration in footer */
   /* Add link to accessability-declaration in footer */
   $("#f-list").append( '<li id="accessability-declaration"><a class="noprint stopMobileRedirectToggle" href="https://www.was.digst.dk/aarhuswiki-dk">Webtilgængelighedserklæring</a></li>' );
   $("#f-list").append( '<li id="accessability-declaration"><a class="noprint stopMobileRedirectToggle" href="https://www.was.digst.dk/aarhuswiki-dk">Webtilgængelighedserklæring</a></li>' );
});
// Function to generate a random integer between 0 and max
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');
  if (navPanel.length > 0) {
    getRandomPageId().then(function(pageId) {
      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';
      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();
});
});