Client: Private `kiwi` namespace renamed to `_kiwi`
[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
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});