Untitled
unknown
plain_text
a year ago
3.3 kB
10
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