Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3541 | Rev 3621 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
3505 stevensc 1
import React, { useContext } from 'react';
2
import { IconButton, MenuItem as MuiMenuItem, Menu as MuiMenu, styled } from '@mui/material';
3
import { MoreVert } from '@mui/icons-material';
4
 
3618 stevensc 5
import { MenuContext } from './MenuContext';
6
 
3505 stevensc 7
const OptionsButton = styled(IconButton)(({ theme }) => ({
8
  position: 'absolute',
9
  top: theme.spacing(1),
10
  right: theme.spacing(1),
11
  zIndex: 1
12
}));
13
 
14
export function MenuContent({ icon, children }) {
15
  const { anchorEl, open, openMenu, closeMenu } = useContext(MenuContext);
16
 
17
  return (
18
    <>
3541 stevensc 19
      <OptionsButton
20
        onClick={(event) => {
21
          event.stopPropagation();
22
          openMenu(event.currentTarget);
23
        }}
24
      >
25
        {icon ? icon : <MoreVert />}
26
      </OptionsButton>
3505 stevensc 27
      <MuiMenu
28
        anchorEl={anchorEl}
29
        open={open}
3541 stevensc 30
        onClose={(event) => {
31
          event.stopPropagation();
32
          closeMenu();
33
        }}
3505 stevensc 34
        anchorOrigin={{
35
          vertical: 'bottom',
36
          horizontal: 'left'
37
        }}
38
        transformOrigin={{
39
          vertical: 'top',
40
          horizontal: 'right'
41
        }}
42
      >
43
        {children}
44
      </MuiMenu>
45
    </>
46
  );
47
}
48
 
49
export function MenuItem({ onClick, children }) {
50
  const { handleClick } = useContext(MenuContext);
51
 
3541 stevensc 52
  return (
53
    <MuiMenuItem
54
      onClick={(event) => {
55
        event.stopPropagation();
56
        handleClick(onClick);
57
      }}
58
    >
59
      {children}
60
    </MuiMenuItem>
61
  );
3505 stevensc 62
}