Sha256: 38efec64f4b74f78c80bc0aa3bced2ca6a69bbb970278b77dc0ac3399505cb31

Contents?: true

Size: 1.01 KB

Versions: 77

Compression:

Stored size: 1.01 KB

Contents

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

  autosave: =>
    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

77 entries across 77 versions & 1 rubygems

Version Path
tenon-1.1.8 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.1.7 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.1.6 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.1.5 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.1.4 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.1.3 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.1.2 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.1.1 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.76 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.75 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.74 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.73 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.72 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.71 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.70 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.69 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.68 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.67 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.66 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee
tenon-1.0.65 app/assets/javascripts/tenon/features/item_version_autosave.js.coffee