0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-02-10 09:08:31 -05:00

Add drag and drop utils.

This commit is contained in:
Andrey Antukh 2016-02-01 23:25:23 +02:00
parent 6024674182
commit 2b74c34c00
2 changed files with 33 additions and 13 deletions

View file

@ -24,16 +24,3 @@
(defn event->target
[e]
(.-target e))
(defn event->data-transfer
[e]
(.-dataTransfer e))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Drag & Drop helpers
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; (defn set-effect-allowed!
;; [e effect]
;; (let [dt (.-dataTransfer e)]
;; (set!

View file

@ -0,0 +1,33 @@
(ns uxbox.util.dom.dnd
"Drag & Drop interop helpers."
(:require [uxbox.util.data :refer (read-string)]))
(defn event->data-transfer
[e]
(.-dataTransfer e))
(defn set-allowed-effect!
[e effect]
(let [dt (.-dataTransfer e)]
(set! (.-effectAllowed dt) effect)
e))
(defn set-drop-effect!
[e effect]
(let [dt (.-dataTransfer e)]
(set! (.-dropEffect dt) effect)
e))
(defn set-data!
([e data]
(set-data! e "uxbox/data" data))
([e key data]
(let [dt (.-dataTransfer e)]
(.setData dt (str key) (pr-str data)))))
(defn get-data
([e]
(get-data e "uxbox/data"))
([e key]
(let [dt (.-dataTransfer e)]
(read-string (.getData dt (str key))))))