+});\r
+\r
+kiwi.model.Server = kiwi.model.Panel.extend({\r
+ initialize: function (attributes) {\r
+ var name = "Server";\r
+ this.view = new kiwi.view.Panel({"model": this, "name": name});\r
+ this.set({\r
+ "backscroll": [],\r
+ "name": name\r
+ }, {"silent": true});\r
+ this.isChannel = false;\r
+ }\r
+});\r
+\r
+// TODO: Channel modes\r
+kiwi.model.Channel = kiwi.model.Panel.extend({\r
+ initialize: function (attributes) {\r
+ var name = this.get("name") || "",\r
+ members;\r
+ this.view = new kiwi.view.Panel({"model": this, "name": name});\r
+ this.set({\r
+ "members": new kiwi.model.MemberList({"name": this.view.htmlsafe_name}),\r
+ "name": name,\r
+ "backscroll": [],\r
+ "topic": ""\r
+ }, {"silent": true});\r
+ this.addMsg(null, ' ', '--> You have joined ' + name, 'action join', 'color:#009900;');\r
+ members = this.get("members");\r
+ members.bind("add", function (member) {\r
+ this.addMsg(null, ' ', '--> ' + member.get("nick") + ' [' + member.get("ident") + '@' + member.get("hostname") + '] has joined', 'action join', 'color:#009900;');\r
+ }, this);\r
+ members.bind("remove", function (member, options) {\r
+ this.addMsg(null, ' ', '<-- ' + member.get("nick") + ' has left ' + ((options.message) ? '(' + options.message + ')' : ''), 'action join', 'color:#009900;');\r
+ }, this);\r
+ members.bind("quit", function (args) {\r
+ this.addMsg(null, ' ', '<-- ' + args.member.get("nick") + ' has quit ' + ((args.message) ? '(' + args.message + ')' : ''), 'action join', 'color:#009900;');\r
+ }, this);\r
+\r
+ this.isChannel = true;\r
+ }\r