Sha256: 3db01752a4406cd8d764e2c6fe19006b1fdfdbd3455d2ce4cb2c704bb5a6d027

Contents?: true

Size: 1.07 KB

Versions: 52

Compression:

Stored size: 1.07 KB

Contents

var sortable = sortable || {
  init: function() {
    $('table tbody').each(function(){
      var tbody = $(this);

      if(tbody.find('tr[data-update-position]').length > 0) {
        sortable.load_on_tbody(tbody);
      }
    });
  },

  load_on_tbody: function(tbody) {
    sortable.generate_handle(tbody);

    tbody.sortable({
      handle: 'td.handle',
      update: sortable.update_position_listener
    });
  },

  generate_handle: function(tbody) {
    tbody.siblings('thead').find('tr th:first').before('<th></th>');
    tbody.find('tr[data-update-position]').each(function(){
      $(this).find('td:first').before(sortable.handle_html());
    });
  },

  update_position_listener: function(e, ui) {
    var new_position = ui.item.index() + 1;

    $.ajax({
      data: { position: new_position },
      url: ui.item.data('update-position'),
      type: 'POST'
    });
  },

  handle_html: function() {
    html = '<td class="handle">';
    html += '  <a href="#"><span class="fa fa-arrows"></span></a>';
    html += '</td>';
    return $(html);
  }
};

$(function(){ sortable.init(); });

Version data entries

52 entries across 52 versions & 1 rubygems

Version Path
udongo-7.9.0 app/assets/javascripts/backend/sortable.js
udongo-7.8.1 app/assets/javascripts/backend/sortable.js
udongo-7.8.0 app/assets/javascripts/backend/sortable.js
udongo-7.7.2 app/assets/javascripts/backend/sortable.js
udongo-7.7.1 app/assets/javascripts/backend/sortable.js
udongo-7.7.0 app/assets/javascripts/backend/sortable.js
udongo-7.6.2 app/assets/javascripts/backend/sortable.js
udongo-7.6.1 app/assets/javascripts/backend/sortable.js
udongo-7.6.0 app/assets/javascripts/backend/sortable.js
udongo-7.5.1 app/assets/javascripts/backend/sortable.js
udongo-7.5.0 app/assets/javascripts/backend/sortable.js
udongo-7.4.2 app/assets/javascripts/backend/sortable.js
udongo-7.4.1 app/assets/javascripts/backend/sortable.js
udongo-7.4.0 app/assets/javascripts/backend/sortable.js
udongo-7.3.5 app/assets/javascripts/backend/sortable.js
udongo-7.3.4 app/assets/javascripts/backend/sortable.js
udongo-7.3.3 app/assets/javascripts/backend/sortable.js
udongo-7.3.2 app/assets/javascripts/backend/sortable.js
udongo-7.3.1 app/assets/javascripts/backend/sortable.js
udongo-7.2.1 app/assets/javascripts/backend/sortable.js