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