codecombat/app/views/play/level/modal/multiplayer_modal.coffee

58 lines
1.5 KiB
CoffeeScript
Raw Normal View History

2014-01-03 13:32:13 -05:00
View = require 'views/kinds/ModalView'
template = require 'templates/play/level/modal/multiplayer'
2014-02-06 20:31:08 -05:00
{me} = require('lib/auth')
2014-01-03 13:32:13 -05:00
module.exports = class MultiplayerModal extends View
id: 'level-multiplayer-modal'
template: template
events:
'click textarea': 'onClickLink'
'change #multiplayer': 'updateLinkSection'
'click #submit-session-button': 'submitSession'
2014-01-03 13:32:13 -05:00
constructor: (options) ->
super(options)
@session = options.session
@level = options.level
2014-02-11 18:38:36 -05:00
@session.on 'change:multiplayer', @updateLinkSection, @
2014-02-06 20:31:08 -05:00
@playableTeams = options.playableTeams
2014-01-03 13:32:13 -05:00
getRenderData: ->
c = super()
c.joinLink = (document.location.href.replace(/\?.*/, '').replace('#', '') +
'?session=' +
@session.id)
c.multiplayer = @session.get('multiplayer')
2014-02-06 20:31:08 -05:00
c.playableTeams = @playableTeams
2014-02-13 18:42:00 -05:00
c.ladderGame = @level?.get('name') is 'Project DotA' and not me.get('isAnonymous')
2014-01-03 13:32:13 -05:00
c
2014-01-03 13:32:13 -05:00
afterRender: ->
super()
@updateLinkSection()
2014-02-06 20:31:08 -05:00
onClickLink: (e) ->
2014-01-03 13:32:13 -05:00
e.target.select()
2014-02-11 18:38:36 -05:00
updateLinkSection: ->
multiplayer = @$el.find('#multiplayer').prop('checked')
2014-01-03 13:32:13 -05:00
la = @$el.find('#link-area')
la.toggle Boolean(multiplayer)
true
2014-01-03 13:32:13 -05:00
submitSession: ->
$.ajax('/queue/scoring', {
method: 'POST'
data:
session: @session.id
})
2014-01-03 13:32:13 -05:00
onHidden: ->
multiplayer = Boolean(@$el.find('#multiplayer').prop('checked'))
@session.set('multiplayer', multiplayer)
2014-02-11 18:38:36 -05:00
destroy: ->
@session.off 'change:multiplayer', @updateLinkSection, @
super()