Sha256: 613d7ae318db1bb1a96c7fd4577cea6441b212fcc569114a15fb962b64150598

Contents?: true

Size: 1.13 KB

Versions: 6

Compression:

Stored size: 1.13 KB

Contents

jQuery.fn.draggable_lists = function() {
  this.addClass('draggable-list');
  var list_selected = jQuery(this.get(0).cloneNode(false)).addClass('selected');
  list_selected.attr('id', list_selected.attr('id') + '_selected').insertAfter(this);
  this.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);
    li.draggable({appendTo: 'body', helper: 'clone'});
  });
  jQuery([this, list_selected]).droppable({
    hoverClass: 'hover',
    accept: function(draggable) {
      var parent_id = draggable.parent().attr('id'), id = jQuery(this).attr('id'),
        requested_id = jQuery(this).hasClass('selected') ? id.replace('_selected', '') : id + '_selected';
      return parent_id == requested_id;
    },
    drop: function(event, ui) {
      jQuery(this).append(ui.draggable);
      var input = jQuery('input:checkbox', ui.draggable);
      input.prop('checked', jQuery(this).hasClass('selected'));
      ui.draggable.css({left: '0px', top: '0px'});
    }
  });
  return this;
};

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
active_scaffold-3.3.3 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.3.2 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.3.1 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.3.0 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.3.0.rc3 app/assets/javascripts/jquery/draggable_lists.js
active_scaffold-3.3.0.rc2 app/assets/javascripts/jquery/draggable_lists.js