MediaWiki:Common.js: Unterschied zwischen den Versionen
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. */ | ||
console.log('[Common.js] geladen'); | |||
mw.loader.using('mediawiki.util').then(() => mw.util.addPortletLink('p-tb', mw.util.getUrl('Special:RecentChanges'), 'Test-Link geladen')); | |||
// Neueste Beiträge (3 neue Seiten) in die linke Sidebar einfügen – skin-sicher | // Neueste Beiträge (3 neue Seiten) in die linke Sidebar einfügen – skin-sicher | ||
Version vom 7. November 2025, 18:45 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */
console.log('[Common.js] geladen');
mw.loader.using('mediawiki.util').then(() => mw.util.addPortletLink('p-tb', mw.util.getUrl('Special:RecentChanges'), 'Test-Link 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' );
} );
});