Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3694 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { useContext } from 'react';
import { IconButton, MenuItem as MuiMenuItem, Menu as MuiMenu } from '@mui/material';
import MoreVert from '@mui/icons-material/MoreVert';

import { MenuContext } from './MenuContext';

export function MenuContent({ icon, children, style, ...props }) {
  const { anchorEl, open, openMenu, closeMenu } = useContext(MenuContext);

  return (
    <>
      <IconButton
        onClick={(event) => {
          event.stopPropagation();
          openMenu(event.currentTarget);
        }}
        style={style}
        {...props}
      >
        {icon ? icon : <MoreVert />}
      </IconButton>
      <MuiMenu
        anchorEl={anchorEl}
        open={open}
        onClose={(event) => {
          event.stopPropagation();
          closeMenu();
        }}
        anchorOrigin={{
          vertical: 'center',
          horizontal: 'center'
        }}
        transformOrigin={{
          vertical: 'top',
          horizontal: 'right'
        }}
      >
        {children}
      </MuiMenu>
    </>
  );
}

export function MenuItem({ onClick, children }) {
  const { handleClick } = useContext(MenuContext);

  return (
    <MuiMenuItem
      onClick={(event) => {
        event.stopPropagation();
        handleClick(onClick);
      }}
    >
      {children}
    </MuiMenuItem>
  );
}