aboutsummaryrefslogtreecommitdiff
path: root/modern/src/settings/components/CollectionActions.jsx
diff options
context:
space:
mode:
Diffstat (limited to 'modern/src/settings/components/CollectionActions.jsx')
-rw-r--r--modern/src/settings/components/CollectionActions.jsx104
1 files changed, 0 insertions, 104 deletions
diff --git a/modern/src/settings/components/CollectionActions.jsx b/modern/src/settings/components/CollectionActions.jsx
deleted file mode 100644
index 666052d5..00000000
--- a/modern/src/settings/components/CollectionActions.jsx
+++ /dev/null
@@ -1,104 +0,0 @@
-import React, { useState } from 'react';
-import {
- IconButton, Menu, MenuItem, useMediaQuery, useTheme,
-} from '@mui/material';
-import Tooltip from '@mui/material/Tooltip';
-import MoreVertIcon from '@mui/icons-material/MoreVert';
-import EditIcon from '@mui/icons-material/Edit';
-import DeleteIcon from '@mui/icons-material/Delete';
-import { useNavigate } from 'react-router-dom';
-import { makeStyles } from '@mui/styles';
-import RemoveDialog from '../../common/components/RemoveDialog';
-import { useTranslation } from '../../common/components/LocalizationProvider';
-
-const useStyles = makeStyles(() => ({
- row: {
- display: 'flex',
- },
-}));
-
-const CollectionActions = ({
- itemId, editPath, endpoint, setTimestamp, customActions, readonly,
-}) => {
- const theme = useTheme();
- const classes = useStyles();
- const navigate = useNavigate();
- const t = useTranslation();
-
- const phone = useMediaQuery(theme.breakpoints.down('sm'));
-
- const [menuAnchorEl, setMenuAnchorEl] = useState(null);
- const [removing, setRemoving] = useState(false);
-
- const handleEdit = () => {
- navigate(`${editPath}/${itemId}`);
- setMenuAnchorEl(null);
- };
-
- const handleRemove = () => {
- setRemoving(true);
- setMenuAnchorEl(null);
- };
-
- const handleCustom = (action) => {
- action.handler(itemId);
- setMenuAnchorEl(null);
- };
-
- const handleRemoveResult = (removed) => {
- setRemoving(false);
- if (removed) {
- setTimestamp(Date.now());
- }
- };
-
- return (
- <>
- {phone ? (
- <>
- <IconButton size="small" onClick={(event) => setMenuAnchorEl(event.currentTarget)}>
- <MoreVertIcon fontSize="small" />
- </IconButton>
- <Menu open={!!menuAnchorEl} anchorEl={menuAnchorEl} onClose={() => setMenuAnchorEl(null)}>
- {customActions && customActions.map((action) => (
- <MenuItem onClick={() => handleCustom(action)} key={action.key}>{action.title}</MenuItem>
- ))}
- {!readonly && (
- <>
- <MenuItem onClick={handleEdit}>{t('sharedEdit')}</MenuItem>
- <MenuItem onClick={handleRemove}>{t('sharedRemove')}</MenuItem>
- </>
- )}
- </Menu>
- </>
- ) : (
- <div className={classes.row}>
- {customActions && customActions.map((action) => (
- <Tooltip title={action.title} key={action.key}>
- <IconButton size="small" onClick={() => handleCustom(action)}>
- {action.icon}
- </IconButton>
- </Tooltip>
- ))}
- {!readonly && (
- <>
- <Tooltip title={t('sharedEdit')}>
- <IconButton size="small" onClick={handleEdit}>
- <EditIcon fontSize="small" />
- </IconButton>
- </Tooltip>
- <Tooltip title={t('sharedRemove')}>
- <IconButton size="small" onClick={handleRemove}>
- <DeleteIcon fontSize="small" />
- </IconButton>
- </Tooltip>
- </>
- )}
- </div>
- )}
- <RemoveDialog style={{ transform: 'none' }} open={removing} endpoint={endpoint} itemId={itemId} onResult={handleRemoveResult} />
- </>
- );
-};
-
-export default CollectionActions;