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 | |
062bae80 | 17 | members.channel = this;\r |
9df70c63 | 18 | members.bind("add", function (member) {\r |
ddd74e86 | 19 | var show_message = _kiwi.global.settings.get('show_joins_parts');\r |
93fa049c D |
20 | if (show_message === false) {\r |
21 | return;\r | |
22 | }\r | |
23 | \r | |
aadaa4e1 | 24 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has joined', 'action join');\r |
9df70c63 D |
25 | }, this);\r |
26 | \r | |
27 | members.bind("remove", function (member, members, options) {\r | |
ddd74e86 | 28 | var show_message = _kiwi.global.settings.get('show_joins_parts');\r |
93fa049c D |
29 | if (show_message === false) {\r |
30 | return;\r | |
31 | }\r | |
32 | \r | |
9df70c63 D |
33 | var msg = (options.message) ? '(' + options.message + ')' : '';\r |
34 | \r | |
35 | if (options.type === 'quit') {\r | |
aadaa4e1 | 36 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has quit ' + msg, 'action quit');\r |
94016cd4 | 37 | } else if(options.type === 'kick') {\r |
aadaa4e1 | 38 | this.addMsg(' ', '== ' + member.displayNick(true) + ' was kicked by ' + options.by + ' ' + msg, 'action kick');\r |
9df70c63 | 39 | } else {\r |
aadaa4e1 | 40 | this.addMsg(' ', '== ' + member.displayNick(true) + ' has left ' + msg, 'action part');\r |
9df70c63 D |
41 | }\r |
42 | }, this);\r | |
43 | }\r | |
44 | }); |