Widget:Autorenbox: Unterschied zwischen den Versionen
Aus ZUM-Unterrichten
KKeine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
KKeine Bearbeitungszusammenfassung Markierung: 2017-Quelltext-Bearbeitung |
||
Zeile 27: | Zeile 27: | ||
.then((dateLS) => lastModifiedEl.append(dateLS)); | .then((dateLS) => lastModifiedEl.append(dateLS)); | ||
response.then((data) => data | response.then((data) => { | ||
const pageData = data | |||
.query | |||
. | .pages[pageid]l | ||
let userChanges = pageData | |||
. | .contributors | ||
.reduce((acc, c)=>acc[c] = {count:0, last:0}, {}); | |||
userChanges = pageData.revisions.reduce((acc, r) => { | |||
acc[r.user] = acc[r.user] || {count:0, last:0}; | |||
acc[r.user].count += r.minor ? 0.1 : 1; | |||
acc[r.user].last = Math.max(acc[r.user].last, r.revid); | |||
return acc; | |||
}, userChanges); | |||
return Object.keys(userChanges).sort((a,b) => { | |||
let diff = userChanges[b].count - userChanges[a].count; | |||
if(diff !== 0){ | |||
return diff; | |||
} | |||
return userChanges[b].last - userChanges[a].last; | |||
}); | |||
}) | |||
.then((users) => { | .then((users) => { | ||
const textsP = Array.from(users) | const textsP = Array.from(users) |