Diferencia entre revisiones de «MediaWiki:Gadget-show-quality-on-cats.js»

m
sin resumen de edición
m (try this)
m
 
(No se muestran 14 ediciones intermedias de otro usuario)
 
const cats = {
// quality
stub: 'Stubs',
part: 'Partially complete articles',
good: 'Articles nearing completion',
done: 'Complete articles',
goldbest: 'Exemplary articles',
// other lookers
lookwarn: 'Articles in need of attention',
gold: 'Exemplary articles',
meta: 'Meta',
look: 'Articles in need of attention',
list: 'List articles',
note: 'Notable articles',
}
// SEE: [[MediaWiki:Gadget-quality.css]] for icons and colors
 
const css_class = Object.fromEntries(Object.entries(cats).map([k,v]function =>map_cats_to_classes(kv) { return [vkv[1],'quality-' + kkv[0]]; }))
 
// only on categories
if (mw.config.get('wgCanonicalNamespace') != 'Category') return
// not on quality cats (pointless)
//if (Object.values(cats).includes(mw.config.get('wgTitle'))) return
// TODO: only ignore
 
// add specials for keepers
if (mw.config.get('wgUserGroups').includes('keepersysop')) {
document.querySelector('#mw-pages').classList.add('keeper-highlight-good')
 
console.warn('gadget:', 'show-quality-markers')
indexpageids: true,
cllimit: "max",
clcategories: Object.values(cats).filter(function (cat) { return cat != mw.config.get('wgTitle') }).map(function(cat) { return 'Category:'+ cat }),
generator: "categorymembers",
gcmtitle: mw.config.get('wgPageName'),
}
console.debug('continuing:', resp.continue)
// TODO: this doesn't work
return api.get(resp.continue).then(paginate)
}
document.querySelectorAll('#mw-pages a').forEach(function each_link(el) {
const title = el.getAttribute('title')
all[title].forEach(function each_quality_cat(cat) {
const cat = all[title][0]
const li = el.parentElement
if (!css_class[cat]) return
const li = el.parentElement
li.classList.add('quality')
li.classList.add(css_class[cat])
})
})
 
document.querySelectorAll('.quality-meta').forEach(function clean_meta(el) {
el.classList.remove('quality')
})
 
 
}) // end of MW hook
 
if (mw.config.get('wgUserGroups').includes('keeper')) {
document.querySelector('#mw-pages').classList.add('keeper-highlight-good')