mirror of
https://github.com/codeninjasllc/codecombat.git
synced 2025-04-29 15:35:15 -04:00
Add ChangeCourseLanguageModal to CoursesView
This commit is contained in:
parent
03a38f6129
commit
2adb3362ed
4 changed files with 61 additions and 2 deletions
app
templates/courses
views/courses
27
app/templates/courses/change-course-language-modal.jade
Normal file
27
app/templates/courses/change-course-language-modal.jade
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
extends /templates/core/modal-base
|
||||||
|
|
||||||
|
block modal-header-content
|
||||||
|
.clearfix
|
||||||
|
|
||||||
|
block modal-body-content
|
||||||
|
#choice-area.text-center
|
||||||
|
- var currentLanguage = (me.get('aceConfig') || {}).language || 'python';
|
||||||
|
button.lang-choice-btn.btn.btn-success.btn-lg(data-language='python')
|
||||||
|
if currentLanguage === 'python'
|
||||||
|
| Keep Using Python
|
||||||
|
else
|
||||||
|
| Switch To Python
|
||||||
|
|
||||||
|
p - OR -
|
||||||
|
|
||||||
|
if currentLanguage === 'javascript'
|
||||||
|
button.lang-choice-btn.btn.btn-default(data-language='javascript')
|
||||||
|
if currentLanguage === 'javascript'
|
||||||
|
| Keep Using JavaScript
|
||||||
|
else
|
||||||
|
| Switch to JavaScript
|
||||||
|
#saving-progress.progress.progress-striped.active.hide
|
||||||
|
.progress-bar(style="width: 100%")
|
||||||
|
|
||||||
|
block modal-footer-content
|
||||||
|
|
|
@ -51,7 +51,7 @@ block content
|
||||||
.course-instance-entry
|
.course-instance-entry
|
||||||
h2
|
h2
|
||||||
span.spr Hour of Code: Course 1
|
span.spr Hour of Code: Course 1
|
||||||
span.spr= (view.hocCourseInstance.get('aceConfig') || {}).language === 'python' ? 'Python' : 'JavaScript'
|
span.spr= (me.get('aceConfig') || {}).language === 'python' ? 'Python' : 'JavaScript'
|
||||||
small
|
small
|
||||||
a#change-language-link change language
|
a#change-language-link change language
|
||||||
+course-instance-body(hocCourseInstance)
|
+course-instance-body(hocCourseInstance)
|
||||||
|
|
26
app/views/courses/ChangeCourseLanguageModal.coffee
Normal file
26
app/views/courses/ChangeCourseLanguageModal.coffee
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
ModalView = require 'views/core/ModalView'
|
||||||
|
template = require 'templates/courses/change-course-language-modal'
|
||||||
|
|
||||||
|
module.exports = class ChangeCourseLanguageModal extends ModalView
|
||||||
|
id: 'change-course-language-modal'
|
||||||
|
template: template
|
||||||
|
|
||||||
|
events:
|
||||||
|
'click .lang-choice-btn': 'onClickLanguageChoiceButton'
|
||||||
|
|
||||||
|
onClickLanguageChoiceButton: (e) ->
|
||||||
|
@chosenLanguage = $(e.target).data('language')
|
||||||
|
aceConfig = _.clone(me.get('aceConfig') or {})
|
||||||
|
aceConfig.language = @chosenLanguage
|
||||||
|
me.set('aceConfig', aceConfig)
|
||||||
|
res = me.patch()
|
||||||
|
if res
|
||||||
|
@$('#choice-area').hide()
|
||||||
|
@$('#saving-progress').removeClass('hide')
|
||||||
|
@listenToOnce me, 'sync', @onLanguageSettingSaved
|
||||||
|
else
|
||||||
|
@onLanguageSettingSaved()
|
||||||
|
|
||||||
|
onLanguageSettingSaved: ->
|
||||||
|
@trigger('set-language')
|
||||||
|
@hide()
|
|
@ -4,6 +4,7 @@ RootView = require 'views/core/RootView'
|
||||||
template = require 'templates/courses/courses-view'
|
template = require 'templates/courses/courses-view'
|
||||||
StudentLogInModal = require 'views/courses/StudentLogInModal'
|
StudentLogInModal = require 'views/courses/StudentLogInModal'
|
||||||
StudentSignUpModal = require 'views/courses/StudentSignUpModal'
|
StudentSignUpModal = require 'views/courses/StudentSignUpModal'
|
||||||
|
ChangeCourseLanguageModal = require 'views/courses/ChangeCourseLanguageModal'
|
||||||
CourseInstance = require 'models/CourseInstance'
|
CourseInstance = require 'models/CourseInstance'
|
||||||
CocoCollection = require 'collections/CocoCollection'
|
CocoCollection = require 'collections/CocoCollection'
|
||||||
Course = require 'models/Course'
|
Course = require 'models/Course'
|
||||||
|
@ -22,6 +23,7 @@ module.exports = class CoursesView extends RootView
|
||||||
'click #start-new-game-btn': 'onClickStartNewGameButton'
|
'click #start-new-game-btn': 'onClickStartNewGameButton'
|
||||||
'click #join-class-btn': 'onClickJoinClassButton'
|
'click #join-class-btn': 'onClickJoinClassButton'
|
||||||
'submit #join-class-form': 'onSubmitJoinClassForm'
|
'submit #join-class-form': 'onSubmitJoinClassForm'
|
||||||
|
'click #change-language-link': 'onClickChangeLanguageLink'
|
||||||
|
|
||||||
initialize: ->
|
initialize: ->
|
||||||
@courseInstances = new CocoCollection([], { url: "/db/user/#{me.id}/course_instances", model: CourseInstance})
|
@courseInstances = new CocoCollection([], { url: "/db/user/#{me.id}/course_instances", model: CourseInstance})
|
||||||
|
@ -124,4 +126,8 @@ module.exports = class CoursesView extends RootView
|
||||||
$.when(jqxhrs...).done =>
|
$.when(jqxhrs...).done =>
|
||||||
@state = ''
|
@state = ''
|
||||||
@render()
|
@render()
|
||||||
delete newClassroom.justAdded
|
delete newClassroom.justAdded
|
||||||
|
|
||||||
|
onClickChangeLanguageLink: ->
|
||||||
|
modal = new ChangeCourseLanguageModal()
|
||||||
|
@openModalView(modal)
|
Loading…
Add table
Add a link
Reference in a new issue