-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmultiPM.js
64 lines (63 loc) · 3.13 KB
/
multiPM.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
chatPlugins.modules.multiPM.open = function() {
var $multiPMWindowHTML = $.showCustomModal( "MultiPM", '<form method="" name="" class="WikiaForm "><fieldset><div id="multiPMHeader">Select the users you would like to PM:</div><div id="multiPMNames" style="height:250px;overflow-y:scroll;"><table id="multiPMUserTable"></div></fieldset></form>', {
id: "multiPMWindow",
width: 400,
buttons: [
{
id: "cancel",
message: "Cancel",
handler: function () {
chatPlugins.modules.multiPM.cancel();
}
},
{
id: "chatPlugins.modules.multiPM.start",
defaultButton: true,
message: "Start",
handler: function () {
chatPlugins.modules.multiPM.start();
}
}
]
});
$(".close").click(chatPlugins.modules.multiPM.cancel);
$('body').append('<div style="height: 100%; width: 100%; opacity: 0.65; display: block;" data-opacity="0.65" class="blackout"></div>');
multiPMUserTable = ""
for (i=0;i<Object.keys(mainRoom.model.users._byCid).length;i++) {
if (i%2) {
multiPMUserTable += '<td style="padding:2px;"><label><input class="multiPMUser" type="checkbox" name="' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.name + '" value="' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.name + '"/><img src="' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.avatarSrc + '" style="vertical-align:middle;padding:2px;" />' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.name + '</label></td>';
multiPMUserTable += '</tr>';
}
else {
multiPMUserTable += '<tr>';
multiPMUserTable += '<td style="padding:2px;"><label><input class="multiPMUser" type="checkbox" name="' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.name + '" value="' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.name + '"/><img src="' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.avatarSrc + '" style="vertical-align:middle;padding:2px;" />' + mainRoom.model.users._byCid[Object.keys(mainRoom.model.users._byCid)[i]].attributes.name + '</label></td>';
}
}
if ((Object.keys(mainRoom.model.users._byCid).length % 2)!=1) {
multiPMUserTable += '</tr>';
}
$('#multiPMUserTable').append(multiPMUserTable);
}
chatPlugins.modules.multiPM.cancel = function() {
$('#multiPMWindow').remove();
$('.blackout').remove();
}
chatPlugins.modules.multiPM.start = function() {
if ($(".multiPMUser:checked").length == 0) {
$("#multiPMHeader").css("color", "red").css("font-weight", "bold");
return;
}
else {
users = [];
for (i=0;i<$(".multiPMUser:checked").length;i++) {
users.push($(".multiPMUser:checked")[i].value);
}
mainRoom.openPrivateChat(users);
chatPlugins.modules.multiPM.cancel();
}
}
if( !$("#multiPMButton").length ) {
$('form#Write').append('<a class="wikia-button" href="#" id="multiPMButton" style="position:absolute; right:50px; top:0;">Multi PM</a>');
}
$("#multiPMButton").click(chatPlugins.modules.multiPM.open);
console.log("[OPTIONS] multiPM: Loaded");