Commit | Line | Data |
---|---|---|
9df70c63 D |
1 | // TODO: Channel modes\r |
2 | // TODO: Listen to gateway events for anythign related to this channel\r | |
eaaf73b0 | 3 | _kiwi.model.Channel = _kiwi.model.Panel.extend({\r |
9df70c63 D |
4 | initialize: function (attributes) {\r |
5 | var name = this.get("name") || "",\r | |
6 | members;\r | |
7 | \r | |
eaaf73b0 | 8 | this.view = new _kiwi.view.Channel({"model": this, "name": name});\r |
9df70c63 | 9 | this.set({\r |
eaaf73b0 | 10 | "members": new _kiwi.model.MemberList(),\r |
9df70c63 D |
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 | |
ddd74e86 | 18 | var show_message = _kiwi.global.settings.get('show_joins_parts');\r |
93fa049c D |
19 | if (show_message === false) {\r |
20 | return;\r | |
21 | }\r | |
22 | \r | |
aadaa4e1 | 23 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has joined', 'action join');\r |
9df70c63 D |
24 | }, this);\r |
25 | \r | |
26 | members.bind("remove", function (member, members, options) {\r | |
ddd74e86 | 27 | var show_message = _kiwi.global.settings.get('show_joins_parts');\r |
93fa049c D |
28 | if (show_message === false) {\r |
29 | return;\r | |
30 | }\r | |
31 | \r | |
9df70c63 D |
32 | var msg = (options.message) ? '(' + options.message + ')' : '';\r |
33 | \r | |
34 | if (options.type === 'quit') {\r | |
aadaa4e1 | 35 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has quit ' + msg, 'action quit');\r |
94016cd4 | 36 | } else if(options.type === 'kick') {\r |
aadaa4e1 | 37 | this.addMsg(' ', '== ' + member.displayNick(true) + ' was kicked by ' + options.by + ' ' + msg, 'action kick');\r |
9df70c63 | 38 | } else {\r |
aadaa4e1 | 39 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has left ' + msg, 'action part');\r |
9df70c63 D |
40 | }\r |
41 | }, this);\r | |
42 | }\r | |
43 | }); |