User:DR/test.js: Difference between revisions

From Test Wiki
Content deleted Content added
DR (talk | contribs)
tweak
DR (talk | contribs)
No edit summary
Line 37: Line 37:
reasonLabel: $('<p>').text('Reason:').css('font-weight', 'bold'),
reasonLabel: $('<p>').text('Reason:').css('font-weight', 'bold'),
deleteTalkLabel: $('<label>')
deleteTalkLabel: $('<label>')
.append(deleteTalkCheckbox.$element, ' Also delete talk pages')
.append(
deleteTalkCheckbox.$element,
$('<span>').text(' Also delete talk pages').css('padding-left', '5px')
)
.css({
.css({
'margin-top': '10px',
'margin-top': '10px',
'margin-bottom': '10px'
'margin-bottom': '20px'
})
})
};
};

previewButton.$element.css('margin-top', '10px');


$('#mw-content-text').append(
$('#mw-content-text').append(
Line 66: Line 71:
params.deletetalk = true;
params.deletetalk = true;
}
}

(new mw.Api({
(new mw.Api({
ajax: {
ajax: {
Line 88: Line 92:
function handleDeleteResponse(err, data, page) {
function handleDeleteResponse(err, data, page) {
var logList = $("<ul>").appendTo(logContainer);
var logList = $("<ul>").appendTo(logContainer);

if (err) {
if (err) {
logList.append("<li>Failed to delete page <b>" + page + "</b>: " + err + "</li>");
logList.append("<li>Failed to delete page <b>" + page + "</b>: " + err + "</li>");
Line 100: Line 103:
reason = reasonInputField.getValue().trim(),
reason = reasonInputField.getValue().trim(),
deleteTalk = deleteTalkCheckbox.isSelected();
deleteTalk = deleteTalkCheckbox.isSelected();

if (pages[0].trim() === "" || reason === "") {
if (pages[0].trim() === "" || reason === "") {
showAlert("Please fill in all fields.");
showAlert("Please fill in all fields.");
return;
return;
}
}

logContainer.empty();
logContainer.empty();
$("<h1>").wrapInner("<span class='mw-headline'>Deletion preview</span>").appendTo(logContainer);
$("<h1>").wrapInner("<span class='mw-headline'>Deletion preview</span>").appendTo(logContainer);
logContainer.show();
logContainer.show();

var logList = $("<ul>").appendTo(logContainer);
var logList = $("<ul>").appendTo(logContainer);

pages.forEach(function(page) {
pages.forEach(function(page) {
page = page.trim();
page = page.trim();
logList.append("<li><b>" + page + "</b> will be deleted for reason: <b>" + reason + "</b></li>");
logList.append("<li><b>" + page + "</b> will be deleted for reason: <b>" + reason + "</b></li>");
});
});

if (deleteTalk) {
if (deleteTalk) {
logList.append("<li>Talk pages will also be deleted if they exist.</li>");
logList.append("<li>Talk pages will also be deleted if they exist.</li>");
}
}

startButton.setDisabled(false);
startButton.setDisabled(false);
}
}
Line 128: Line 125:
return;
return;
}
}

var pages = pagesTextarea.getValue().replace(/^\s*[\r\n]/gm, '').split("\n"),
var pages = pagesTextarea.getValue().replace(/^\s*[\r\n]/gm, '').split("\n"),
reason = reasonInputField.getValue().trim(),
reason = reasonInputField.getValue().trim(),
deleteTalk = deleteTalkCheckbox.isSelected(),
deleteTalk = deleteTalkCheckbox.isSelected(),
suffix = "";
suffix = "";

if (mw.config.get("wgGlobalGroups").indexOf("global-sysop") >= 0) {
if (mw.config.get("wgGlobalGroups").indexOf("global-sysop") >= 0) {
suffix = " ([[m:GS|global sysop]] action)";
suffix = " ([[m:GS|global sysop]] action)";
Line 141: Line 136:
suffix = " (sysop action)";
suffix = " (sysop action)";
}
}

reason += suffix + " (using [[:meta:User:DreamRimmer/MassDelete|MassDelete.js]])";
reason += suffix + " (using [[:meta:User:DreamRimmer/MassDelete|MassDelete.js]])";

if (pages[0].trim() === "" || reason === "") {
if (pages[0].trim() === "" || reason === "") {
showAlert("Please fill in all fields.");
showAlert("Please fill in all fields.");
return;
return;
}
}

logContainer.empty();
logContainer.empty();
$("<h1>").wrapInner("<span class='mw-headline'>Deletion log</span>").appendTo(logContainer);
$("<h1>").wrapInner("<span class='mw-headline'>Deletion log</span>").appendTo(logContainer);
logContainer.show();
logContainer.show();

var currentIndex = 0;
var currentIndex = 0;

function processNextPage() {
function processNextPage() {
if (currentIndex >= pages.length) {
if (currentIndex >= pages.length) {
return;
return;
}
}

var page = pages[currentIndex].trim();
var page = pages[currentIndex].trim();

deletePage(page, reason, deleteTalk, function(err, data) {
deletePage(page, reason, deleteTalk, function(err, data) {
handleDeleteResponse(err, data, page);
handleDeleteResponse(err, data, page);
Line 168: Line 156:
});
});
}
}

processNextPage();
processNextPage();
}
}