瀏覽代碼

Added getFiles and getTypes to the data transfer object.

Piotr Jasiun 8 年之前
父節點
當前提交
26e3768a2c
共有 1 個文件被更改,包括 22 次插入0 次删除
  1. 22 0
      packages/ckeditor5-clipboard/src/datatransfer.js

+ 22 - 0
packages/ckeditor5-clipboard/src/datatransfer.js

@@ -42,4 +42,26 @@ export default class DataTransfer {
 	setData( type, data ) {
 		this._native.setData( type, data );
 	}
+
+	*getFiles() {
+		// DataTransfer.files and items are Array-like and might not have an iterable interface.
+		const files = this._native.files ? Array.from( this._native.files ) : [];
+		const items = this._native.items ? Array.from( this._native.items ) : [];
+
+		if ( files.length ) {
+			yield* files;
+		}
+		// // Chrome have empty DataTransfer.files, but let get files through the items interface.
+		else {
+			for ( const item of items ) {
+				if ( item.kind == 'file' ) {
+					yield item.getAsFile();
+				}
+			}
+		}
+	}
+
+	getTypes() {
+		return this._native.types;
+	}
 }