I want to set data on dragstart. The data is retrieved via promises. I’m thinking I could either set the data like this.
dragStart: (ev)->
myPromise.then (data)=>
ev.dataTransfer.setData’(application/json’, data)
or something like this
dragStart: (ev)->
App.DragPromises.set(random_key, myPromise)
ev.dataTransfer.setData’(text/plain’, random_key)
drop: (ev)->
key = ev.dataTransfer.getData("text/plain")
myPromise = App.DragPromises.get(key)
myPromise.then (data)->
doStuffWith(data)
I’m thinking option 1 might cause problems if the promise isn’t fulfilled when the drop occurs. Option 2 doesn’t encapsulate the data as well, it relies on the application global DragPromises