Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3476 | Rev 3640 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 3476 Rev 3639
Línea 46... Línea 46...
46
`;
46
`;
Línea 47... Línea 47...
47
 
47
 
48
const FILE_TYPES = {
48
const FILE_TYPES = {
49
  image: 'image/jpeg, image/png, image/jpg',
49
  image: 'image/jpeg, image/png, image/jpg',
50
  file: 'application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation',
50
  file: 'application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation',
-
 
51
  video: 'video/mp4, video/mpeg, video/webm, video/quicktime',
51
  video: 'video/mp4, video/mpeg, video/webm, video/quicktime'
52
  all: 'image/jpeg, image/png, image/jpg, application/pdf, application/vnd.openxmlformats-officedocument.presentationml.presentation, video/mp4, video/mpeg, video/webm, video/quicktime'
Línea 52... Línea 53...
52
};
53
};
53
 
54
 
54
export function FilePicker({
55
export function FilePicker({
Línea 63... Línea 64...
63
  const [files, setFiles] = useState([]);
64
  const [files, setFiles] = useState([]);
Línea 64... Línea 65...
64
 
65
 
65
  const onDrop = useCallback((acceptedFiles, fileRejections) => {
66
  const onDrop = useCallback((acceptedFiles, fileRejections) => {
66
    onChange(acceptedFiles);
67
    onChange(acceptedFiles);
-
 
68
    setFiles(
-
 
69
      acceptedFiles.map((file) =>
67
    setFiles(
70
        Object.assign(file, {
-
 
71
          preview: URL.createObjectURL(file),
-
 
72
          type: file.type.split('/')[0]
-
 
73
        })
68
      acceptedFiles.map((file) => Object.assign(file, { preview: URL.createObjectURL(file) }))
74
      )
69
    );
75
    );
70
    if (fileRejections.length > 0) {
76
    if (fileRejections.length > 0) {
71
      setErrors(fileRejections.map((file) => file.errors[0].message));
77
      setErrors(fileRejections.map((file) => file.errors[0].message));
72
    } else {
78
    } else {
Línea 85... Línea 91...
85
    setFiles([]);
91
    setFiles([]);
86
    setErrors([]);
92
    setErrors([]);
87
  };
93
  };
Línea 88... Línea 94...
88
 
94
 
89
  const filePreviewTest = (file) => {
95
  const filePreviewTest = (file) => {
90
    switch (type) {
96
    switch (file.type) {
91
      case 'image':
97
      case 'image':
92
        return <img src={file.preview} />;
98
        return <img src={file.preview} />;
93
      case 'video':
99
      case 'video':
94
        return <video src={file.preview} width='400' height='300' controls muted />;
100
        return <video src={file.preview} width='400' height='300' controls muted />;
95
      case 'file':
-
 
96
        switch (file.type) {
-
 
97
          case 'application/pdf':
101
      case 'file':
98
            return <object data={file.preview} type='application/pdf' width='400' height='200' />;
102
        return <object data={file.preview} type={file.type} width='400' height='200' />;
99
          default:
103
      case 'audio':
100
            break;
104
        return <audio src={file.preview} controls muted />;
101
        }
-
 
102
        break;
105
 
103
      default:
106
      default:
104
        break;
107
        break;
105
    }
108
    }