Diferencia entre revisiones de «MediaWiki:Gadget-show-quality-on-cats.js»
Ir a la navegación
Ir a la búsqueda
m (+) |
m (try) |
||
Línea 37: | Línea 37: | ||
const data = all[title] |
const data = all[title] |
||
if (!data || !data.includes(cat)) return |
if (!data || !data.includes(cat)) return |
||
const icon = String.fromCodePoint(..icons[cat]) |
const icon = String.fromCodePoint(...icons[cat]) |
||
el.parentElement.append(icon) |
el.parentElement.append(icon) |
||
}) |
}) |
Revisión del 13:02 13 ago 2019
mw.hook('wikipage.content').add(function () { const icons = { 'Stubs': [0x25D4], 'Partially complete articles': [0x25D2], 'Articles nearing completion': [0x25D5], 'Complete articles': [0x26AB, 0xFE0E], } // only on categories if (mw.config.get('wgCanonicalNamespace') != 'Category') return console.warn('gadget:', 'show-quality-markers') ;(new mw.Api).get({ action: "query", format: "json", prop: "categories", indexpageids: true, cllimit: "max", generator: "categorymembers", gcmtitle: mw.config.get('wgPageName'), gcmlimit: "max", gcmtype: "page", }).then(function (response) { const all = {}; response.query.pageids.forEach(function (id) { const page = response.query.pages[id]; if (!page.categories) return all[page.title] = page.categories.map(function(o){ return o.title.replace('Category:','') }); }) document.querySelectorAll('#mw-pages a').forEach(function (el) { Object.keys(icons).forEach(function (cat) { const title = el.getAttribute('title') const data = all[title] if (!data || !data.includes(cat)) return const icon = String.fromCodePoint(...icons[cat]) el.parentElement.append(icon) }) }) }) // end of API query }) // end of MW hook