From b8fd30e4cc9dbb4613424d42569ae55565458412 Mon Sep 17 00:00:00 2001 From: Akash Manohar J Date: Wed, 28 Mar 2012 16:43:09 +0530 Subject: [PATCH] Refactors kandan.js; Turns the huge function into bits Signed-off-by: Akash Manohar J --- .../javascripts/backbone/kandan.js.coffee | 36 +++++++++---------- .../javascripts/backbone/plugins.js.coffee | 2 +- .../javascripts/backbone/widgets.js.coffee | 2 +- 3 files changed, 20 insertions(+), 20 deletions(-) diff --git a/app/assets/javascripts/backbone/kandan.js.coffee b/app/assets/javascripts/backbone/kandan.js.coffee index 55a825ba..39c923fd 100644 --- a/app/assets/javascripts/backbone/kandan.js.coffee +++ b/app/assets/javascripts/backbone/kandan.js.coffee @@ -18,7 +18,7 @@ window.Kandan = # TODO this is a helper method to register plugins # in the order required until we come up with plugin management - register_plugins: -> + registerPlugins: -> plugins = [ "UserList" ,"YouTubeEmbed" @@ -34,7 +34,7 @@ window.Kandan = initBroadcasterAndSubscribe: ()-> window.broadcaster = new Kandan.Broadcasters.FayeBroadcaster() - window.broadcaster.subscribe "/channels/*" ##{channel.get('id')} + window.broadcaster.subscribe "/channels/*" initChatbox: ()-> @@ -65,25 +65,25 @@ window.Kandan = $(document).bind 'changeData', (element, name, value)-> Kandan.Data.ActiveUsers.runCallbacks('change') if name=="active_users" + onFetchActiveUsers: (channels)=> + return (activeUsers)=> + if not Kandan.Helpers.ActiveUsers.collectionHasCurrentUser(activeUsers) + activeUsers.add([Kandan.Helpers.Users.currentUser()]) + + Kandan.Helpers.ActiveUsers.setFromCollection(activeUsers) + Kandan.registerPlugins() + Kandan.Plugins.initAll() + Kandan.initChatArea(channels) + Kandan.initChatbox() + Kandan.initTabs() + Kandan.Widgets.initAll() + + init: -> channels = new Kandan.Collections.Channels() channels.fetch({success: (channelsCollection)=> @initBroadcasterAndSubscribe() @bindEventCallbacks() - - active_users = new Kandan.Collections.ActiveUsers() - active_users.fetch({ - success: (activeUsersCollection)=> - - if not Kandan.Helpers.ActiveUsers.collectionHasCurrentUser(activeUsersCollection) - activeUsersCollection.add([Kandan.Helpers.Users.currentUser()]) - - Kandan.Helpers.ActiveUsers.setFromCollection(activeUsersCollection) - Kandan.register_plugins() - Kandan.Plugins.init_all() - @initChatArea(channelsCollection) - @initChatbox() - @initTabs() - Kandan.Widgets.init_all() - }) + activeUsers = new Kandan.Collections.ActiveUsers() + activeUsers.fetch({success: @onFetchActiveUsers(channelsCollection)}) }) diff --git a/app/assets/javascripts/backbone/plugins.js.coffee b/app/assets/javascripts/backbone/plugins.js.coffee index cc12f13e..6f837e58 100644 --- a/app/assets/javascripts/backbone/plugins.js.coffee +++ b/app/assets/javascripts/backbone/plugins.js.coffee @@ -7,5 +7,5 @@ class Kandan.Plugins @all: ()-> @plugins - @init_all: ()-> + @initAll: ()-> eval(plugin).init() for plugin in @all() \ No newline at end of file diff --git a/app/assets/javascripts/backbone/widgets.js.coffee b/app/assets/javascripts/backbone/widgets.js.coffee index f88c89fb..2b3ababe 100644 --- a/app/assets/javascripts/backbone/widgets.js.coffee +++ b/app/assets/javascripts/backbone/widgets.js.coffee @@ -7,7 +7,7 @@ class Kandan.Widgets @all: ()-> @widgets - @init_all: ()-> + @initAll: ()-> $.each @widgets, (widget_namespace, el_name)=> @init(widget_namespace)