User:逆襲的天邪鬼/Twinkle-lzh/twinklewarn.js: Difference between revisions
Content added Content deleted
mNo edit summary |
No edit summary |
||
Line 56: | Line 56: | ||
} ); |
} ); |
||
main_select.append( { type: 'select', name: 'sub_group', list: Twinkle.warn.callback.create_list() } ); |
|||
window.aaa = form; |
|||
window.bbb = main_select; |
|||
window.ccc = sub_group; |
|||
Twinkle.warn.callback.create_category(sub_group); |
|||
form.append( { |
form.append( { |
||
Line 105: | Line 99: | ||
Twinkle.warn.messages = { |
Twinkle.warn.messages = { |
||
"非建設編輯": { |
"非建設編輯": { |
||
"uw-vandalism1": |
"uw-vandalism1": "毀文觀(提醒)", |
||
"uw-vandalism2": "毀文觀(警告)", |
|||
"uw-vandalism3": "毀文觀(最後警告)" |
|||
}, |
|||
"uw-vandalism2": { |
|||
label: "毀文觀(警告)", |
|||
summary: "毀文觀(警告)" |
|||
}, |
|||
"uw-vandalism3": { |
|||
label: "毀文觀(最後警告)", |
|||
summary: "毀文觀(最後警告)" |
|||
}, |
|||
}, |
}, |
||
"文法": { |
"文法": { |
||
"uw-lzh1": |
"uw-lzh1": "非文言", |
||
"uw-lzh2": "非文言(最後警告)", |
|||
"uw-lzh-en": "非文言(英文警告)", |
|||
"uw-lzh-en-2": "非文言(英文最後警告)", |
|||
}, |
|||
"uw- |
"uw-simp": "簡體字", |
||
"uw-blp": "生不立傳", |
|||
label: "非文言(最後警告)", |
|||
summary: "非文言(最後警告)" |
|||
}, |
|||
"uw-lzh-en": { |
|||
label: "非文言(英文警告)", |
|||
summary: "非文言/Not Classical Chinese(Warning)" |
|||
}, |
|||
"uw-lzh-en-2": { |
|||
label: "非文言(英文最後警告)", |
|||
summary: "非文言/Not Classical Chinese(Final Warning)" |
|||
}, |
|||
"uw-simp": { |
|||
label: "簡體字", |
|||
summary: "簡體字" |
|||
}, |
|||
"uw-blp": { |
|||
label: "生不立傳", |
|||
summary: "生不立傳" |
|||
}, |
|||
}, |
}, |
||
"態度": { |
"態度": { |
||
"uw-sign": |
"uw-sign": "沒有簽名", |
||
"uw-civil1": "不文明(提醒)", |
|||
label: "沒有簽名", |
|||
"uw-civil2": "不文明(警告)", |
|||
summary: "簽名" |
|||
"uw-editwar": "編輯戰", |
|||
}, |
|||
"uw-baduserpage": "政治、宗教用戶頁" |
|||
"uw-civil1": { |
|||
label: "不文明(提醒)", |
|||
summary: "不文明(提醒)" |
|||
}, |
|||
"uw-civil2": { |
|||
label: "不文明(警告)", |
|||
summary: "不文明(警告)" |
|||
}, |
|||
"uw-editwar": { |
|||
label: "編輯戰", |
|||
summary: "編輯戰" |
|||
}, |
|||
"uw-baduserpage": { |
|||
label: "表達政治或宗教的用戶框/用戶頁", |
|||
summary: "政治、宗教用戶頁" |
|||
} |
|||
}, |
}, |
||
}; |
}; |
||
Line 171: | Line 123: | ||
Twinkle.warn.prev_reason = null; |
Twinkle.warn.prev_reason = null; |
||
Twinkle.warn.callback. |
Twinkle.warn.callback.create_list = function () { |
||
var result = []; |
|||
// worker function to create the combo box entries |
|||
for (var category in Twinkle.warn.messages) { |
|||
var createEntries = function( contents, container, wrapInOptgroup ) { |
|||
var sublist = []; |
|||
// due to an apparent iOS bug, we have to add an option-group to prevent truncation of text |
|||
var templates = Twinkle.warn.messages[category]; |
|||
// (search WT:TW archives for "Problem selecting warnings on an iPhone") |
|||
for (var name in templates) { |
|||
if ( wrapInOptgroup && $.client.profile().platform === "iphone" ) { |
|||
sublist.push({ |
|||
var wrapperOptgroup = new Morebits.quickForm.element( { |
|||
label: '{{' + name + '}}: ' + templates[name], |
|||
type: 'optgroup', |
|||
value: name |
|||
} |
}); |
||
wrapperOptgroup = wrapperOptgroup.render(); |
|||
container.appendChild( wrapperOptgroup ); |
|||
container = wrapperOptgroup; |
|||
} |
} |
||
result.push({ |
|||
label: category, |
|||
list: sublist |
|||
}); |
|||
} |
|||
var customWarningList = Twinkle.getPref("customWarningList"); |
|||
$.each( contents, function( itemKey, itemProperties ) { |
|||
if (customWarningList && customWarningList.length > 0) { |
|||
var key = (typeof itemKey === "string") ? itemKey : itemProperties.value; |
|||
result.push({ |
|||
label: '自定義警告', |
|||
list: customWarningList |
|||
}); |
|||
} |
|||
return result; |
|||
var elem = new Morebits.quickForm.element( { |
|||
type: 'option', |
|||
label: "{{" + key + "}}: " + itemProperties.label, |
|||
value: key, |
|||
} ); |
|||
var elemRendered = container.appendChild( elem.render() ); |
|||
$(elemRendered).data("messageData", itemProperties); |
|||
} ); |
|||
}; |
|||
// create the option-groups |
|||
$.each( Twinkle.warn.messages, function( groupLabel, groupContents ) { |
|||
var optgroup = new Morebits.quickForm.element( { |
|||
type: 'optgroup', |
|||
label: groupLabel |
|||
} ); |
|||
optgroup = optgroup.render(); |
|||
sub_group.appendChild( optgroup ); |
|||
// create the options |
|||
createEntries( groupContents, optgroup, false ); |
|||
} ); |
|||
// 自訂警告 |
|||
var optgroup2 = new Morebits.quickForm.element( { |
|||
type: 'optgroup', |
|||
label: '自定義警告' |
|||
} ); |
|||
optgroup2 = optgroup2.render(); |
|||
sub_group.appendChild( optgroup2 ); |
|||
createEntries( Twinkle.getPref("customWarningList"), sub_group, true ); |
|||
}; |
}; |
||