Sha256: f816e80251578faf74be8fa6397d878943ae1dfd98a3ed905620196199ffa34c

Contents?: true

Size: 1.11 KB

Versions: 20

Compression:

Stored size: 1.11 KB

Contents

class Para.ResourceTable
  constructor: (@$table) ->
    @$tbody = @$table.find('tbody')
    @initializeOrderable()

  initializeOrderable: ->
    @orderable = @$table.hasClass('orderable')

    return unless @orderable

    @orderUrl = @$table.data('order-url')

    @$tbody.sortable
      handle: '.order-anchor'
      draggable: 'tr'
      ghostClass: 'sortable-placeholder'
      onUpdate: $.proxy(@sortUpdate, this)

  sortUpdate: ->
    @$tbody.find('tr').each (i, el) ->
      $(el).find('.resource-position-field').val(i)

    @updateOrder()

  updateOrder: ->
    Para.ajax(
      url: @orderUrl
      method: 'patch'
      data:
        resources: @buildOrderedData()
      success: $.proxy(@orderUpdated, this)
    )

  buildOrderedData: ->
    for i, field of @$tbody.find('.resource-position-field').get()
      $field = $(field)
      { id: $field.closest('.order-anchor').data('id'), position: $field.val() }

  orderUpdated: ->
    # TODO: Add flash message to display ordering success

$(document).on 'page:change turbolinks:load', ->
  $('.para-component-relation-table').each (i, el) ->
    new Para.ResourceTable($(el))

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
para-0.11.4 app/assets/javascripts/para/admin/table.coffee
para-0.11.3 app/assets/javascripts/para/admin/table.coffee
para-0.11.2 app/assets/javascripts/para/admin/table.coffee
para-0.11.1 app/assets/javascripts/para/admin/table.coffee
para-0.11.0 app/assets/javascripts/para/admin/table.coffee
para-0.10.0 app/assets/javascripts/para/admin/table.coffee
para-0.9.4 app/assets/javascripts/para/admin/table.coffee
para-0.9.3.3 app/assets/javascripts/para/admin/table.coffee
para-0.9.3.2 app/assets/javascripts/para/admin/table.coffee
para-0.9.3.1 app/assets/javascripts/para/admin/table.coffee
para-0.9.2 app/assets/javascripts/para/admin/table.coffee
para-0.9.0 app/assets/javascripts/para/admin/table.coffee
para-0.8.15 app/assets/javascripts/para/admin/table.coffee
para-0.8.14 app/assets/javascripts/para/admin/table.coffee
para-0.8.13 app/assets/javascripts/para/admin/table.coffee
para-0.8.12 app/assets/javascripts/para/admin/table.coffee
para-0.8.11 app/assets/javascripts/para/admin/table.coffee
para-0.8.10 app/assets/javascripts/para/admin/table.coffee
para-0.8.9 app/assets/javascripts/para/admin/table.coffee
para-0.8.8 app/assets/javascripts/para/admin/table.coffee