From 854f9fbef5ebe1b5453934a2bdf326594da7ab13 Mon Sep 17 00:00:00 2001 From: Darren Date: Fri, 12 Apr 2013 15:38:28 +0100 Subject: [PATCH] Client: chanlist code moved completely to its applet --- client/assets/dev/applet_chanlist.js | 22 +++++++++++++++++++- client/assets/dev/model_application.js | 28 ++------------------------ 2 files changed, 23 insertions(+), 27 deletions(-) diff --git a/client/assets/dev/applet_chanlist.js b/client/assets/dev/applet_chanlist.js index 222af41..7b27735 100644 --- a/client/assets/dev/applet_chanlist.js +++ b/client/assets/dev/applet_chanlist.js @@ -50,13 +50,28 @@ - _kiwi.applets.Chanlist = Backbone.Model.extend({ + var Applet = Backbone.Model.extend({ initialize: function () { this.set('title', 'Channel List'); this.view = new View(); + + this.network = _kiwi.global.components.Network(); + this.network.on('onlist_channel', this.onListChannel, this); + this.network.on('onlist_start', this.onListStart, this); }, + // New channels to add to our list + onListChannel: function (event) { + console.log(event); + this.addChannel(event.chans); + }, + + // A new, fresh channel list starting + onListStart: function (event) { + // TODO: clear out our existing list + }, + addChannel: function (channels) { var that = this; @@ -86,8 +101,13 @@ this.view.$el.html(''); this.view.remove(); this.view = null; + + // Remove any network event bindings + this.network.off(); } }); + + _kiwi.model.Applet.register('kiwi_chanlist', Applet); })(); \ No newline at end of file diff --git a/client/assets/dev/model_application.js b/client/assets/dev/model_application.js index ba9313c..2b67719 100644 --- a/client/assets/dev/model_application.js +++ b/client/assets/dev/model_application.js @@ -719,32 +719,8 @@ _kiwi.model.Application = function () { gw.on('onlist_start', function (data) { - if (_kiwi.app.channel_list) { - _kiwi.app.channel_list.close(); - delete _kiwi.app.channel_list; - } - - var panel = new _kiwi.model.Applet(), - applet = new _kiwi.applets.Chanlist(); - - panel.load(applet); - - _kiwi.app.panels.add(panel); - panel.view.show(); - - _kiwi.app.channel_list = applet; - }); - - - gw.on('onlist_channel', function (data) { - // TODO: Put this listener within the applet itself - _kiwi.app.channel_list.addChannel(data.chans); - }); - - - gw.on('onlist_end', function (data) { - // TODO: Put this listener within the applet itself - delete _kiwi.app.channel_list; + var chanlist = _kiwi.model.Applet.loadOnce('kiwi_chanlist'); + chanlist.view.show(); }); -- 2.25.1