if not $("html").hasClass("lt-ie8")
showMenu = undefined
hideMenu = undefined
show = (e) ->
clearTimeout hideMenu
$(".mainnav .nav > .nav-list > .nav-item")
.children("[aria-controls][aria-expanded='true']")
.eq(0).epfl_collapse("hide", e)
$(this)
.children("[aria-controls][aria-expanded='false']")
.eq(0).epfl_collapse("show", e)
hide = (e) ->
$(this)
.children("[aria-controls][aria-expanded='true']")
.eq(0).epfl_collapse("hide", e)
$(document)
.on("mouseenter", ".mainnav .nav > .nav-list > .nav-item", (e) ->
return if $(document).width() <= 736
clearTimeout showMenu
target = this
ev = $.extend {}, e
showMenu = setTimeout( (() -> show.apply(target, [ev])), 150))
.on("mouseleave", ".mainnav .nav > .nav-list > .nav-item", (e) ->
return if $(document).width() <= 736
clearTimeout showMenu
clearTimeout hideMenu
target = this
ev = $.extend {}, e
hideMenu = setTimeout( (() -> hide.apply(target, [ev])), 300))
$(document).on 'click', '.mainnav > [aria-controls]', (e) ->
return if $(document).width() > 736
if this.getAttribute('aria-expanded') is 'true'
e.stopPropagation()
$menubar = $ '.mainnav [role="menubar"]'
activeItemId = $menubar.attr 'aria-activedescendant'
$activeItem
if activeItemId
$activeItem = $ '#' + activeItemId
else
$activeItem = $ '.mainnav .nav-item-active'
$parentMenus = $($activeItem.parents('[role="menu"]').get().reverse())
$parentMenus.each () ->
_.getInstance($('[aria-controls="' + this.id + '"]'), ['collapse'])
.show()
$(document).on "click", ".mainnav .nav > .nav-list > .nav-item > .nav-link",
(e) ->
if $("html").hasClass("lt-ie8") and e.target.getAttribute "aria-controls"
link = $(e.target).next("[role=\"menu\"]").find(".nav-link").get(0)
window.location = link.getAttribute "href" if link
$
EPFL plugin
Custom adjustments for EPFL
requires: jQuery or Zepto DOM library author: Julien Ramboz version: 1.0