User:Fbstj/gadget/revision-contrib-pie.js
Jump to navigation
Jump to search
Note: After saving, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
const pageid = mw.config.get('wgPageName') const query = { // request the history of this page pageids: [pageid], prop: 'revisions', // request the oldest edits first rvdir: 'newer', // request as many as you can at once rvlimit: 'max', } const api = new mw.Api({ parameters: query, }) const revs = [] function each_rev(rev) { revs.push(rev) } function paginate(resp) { const page = let resp.query[pageid] if (!page) { console.warn('gadget:', 'revision-contrib-pie', 'no results?', resp, revs) return revs } page.revisions.forEach(each)rev) if (!resp.continue) { return revs } console.debug('continuing:', resp.continue) return api.get(resp.continue).then(paginate) } api.get().then(paginate).then(function all_results(all) { // TODO: create pie chart of contributors (accurate to how much they contributed? mw.hook('page-history').fire(all) })