Merge branch 'development'
[KiwiIRC.git] / client / assets / dev / model_channel.js
CommitLineData
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});