「利用者:Dragoniez/scripts/AN Reporter.js」の版間の差分

削除された内容 追加された内容
v7.1.2: ANR-B005 セクションが見つからないバグの修正
v7.2: 要約の生成方法を変更
2行目:
* AN Reporter (ANR) *
* Author: Dragoniez *
* Version: 7.1.2 *
************************************/
//<nowiki>
297行目:
` <div id="anr-summary-div" class="anr-dialog-needmargin">` +
` <input id="anr-summary-checkbox" type="checkbox">` +
` <label for="anr-summary-checkbox">要約にコメント指定追加</label>` +
` <textarea id="anr-summary-text" class="anr-dialog-textarea" rows="3" style="display: none;"></textarea>` +
` </div>` +
596行目:
if (duplicates.length !== 0) { // If the inputs have duplicates in them
const confirmMsg =
'以下の利用者について、重複入力がある可能性があります。\n\n' + duplicates.join(', ') + '\n\n' +
'続行する場合は OK を、フォームに戻る場合は Cancel を押してください';
if (!confirm(confirmMsg) === false) return;
 
if (confirm(confirmMsg) === false) return;
}
 
608 ⟶ 607行目:
 
// Get edit summary
var summaryLinks = types.map(function(type, i) {
const summaryText = dragoLib.trim2($('#anr-summary-text').val()), editSummarySection = '/*' + sectionToEdit + '*/';
var editSummary,username = summaryCustomizedusers[i];
switch switch(type) { // Get appropriate links depending on the UserAN type
if (summaryText) {
case 'UNL':
editSummary = editSummarySection + summaryText + scriptAd;
summaryCustomized = true; case 'User2':
} else { case 'IP2':
link =return `[[特別:投稿記録/${reporteeusername}|${reporteeusername}]]`;
editSummary = editSummarySection + genEditSummary().replace(' - ', '') + scriptAd;
case 'logid':
}
link =return `[[特別:転送/logid/${reporteeusername}|Logid/${reporteeusername}]]`;
 
// Warn if a username is hidden but showncase in the summary'diff':
link =return `[[特別:差分/${reporteeusername}|差分/${reporteeusername}]]の投稿者`;
if (summaryCustomized) {
const hiddenUsernames = []; default:
for (let i = 0; i < types.length; i++)return {username;
let type = types[i], inputVal = users[i], username;
if (type === 'logid' && (username = dragoLib.getKeyByValue(Logids, inputVal)) && editSummary.indexOf(username) !== -1) hiddenUsernames.push(username);
}
if (hiddenUsernames.length !== 0) {
const warnText = '警告\n以下の利用者名は、フォーム上では隠されていますが、編集要約内では隠されていません。\n・' + hiddenUsernames.join('\n・') +
'\nこのまま続行する場合は OK を、中止する場合は Cancel を押してください。';
if (confirm(warnText) === false) return;
}
});
summaryLinks = summaryLinks.filter(function(link, i) {
return summaryLinks.indexOf(link) === i; // Remove duplicates
});
if (hiddenUsernamessummaryLinks.length !==> 05) {
summarysummaryLinks = '+' + linkssummaryLinks.slice(0, 5).join(', ') + '`, その' + (links${summaryLinks.slice(5).length) + '}アカウント - '`;
} else }{
summarysummaryLinks = '+' + linkssummaryLinks.join(', ') + ' - ';
}
const summaryTextcustomSummary = dragoLib.trim2($('#anr-summary-text').val()), editSummarySection = '/*' + sectionToEdit + '*/';
editSummary = editSummarySection = '/*' + summaryTextsectionToEdit + scriptAd'*/';
const editSummary = editSummarySection + genEditSummary().replace'+' + summaryLinks + (customSummary ? ' - ', + customSummary : '') + scriptAd;
 
// Get text to add to the page
1,329 ⟶ 1,332行目:
$('.anr-editing').append(msg);
editDone(ep, true);
}
 
// Function to generate edit summary automatically
function genEditSummary() {
 
const links = [];
$('#anr-user-div :text').each(function() { // Loop through all inputs
const inputID = '#' + $(this).attr('id');
const type = $(inputID.replace('input', 'select')).children('option').filter(':selected').text(); // UserAN type specified in the dropdown
const reportee = dragoLib.trim2($(this).val()); // Username
 
let link;
if (reportee !== '') { // Skip if the input value is a null string
switch(type) { // Get appropriate links depending on the UserAN type
case 'UNL':
case 'User2':
case 'IP2':
link = `[[特別:投稿記録/${reportee}|${reportee}]]`;
break;
case 'logid':
link = `[[特別:転送/logid/${reportee}|Logid/${reportee}]]`;
break;
case 'diff':
link = `[[特別:差分/${reportee}|差分/${reportee}]]の投稿者`;
break;
default:
link = reportee;
}
if ($.inArray(link, links) === -1) links.push(link); // Push the link into the array
}
});
 
// Get edit summary
var summary = '';
switch(true) {
case links.length === 0:
break;
case links.length === 1:
summary = '+' + links[0] + ' - ';
break;
case links.length > 1 && 6 > links.length:
summary = '+' + links.join(', ') + ' - ';
break;
default:
summary = '+' + links.slice(0, 5).join(', ') + ', その他' + (links.slice(5).length) + 'アカウント - ';
}
return summary;
 
}
 
1,705 ⟶ 1,660行目:
const $textarea = $('#anr-summary-text');
if ($(this).is(':checked')) { // Box is checked
$textarea.css('display','inline-block').val(genEditSummary()); // Show textarea with an edit summary
} else { // Box is unchecked
$textarea.css('display','none').val('');