Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3540 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import React, { createContext, useState } from 'react';

export const MenuContext = createContext({
  anchorEl: null,
  open: false,
  openMenu: () => {},
  closeMenu: () => {},
  handleClick: () => {}
});

export function MenuProvider({ children }) {
  const [anchorEl, setAnchorEl] = useState();
  const open = Boolean(anchorEl);

  const openMenu = (event) => {
    event.stopPropagation();
    setAnchorEl(event.currentTarget);
  };

  const closeMenu = (event) => {
    event.stopPropagation();
    setAnchorEl(null);
  };

  const handleClick = (onClick, event) => {
    event.stopPropagation();
    closeMenu();
    onClick();
  };

  return (
    <MenuContext.Provider
      value={{
        anchorEl,
        open,
        openMenu,
        closeMenu,
        handleClick
      }}
    >
      {children}
    </MenuContext.Provider>
  );
}