Merge pull request from duybkict/fix-3678-rebase

Fix  display error on loading resources failed - rebased
This commit is contained in:
Scott Erickson 2016-06-08 09:35:31 -07:00
commit 9a36cf514e
5 changed files with 16 additions and 1 deletions

View file

@ -40,6 +40,7 @@ module.exports = class LevelLoader extends CocoClass
@worldNecessities = []
@listenTo @supermodel, 'resource-loaded', @onWorldNecessityLoaded
@listenTo @supermodel, 'failed', @onWorldNecessityLoadFailed
@loadLevel()
@loadAudio()
@playJingle()
@ -329,6 +330,9 @@ module.exports = class LevelLoader extends CocoClass
@worldNecessities = (r for r in @worldNecessities when r?)
@onWorldNecessitiesLoaded() if @checkAllWorldNecessitiesRegisteredAndLoaded()
onWorldNecessityLoadFailed: (resource) ->
@trigger('world-necessity-load-failed', resource: resource)
checkAllWorldNecessitiesRegisteredAndLoaded: ->
return false unless _.filter(@worldNecessities).length is 0
return false unless @thangNamesLoaded

View file

@ -157,7 +157,7 @@ $UNVEIL_TIME: 1.2s
font-variant: small-caps
text-transform: none
.subscription-required, .course-membership-required
.subscription-required, .course-membership-required, .could-not-load
display: none
margin-top: -160px
color: black

View file

@ -25,6 +25,9 @@
.progress-bar.progress-bar-success
.rim
.could-not-load
span(data-i18n="loading_error.could_not_load") Error loading from server
.subscription-required
span(data-i18n="subscribe.subscription_required_to_play") You'll need a subscription to play this level.
button.start-subscription-button.btn.btn-lg.btn-warning(data-i18n="subscribe.subscribe") Subscribe

View file

@ -204,6 +204,10 @@ module.exports = class LevelLoadingView extends CocoView
@$el.find('.level-loading-goals, .tip, .load-progress').hide()
@$el.find('.course-membership-required').show()
onLoadError: (resource) ->
@$el.find('.level-loading-goals, .tip, .load-progress').hide()
@$el.find('.could-not-load').show()
onClickStartSubscription: (e) ->
@openModalView new SubscribeModal()
levelSlug = @level?.get('slug') or @options.level?.get('slug')

View file

@ -141,6 +141,7 @@ module.exports = class PlayLevelView extends RootView
levelLoaderOptions.fakeSessionConfig = {}
@levelLoader = new LevelLoader levelLoaderOptions
@listenToOnce @levelLoader, 'world-necessities-loaded', @onWorldNecessitiesLoaded
@listenTo @levelLoader, 'world-necessity-load-failed', @onWorldNecessityLoadFailed
trackLevelLoadEnd: ->
return if @isEditorPreview
@ -195,6 +196,9 @@ module.exports = class PlayLevelView extends RootView
@controlBar.setBus(@bus)
@initScriptManager()
onWorldNecessityLoadFailed: (resource) ->
@loadingView.onLoadError(resource)
grabLevelLoaderData: ->
@session = @levelLoader.session
@world = @levelLoader.world