Repository URL to install this package:
|
Version:
0.1.1 ▾
|
class @LivePreview
@form = null
@method_field = null
@preview_url = null
constructor: (form, preview_url) ->
@form = form
@method_field = form.find('input[name=_method]')
@preview_url = preview_url
run: ->
@store_attrs()
@set_preview_mode()
@form.submit()
@restore_form()
store_attrs: ->
@form.data('original-method', @form.attr('method'))
@form.data('original-action', @form.attr('action'))
@form.data('original-rails-method', @method_field.val())
restore_form: ->
@form.attr('method', @form.data('original-method'))
@form.attr('action', @form.data('original-action'))
@form.attr('target', '_self')
@method_field.val(@form.data('original-rails-method'))
set_preview_mode: ->
@method_field.val('post')
@form.attr('method', 'post').attr('action', @preview_url).attr('target', '_blank')
@attach_handler: (element) ->
element.click (ev) ->
ev.preventDefault
new LivePreview($('#main_content').find('form'), $(this).attr('href')).run()
return false