Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3634 | Rev 3694 | 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';
3621 stevensc 2
import { IconButton, MenuItem as MuiMenuItem, Menu as MuiMenu } from '@mui/material';
3505 stevensc 3
import { MoreVert } from '@mui/icons-material';
4
 
3618 stevensc 5
import { MenuContext } from './MenuContext';
6
 
3634 stevensc 7
export function MenuContent({ icon, children, style, ...props }) {
3505 stevensc 8
  const { anchorEl, open, openMenu, closeMenu } = useContext(MenuContext);
9
 
10
  return (
11
    <>
3621 stevensc 12
      <IconButton
3541 stevensc 13
        onClick={(event) => {
14
          event.stopPropagation();
15
          openMenu(event.currentTarget);
16
        }}
3634 stevensc 17
        style={style}
18
        {...props}
3541 stevensc 19
      >
20
        {icon ? icon : <MoreVert />}
3621 stevensc 21
      </IconButton>
3505 stevensc 22
      <MuiMenu
23
        anchorEl={anchorEl}
24
        open={open}
3541 stevensc 25
        onClose={(event) => {
26
          event.stopPropagation();
27
          closeMenu();
28
        }}
3505 stevensc 29
        anchorOrigin={{
3638 stevensc 30
          vertical: 'center',
31
          horizontal: 'center'
3505 stevensc 32
        }}
33
        transformOrigin={{
34
          vertical: 'top',
35
          horizontal: 'right'
36
        }}
37
      >
38
        {children}
39
      </MuiMenu>
40
    </>
41
  );
42
}
43
 
44
export function MenuItem({ onClick, children }) {
45
  const { handleClick } = useContext(MenuContext);
46
 
3541 stevensc 47
  return (
48
    <MuiMenuItem
49
      onClick={(event) => {
50
        event.stopPropagation();
51
        handleClick(onClick);
52
      }}
53
    >
54
      {children}
55
    </MuiMenuItem>
56
  );
3505 stevensc 57
}