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 }