User:DR/test.js: Difference between revisions

From Test Wiki
Content deleted Content added
DR (talk | contribs)
No edit summary
Tag: Reverted
DR (talk | contribs)
1st version
Tag: Manual revert
Line 11: Line 11:
reasonInputField = new OO.ui.TextInputWidget({
reasonInputField = new OO.ui.TextInputWidget({
placeholder: 'Reason for deletion'
placeholder: 'Reason for deletion'
}),
deleteTalkPagesCheckbox = new OO.ui.CheckboxInputWidget({
selected: false
}),
}),
previewButton = new OO.ui.ButtonWidget({
previewButton = new OO.ui.ButtonWidget({
Line 36: Line 33:
reasonLabel: $('<p>').text('Reason:').css('font-weight', 'bold')
reasonLabel: $('<p>').text('Reason:').css('font-weight', 'bold')
};
};

var deleteTalkPagesContainer = $('<div>').css({
'margin-top': '10px',
'padding': '0px'
});

deleteTalkPagesContainer.append(deleteTalkPagesCheckbox.$element.css({
'margin-right': '5px'
}));
deleteTalkPagesContainer.append($('<span>').text('Delete associated talk pages'));


$('#mw-content-text').append(
$('#mw-content-text').append(
labels.pagesLabel, pagesTextarea.$element,
labels.pagesLabel, pagesTextarea.$element,
labels.reasonLabel, reasonInputField.$element,
labels.reasonLabel, reasonInputField.$element,
deleteTalkPagesContainer,
'<br/>',
'<br/>',
previewButton.$element,
previewButton.$element,
Line 95: Line 81:
function previewDeleting() {
function previewDeleting() {
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();
deleteTalkPages = deleteTalkPagesCheckbox.isSelected();


if (pages[0].trim() === "" || reason === "") {
if (pages[0].trim() === "" || reason === "") {
Line 112: Line 97:
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 (deleteTalkPages) {
var talkPage = getTalkPageName(page);
if (talkPage) {
logList.append("<li>Associated talk page <b>" + talkPage + "</b> will also be deleted.</li>");
}
}
});
});


Line 129: Line 108:


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() + " (using [[User:DreamRimmer/MassDelete|MassDelete.js]])",
reason = reasonInputField.getValue().trim() + " (using [[User:DreamRimmer/MassDelete|MassDelete.js]])";
deleteTalkPages = deleteTalkPagesCheckbox.isSelected();


if (pages[0].trim() === "" || reason === "") {
if (pages[0].trim() === "" || reason === "") {
Line 152: Line 130:
deletePage(page, reason, function(err, data) {
deletePage(page, reason, function(err, data) {
handleDeleteResponse(err, data, page);
handleDeleteResponse(err, data, page);
if (deleteTalkPages) {
currentIndex++;
var talkPage = getTalkPageName(page);
setTimeout(processNextPage, 2000);
if (talkPage) {
var talkReason = "Deleted associated talk page when deleting page '" + page + "'";
deletePage(talkPage, talkReason, function(err, data) {
handleDeleteResponse(err, data, talkPage);
currentIndex++;
setTimeout(processNextPage, 2000);
});
} else {
currentIndex++;
setTimeout(processNextPage, 2000);
}
} else {
currentIndex++;
setTimeout(processNextPage, 2000);
}
});
});
}
}


processNextPage();
processNextPage();
}

function getTalkPageName(page) {
var namespace = mw.config.get('wgFormattedNamespaces')[''];
var talkNamespace = mw.config.get('wgFormattedNamespaces')['Talk'];

if (namespace !== undefined && talkNamespace !== undefined) {
return talkNamespace + ':' + page;
}

return null;
}
}