Switching code language based on selection now.

This commit is contained in:
Nick Winter 2014-06-19 13:42:25 -07:00
parent a58f3e0fb6
commit 666c020389
3 changed files with 21 additions and 2 deletions
app

View file

@ -81,7 +81,7 @@
text-shadow: none
.code-wizard
display: none
opacity: 0.5
.code-language
cursor: pointer
@ -97,6 +97,7 @@
.code-wizard
display: block
opacity: 1
&.selected-language
opacity: 1

View file

@ -7,7 +7,7 @@ block content
.code-languages
.primary-code-languages.row
.col-md-6
.code-language.selected-language#javascript(data-code-language='javascript')
.code-language#javascript(data-code-language='javascript')
.code-wizard
h2 JavaScript
p The language of the web. Great for writing websites, web apps, HTML5 games, and servers.

View file

@ -10,6 +10,9 @@ module.exports = class HomeView extends View
id: 'home-view'
template: template
events:
'click .code-language': 'onCodeLanguageSelected'
constructor: ->
super(arguments...)
ThangType.loadUniversalWizard()
@ -25,6 +28,7 @@ module.exports = class HomeView extends View
console.warn 'no more jquery browser version...'
c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en'
c.languageName = me.get('preferredLanguage')
c.codeLanguage = (me.get('aceConfig') ? {}).language or 'javascript'
c
afterRender: ->
@ -42,3 +46,17 @@ module.exports = class HomeView extends View
href[href.length-1] = lastLevel if href.length isnt 0
href = href.join("/")
playLink.attr("href", href)
codeLanguage = (me.get('aceConfig') ? {}).language or 'javascript'
@$el.find(".code-language[data-code-language=#{codeLanguage}]").addClass 'selected-language'
onCodeLanguageSelected: (e) ->
target = $(e.target).closest('.code-language')
codeLanguage = target.data('code-language')
@$el.find('.code-language').removeClass 'selected-language'
target.addClass 'selected-language'
aceConfig = me.get('aceConfig') ? {}
return if (aceConfig.language or 'javascript') is codeLanguage
aceConfig.language = codeLanguage
me.set 'aceConfig', aceConfig
me.save() # me.patch() doesn't work if aceConfig previously existed and we switched just once