Update dragndrop.js to store the handler in variables
This stores the EventHandlers in variables that are then passed to the widget that makes the element draggable. In the widget we can then remove the EventListeners if needed
This commit is contained in:
parent
b596a4bd12
commit
cde2b03534
|
@ -25,14 +25,14 @@ widget: widget to use as the context for the filter
|
|||
exports.makeDraggable = function(options) {
|
||||
var dragImageType = options.dragImageType || "dom",
|
||||
dragImage,
|
||||
domNode = options.domNode;
|
||||
domNode = options.domNode,
|
||||
removeEventHandler = options.remove;
|
||||
// Make the dom node draggable (not necessary for anchor tags)
|
||||
if(!options.selector && ((domNode.tagName || "").toLowerCase() !== "a")) {
|
||||
domNode.setAttribute("draggable","true");
|
||||
}
|
||||
// Add event handlers
|
||||
$tw.utils.addEventListeners(domNode,[
|
||||
{name: "dragstart", handlerFunction: function(event) {
|
||||
|
||||
var dragStartHandlerFunction = function(event) {
|
||||
if(event.dataTransfer === undefined) {
|
||||
return false;
|
||||
}
|
||||
|
@ -115,8 +115,9 @@ exports.makeDraggable = function(options) {
|
|||
event.stopPropagation();
|
||||
}
|
||||
return false;
|
||||
}},
|
||||
{name: "dragend", handlerFunction: function(event) {
|
||||
};
|
||||
|
||||
var dragEndHandlerFunction = function(event) {
|
||||
if((options.selector && $tw.utils.domMatchesSelector(event.target,options.selector)) || event.target === domNode) {
|
||||
// Collect the tiddlers being dragged
|
||||
var dragTiddler = options.dragTiddlerFn && options.dragTiddlerFn(),
|
||||
|
@ -145,7 +146,15 @@ exports.makeDraggable = function(options) {
|
|||
}
|
||||
}
|
||||
return false;
|
||||
}}
|
||||
};
|
||||
|
||||
// Add the EventListener references to the widget
|
||||
options.widget.dragStartReference = dragStartHandlerFunction;
|
||||
options.widget.dragEndReference = dragEndHandlerFunction;
|
||||
// Add event handlers
|
||||
$tw.utils.addEventListeners(domNode,[
|
||||
{name: "dragstart", handlerFunction: dragStartHandlerFunction},
|
||||
{name: "dragend", handlerFunction: dragEndHandlerFunction}
|
||||
]);
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue