Untitled
unknown
plain_text
8 months ago
3.3 kB
2
Indexable
import React, { useRef, useState } from 'react'; import { AppContext, useAppState } from '@d-lift/core'; import { SimpleFileUpload, Label, Button, Group, Section, ListItem, List, Modal, Para, LineBreak, Grid, Row, Column, } from '@d-lift/uxcomponents'; const ExcelUpload = () => { const [status, setStatus] = useState('initial'); const [uploadedFiles, setUploadedFiles] = useState([]); const fileInputRef = useRef(null); const [selectedFile, setSelectedFile] = useState(null); const handleFileChange = (e) => { if (Array.isArray(e) && e.length > 0) { const newFile = e[0]; setSelectedFile(newFile); handleUpload(newFile); } else { console.log('No file selected'); } }; const handleUpload = async (file) => { try { if (!file) { console.error('No file selected'); setStatus('fail'); return; } console.log('Processing file:', file); setUploadedFiles((prevFiles) => [ ...prevFiles, { id: Math.random() * 100 + 1, name: file.name, size: file.size, }, ]); document.getElementById('root').scrollIntoView(); setStatus('success'); } catch (error) { console.error(error); setStatus('fail'); } }; return ( <> <div className="ux-rfi-attachment-container ux-rfi-green-border"> <Label className="mb-0" model="AddAttachments.fileList"> Attachments: </Label> <Section className="pt-4"> <List> {uploadedFiles.length > 0 ? ( uploadedFiles.map((file) => ( <ListItem key={file.id} iconKey={null}> {file.name} - {file.size} bytes </ListItem> )) ) : ( <ListItem iconKey={null}>No Files Uploaded</ListItem> )} </List> <SimpleFileUpload model="AddAttachments.uploadedFiles" allowDragAndDrop={false} inputDisplayType="custom" ref={fileInputRef} style={{ display: 'none' }} onDropAccepted={handleFileChange} accept=".pdf,.PDF,.doc,.DOC,.ppt"> <Button size="small" click={() => fileInputRef.current && fileInputRef.current.click()} className="ux-rfi-green-button"> <Group width="1,10"> <i className="fa fa-plus" aria-hidden="true"></i>Add Attachment </Group> </Button> </SimpleFileUpload> </Section> </div> </> ); }; export default ExcelUpload;
Editor is loading...
Leave a Comment