From 37dd8129f8e07d00eb93262210bf1ecd4ce95532 Mon Sep 17 00:00:00 2001 From: Anton Tananaev Date: Sun, 20 Sep 2020 22:39:04 -0700 Subject: Refactor collection editing --- modern/src/EditCollectionView.js | 73 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 modern/src/EditCollectionView.js (limited to 'modern/src/EditCollectionView.js') diff --git a/modern/src/EditCollectionView.js b/modern/src/EditCollectionView.js new file mode 100644 index 0000000..59ea2db --- /dev/null +++ b/modern/src/EditCollectionView.js @@ -0,0 +1,73 @@ +import React, { useState } from 'react'; +import { makeStyles } from '@material-ui/core/styles'; +import { useHistory } from 'react-router-dom'; +import Menu from '@material-ui/core/Menu'; +import MenuItem from '@material-ui/core/MenuItem'; +import Fab from '@material-ui/core/Fab'; +import AddIcon from '@material-ui/icons/Add'; + +import t from './common/localization'; +import RemoveDialog from './RemoveDialog'; + +const useStyles = makeStyles(theme => ({ + fab: { + position: 'absolute', + bottom: theme.spacing(2), + right: theme.spacing(2), + }, +})); + +const EditCollectionView = ({ content, editPath, endpoint }) => { + const classes = useStyles(); + const history = useHistory(); + + const [selectedId, setSelectedId] = useState(null); + const [selectedAnchorEl, setSelectedAnchorEl] = useState(null); + const [removeDialogShown, setRemoveDialogShown] = useState(false); + + const menuShow = (anchorId, itemId) => { + setSelectedAnchorEl(anchorId); + setSelectedId(itemId); + } + + const menuHide = () => { + setSelectedAnchorEl(null); + } + + const handleAdd = () => { + history.push(editPath); + menuHide(); + } + + const handleEdit = () => { + history.push(`${editPath}/${selectedId}`); + menuHide(); + } + + const handleRemove = () => { + setRemoveDialogShown(true); + menuHide(); + } + + const handleRemoveResult = () => { + setRemoveDialogShown(false); + } + + const Content = content; + + return ( + <> + + + + + + {t('sharedEdit')} + {t('sharedRemove')} + + + + ); +} + +export default EditCollectionView; -- cgit v1.2.3