Sha256: 577fadfabecef32dc34476b54f39bdf801d20039a7da65a56f77555e6da73e6e

Contents?: true

Size: 1.37 KB

Versions: 42

Compression:

Stored size: 1.37 KB

Contents

reorder = (event, diff, edit) ->
  change = diff.find (obj) -> obj.node == edit.triggerRow.node()
  return unless change?

  $table = $(event.currentTarget)
  oldNode = $("<div>#{change.oldData}</div>").find('input[data-reorder-resource]')
  newNode = $("<div>#{change.newData}</div>").find('input[data-reorder-resource]')
  return unless oldNode? && newNode?

  url = @context[0].ajax.url.replace('.json', '/reorder.json')
  data = {'reorder[id]': oldNode.data('reorder-resource'), 'reorder[old]': oldNode.val(), 'reorder[new]': newNode.val(), attributes: $table.data('attributes') }

  @context[0].rowreorder.c.enable = false

  $.ajax(
    method: 'post',
    url: url,
    data: data,
    async: false
  ).fail((response, text, status) =>
    $(event.target).closest('table').DataTable().flash(status, 'danger')
  ).always((response) =>
    @context[0].rowreorder.c.enable = true
  )

$.fn.DataTable.Api.register('reorder()', reorder);

$(document).on 'click', '.dataTables_wrapper a.buttons-reorder', (event) ->
  event.preventDefault() # prevent the click

  $link = $(event.currentTarget)
  $table = $link.closest('.dataTables_wrapper').find('table.dataTable').first()

  column = $table.DataTable().column('.col-_reorder')
  return unless column.length > 0

  if column.visible()
    $table.removeClass('reordering')
  else
    $table.addClass('reordering')

  column.visible(!column.visible())

Version data entries

42 entries across 42 versions & 1 rubygems

Version Path
effective_datatables-3.7.10 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-3.7.9 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-3.7.8 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-3.7.7 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.9 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.8 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.7 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.6 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.5 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.4 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.3 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.2 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.1 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.8.0 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.7.21 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.7.20 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.7.19 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.7.18 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-3.7.6 app/assets/javascripts/effective_datatables/reorder.js.coffee
effective_datatables-4.7.17 app/assets/javascripts/effective_datatables/reorder.js.coffee