-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
55 lines (52 loc) · 1.59 KB
/
index.js
File metadata and controls
55 lines (52 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Generated by CoffeeScript 1.3.3
(function() {
var Emitter;
Emitter = require("emitter");
module.exports = function(element) {
var emitter, initEvent, originX, originY, startX, startY;
emitter = new Emitter;
startX = 0;
startY = 0;
originX = 0;
originY = 0;
element.addEventListener("mousedown", initEvent = function(e) {
var moveEvent, stopEvent;
originX = element.offsetLeft;
originY = element.offsetTop;
startX = event.pageX;
startY = event.pageY;
emitter.emit("dragstart", {
element: element,
originX: originX,
originY: originY,
startX: startX,
startY: startY
});
document.addEventListener("mousemove", moveEvent = function(e) {
element.style["left"] = (originX + (e.pageX - startX)) + "px";
element.style["top"] = (originY + (e.pageY - startY)) + "px";
return emitter.emit("drag");
});
return document.addEventListener("mouseup", stopEvent = function(e) {
var stopX, stopY;
stopX = e.pageX;
stopY = e.pageY;
emitter.emit("dragstop", {
element: element,
originX: originX,
originY: originY,
startX: startX,
startY: startY,
stopX: stopX,
stopY: stopY
});
document.removeEventListener("mousemove", moveEvent);
return document.removeEventListener("mouseup", stopEvent);
});
});
emitter.on("remove", function() {
return element.removeEventListener("mousedown", initEvent);
});
return emitter;
};
}).call(this);