Diferencia entre revisiones de «Usuario:Stargazer/common.js»
Ir a la navegación
Ir a la búsqueda
m (?) |
m (Come on, API) |
||
Línea 54: | Línea 54: | ||
// try to edit the article |
// try to edit the article |
||
− | return api().edit( |
+ | return api().edit( |
+ | page_name, |
||
+ | function try_claiming_objective(revision) { |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | } |
||
⚫ | |||
⚫ | |||
− | // find {{t|objective|date=}} and replace with {{t|objective|claim=user|date=}} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | |||
⚫ | |||
.then( function () { |
.then( function () { |
||
console.log( 'Saved!' ); |
console.log( 'Saved!' ); |
||
} ); |
} ); |
||
+ | |||
} |
} |
Revisión del 23:39 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') }) function mark_objective_as_claimed(ev) { const api = new mw.Api; 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 return 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!' ); } ); }