Skip to content

Commit

Permalink
fix: fix types for getDataTransferItems()
Browse files Browse the repository at this point in the history
  • Loading branch information
Roland Groza authored and rolandjitsu committed Oct 15, 2018
1 parent 4578f1b commit 14e6b67
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 3 deletions.
2 changes: 1 addition & 1 deletion typings/react-dropzone.d.ts
Expand Up @@ -48,7 +48,7 @@ export type DropzoneProps = Omit<React.HTMLProps<HTMLDivElement>, "onDrop" | "re
onDropAccepted?: DropFileEventHandler;
onDropRejected?: DropFileEventHandler;
onFileDialogCancel?(): void;
getDataTransferItems?(event: React.DragEvent<HTMLDivElement> | DragEvent): Promise<Array<File | DataTransferItem>>;
getDataTransferItems?(event: React.DragEvent<HTMLDivElement> | DragEvent | React.ChangeEvent<HTMLInputElement> | Event): Promise<Array<File | DataTransferItem>>;
children?: React.ReactNode | DropzoneRenderFunction;
ref?: React.Ref<Dropzone>;
};
Expand Down
39 changes: 37 additions & 2 deletions typings/tests/plugin.tsx
@@ -1,7 +1,7 @@
import React, {Component} from "react";
import Dropzone from "../../";

export class TestReactEvt extends Component {
export class TestReactDragEvt extends Component {
getFiles = async (evt: React.DragEvent<HTMLDivElement>) => {
const files = Array.from(evt.dataTransfer.files);
return files;
Expand Down Expand Up @@ -35,7 +35,7 @@ export class TestDataTransferItems extends Component {
}
}

export class TestNativeEvt extends Component {
export class TestNativeDragEventEvt extends Component {
getFiles = async (evt: DragEvent) => {
const files = Array.from(evt.dataTransfer.files);
return files;
Expand All @@ -51,3 +51,38 @@ export class TestNativeEvt extends Component {
);
}
}

export class TestChangeEvt extends Component {
getFiles = async (evt: React.ChangeEvent<HTMLInputElement>) => {
const files = Array.from(evt.target.files);
return files;
}

render() {
return (
<div>
<Dropzone getDataTransferItems={this.getFiles}>
Hi
</Dropzone>
</div>
);
}
}


export class TestNativeEvt extends Component {
getFiles = async (evt: Event) => {
const files = Array.from((evt.target as HTMLInputElement).files);
return files;
}

render() {
return (
<div>
<Dropzone getDataTransferItems={this.getFiles}>
Hi
</Dropzone>
</div>
);
}
}

0 comments on commit 14e6b67

Please sign in to comment.