Switching code language based on selection now.
This commit is contained in:
parent
a58f3e0fb6
commit
666c020389
3 changed files with 21 additions and 2 deletions
app
|
@ -81,7 +81,7 @@
|
||||||
text-shadow: none
|
text-shadow: none
|
||||||
|
|
||||||
.code-wizard
|
.code-wizard
|
||||||
display: none
|
opacity: 0.5
|
||||||
|
|
||||||
.code-language
|
.code-language
|
||||||
cursor: pointer
|
cursor: pointer
|
||||||
|
@ -97,6 +97,7 @@
|
||||||
|
|
||||||
.code-wizard
|
.code-wizard
|
||||||
display: block
|
display: block
|
||||||
|
opacity: 1
|
||||||
|
|
||||||
&.selected-language
|
&.selected-language
|
||||||
opacity: 1
|
opacity: 1
|
||||||
|
|
|
@ -7,7 +7,7 @@ block content
|
||||||
.code-languages
|
.code-languages
|
||||||
.primary-code-languages.row
|
.primary-code-languages.row
|
||||||
.col-md-6
|
.col-md-6
|
||||||
.code-language.selected-language#javascript(data-code-language='javascript')
|
.code-language#javascript(data-code-language='javascript')
|
||||||
.code-wizard
|
.code-wizard
|
||||||
h2 JavaScript
|
h2 JavaScript
|
||||||
p The language of the web. Great for writing websites, web apps, HTML5 games, and servers.
|
p The language of the web. Great for writing websites, web apps, HTML5 games, and servers.
|
||||||
|
|
|
@ -10,6 +10,9 @@ module.exports = class HomeView extends View
|
||||||
id: 'home-view'
|
id: 'home-view'
|
||||||
template: template
|
template: template
|
||||||
|
|
||||||
|
events:
|
||||||
|
'click .code-language': 'onCodeLanguageSelected'
|
||||||
|
|
||||||
constructor: ->
|
constructor: ->
|
||||||
super(arguments...)
|
super(arguments...)
|
||||||
ThangType.loadUniversalWizard()
|
ThangType.loadUniversalWizard()
|
||||||
|
@ -25,6 +28,7 @@ module.exports = class HomeView extends View
|
||||||
console.warn 'no more jquery browser version...'
|
console.warn 'no more jquery browser version...'
|
||||||
c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en'
|
c.isEnglish = (me.get('preferredLanguage') or 'en').startsWith 'en'
|
||||||
c.languageName = me.get('preferredLanguage')
|
c.languageName = me.get('preferredLanguage')
|
||||||
|
c.codeLanguage = (me.get('aceConfig') ? {}).language or 'javascript'
|
||||||
c
|
c
|
||||||
|
|
||||||
afterRender: ->
|
afterRender: ->
|
||||||
|
@ -42,3 +46,17 @@ module.exports = class HomeView extends View
|
||||||
href[href.length-1] = lastLevel if href.length isnt 0
|
href[href.length-1] = lastLevel if href.length isnt 0
|
||||||
href = href.join("/")
|
href = href.join("/")
|
||||||
playLink.attr("href", href)
|
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
|
||||||
|
|
Reference in a new issue