import React from "react"; import PropTypes from "prop-types"; import { Grid, Paper, ButtonBase, TextField, FormControlLabel, Checkbox, Button } from "@material-ui/core"; import Autocomplete from "@material-ui/lab/Autocomplete"; import { Save as SaveIcon, Delete as DeleteIcon } from "@material-ui/icons"; import { makeStyles } from "@material-ui/core/styles"; import style from "../styles"; import ResourcePreviewComponent from "./ResourcePreviewComponent"; import MimeTypeComponent from "./MimeTypeComponent"; import useResourceDeleteDialog from "../../hooks/useResourceDeleteDialog"; import { onTextFieldChange } from "../../../../utils/adapters"; import { useHistory } from "react-router-dom"; import { useTranslation } from "react-i18next"; import LinksComponent from "./LinksComponent"; const useStyles = makeStyles(style); const ResourceComponent = ({ resource, mimeTypes, resourceCategories, onPropertyChange, processing, setProcessing }) => { const classes = useStyles(); const history = useHistory(); const { t } = useTranslation(); const { component: ResourceDeleteDialog, handleOpen: handleOpenDeleteDialog } = useResourceDeleteDialog(resource, setProcessing, () => history.push("/resources") ); return ( <> onPropertyChange("categoryId")(value.categoryId) } getOptionLabel={(option) => { const optionIsObject = typeof option === "object" && option !== null; if (optionIsObject) return option.categoryName; const category = resourceCategories.find( (z) => z.categoryId === option ); return category.categoryName; }} getOptionSelected={(option, value) => option.categoryId === value } renderInput={(params) => ( )} /> onPropertyChange("secured")(event.target.checked) } name="resources-is-secured" color="primary" /> } label={t("Resource.Secured")} /> {ResourceDeleteDialog} ); }; ResourceComponent.propTypes = { resource: PropTypes.object.isRequired, mimeTypes: PropTypes.array.isRequired, resourceCategories: PropTypes.array.isRequired, onPropertyChange: PropTypes.func.isRequired, processing: PropTypes.string, setProcessing: PropTypes.func.isRequired }; export default ResourceComponent;