Proyectos de Subversion LeadersLinked - SPA

Rev

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