Sha256: c7b72a5bafc252d8f389083a72c899e6d96a32b2ab4404df3b910d51168b002e

Contents?: true

Size: 1.3 KB

Versions: 4

Compression:

Stored size: 1.3 KB

Contents

(function() {
  function enableDraggableLists(element) {
    if (element.hasClass('draggable-list')) return;
    element.addClass('draggable-list');
    var list_selected = jQuery(element.get(0).cloneNode(false)).addClass('selected');
    list_selected.attr('id', list_selected.attr('id') + '_selected').insertAfter(element);
    element.find('input:checkbox').each(function(index, item) {
      var li = jQuery(item).closest('li').addClass('draggable-item');
      li.children('label').removeAttr('for');
      if (jQuery(item).is(':checked')) li.appendTo(list_selected);
    });
    var options = {
      hoverClass: 'hover',
      containment: '',
      receive: function(event, ui) {
        var input = jQuery('input:checkbox', ui.item), selected = input.prop('checked');
        input.prop('checked', jQuery(this).hasClass('selected'));
        if (selected != input.prop('checked')) input.trigger('change');
      }
    };
    jQuery(element).sortable(jQuery.extend(options, {connectWith: '#'+list_selected.attr('id')}));
    jQuery(list_selected).sortable(jQuery.extend(options, {connectWith: '#'+element.attr('id')}));
    return element;
  }
  if (typeof(jQuery.fn.sortable) !== 'undefined') {
    jQuery.fn.draggableLists = function() {
      this.each(function() { enableDraggableLists(jQuery(this)); });
    };
  }
})();

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
active_scaffold-3.7.8 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.7.7 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.7.6 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.7.5 app/assets/javascripts/jquery/draggable_lists.js