Sha256: b010f095e35f26b93a2ff164e9a662e83c99fe314e2588f340110770a0525b28

Contents?: true

Size: 1.18 KB

Versions: 3

Compression:

Stored size: 1.18 KB

Contents

class @FormPopup.View extends Backbone.View

  className : 'add_new_popup soft-hide'

  events :
    'click .reset' : 'onReset'

  initialize : () ->
    @model.on 'show', () =>
      @$el.show()
    @model.on 'hide', () =>
      @$el.hide()

  onReset : (e) ->
    e.preventDefault()
    @closePopup()

  closePopup : () ->
    @model.destroy()
    @undelegateEvents()
    @$el.remove()

  renderFromUrl : (url) ->
    $.get url, (html) =>
      @$el.html html
      @delegateEvents()
      @_init()

  _init : () ->
    $form = @$el.find 'form'
    if $form.length > 0
      @_initPlugins()
      @_initForm $form
    else
      @_bindButton()

  _initPlugins : () ->
    $(document)
      .trigger('init-select')
      .trigger('init-uploader')

  _initForm : ($form) ->
    (new FormAjaxSubmit($form)).init()
    $form.on 'ajax-submit-done', (e, data) =>
      $(document).trigger 'form-saved', [@model.get('modelClassName'), data]
      @closePopup()

  _bindButton : () ->
    @$el.find('button').click (e) =>
      @renderFromUrl $(e.currentTarget).data('new')


@FormPopup.View.init = (popupModel, url) ->
  popupView = new FormPopup.View
    model : popupModel
  popupView.renderFromUrl url
  popupView

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rademade_admin-0.0.3 app/assets/javascripts/rademade_admin/app/form-popup/view.coffee
rademade_admin-0.0.2 app/assets/javascripts/rademade_admin/app/form-popup/view.coffee
rademade_admin-0.0.1 app/assets/javascripts/rademade_admin/app/form-popup/view.coffee