mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2024-11-25 00:28:31 -05:00
55 lines
1.6 KiB
CoffeeScript
55 lines
1.6 KiB
CoffeeScript
app = require 'core/application'
|
|
RootView = require 'views/core/RootView'
|
|
template = require 'templates/courses/mock1/courses'
|
|
|
|
module.exports = class CoursesView extends RootView
|
|
id: 'courses-view'
|
|
template: template
|
|
|
|
events:
|
|
'click .btn-enter': 'onClickEnter'
|
|
'click .btn-have-code': 'onClickHaveCode'
|
|
'click .btn-more-info': 'onClickMoreInfo'
|
|
'click .btn-redeem-code': 'onClickRedeemCode'
|
|
|
|
constructor: (options) ->
|
|
super options
|
|
@initData()
|
|
|
|
getRenderData: ->
|
|
context = super()
|
|
context.courses = @courses ? []
|
|
context
|
|
|
|
initData: ->
|
|
mockData = require 'views/courses/mock1/CoursesMockData'
|
|
@courses = mockData.courses
|
|
for course, i in @courses
|
|
if _.random(0, 2) > 0
|
|
course.unlocked = true
|
|
else
|
|
break
|
|
|
|
onClickEnter: (e) ->
|
|
courseID = $(e.target).data('course-id')
|
|
app.router.navigate "/courses/mock1/#{courseID}"
|
|
window.location.reload()
|
|
|
|
onClickHaveCode: (e) ->
|
|
courseID = $(e.target).data('course-id')
|
|
courseTitle = $(e.target).data('course-title')
|
|
$('#redeemCodeModal').find('.modal-title').text(courseTitle)
|
|
$('#redeemCodeModal').find('.btn-redeem-code').data('course-id', courseID)
|
|
|
|
onClickMoreInfo: (e) ->
|
|
courseID = $(e.target).data('course-id')
|
|
app.router.navigate "/courses/mock1/#{courseID}/info"
|
|
window.location.reload()
|
|
|
|
onClickRedeemCode: (e) ->
|
|
$('#redeemCodeModal').modal('hide')
|
|
courseID = $(e.target).data('course-id')
|
|
|
|
# TODO: would just navigate instead of rendering unlock here in practice
|
|
@courses[courseID].unlocked = true
|
|
@render?()
|