Sha256: b5170bf136398f6cbf96504f7ecf5b49ac92e0be0e4cefe767842bc1c2464a84

Contents?: true

Size: 1.49 KB

Versions: 4

Compression:

Stored size: 1.49 KB

Contents

# copied from
# https://github.com/phillipp/jquery-ujs/blob/master/src/rails.js#L185-L209
# TODO: change after pull request is accepted
handleMethodParams = (link) ->
  href = link.attr('href')
  method = link.data('bulk-action-method')
  target = link.attr('target')
  params = link.data('params')
  csrf_token = $('meta[name=csrf-token]').attr('content')
  csrf_param = $('meta[name=csrf-param]').attr('content')
  form = $('<form method="post" action="' + href + '"></form>')
  metadata_input = '<input name="_method" value="' + method + '" type="hidden" />'

  if csrf_param isnt 'undefined' && csrf_token isnt 'undefined'
    metadata_input += '<input name="' + csrf_param + '" value="' + csrf_token + '" type="hidden" />'

  if(params)
    for key of params
      metadata_input += '<input name="' + key + '" value="' + params[key] + '" type="hidden" />'

  if (target) 
    form.attr('target', target)

  form.hide().append(metadata_input).appendTo('body')
  form.submit()

$(document).on 'click', '[data-bulk-action-method]', (event) ->
  event.preventDefault()

  # if element with 'data-bulk-actions-params' is set, get params from it
  # instead search for checkboxes named 'bulk_ids[]' 
  if $("[data-bulk-actions-params]").length == 0
    ids = $("input[name^='bulk_ids[]']:checked").map(->
      return $(@).val()
    ).get()
    $(@).data('params', ids: ids)
  else
    params = $("[data-bulk-actions-params]").data('bulk-actions-params')
    $(@).data('params', params)

  handleMethodParams($(@))

  return true

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
basepack-1.0.1 app/assets/javascripts/basepack/list.coffee
basepack-1.0.0 app/assets/javascripts/basepack/list.coffee
basepack-1.0.0.pre.0 app/assets/javascripts/basepack/list.coffee
basepack-0.2.0 app/assets/javascripts/basepack/list.coffee