Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4979 | Rev 6244 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 4979 Rev 5266
Línea 5... Línea 5...
5
import ListItemDropdown from './ListItemDropdown'
5
import ListItemDropdown from './ListItemDropdown'
6
import './HeaderOptions.scss'
6
import './HeaderOptions.scss'
7
import './Dropdowns.scss'
7
import './Dropdowns.scss'
Línea 8... Línea 8...
8
 
8
 
9
const HeaderOptions = ({
9
const HeaderOptions = ({
10
    Icon = null,
10
  Icon = null,
11
    title = '',
11
  title = '',
12
    url = '',
12
  url = '',
13
    childs = [],
13
  childs = [],
14
    ajaxRequest = 0,
14
  ajaxRequest = 0,
15
    isMobile = false,
15
  isMobile = false,
16
    badgeCount = 0
16
  badgeCount = 0
17
}) => {
17
}) => {
18
    const [displayMenu, setDisplayMenu] = useState(false)
18
  const [displayMenu, setDisplayMenu] = useState(false)
19
    const menu = useRef(null)
19
  const menu = useRef(null)
20
    const outsideClick = useOutsideClick(menu)
20
  const outsideClick = useOutsideClick(menu)
21
 
21
 
22
    const handleClick = () => {
22
  const handleClick = () => {
23
        setDisplayMenu(!displayMenu)
23
    setDisplayMenu(!displayMenu)
24
    }
24
  }
25
 
25
 
26
    const handleAjaxRequest = async () => {
26
  const handleAjaxRequest = async () => {
27
        try {
27
    try {
28
            const { data } = await axios.get(url)
28
      const { data } = await axios.get(url)
29
            if (data.success) window.open(data.data, '_backend')
29
      if (data.success) window.open(data.data, '_backend')
30
        } catch (error) {
30
    } catch (error) {
31
            console.log('>>: error > ', error)
-
 
32
        }
31
      console.log('>>: error > ', error)
-
 
32
    }
Línea 33... Línea 33...
33
    }
33
  }
34
 
34
 
35
    useLayoutEffect(() => {
35
  useLayoutEffect(() => {
Línea 36... Línea 36...
36
        if (outsideClick) setDisplayMenu(false)
36
    if (outsideClick) setDisplayMenu(false)
37
    }, [outsideClick])
37
  }, [outsideClick])
38
 
38
 
39
    return (
39
  return (
40
        <li ref={menu} className={!isMobile && 'd-none d-lg-block'}>
40
        <li ref={menu} className={!isMobile && 'd-none d-lg-block'}>
41
            <a
41
            <a
42
                href={`/${url}`}
42
                href={`/${url}`}
43
                className={`header__option ${isMobile && 'mobile'} ${displayMenu && 'active'}`}
43
                className={`header__option ${isMobile && 'mobile'} ${displayMenu && 'active'}`}
44
                onClick={(e) => {
44
                onClick={(e) => {
45
                    if (ajaxRequest) {
45
                  if (ajaxRequest) {
46
                        e.preventDefault()
46
                    e.preventDefault()
47
                        handleAjaxRequest()
47
                    handleAjaxRequest()
48
                    }
48
                  }
49
                    if (childs.length) {
49
                  if (childs.length) {
50
                        e.preventDefault()
50
                    e.preventDefault()
51
                        handleClick()
51
                    handleClick()
52
                    }
52
                  }
53
                }}
53
                }}
54
                target='framename'
54
                target='framename'
Línea 59... Línea 59...
59
                    {badgeCount}
59
                    {badgeCount}
60
                </span>
60
                </span>
61
            </a>
61
            </a>
62
            <ListItemDropdown isShow={displayMenu} options={childs} />
62
            <ListItemDropdown isShow={displayMenu} options={childs} />
63
        </li>
63
        </li>
64
    )
64
  )
65
}
65
}
Línea 66... Línea -...
66
 
-
 
67
export default HeaderOptions
66
 
-
 
67
export default HeaderOptions