MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 16: | Zeile 16: | ||
// "Überschrift" als nicht-klickbaren Eintrag unter Werkzeuge einfügen | // "Überschrift" als nicht-klickbaren Eintrag unter Werkzeuge einfügen | ||
var headerId = 'newpages-header'; | var headerId = 'newpages-header'; | ||
var headerLink = mw.util.addPortletLink(targetId, '#', ' | var headerLink = mw.util.addPortletLink(targetId, '#', '-- Neueste Beiträge --', headerId, 'Neueste, neu angelegte Seiten'); | ||
if (headerLink && headerLink.addEventListener) { | if (headerLink && headerLink.addEventListener) { | ||
headerLink.addEventListener('click', function (e) { e.preventDefault(); }, false); | headerLink.addEventListener('click', function (e) { e.preventDefault(); }, false); | ||
Version vom 7. November 2025, 19:03 Uhr
/* global mw, $ */
(function () {
'use strict';
$.when( mw.loader.using( [ 'mediawiki.util', 'mediawiki.api' ] ), $.ready ).then( function () {
// Ziel-Portlets (OHNE #)
var targetId = document.getElementById('p-tb') ? 'p-tb'
: ( document.getElementById('p-navigation') ? 'p-navigation' : null );
if ( !targetId ) {
console.warn('[NewPages] Kein passender Portlet-Container gefunden.');
return;
}
// "Überschrift" als nicht-klickbaren Eintrag unter Werkzeuge einfügen
var headerId = 'newpages-header';
var headerLink = mw.util.addPortletLink(targetId, '#', '-- Neueste Beiträge --', headerId, 'Neueste, neu angelegte Seiten');
if (headerLink && headerLink.addEventListener) {
headerLink.addEventListener('click', function (e) { e.preventDefault(); }, false);
}
// API: 3 neu angelegte Artikel
var api = new mw.Api();
api.get({
action: 'query',
list: 'recentchanges',
rctype: 'new',
rcprop: 'title|timestamp',
rcnamespace: 0, // Hauptnamensraum
rcshow: '!bot|!redirect', // Bots & Weiterleitungen ausblenden
rclimit: 3,
format: 'json'
}).done(function (data) {
var items = (data.query && data.query.recentchanges) || [];
if (!items.length) {
mw.util.addPortletLink(targetId, mw.util.getUrl('Special:NewPages'), 'Keine neuen Seiten');
return;
}
for (var i = 0; i < items.length; i++) {
var rc = items[i];
var href = mw.util.getUrl(rc.title);
var tip = new Date(rc.timestamp).toLocaleString('de-DE', { dateStyle: 'medium', timeStyle: 'short' });
mw.util.addPortletLink(targetId, href, rc.title, null, tip);
}
// Abschluss-Link
mw.util.addPortletLink(targetId, mw.util.getUrl('Special:NewPages'), 'Alle neuen Seiten →', 'newpages-more', 'Zur vollständigen Liste');
}).fail(function (err) {
console.error('[NewPages] API-Fehler:', err);
mw.util.addPortletLink(targetId, '#', 'Fehler beim Laden');
});
});
})();