2015-11-30 19:20:24 -05:00
|
|
|
Classroom = require 'models/Classroom'
|
2015-11-17 19:09:29 -05:00
|
|
|
ModalView = require 'views/core/ModalView'
|
|
|
|
template = require 'templates/courses/classroom-settings-modal'
|
|
|
|
|
2016-01-16 07:07:15 -05:00
|
|
|
module.exports = class ClassroomSettingsModal extends ModalView
|
2015-11-17 19:09:29 -05:00
|
|
|
id: 'classroom-settings-modal'
|
|
|
|
template: template
|
2015-11-30 19:20:24 -05:00
|
|
|
|
2015-11-17 19:09:29 -05:00
|
|
|
events:
|
|
|
|
'click #save-settings-btn': 'onClickSaveSettingsButton'
|
|
|
|
|
|
|
|
initialize: (options) ->
|
|
|
|
@classroom = options.classroom
|
2015-12-04 17:11:17 -05:00
|
|
|
if @classroom
|
|
|
|
application.tracker?.trackEvent 'Classroom started edit settings', category: 'Courses', classroomID: @classroom.id
|
|
|
|
else
|
2015-12-04 17:19:56 -05:00
|
|
|
application.tracker?.trackEvent 'Create new class', category: 'Courses'
|
2015-11-17 19:09:29 -05:00
|
|
|
|
2015-12-07 17:36:55 -05:00
|
|
|
afterRender: ->
|
|
|
|
super()
|
|
|
|
disableLangSelect = @classroom?.get('members')?.length > 0
|
|
|
|
@$('#programming-language-select').prop('disabled', disableLangSelect)
|
|
|
|
@$('.language-locked').toggle(disableLangSelect)
|
|
|
|
|
2015-11-17 19:09:29 -05:00
|
|
|
onClickSaveSettingsButton: ->
|
2015-11-30 19:20:24 -05:00
|
|
|
name = $('.settings-name-input').val()
|
|
|
|
unless @classroom
|
|
|
|
return unless name
|
|
|
|
@classroom = new Classroom({ name: name })
|
|
|
|
if name
|
2015-11-17 19:09:29 -05:00
|
|
|
@classroom.set('name', name)
|
|
|
|
description = $('.settings-description-input').val()
|
|
|
|
@classroom.set('description', description)
|
|
|
|
@classroom.set('aceConfig', {
|
|
|
|
language: @$('#programming-language-select').val()
|
|
|
|
})
|
2015-11-30 19:20:24 -05:00
|
|
|
@classroom.save()
|
2015-11-17 19:09:29 -05:00
|
|
|
@hide()
|