Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3505 | Rev 3541 | 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, { createContext, useState } from 'react';
2
 
3
export const MenuContext = createContext({
4
  anchorEl: null,
5
  open: false,
6
  openMenu: () => {},
7
  closeMenu: () => {},
8
  handleClick: () => {}
9
});
10
 
11
export function MenuProvider({ children }) {
12
  const [anchorEl, setAnchorEl] = useState();
13
  const open = Boolean(anchorEl);
14
 
15
  const openMenu = (event) => {
16
    event.stopPropagation();
17
    setAnchorEl(event.currentTarget);
18
  };
19
 
20
  const closeMenu = (event) => {
21
    event.stopPropagation();
22
    setAnchorEl(null);
23
  };
24
 
25
  const handleClick = (onClick, event) => {
3540 stevensc 26
    console.log('handleClick', onClick, event);
3505 stevensc 27
    event.stopPropagation();
28
    closeMenu();
29
    onClick();
30
  };
31
 
32
  return (
33
    <MenuContext.Provider
34
      value={{
35
        anchorEl,
36
        open,
37
        openMenu,
38
        closeMenu,
39
        handleClick
40
      }}
41
    >
42
      {children}
43
    </MenuContext.Provider>
44
  );
45
}