User:Bosco-bot/common.js: Difference between revisions

From Test Wiki
Content deleted Content added
mNo edit summary
Tag: Reverted
Undid revisions from 69986 to 69954 // AdvancedRollback
Tag: Undo
 
(2 intermediate revisions by the same user not shown)
Line 18: Line 18:
if (editCount !== null) mw.loader.addStyleTag('#pt-mycontris>a::after, .menu__item--userContributions>span>span::after, #mw-mf-page-left .menu__item--userContributions>span::after {content: " (' + editCount + ')"}')
if (editCount !== null) mw.loader.addStyleTag('#pt-mycontris>a::after, .menu__item--userContributions>span>span::after, #mw-mf-page-left .menu__item--userContributions>span::after {content: " (' + editCount + ')"}')
})(mw.config.get('wgUserEditCount'));
})(mw.config.get('wgUserEditCount'));

//
/**
* MediaWiki JS helper: Add {{delete|reason}} template
* Adds a "Request deletion" tab to the page toolbar that prompts for a reason
* and inserts {{delete|reason}} at the top of the wikitext.
*/
mw.loader.using('mediawiki.util', function () {
// Add a new portlet link (tab) to the page
mw.util.addPortletLink(
'p-cactions', // actions menu
'#', // href
'Request deletion', // link text
'ca-delete', // id
'Requesting deletion' // tooltip
);

// Attach click handler
$('#ca-delete').on('click', function (e) {
e.preventDefault();

// Prompt user for reason
var reason = prompt('Enter reason for deletion:');
if (!reason) {
return; // cancelled
}

// Load the current page content
new mw.Api().get({
action: 'query',
prop: 'revisions',
rvprop: 'content',
titles: mw.config.get('wgPageName')
}).done(function (data) {
var pages = data.query.pages;
var pageId = Object.keys(pages)[0];
var content = pages[pageId].revisions[0]['*'];

// Prepend the delete template
var newContent = '{{delete|' + reason + '}}\n' + content;

// Save the page with fixed summary
new mw.Api().postWithToken('csrf', {
action: 'edit',
title: mw.config.get('wgPageName'),
text: newContent,
summary: 'Requesting deletion'
}).done(function () {
location.reload(); // reload to show template
}).fail(function (err) {
alert('Error saving page: ' + err);
});
});
});
});