Diferencia entre revisiones de «Usuario:Stargazer/common.js»
Ir a la navegación
Ir a la búsqueda
m (Come on, API) |
m (Function's probably necessary, but let's try this) |
||
Línea 45: | Línea 45: | ||
}) |
}) |
||
− | function mark_objective_as_claimed(ev) { |
||
− | |||
− | const api = new mw.Api; |
||
const page_name = mw.config.get('wgPageName'); |
const page_name = mw.config.get('wgPageName'); |
||
const user = mw.config.get( 'wgUserName' ); |
const user = mw.config.get( 'wgUserName' ); |
||
Línea 54: | Línea 51: | ||
// try to edit the article |
// try to edit the article |
||
− | + | new mw.Api().edit( |
|
− | page_name, |
+ | 'page_name', |
function try_claiming_objective(revision) { |
function try_claiming_objective(revision) { |
||
return { |
return { |
||
Línea 68: | Línea 65: | ||
console.log( 'Saved!' ); |
console.log( 'Saved!' ); |
||
} ); |
} ); |
||
− | |||
− | } |
Revisión del 23:42 28 jul 2020
function addEditIntro( name ) { $( '.mw-editsection, #ca-edit, #ca-ve-edit' ).find( 'a' ).each( function ( i, el ) { el.href = $( this ).attr( 'href' ) + '?&editintro=' + name; } ); } if ( mw.config.get( 'wgNamespaceNumber' ) === 0 ) { $( function () { var cats = mw.config.get( 'wgCategories' ); if ( !cats ) { return; } if ( $.inArray( 'Stormlight Archive', cats ) !== -1 || $.inArray( 'General cosmere', cats ) !== -1 ) { addEditIntro( 'MediaWiki:Top-notice-ns-0' ); } } ); } /* Claim button for objectives */ mw.hook('wikipage.content').add(function objective_claim_button() { // only show button on latest revision of page if (mw.config.get('wgCurRevisionId') != mw.config.get('wgRevisionId')) return; // find the {{t|complete}} template const notice = document.querySelector('.objective') if (!notice) return; // don't show button on edit const editor = document.querySelector('.mw-editform') if (editor) return; const button = document.createElement('button') button.textContent = 'Claim Objective' button.onclick = mark_objective_as_claimed // find the message to replace with a button const place_for_button = notice.querySelector('.unclaimed') if (!place_for_button) return place_for_button.replaceWith(button) console.warn('gadget:', 'objective-claim-button') }) const page_name = mw.config.get('wgPageName'); const user = mw.config.get( 'wgUserName' ); console.warn('gadget:', 'objective-claim-button', 'button pressed'); // try to edit the article new mw.Api().edit( 'page_name', function try_claiming_objective(revision) { return { text: revision.content.replace( '{{objective|date=}}', '{{objective|claim=user|date=}}' ), summary: 'claimed objective', minor: true }; } ) .then( function () { console.log( 'Saved!' ); } );