Sha256: 02dd09f58bbf1f78408cf80759b62a78c7ad99e268ec8f0b7944cb11d47492d1

Contents?: true

Size: 1.03 KB

Versions: 6

Compression:

Stored size: 1.03 KB

Contents

class Tenon.features.ItemVersionAutosave
  constructor: ->
    @$form = $('form[data-autosave="true"]')
    @$form.on('keyup change cocoon:after-insert cocoon:after-remove', $.debounce(6000, @autosave))

  autosave: =>
    console.log('saved')
    jqxhr = $.ajax
      url: @$form.data('version-create-path')
      data: @_formData()
      method: 'POST'
    jqxhr.done(@_updateAutosave)

  _updateAutosave: (data) =>
    $('.last-autosave')
      .text("Last draft autosave on #{data.created_at}")
      .fadeIn()

  _formData:  =>
    itemFormData = URI("?" + @$form.serialize()).query(true)

    # Serialize the checkbox in a way that rails can get down with
    @$form.find("input:checkbox").each ->
      if !(@.checked)
        itemFormData[@.name] = "0"
      else
        itemFormData[@.name] = "1"

    versionData =
      item_version:
        item_type: @$form.data('item-type')
        item_id: @$form.data('item-id')
        save_type: 'autosave'
        title: 'Auto-Save'
    delete(itemFormData._method)
    $.extend(itemFormData, versionData)

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
tenon-1.0.5 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.4 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.3 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.2 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.1 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee