From 375aca2c0abfc85803c2e2a335aaf2e4114c0289 Mon Sep 17 00:00:00 2001 From: Ting-Kuan Date: Sat, 19 Apr 2014 12:08:40 -0400 Subject: [PATCH] Fix: Some level systems load forever. --- app/models/SuperModel.coffee | 17 ++++++++--------- app/views/account/job_profile_view.coffee | 2 +- app/views/editor/level/systems_tab_view.coffee | 3 ++- app/views/play/ladder/ladder_tab.coffee | 8 ++++---- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/models/SuperModel.coffee b/app/models/SuperModel.coffee index 5316e51d8..d48add500 100644 --- a/app/models/SuperModel.coffee +++ b/app/models/SuperModel.coffee @@ -11,6 +11,14 @@ module.exports = class SuperModel extends Backbone.Model @collections = {} @schemas = {} + # setInterval(@checkModelStatus, 5000) + + # For debugging + checkModelStatus: => + for key, res of @resources + continue if res.isLoaded + console.debug 'resource ' + res.name + ' is still loading' + populateModel: (model, resName) -> @mustPopulate = model model.saveBackups = @shouldSaveBackups(model) @@ -222,15 +230,6 @@ class ModelResource extends Resource fetchModel: -> @model.fetch(@fetchOptions) - - ### - setTimeout(=> - if @isLoading - @markLoaded() - @loadDeferred.resolve(@) - console.debug 'gintau', 'load-timeout' - , 5000) - ### @listenToOnce(@model, 'sync', -> @markLoaded() diff --git a/app/views/account/job_profile_view.coffee b/app/views/account/job_profile_view.coffee index 0d32cd799..8c11aa2c8 100644 --- a/app/views/account/job_profile_view.coffee +++ b/app/views/account/job_profile_view.coffee @@ -14,7 +14,7 @@ module.exports = class JobProfileView extends CocoView afterRender: -> super() - return if @loading() + return unless @supermodel.finished() _.defer => @buildJobProfileTreema() # Not sure why, but the Treemas don't fully build without this if you reload the page. buildJobProfileTreema: -> diff --git a/app/views/editor/level/systems_tab_view.coffee b/app/views/editor/level/systems_tab_view.coffee index e83205c60..8ccd7cf3a 100644 --- a/app/views/editor/level/systems_tab_view.coffee +++ b/app/views/editor/level/systems_tab_view.coffee @@ -33,9 +33,10 @@ module.exports = class SystemsTabView extends View ls = new LevelSystem() ls.saveBackups = true lsRes = @supermodel.addModelResource(ls, 'level_system_' + system.original) + lsRes.load() + do (url) -> ls.url = -> url continue if @supermodel.getModelByURL ls.url - lsRes.load() @listenToOnce(lsRes, 'resource:loaded', @onSystemLoaded) ++@toLoad @onDefaultSystemsLoaded() unless @toLoad diff --git a/app/views/play/ladder/ladder_tab.coffee b/app/views/play/ladder/ladder_tab.coffee index a054689d5..cfd7a7bf2 100644 --- a/app/views/play/ladder/ladder_tab.coffee +++ b/app/views/play/ladder/ladder_tab.coffee @@ -36,7 +36,7 @@ module.exports = class LadderTabView extends CocoView constructor: (options, @level, @sessions) -> super(options) - @socialNetworkRes = @supermodel.addSomethingResource("social_network_apis") + @socialNetworkRes = @supermodel.addSomethingResource("social_network_apis", 0) @teams = teamDataFromLevel @level @leaderboards = {} @@ -49,7 +49,7 @@ module.exports = class LadderTabView extends CocoView # @addSomethingToLoad("facebook_status") - @fbStatusRes = @supermodel.addSomethingResource("facebook_status") + @fbStatusRes = @supermodel.addSomethingResource("facebook_status", 0) @fbStatusRes.load() FB.getLoginStatus (response) => @@ -75,7 +75,7 @@ module.exports = class LadderTabView extends CocoView loadFacebookFriends: -> # @addSomethingToLoad("facebook_friends") - @fbFriendRes = @supermodel.addSomethingResource("facebook_friends") + @fbFriendRes = @supermodel.addSomethingResource("facebook_friends", 0) @fbFriendRes.load() FB.api '/me/friends', @onFacebookFriendsLoaded @@ -128,7 +128,7 @@ module.exports = class LadderTabView extends CocoView gplusSessionStateLoaded: -> if application.gplusHandler.loggedIn #@addSomethingToLoad("gplus_friends") - @gpFriendRes = @supermodel.addSomethingResource("gplus_friends") + @gpFriendRes = @supermodel.addSomethingResource("gplus_friends", 0) @gpFriendRes.load() application.gplusHandler.loadFriends @gplusFriendsLoaded