\r
\r
\r
- _kiwi.applets.Chanlist = Backbone.Model.extend({\r
+ var Applet = Backbone.Model.extend({\r
initialize: function () {\r
this.set('title', 'Channel List');\r
this.view = new View();\r
+\r
+ this.network = _kiwi.global.components.Network();\r
+ this.network.on('onlist_channel', this.onListChannel, this);\r
+ this.network.on('onlist_start', this.onListStart, this);\r
},\r
\r
\r
+ // New channels to add to our list\r
+ onListChannel: function (event) {\r
+ console.log(event);\r
+ this.addChannel(event.chans);\r
+ },\r
+\r
+ // A new, fresh channel list starting\r
+ onListStart: function (event) {\r
+ // TODO: clear out our existing list\r
+ },\r
+\r
addChannel: function (channels) {\r
var that = this;\r
\r
}\r
_.each(channels, function (chan) {\r
var html, channel;\r
- html = '<tr><td><a class="chan">' + _.escape(chan.channel) + '</a></td><td class="num_users" style="text-align: center;">' + chan.num_users + '</td><td style="padding-left: 2em;">' + formatIRCMsg(_.escape(chan.topic)) + '</td></tr>';\r
+ html = '<tr><td><a class="chan" data-channel="' + chan.channel + '">' + _.escape(chan.channel) + '</a></td><td class="num_users" style="text-align: center;">' + chan.num_users + '</td><td style="padding-left: 2em;">' + formatIRCMsg(_.escape(chan.topic)) + '</td></tr>';\r
chan.html = html;\r
that.view.channels.push(chan);\r
});\r
this.view.$el.html('');\r
this.view.remove();\r
this.view = null;\r
+\r
+ // Remove any network event bindings\r
+ this.network.off();\r
}\r
});\r
\r
\r
+\r
+ _kiwi.model.Applet.register('kiwi_chanlist', Applet);\r
})();
\ No newline at end of file