diff --git a/src/NativeDragSources.js b/src/NativeDragSources.js index d415632..9ad5549 100644 --- a/src/NativeDragSources.js +++ b/src/NativeDragSources.js @@ -16,7 +16,7 @@ const nativeTypesConfig = { exposeProperty: 'files', matchesTypes: ['Files'], getData: (dataTransfer) => - Array.prototype.slice.call(dataTransfer.files) + dataTransfer.files && Array.prototype.slice.call(dataTransfer.files) }, [NativeTypes.URL]: { exposeProperty: 'urls', @@ -76,7 +76,9 @@ export function matchNativeItemType(dataTransfer) { const dataTransferTypes = Array.prototype.slice.call(dataTransfer.types || []); return Object.keys(nativeTypesConfig).filter(nativeItemType => { - const { matchesTypes } = nativeTypesConfig[nativeItemType]; - return matchesTypes.some(t => dataTransferTypes.indexOf(t) > -1); + const nativeTypeConfig = nativeTypesConfig[nativeItemType]; + const matchesTypes = nativeTypeConfig.matchesTypes; + return matchesTypes.some(t => dataTransferTypes.indexOf(t) > -1) && + nativeItemType.getData(dataTransfer); })[0] || null; }