diff --git a/src/HTML5Backend.js b/src/HTML5Backend.js
index 7206bfe..428e4fc 100644
--- a/src/HTML5Backend.js
+++ b/src/HTML5Backend.js
@@ -134,7 +134,8 @@ export default class HTML5Backend {
const sourceNodeOptions = this.sourceNodeOptions[sourceId];
return defaults(sourceNodeOptions || {}, {
- dropEffect: 'move'
+ dropEffect: 'move',
+ dataTransferData: {}
});
}
@@ -147,6 +148,10 @@ export default class HTML5Backend {
return this.getCurrentSourceNodeOptions().dropEffect;
}
+ getCurrentDataTransferData() {
+ return this.getCurrentSourceNodeOptions().dataTransferData;
+ }
+
getCurrentSourcePreviewNodeOptions() {
const sourceId = this.monitor.getSourceId();
const sourcePreviewNodeOptions = this.sourcePreviewNodeOptions[sourceId];
@@ -297,8 +302,9 @@ export default class HTML5Backend {
}
try {
- // Firefox won't drag without setting data
- dataTransfer.setData('application/json', {});
+ // a) Firefox won't drag without setting data
+ // b) Interop with external drag targets/drag libs
+ dataTransfer.setData('application/json', this.getCurrentDataTransferData());
} catch (err) {
// IE doesn't support MIME types in setData
}