-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdragnDrop.ml
44 lines (30 loc) · 1.11 KB
/
dragnDrop.ml
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
open Utils
type drag_events = {
mutable ondragstart : Dom_html.dragEvent Js.t -> bool Js.t;
mutable ondragover : Dom_html.dragEvent Js.t -> bool Js.t;
mutable ondragend : Dom_html.dragEvent Js.t -> bool Js.t;
mutable ondrop : Dom_html.dragEvent Js.t -> bool Js.t;
mutable ondragleave : Dom_html.dragEvent Js.t -> bool Js.t;
mutable ondrag : Dom_html.dragEvent Js.t -> bool Js.t;
}
let default_func = (fun e -> Js._false)
let default_event = {
ondragover = default_func;
ondragend = default_func;
ondrop = default_func;
ondragstart = default_func;
ondrag = default_func;
ondragleave = default_func;
}
let init () = {
ondragover = default_func;
ondragend = default_func;
ondrop = default_func;
ondragstart = default_func;
ondrag = default_func;
ondragleave = default_func;
}
let make ?events:(ev=default_event) container =
container##ondragover <- Dom.handler ev.ondragover;
container##ondragend <- Dom.handler ev.ondragend;
container##ondrop <- Dom_html.handler ev.ondrop