Add help button to problem alert

This commit is contained in:
Matt Lott 2014-12-15 15:11:27 -08:00
parent eadde0590e
commit f1d7fb5fbd
6 changed files with 17 additions and 1 deletions
app
locale
styles/play/level/tome
templates/play/level/tome
views/play

View file

@ -270,6 +270,7 @@
loading_ready: "Ready!"
loading_start: "Start Level"
problem_alert_title: "Fix Your Code"
problem_alert_help: "Help"
time_current: "Now:"
time_total: "Max:"
time_goto: "Go to:"

View file

@ -63,6 +63,9 @@
&.alert-info
border-image-source: url(/images/level/code_editor_info_background.png)
#problem-alert-help-button
float: right
html.no-borderimage
.problem-alert

View file

@ -6,3 +6,4 @@ if hint
span.problem-subtitle!= message
else
span.problem-title!= message
button.btn.btn-lg.btn-info.banner#problem-alert-help-button(data-i18n="play_level.problem_alert_help")

View file

@ -240,7 +240,7 @@ module.exports = class PlayLevelView extends RootView
@insertSubView new HUDView {level: @level}
@insertSubView new LevelDialogueView {level: @level}
@insertSubView new ChatView levelID: @levelID, sessionID: @session.id, session: @session
@insertSubView new ProblemAlertView {}
@insertSubView new ProblemAlertView session: @session, level: @level, supermodel: @supermodel
worldName = utils.i18n @level.attributes, 'name'
@controlBar = @insertSubView new ControlBarView {worldName: worldName, session: @session, level: @level, supermodel: @supermodel}
#_.delay (=> Backbone.Mediator.publish('level:set-debug', debug: true)), 5000 if @isIPadApp() # if me.displayName() is 'Nick'

View file

@ -1,4 +1,5 @@
CocoView = require 'views/core/CocoView'
GameMenuModal = require 'views/play/menu/GameMenuModal'
template = require 'templates/play/level/tome/problem_alert'
{me} = require 'core/auth'
@ -17,9 +18,13 @@ module.exports = class ProblemAlertView extends CocoView
events:
'click .close': 'onRemoveClicked'
'click #problem-alert-help-button': 'onClickProblemAlertHelp'
constructor: (options) ->
super options
@level = options.level
@session = options.session
@supermodel = options.supermodel
if options.problem?
@problem = options.problem
@onWindowResize()
@ -69,6 +74,7 @@ module.exports = class ProblemAlertView extends CocoView
@onWindowResize()
@render()
@onJiggleProblemAlert()
application.tracker?.trackEvent 'Show problem alert', levelID: @level.get('slug')
onJiggleProblemAlert: ->
return unless @problem?
@ -83,6 +89,10 @@ module.exports = class ProblemAlertView extends CocoView
return unless @$el.is(':visible')
@onRemoveClicked()
onClickProblemAlertHelp: ->
application.tracker?.trackEvent 'Problem alert help clicked', levelID: @level.get('slug')
@openModalView new GameMenuModal showTab: 'guide', level: @level, session: @session, supermodel: @supermodel
onRemoveClicked: ->
@playSound 'menu-button-click'
@$el.hide()

View file

@ -50,6 +50,7 @@ module.exports = class GameMenuModal extends ModalView
if @options.showTab
firstView = switch @options.showTab
when 'multiplayer' then @subviews.multiplayer_view
when 'guide' then @subviews.guide_view
unless firstView?
firstView = (@subviews.options_view)
firstView.$el.addClass 'active'