Skip to content

Instantly share code, notes, and snippets.

@fpaint
Created March 29, 2016 20:41
Show Gist options
  • Select an option

  • Save fpaint/8fa65902703246605bfd2a1d3395c1c9 to your computer and use it in GitHub Desktop.

Select an option

Save fpaint/8fa65902703246605bfd2a1d3395c1c9 to your computer and use it in GitHub Desktop.
Модуль для форм
App.editor = (->
self =
# ------------------ Форма ------------------
form: (container)->
el = $(container)
# примитивы
init_controls = ->
button = $('<button type=button>').addClass('submit_button').html('Сохранить')
el.append App.template.div 'form_controls', button
button_state = App.ajax.button button, on_submit
submit_proc = (url, data = {}, on_success = null, on_error = null)->
$.ajax
method: 'post',
url: url,
data: data,
success: on_success,
error: on_error
get_form_data = (data = {})->
$.extend data, $('form', el).serializeObject()
# поведение
on_submit = -> {}
on_success = -> {}
# внешний интерфейс
form_instance =
simple: (name, url)->
on_submit = ->
data = get_form_data({name: name})
submit_proc(url, data, on_success)
init_controls()
@
form_instance
self
)()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment