⬤
Diferencia entre revisiones de «MediaWiki:Gadget-tag-complete-button.js»
Ir a la navegación
Ir a la búsqueda
(try this) |
m (don't try to replace signed articles) |
||
Línea 10: | Línea 10: | ||
// find the message to replace with a button |
// find the message to replace with a button |
||
notice.querySelector('.unsigned' |
const place_for_button = notice.querySelector('.unsigned') |
||
if (!place_for_button) return |
|||
place_for_button.replaceWith(button) |
|||
console.warn('gadget:', 'tag-complete-button') |
console.warn('gadget:', 'tag-complete-button') |
Revisión del 17:43 3 ago 2019
mw.hook('wikipage.content').add(function () { // find the {{complete}} template const notice = document.querySelector('.quality-complete') if (!notice) return; const button = document.createElement('button') button.textContent = 'Mark as Reviewed' button.onclick = mark_article_as_complete // find the message to replace with a button const place_for_button = notice.querySelector('.unsigned') if (!place_for_button) return place_for_button.replaceWith(button) console.warn('gadget:', 'tag-complete-button') }) function mark_article_as_complete(ev) { const api = new mw.Api const page_name = mw.config.get('wgPageName') console.warn('gadget:', 'tag-complete-button', 'button pressed') // try to edit the article return api.edit(page_name, function (revision) { return { // find {{complete}} and replace with {{complete|~x4}} text: revision.content.replace( '{{complete}}', '{{complete|[[User:Fbstj|Joe ST]] ([[User talk:Fbstj|talk]]) 11:39, 2 August 2019 (UTC)}}' ), summary: 'mark as complete', } }).catch(console.warn).then(function (revision) { console.debug('gadget:', 'tag-complete-button', 'revision:', revision) if (revision.nochange === true) return console.warn('gadget:', 'tag-complete-button', 'tagging') // tag the revision return api.postWithToken('csrf', { action: 'tag', revid: revision.newrevid, add: 'completed', reason: 'from tag-complete-button gadget', }).catch(console.warn).then(function() { // show the user that it worked mw.notify('Article marked as complete?') console.warn('gadget:', 'tag-complete-button', 'tagged') }) }) }