User:逆襲的天邪鬼/Twinkle-lzh/twinklespeedy.js: Difference between revisions

no edit summary
mNo edit summary
No edit summary
Line 337:
var radioOrCheckbox = (Twinkle.speedy.mode.isMultiple(mode) ? 'checkbox' : 'radio');
 
// if (Twinkle.speedy.mode.isSysop(mode) && !Twinkle.speedy.mode.isMultiple(mode)) {
work_area.append( { type: 'header', label: '自定義理由' } );
work_area.append( { type: radioOrCheckbox, name: 'csd', list: Twinkle.speedy.generateCsdList(Twinkle.speedy.customRationale, mode) } );
// }
 
switch (namespace) {
Line 367:
// custom rationale lives under general criteria when tagging
var generalCriteria = Twinkle.speedy.generalList;
// if (!Twinkle.speedy.mode.isSysop(mode)) {
generalCriteria = Twinkle.speedy.customRationale.concat(generalCriteria);
// }
work_area.append( { type: 'header', label: '常規' } );
work_area.append( { type: radioOrCheckbox, name: 'csd', list: Twinkle.speedy.generateCsdList(generalCriteria, mode) });
Line 406:
return $.map(list, function(critElement) {
var criterion = $.extend({}, critElement);
 
// hack to get the g11 radio / checkbox right
if (criterion.value === 'g11') {
criterion.style = Twinkle.getPref('enlargeG11Input') ? 'height: 2em; width: 2em; height: -moz-initial; width: -moz-initial; -moz-transform: scale(2); -o-transform: scale(2);' : '';
}
 
if (multiple) {
Line 494 ⟶ 489:
label: '自定義理由' + (Morebits.userIsInGroup('sysop') ? '(自定義刪除理由)' : ''),
value: 'reason',
tooltip: '該頁至少應該符合一條快速刪除的標準,並且您必須在理由中提到。這不是萬能的刪除理由,只適用於該頁及其歷史版本均明顯不應存在於維基大典的情況。',
subgroup: {
name: 'reason_1',
Line 501 ⟶ 496:
size: 60
},
hideWhenMultiple: true
}
];
Line 509 ⟶ 503:
label: '非文言',
value: 'a1',
tooltip: '條目根本不是文言文,只有完全重寫才能改善解決問題。文白相雜請改用{{文白相雜|~~~~~}}。如果作者有改善意願,建議移至草稿。'
},
{
Line 540 ⟶ 534:
label: '作者請求',
value: 'g1',
tooltip: '注意:應該用於頁面作者唯一或實質貢獻者唯一的情況,因此用戶討論頁通常不適用刪除。'
},
{
Line 639 ⟶ 633:
Twinkle.speedy.callbacks = {
getTemplateCodeAndParams: function(params) {
var code = "{{刪|";
console.log(params);
var reasons = Twinkle.speedy.callbacks.sysop.deletePagegetReasons( reason, params );
var code, parameters, i;
if (params.normalizeds.length >utparams 1)= {};
$.each(params.normalizeds, function(index, norm) {
code = "{{刪";
$.extend(params.utparams, Twinkle.speedy.getUserTalkParameters(norm, parametersparams.templateParams[index] || []));
params.utparams = {};
});
$.each(params.normalizeds, function(index, norm) {
code += reasons.join(';') + "}}";
code += "|" + Twinkle.speedy.reasonHash[norm.toLowerCase()];
parameters = params.templateParams[index] || [];
for (var i in parameters) {
if (typeof parameters[i] === 'string') {
code += "。" + parameters[i];
}
}
$.extend(params.utparams, Twinkle.speedy.getUserTalkParameters(norm, parameters));
});
code += "}}";
} else {
parameters = params.templateParams[0] || [];
code = "{{刪|";
if (params.values[0] !== 'reason') {
code += '|' + params.values[0];
}
for (i in parameters) {
if (typeof parameters[i] === 'string') {
code += "。" + parameters[i];
}
}
code += "}}";
params.utparams = Twinkle.speedy.getUserTalkParameters(params.normalizeds[0], parameters);
}
 
return [code, params.utparams];
},
 
parseWikitextgetReasons: function(wikitext, callback(params) {
var queryreasons = {[];
$.each(params.normalizeds, function(index, norm) {
action: "parse",
if (Twinkle.speedy.reasonHash[norm]) {
prop: "text",
code += "|" + reasons.push(Twinkle.speedy.reasonHash[norm.toLowerCase()]);
pst: "true",
text:} wikitext,else {
parameters = reasons.push(params.templateParams[index] || []);
contentmodel: "wikitext",
}
title: mw.config.get("wgPageName")
});
return reasons;
 
var statusIndicator = new Morebits.status( '構造刪除理由' );
var api = new Morebits.wiki.api( '解析刪除模板', query, function(apiObj) {
var reason = decodeURIComponent($(apiObj.getXML().querySelector('text').childNodes[0].nodeValue).find('#delete-reason').text()).replace(/\+/g, ' ');
if (!reason) {
statusIndicator.warn( '未能從刪除模板生成刪除理由' );
} else {
statusIndicator.info( '完成' );
}
callback(reason);
}, statusIndicator);
api.post();
},
 
Line 704 ⟶ 664:
Twinkle.speedy.callbacks.sysop.deletePage( reason, params );
} else {
var code = Twinkle.speedy.callbacks.getTemplateCodeAndParamssysop.deletePage(Twinkle.speedy.callbacks.getReasons(params).join(';'), params)[0];
Twinkle.speedy.callbacks.parseWikitext(code, function(reason) {
if (params.promptForSummary) {
reason = prompt("输入刪除理由,或點選確定以接受自動生成的:", presetReason);
}
Twinkle.speedy.callbacks.sysop.deletePage( reason, params );
});
}
},
Line 913 ⟶ 867:
 
// Generate edit summary for edit
var editsummary = '提速刪:' + Twinkle.speedy.callbacks.getReasons(params);
if (params.normalizeds.length > 1) {
editsummary = '提速刪(';
$.each(params.normalizeds, function(index, norm) {
editsummary += norm.toUpperCase() + '、';
});
editsummary = editsummary.substr(0, editsummary.length - 1); // remove trailing comma
editsummary += ')。';
} else if (params.normalizeds[0] === "db") {
editsummary = '提速刪:' + params.templateParams[0]["1"];
} else {
editsummary = '提速刪(' + params.normalizeds[0].toUpperCase() + ")";
}
 
pageobj.setPageText(code + "\n" + text);
Line 1,019 ⟶ 961:
 
appendText += "\n# [[:" + Morebits.pageNameNorm + "]]: ";
appendText = Twinkle.speedy.callbacks.getReasons(params);
if (params.fromDI) {
appendText += "圖版[[WP:CSD#" + params.normalized.toUpperCase() + "|CSD " + params.normalized.toUpperCase() + "]]({{tl|" + params.templatename + "}})";
} else {
if (params.normalizeds.length > 1) {
appendText += "多個理由(";
$.each(params.normalizeds, function(index, norm) {
appendText += "[[WP:CSD#" + norm.toUpperCase() + "|" + norm.toUpperCase() + ']]、';
});
appendText = appendText.substr(0, appendText.length - 1); // remove trailing comma
appendText += ')';
} else if (params.normalizeds[0] === "db") {
appendText += "自定義理由";
} else {
appendText += "[[WP:CSD#" + params.normalizeds[0].toUpperCase() + "|CSD " + params.normalizeds[0].toUpperCase() + "]]";
}
}
 
if (params.logInitialContrib) {