import React, { useState } from "react"; import { Checkbox, FormControlLabel } from "@mui/material"; import { useTranslation } from "react-i18next"; import uploadIcon from "../../assets/images/upload.png"; import IconButton from "../../components/IconButton/IconButton"; import { useSelector, useDispatch } from "react-redux"; // import { selectCategories } from "../../store/selectors/categoriesSelector"; import { useEffect } from "react"; import { setCategoriesReq } from "../../store/actions/categories/categoriesAction"; import { changeTagIsCheckedValue, resetIsCheckedTagsValue, setTagsReq, } from "../../store/actions/tags/tagsAction"; import { selectTags } from "../../store/selectors/tagsSelector"; import { uploadFileReq } from "../../store/actions/uploadFile/uploadFileActions"; import { FILES_VIEW_PAGE } from "../../constants/pages"; import PropTypes from "prop-types"; import TreeViewFiles from "../../components/Files/TreeViewFiles"; const AddFile = ({ history }) => { const [dropzoneActive, setDropzoneActive] = useState(false); const [pdfFile, setPdfFile] = useState(null); const [title, setTitle] = useState(""); const [showMessage, setShowMessage] = useState(false); const dispatch = useDispatch(); // const categories = useSelector(selectCategories); const tags = useSelector(selectTags); // const [selectedCategory, setSelectedCategory] = useState(null); const { t } = useTranslation(); useEffect(() => { dispatch(setCategoriesReq()); dispatch(setTagsReq()); }, []); const onSuccessUploadFile = () => { dispatch(resetIsCheckedTagsValue()); setPdfFile(null); setTitle(""); setShowMessage(true); }; useEffect(() => { if (showMessage === true) { setTimeout(() => { setShowMessage(false); }, 2000); } }, [showMessage]); const handleDrop = (e) => { e.preventDefault(); const selectedFile = e.dataTransfer.files[0]; setPdfFile(selectedFile); }; const handleChangeInputFile = (e) => { const selectedFile = e.target.files[0]; setTitle(selectedFile.name.split(".")[0]); setPdfFile(selectedFile); }; // const selectCategoryHandler = (e) => { // setSelectedCategory(e.target.value); // }; const onChangeTagsCheckbox = (id) => { dispatch(changeTagIsCheckedValue(id)); }; const uploadFileHandler = () => { const tagsIds = tags .filter((tag) => tag.isChecked === true) .map((tag) => Number(tag.id)); if ( title === "" || tagsIds.length === 0 || pdfFile === null ) return; dispatch( uploadFileReq({ title, categoryId: -1, tagsIds, fileToUpload: pdfFile, onSuccessUploadFile, }) ); }; return (
{pdfFile.name}
) : ( <>{t("ads.dragPdf1")} {t("ads.dragPdf2")}
> )}Uspesno dodat fajl
history.push(FILES_VIEW_PAGE)} > Nazad na sve fajlove