knockout-sortablejs icon indicating copy to clipboard operation
knockout-sortablejs copied to clipboard

Items are always cloned when moving between different sortables

Open patrickguenther opened this issue 8 years ago • 1 comments
trafficstars

The problem seems to be in knockout-sortable.js line 124:

moveItem(itemVM, removeOperation.collection, addOperation.collection, addOperation.event.clone, addOperation.event);

The fourth parameter seems to be the DOM-node of the hovering element when pulling an item from a list, but the function call expects a boolean value from options object that tells sortablejs whether or not the item should be cloned when moving to another list. Since a DOM node is a truthy value the items are always cloned. Since I don't use cloning elements in my code I hardcoded that line to

moveItem(itemVM, removeOperation.collection, addOperation.collection, /**addOperation.event.clone*/false, addOperation.event);

for now but it's not pretty.

patrickguenther avatar Aug 08 '17 15:08 patrickguenther

the fix doesn't work if option.pull is a function.

replace line on 159 to fix with:

var cloneable = typeof groupOption === 'object' && (typeof groupOption.pull === "function" ? groupOption.pull(e.to, e.from, clone, e) : groupOption.pull) === 'clone';

carlstent avatar Aug 07 '19 15:08 carlstent