mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-03-22 10:55:19 -04:00
Refactor ProblemAlertView to use view in template
This commit is contained in:
parent
67244005b2
commit
d0d19f94e9
2 changed files with 15 additions and 16 deletions
app
|
@ -1,8 +1,8 @@
|
|||
button.close(type="button") ×
|
||||
h3.problem-alert-title(data-i18n="play_level.problem_alert_title") Fix Your Code
|
||||
if hint
|
||||
span.problem-title!= hint
|
||||
if view.hint
|
||||
span.problem-title!= view.hint
|
||||
br
|
||||
span.problem-subtitle!= message
|
||||
span.problem-subtitle!= view.message
|
||||
else
|
||||
span.problem-title!= message
|
||||
span.problem-title!= view.message
|
||||
|
|
|
@ -36,8 +36,14 @@ module.exports = class ProblemAlertView extends CocoView
|
|||
$(window).off 'resize', @onWindowResize
|
||||
super()
|
||||
|
||||
getRenderData: (context={}) ->
|
||||
context = super context
|
||||
afterRender: ->
|
||||
super()
|
||||
if @problem?
|
||||
@$el.addClass('alert').addClass("alert-#{@problem.aetherProblem.level}").hide().fadeIn('slow')
|
||||
@$el.addClass('no-hint') unless @problem.aetherProblem.hint
|
||||
@playSound 'error_appear'
|
||||
|
||||
setProblemMessage: ->
|
||||
if @problem?
|
||||
format = (s) -> marked(s.replace(/</g, '<').replace(/>/g, '>')) if s?
|
||||
message = @problem.aetherProblem.message
|
||||
|
@ -50,16 +56,8 @@ module.exports = class ProblemAlertView extends CocoView
|
|||
message = message.replace /^(Line \d+)/, "$1, time #{age.toFixed(1)}"
|
||||
else
|
||||
message = "Time #{age.toFixed(1)}: #{message}"
|
||||
context.message = format message
|
||||
context.hint = format @problem.aetherProblem.hint
|
||||
context
|
||||
|
||||
afterRender: ->
|
||||
super()
|
||||
if @problem?
|
||||
@$el.addClass('alert').addClass("alert-#{@problem.aetherProblem.level}").hide().fadeIn('slow')
|
||||
@$el.addClass('no-hint') unless @problem.aetherProblem.hint
|
||||
@playSound 'error_appear'
|
||||
@message = format message
|
||||
@hint = format @problem.aetherProblem.hint
|
||||
|
||||
onShowProblemAlert: (data) ->
|
||||
return unless $('#code-area').is(":visible")
|
||||
|
@ -72,6 +70,7 @@ module.exports = class ProblemAlertView extends CocoView
|
|||
@lineOffsetPx = data.lineOffsetPx or 0
|
||||
@$el.show()
|
||||
@onWindowResize()
|
||||
@setProblemMessage()
|
||||
@render()
|
||||
@onJiggleProblemAlert()
|
||||
application.tracker?.trackEvent 'Show problem alert', {levelID: @level.get('slug'), ls: @session?.get('_id')}
|
||||
|
|
Loading…
Reference in a new issue