plugin.tsx 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import React, { Component } from "react";
  2. import Dropzone from "../../";
  3. export class TestReactDragEvt extends Component {
  4. getFiles = async (event: React.DragEvent<HTMLDivElement>) => {
  5. const files = Array.from(event.dataTransfer.files);
  6. return files;
  7. };
  8. render() {
  9. return (
  10. <div>
  11. <Dropzone getFilesFromEvent={this.getFiles}>
  12. {({ getRootProps }) => <div {...getRootProps()} />}
  13. </Dropzone>
  14. </div>
  15. );
  16. }
  17. }
  18. export class TestDataTransferItems extends Component {
  19. getFiles = async (event: React.DragEvent<HTMLDivElement>) => {
  20. const items = Array.from(event.dataTransfer.items);
  21. return items;
  22. };
  23. render() {
  24. return (
  25. <div>
  26. <Dropzone getFilesFromEvent={this.getFiles}>
  27. {({ getRootProps }) => <div {...getRootProps()} />}
  28. </Dropzone>
  29. </div>
  30. );
  31. }
  32. }
  33. export class TestNativeDragEventEvt extends Component {
  34. getFiles = async (event: DragEvent) => {
  35. const files = Array.from(event.dataTransfer.files);
  36. return files;
  37. };
  38. render() {
  39. return (
  40. <div>
  41. <Dropzone getFilesFromEvent={this.getFiles}>
  42. {({ getRootProps }) => <div {...getRootProps()} />}
  43. </Dropzone>
  44. </div>
  45. );
  46. }
  47. }
  48. export class TestChangeEvt extends Component {
  49. getFiles = async (event: React.ChangeEvent<HTMLInputElement>) => {
  50. const files = Array.from(event.target.files);
  51. return files;
  52. };
  53. render() {
  54. return (
  55. <div>
  56. <Dropzone getFilesFromEvent={this.getFiles}>
  57. {({ getRootProps }) => <div {...getRootProps()} />}
  58. </Dropzone>
  59. </div>
  60. );
  61. }
  62. }
  63. export class TestNativeEvt extends Component {
  64. getFiles = async (event: Event) => {
  65. const files = Array.from((event.target as HTMLInputElement).files);
  66. return files;
  67. };
  68. render() {
  69. return (
  70. <div>
  71. <Dropzone getFilesFromEvent={this.getFiles}>
  72. {({ getRootProps }) => <div {...getRootProps()} />}
  73. </Dropzone>
  74. </div>
  75. );
  76. }
  77. }