Christian Fraß commited on 2021-11-20 15:44:18
Zeige 2 geänderte Dateien mit 41 Einfügungen und 2 Löschungen.
| ... | ... |
@@ -95,12 +95,52 @@ namespace ns_model |
| 95 | 95 |
console.warn("unhandled event kind: " + event.kind);
|
| 96 | 96 |
break; |
| 97 | 97 |
} |
| 98 |
- case "userlist": |
|
| 98 |
+ case "user_list": |
|
| 99 | 99 |
{
|
| 100 | 100 |
model.channels[event.data["channel"]].users = event.data["users"]; |
| 101 | 101 |
shall_update_users = true; |
| 102 | 102 |
break; |
| 103 | 103 |
} |
| 104 |
+ case "user_joined": |
|
| 105 |
+ {
|
|
| 106 |
+ model.channels[event.data["channel"]].users.push({"name": event.data["user_name"], "role": ""});
|
|
| 107 |
+ shall_update_users = true; |
|
| 108 |
+ break; |
|
| 109 |
+ } |
|
| 110 |
+ case "user_parted": |
|
| 111 |
+ {
|
|
| 112 |
+ model.channels[event.data["channel"]].users = model.channels[event.data["channel"]].users.filter |
|
| 113 |
+ ( |
|
| 114 |
+ (user) => (user.name != event.data["user_name"]) |
|
| 115 |
+ ); |
|
| 116 |
+ shall_update_users = true; |
|
| 117 |
+ break; |
|
| 118 |
+ } |
|
| 119 |
+ case "user_kicked": |
|
| 120 |
+ {
|
|
| 121 |
+ model.channels[event.data["channel"]].users = model.channels[event.data["channel"]].users.filter |
|
| 122 |
+ ( |
|
| 123 |
+ (user) => (user.name != event.data["user_name"]) |
|
| 124 |
+ ); |
|
| 125 |
+ shall_update_users = true; |
|
| 126 |
+ break; |
|
| 127 |
+ } |
|
| 128 |
+ case "user_quit": |
|
| 129 |
+ {
|
|
| 130 |
+ for (let channel_name of event.data["channels"]) |
|
| 131 |
+ {
|
|
| 132 |
+ if (model.channels.hasOwnProperty(channel_name)) |
|
| 133 |
+ {
|
|
| 134 |
+ model.channels[channel_name].users = model.channels[event.data["channel"]].users.filter |
|
| 135 |
+ ( |
|
| 136 |
+ (user) => (user.name != event.data["user_name"]) |
|
| 137 |
+ ); |
|
| 138 |
+ } |
|
| 139 |
+ } |
|
| 140 |
+ shall_update_spots = true; |
|
| 141 |
+ shall_update_users = true; |
|
| 142 |
+ break; |
|
| 143 |
+ } |
|
| 104 | 144 |
case "message_channel": |
| 105 | 145 |
{
|
| 106 | 146 |
model.channels[event.data["channel"]].entries.push |
| 107 | 147 |