Implement assetpack for Sinatra

This commit is contained in:
Gregory Eremin
2013-07-12 17:40:26 +07:00
parent 9b1df758cf
commit ce91297ee0
17 changed files with 73 additions and 433 deletions
+34
View File
@@ -0,0 +1,34 @@
class Selector
constructor: (selector) ->
@input = $("#{selector}-input")
@dropdown = $("#{selector}-selector")
@placeholder = @dropdown.children 'span'
@prefix = @placeholder.text()
@options = @dropdown.find 'ul.dropdown > li'
this.initEvents()
initEvents: ->
self = this
@dropdown.on 'click', (e) ->
$(this).toggleClass('active') unless $(this).hasClass('disabled')
false
@options.on 'click', (e) ->
$el = $(this)
$el.siblings().removeClass 'selected'
$el.addClass 'selected'
self.placeholder.text "#{self.prefix}: #{$el.text()}"
self.setValue $el.data 'value'
$('textarea').focus()
@options.filter('.selected').click()
@dropdown.removeClass 'active'
setValue: (value) ->
@input.val value
$ ->
new Selector '#syntax'
$(document).on 'click', (e) ->
$('.wrapper-dropdown').removeClass 'active'
+18
View File
@@ -0,0 +1,18 @@
$ ->
$form = $('form')
$contents = $form.find('textarea')
$_button = $form.find('input[type="submit"]')
$button = $form.find('a[role="submit"]')
$syntax_selector = $('#syntax-selector')
# Hide generic button, show styled button
$_button.hide()
$button.show()
$contents.focus()
# Binding submit event to new button
$button.on 'click', (e) ->
$form.submit() unless $(this).hasClass('disabled')
$(this).addClass('disabled')
$syntax_selector.addClass('disabled')
false