From 655c368539bfd47d4b750ba82558793bd344a355 Mon Sep 17 00:00:00 2001 From: Ersin Akinci Date: Wed, 30 Dec 2020 22:19:52 -0800 Subject: [PATCH 1/2] chore: update gitignore --- .gitignore | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.gitignore b/.gitignore index d4375e5c..4b29612a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,12 @@ lib/* !lib/js/tests lib/js/tests/testHelpers.js npm-debug.log + +# direnv +.envrc + +# Nix +shell.nix + +# npm +package-lock.json From ea2419debf813618468c8d246e134a6d32002a0e Mon Sep 17 00:00:00 2001 From: Ersin Akinci Date: Wed, 30 Dec 2020 22:20:07 -0800 Subject: [PATCH 2/2] feat: add DataTransfer bindings --- src/Webapi/Dom/Webapi__Dom__DataTransfer.re | 19 +++++++++++++++++++ src/Webapi/Webapi__Dom.re | 1 + 2 files changed, 20 insertions(+) create mode 100644 src/Webapi/Dom/Webapi__Dom__DataTransfer.re diff --git a/src/Webapi/Dom/Webapi__Dom__DataTransfer.re b/src/Webapi/Dom/Webapi__Dom__DataTransfer.re new file mode 100644 index 00000000..94786c55 --- /dev/null +++ b/src/Webapi/Dom/Webapi__Dom__DataTransfer.re @@ -0,0 +1,19 @@ +type t = Dom.dataTransfer; + +[@bs.new] external make: unit => t = "DataTransfer"; + +[@bs.get] external dropEffect: t => string = "dropEffect"; +[@bs.set] external setDropEffect: (t, string) => unit = "dropEffect"; +[@bs.get] external effectAllowed: t => string = "effectAllowed"; +[@bs.set] external setEffectAllowed: (t, string) => unit = "effectAllowed"; +/** TODO: items returns DataTransferItemList: https://html.spec.whatwg.org/multipage/dnd.html#dom-datatransfer-items */ +[@bs.send] +external setDragImage: (t, Webapi__Dom__HtmlImageElement.t, float, float) => unit = + "setDragImage"; +[@bs.get] external types: t => array(string) = "types"; +[@bs.send] external getData: (t, string) => string = "getData"; +[@bs.send] external setData: (t, string, string) => unit = "setData"; +[@bs.send] external clearData: t => unit = "clearData"; +[@bs.send] external clearData0: t => unit = "clearData"; +[@bs.send] external clearData1: (t, string) => unit = "clearData"; +/** TODO: files returns FileList: https://html.spec.whatwg.org/multipage/dnd.html#dom-datatransfer-files */; diff --git a/src/Webapi/Webapi__Dom.re b/src/Webapi/Webapi__Dom.re index 8d658660..562b0b41 100644 --- a/src/Webapi/Webapi__Dom.re +++ b/src/Webapi/Webapi__Dom.re @@ -9,6 +9,7 @@ module ClipboardEvent = Webapi__Dom__ClipboardEvent; module CloseEvent = Webapi__Dom__CloseEvent; module CompositionEvent = Webapi__Dom__CompositionEvent; module CustomEvent = Webapi__Dom__CustomEvent; +module DataTransfer = Webapi__Dom__DataTransfer; module Document = Webapi__Dom__Document; module DocumentFragment = Webapi__Dom__DocumentFragment; module DocumentType = Webapi__Dom__DocumentType;