Browse Source

#671: + 'clone' support jQuery/Zepto/Polymer.dom

pull/699/merge
RubaXa 9 years ago
parent
commit
f3af805d75
  1. 1
      README.md
  2. 15
      Sortable.js

1
README.md

@ -650,6 +650,7 @@ Link to the active instance.
* bind(ctx`:Mixed`, fn`:Function`)`:Function` — Takes a function and returns a new one that will always have a particular context * bind(ctx`:Mixed`, fn`:Function`)`:Function` — Takes a function and returns a new one that will always have a particular context
* is(el`:HTMLElement`, selector`:String`)`:Boolean` — check the current matched set of elements against a selector * is(el`:HTMLElement`, selector`:String`)`:Boolean` — check the current matched set of elements against a selector
* closest(el`:HTMLElement`, selector`:String`[, ctx`:HTMLElement`])`:HTMLElement|Null` — for each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree * closest(el`:HTMLElement`, selector`:String`[, ctx`:HTMLElement`])`:HTMLElement|Null` — for each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree
* clone(el`:HTMLElement`)`:HTMLElement` — create a deep copy of the set of matched elements
* toggleClass(el`:HTMLElement`, name`:String`, state`:Boolean`) — add or remove one classes from each element * toggleClass(el`:HTMLElement`, name`:String`, state`:Boolean`) — add or remove one classes from each element

15
Sortable.js

@ -58,6 +58,9 @@
document = win.document, document = win.document,
parseInt = win.parseInt, parseInt = win.parseInt,
$ = win.jQuery || win.Zepto;
Polymer = win.Polymer,
supportDraggable = !!('draggable' in document.createElement('div')), supportDraggable = !!('draggable' in document.createElement('div')),
supportCssPointerEvents = (function (el) { supportCssPointerEvents = (function (el) {
el = document.createElement('x'); el = document.createElement('x');
@ -546,7 +549,7 @@
this._offUpEvents(); this._offUpEvents();
if (activeGroup.pull == 'clone') { if (activeGroup.pull == 'clone') {
cloneEl = dragEl.cloneNode(true); cloneEl = _clone(dragEl);
_css(cloneEl, 'display', 'none'); _css(cloneEl, 'display', 'none');
rootEl.insertBefore(cloneEl, dragEl); rootEl.insertBefore(cloneEl, dragEl);
_dispatchEvent(this, rootEl, 'clone', dragEl); _dispatchEvent(this, rootEl, 'clone', dragEl);
@ -1251,6 +1254,15 @@
return dst; return dst;
} }
function _clone(el) {
return $
? $(el).clone(true)[0]
: (Polymer && Polymer.dom
? Polymer.dom(el).cloneNode(true)
: el.cloneNode(true)
);
}
// Export utils // Export utils
Sortable.utils = { Sortable.utils = {
@ -1265,6 +1277,7 @@
throttle: _throttle, throttle: _throttle,
closest: _closest, closest: _closest,
toggleClass: _toggleClass, toggleClass: _toggleClass,
clone: _clone,
index: _index index: _index
}; };

Loading…
Cancel
Save