MediaWiki:Common.js: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Markierung: Zurückgesetzt |
Markierungen: Manuelle Zurücksetzung Zurückgesetzt |
||
| Zeile 3: | Zeile 3: | ||
'use strict'; | 'use strict'; | ||
// Sichtbarer Test: zeigt, ob Common.js überhaupt lädt | |||
console.log('[Common.js] geladen'); | |||
// NUR ES5 verwenden, keine Arrow-Functions etc. | |||
mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function () { | |||
$(function () { | |||
try { | |||
// Einhängepunkt wählen: bevorzugt "Werkzeuge" (p-tb), sonst Navigation | |||
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; | |||
} | |||
// Test-Link hinzufügen, um sicherzugehen, dass Portlet existiert | |||
mw.util.addPortletLink(targetId, mw.util.getUrl('Special:RecentChanges'), 'Test-Link (geladen)'); | |||
// 3 neu angelegte Artikel holen | |||
var api = new mw.Api(); | |||
api.get({ | |||
action: 'query', | |||
list: 'recentchanges', | |||
rctype: 'new', | |||
rcprop: 'title|timestamp', | |||
rcnamespace: 0, | |||
rcshow: '!bot', | |||
rclimit: 3, | |||
format: 'json' | |||
}).done(function (data) { | |||
var items = (data.query && data.query.recentchanges) || []; | |||
if (!items.length) { | |||
mw.util.addPortletLink(targetId, '#', '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(); | |||
mw.util.addPortletLink(targetId, href, rc.title, null, tip); | |||
} | |||
}).fail(function (err) { | |||
console.error('[NewPages] API-Fehler:', err); | |||
mw.util.addPortletLink(targetId, '#', 'Fehler beim Laden'); | |||
}); | |||
} catch (e) { | |||
console.error('[Common.js] Laufzeitfehler:', e); | |||
} | } | ||
}); | }); | ||
}, function (e) { | |||
console.error('[Common.js] mw.loader Fehler:', e); | |||
}); | }); | ||
})(); | })(); | ||
Version vom 7. November 2025, 18:54 Uhr
/* global mw, $ */
(function () {
'use strict';
// Sichtbarer Test: zeigt, ob Common.js überhaupt lädt
console.log('[Common.js] geladen');
// NUR ES5 verwenden, keine Arrow-Functions etc.
mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function () {
$(function () {
try {
// Einhängepunkt wählen: bevorzugt "Werkzeuge" (p-tb), sonst Navigation
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;
}
// Test-Link hinzufügen, um sicherzugehen, dass Portlet existiert
mw.util.addPortletLink(targetId, mw.util.getUrl('Special:RecentChanges'), 'Test-Link (geladen)');
// 3 neu angelegte Artikel holen
var api = new mw.Api();
api.get({
action: 'query',
list: 'recentchanges',
rctype: 'new',
rcprop: 'title|timestamp',
rcnamespace: 0,
rcshow: '!bot',
rclimit: 3,
format: 'json'
}).done(function (data) {
var items = (data.query && data.query.recentchanges) || [];
if (!items.length) {
mw.util.addPortletLink(targetId, '#', '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();
mw.util.addPortletLink(targetId, href, rc.title, null, tip);
}
}).fail(function (err) {
console.error('[NewPages] API-Fehler:', err);
mw.util.addPortletLink(targetId, '#', 'Fehler beim Laden');
});
} catch (e) {
console.error('[Common.js] Laufzeitfehler:', e);
}
});
}, function (e) {
console.error('[Common.js] mw.loader Fehler:', e);
});
})();