MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus Rettungsdienst-Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
/* Das folgende JavaScript wird für alle Benutzer geladen. */
/* Das folgende JavaScript wird für alle Benutzer geladen. */


// Zeige die 3 zuletzt neu angelegten Seiten in der linken Sidebar (skin-sicher)
// Neueste Beiträge (3 neue Seiten) in die linke Sidebar einfügen – skin-sicher
mw.loader.using(['mediawiki.api', 'mediawiki.util']).then(function () {
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () {
  $(function () {
    // Portlet erzeugen (neuer Block) – als Anker nehmen wir den Werkzeuge-Block p-tb
    var portletId = 'p-newpages';
    var portletNode = document.getElementById(portletId) || mw.util.addPortlet('p-tb', 'Neueste Beiträge', portletId);


     var api = new mw.Api();
  // Wohin einhängen? 'p-tb' (Werkzeuge) gibt es in Vector/Timeless/MonoBook fast immer.
    api.get({
  var anchorId = document.getElementById('p-tb') ? '#p-tb' : '#p-navigation';
      action: 'query',
 
      list: 'recentchanges',
  // Eigene Portlet-Box anlegen (Skin entscheidet über genaue Darstellung)
      rctype: 'new',
  var portletId = 'p-newpages';
      rcprop: 'title|timestamp',
  var portletEl = mw.util.addPortlet( portletId, 'Neueste Beiträge', anchorId );
      rcnamespace: 0,
  if ( !portletEl ) {
      rcshow: '!bot',
     // Notfall: Wenn auch das nicht geht, gar nicht weitermachen
      rclimit: 3,
    return;
      format: 'json'
  }
    }).done(function (data) {
 
      var items = (data.query && data.query.recentchanges) || [];
  var api = new mw.Api();
      if (!items.length) {
  api.get({
        mw.util.addPortletLink(portletId, '#', 'Keine neuen Seiten');
    action: 'query',
        return;
    list: 'recentchanges',
      }
    rctype: 'new',
      items.forEach(function (rc) {
    rcprop: 'title|timestamp',
        var href = mw.util.getUrl(rc.title);
    rcnamespace: 0,   // Hauptnamensraum (Artikel)
        var tip  = new Date(rc.timestamp).toLocaleString();
    rcshow: '!bot',   // Bots ausblenden
        // Link in den neuen Portlet-Block setzen
    rclimit: 3,
        mw.util.addPortletLink(portletId, href, rc.title, null, tip);
    format: 'json'
      });
  }).done( function (data) {
    }).fail(function () {
    var items = (data.query && data.query.recentchanges) || [];
      mw.util.addPortletLink(portletId, '#', 'Fehler beim Laden');
    if ( items.length === 0 ) {
    });
      mw.util.addPortletLink( portletId, '#', 'Keine neuen Seiten' );
   });
      return;
    }
    items.forEach( function (rc) {
      var href = mw.util.getUrl( rc.title );
      var tip  = new Date( rc.timestamp ).toLocaleString();
      mw.util.addPortletLink( portletId, href, rc.title, null, tip );
    } );
  }).fail( function () {
    mw.util.addPortletLink( portletId, '#', 'Fehler beim Laden' );
   } );
});
});

Version vom 7. November 2025, 18:42 Uhr

/* Das folgende JavaScript wird für alle Benutzer geladen. */

// Neueste Beiträge (3 neue Seiten) in die linke Sidebar einfügen – skin-sicher
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () {

  // Wohin einhängen? 'p-tb' (Werkzeuge) gibt es in Vector/Timeless/MonoBook fast immer.
  var anchorId = document.getElementById('p-tb') ? '#p-tb' : '#p-navigation';

  // Eigene Portlet-Box anlegen (Skin entscheidet über genaue Darstellung)
  var portletId = 'p-newpages';
  var portletEl = mw.util.addPortlet( portletId, 'Neueste Beiträge', anchorId );
  if ( !portletEl ) {
    // Notfall: Wenn auch das nicht geht, gar nicht weitermachen
    return;
  }

  var api = new mw.Api();
  api.get({
    action: 'query',
    list: 'recentchanges',
    rctype: 'new',
    rcprop: 'title|timestamp',
    rcnamespace: 0,   // Hauptnamensraum (Artikel)
    rcshow: '!bot',   // Bots ausblenden
    rclimit: 3,
    format: 'json'
  }).done( function (data) {
    var items = (data.query && data.query.recentchanges) || [];
    if ( items.length === 0 ) {
      mw.util.addPortletLink( portletId, '#', 'Keine neuen Seiten' );
      return;
    }
    items.forEach( function (rc) {
      var href = mw.util.getUrl( rc.title );
      var tip  = new Date( rc.timestamp ).toLocaleString();
      mw.util.addPortletLink( portletId, href, rc.title, null, tip );
    } );
  }).fail( function () {
    mw.util.addPortletLink( portletId, '#', 'Fehler beim Laden' );
  } );
});