},\r
initialize: function (options) {\r
this.view = new kiwi.view.MemberList({"model": this, "name": options.name});\r
+ },\r
+ getByNick: function (nick) {\r
+ return this.find(function (m) {\r
+ return nick === m.get("nick");\r
+ });\r
}\r
});\r
\r
}\r
});\r
\r
-kiwi.model.ChannelList = Backbone.Collection.extend({\r
- model: kiwi.model.Channel,\r
+kiwi.model.PanelList = Backbone.Collection.extend({\r
+ model: kiwi.model.Panel,\r
comparator: function (chan) {\r
return chan.get("name");\r
+ },\r
+ initialize: function () {\r
+ this.server = new kiwi.model.Server({"name": kiwi.gateway.network_name});\r
+ this.view = new kiwi.view.Tabs({"el": $('#kiwi .windowlist ul')[0], "model": this});\r
+ kiwi.currentPanel = this.server;\r
+ },\r
+ getByName: function (name) {\r
+ return this.find(function (c) {\r
+ return name === c.get("name");\r
+ });\r
}\r
});\r
\r
-// TODO: Channel modes\r
-kiwi.model.Channel = Backbone.Model.extend({\r
+kiwi.model.Panel = Backbone.Model.extend({\r
initialize: function (attributes) {\r
- var name = this.get("name") || "",\r
- members;\r
- this.view = new kiwi.view.Channel({"model": this, "name": name});\r
+ var name = this.get("name") || "";\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
+ "name": name\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 = false;\r
},\r
addMsg: function (time, nick, msg, type, style) {\r
var tmp, bs;\r
this.set({"backscroll": bs}, {silent:true});\r
this.trigger("msg", tmp);\r
}\r
+});\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
});
\ No newline at end of file