User:DR/test.js: Difference between revisions
From Test Wiki
Content deleted Content added
tweak |
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( |
.append( |
||
deleteTalkCheckbox.$element, |
|||
$('<span>').text(' Also delete talk pages').css('padding-left', '5px') |
|||
) |
|||
.css({ |
.css({ |
||
'margin-top': '10px', |
'margin-top': '10px', |
||
'margin-bottom': ' |
'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(); |
||
} |
} |
||