Benutzer:Christian/Autorenbox-widget-test und Widget:Autorenbox: Unterschied zwischen den Seiten
Aus ZUM-Unterrichten
< Benutzer:Christian(Unterschied zwischen Seiten)
(Die Seite wurde neu angelegt: „Autorenbox Widget Test für Seite {#widget:Autorenbox|Titel=Englisch}“) Markierung: 2017-Quelltext-Bearbeitung |
KKeine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
||
Zeile 1: | Zeile 1: | ||
<includeonly> | |||
{ | <ul></ul> | ||
<script type="text/javascript"> | |||
const element = document.currentScript && document.currentScript.previousElementSibling; | |||
if(element){ | |||
window.RLQ.push(function(){ | |||
mw.loader.enqueue(['mediawiki.api'], function(){ | |||
const pageid = 19515 /*mw.config.get('wgArticleId')*/; | |||
const api = new mw.Api(); | |||
api.get({ | |||
action:'query', | |||
prop:['revisions', 'contributors'], | |||
pageids:[pageid], | |||
rvlimit:1000 | |||
}).then((data) => data | |||
.query | |||
.pages[pageid] | |||
.revisions | |||
.filter((r) => !r.minor) | |||
.map((r)=>r.user) | |||
).then((users) => new Set(users)) | |||
.then((users) => { | |||
const textsP = Array.from(users) | |||
.map((user) => api.parse(`{{Nutzerkarte|${user}}}`) | |||
.fail((ignored) => null)); | |||
$.when(...textsP) | |||
.then((...texts)=> texts.filter((t) => t!==null)) | |||
.then((texts)=> $(element).append(texts)); | |||
}); | |||
}); | |||
}); | |||
} | |||
</script> | |||
</includeonly> |