Commit | Line | Data |
---|---|---|
9df70c63 D |
1 | // TODO: Channel modes\r |
2 | // TODO: Listen to gateway events for anythign related to this channel\r | |
3 | kiwi.model.Channel = kiwi.model.Panel.extend({\r | |
4 | initialize: function (attributes) {\r | |
5 | var name = this.get("name") || "",\r | |
6 | members;\r | |
7 | \r | |
8 | this.view = new kiwi.view.Channel({"model": this, "name": name});\r | |
9 | this.set({\r | |
10 | "members": new kiwi.model.MemberList(),\r | |
11 | "name": name,\r | |
12 | "scrollback": [],\r | |
13 | "topic": ""\r | |
14 | }, {"silent": true});\r | |
15 | \r | |
16 | members = this.get("members");\r | |
17 | members.bind("add", function (member) {\r | |
aadaa4e1 | 18 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has joined', 'action join');\r |
9df70c63 D |
19 | }, this);\r |
20 | \r | |
21 | members.bind("remove", function (member, members, options) {\r | |
22 | var msg = (options.message) ? '(' + options.message + ')' : '';\r | |
23 | \r | |
24 | if (options.type === 'quit') {\r | |
aadaa4e1 | 25 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has quit ' + msg, 'action quit');\r |
94016cd4 | 26 | } else if(options.type === 'kick') {\r |
aadaa4e1 | 27 | this.addMsg(' ', '== ' + member.displayNick(true) + ' was kicked by ' + options.by + ' ' + msg, 'action kick');\r |
9df70c63 | 28 | } else {\r |
aadaa4e1 | 29 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has left ' + msg, 'action part');\r |
9df70c63 D |
30 | }\r |
31 | }, this);\r | |
32 | }\r | |
33 | }); |