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) | ||
