diff options
| author | Thomas Haddad | 2017-02-07 17:16:23 +0100 |
|---|---|---|
| committer | Thomas Haddad | 2017-02-07 17:16:47 +0100 |
| commit | 3a562ba11cd3e40fc977054ff79dd7d4dcb8faa8 (patch) | |
| tree | 48acb566b9f9217fafe3c9df82bb7c9ef701db33 /app/assets/javascripts | |
| parent | 9424c83cec849002647cf7cd33809bc393cc2828 (diff) | |
| download | chouette-core-3a562ba11cd3e40fc977054ff79dd7d4dcb8faa8.tar.bz2 | |
Js gardening on main menu and nav panels
Signed-off-by: Thomas Shawarma Haddad <thomas.haddad@af83.com>
Diffstat (limited to 'app/assets/javascripts')
| -rw-r--r-- | app/assets/javascripts/main_menu.coffee | 45 | ||||
| -rw-r--r-- | app/assets/javascripts/nav_panels.coffee | 27 |
2 files changed, 32 insertions, 40 deletions
diff --git a/app/assets/javascripts/main_menu.coffee b/app/assets/javascripts/main_menu.coffee index 45d8c9fe5..8e4fbd922 100644 --- a/app/assets/javascripts/main_menu.coffee +++ b/app/assets/javascripts/main_menu.coffee @@ -1,20 +1,19 @@ -@mainmenu = -> - $('#main_nav').each -> +$(document).on 'ready page:load', -> + $el = $('#main_nav') # Opening/closing left-side menu - $(this).on 'click', '.openMenu', (e) -> - $(this).parent().addClass 'open' + $el.find('.openMenu').on 'click', (e) -> + $(this).parent().addClass 'open' - $(this).on 'click', '.closeMenu', (e) -> - $(this).closest('.nav-menu').removeClass 'open' + $el.find('.closeMenu').on 'click', (e) -> + $(this).closest('.nav-menu').removeClass 'open' - # Opening menu panel according to current url - selectedItem = $(this).find('.active') + # Opening menu panel according to current url + selectedItem = $el.find('.active') + selectedItem.closest('.panel-collapse').addClass 'in' + selectedItem.closest('.panel-title').children('a').attr('aria-expanded') == true - selectedItem.closest('.panel-collapse').addClass 'in' - selectedItem.closest('.panel-title').children('a').attr('aria-expanded') == true - - # Sticky behavior - toStick = $('.page_header') + # Sticky behavior + $(document).on 'scroll', -> limit = 51 stickyContent = '<div class="sticky-content">' @@ -22,18 +21,14 @@ stickyContent += '<div class="sticky-paction">' + $(".page-action").html() + '</div>' stickyContent += '</div>' - $(document).on 'scroll', -> - if $(window).scrollTop() >= limit - $('#main_nav').addClass 'sticky' - - if $('#menu_top').find('.sticky-content').length == 0 - $('#menu_top').children('.menu-content').after(stickyContent) - - else - $('#main_nav').removeClass 'sticky' + if $(window).scrollTop() >= limit + $('#main_nav').addClass 'sticky' - if $('#menu_top').find('.sticky-content').length > 0 - $('.sticky-content').remove() + if !$('#menu_top').find('.sticky-content') + $('#menu_top').children('.menu-content').after(stickyContent) + else + $('#main_nav').removeClass 'sticky' -$(document).on 'ready page:load', mainmenu + if $('#menu_top').find('.sticky-content') + $('.sticky-content').remove() diff --git a/app/assets/javascripts/nav_panels.coffee b/app/assets/javascripts/nav_panels.coffee index 8b18be967..b254b9f94 100644 --- a/app/assets/javascripts/nav_panels.coffee +++ b/app/assets/javascripts/nav_panels.coffee @@ -1,17 +1,14 @@ -@navpanel = -> - $('#menu_top').each -> - $(this).on 'click', "[data-panel='toggle']", (e) -> - e.preventDefault() - $(this).siblings().removeClass 'active' - $(this).toggleClass 'active' +$(document).on 'ready page:load', -> + $('#menu_top [data-panel="toggle"]').on 'click', (e) -> + e.preventDefault() + $(this).siblings().removeClass 'active' + $(this).toggleClass 'active' - target = $(this).data('target') - $(target).siblings().removeClass 'open' - $(target).toggleClass 'open' + target = $(this).data('target') + $(target).siblings().removeClass 'open' + $(target).toggleClass 'open' - $(document).on 'scroll', -> - $("[data-panel='toggle']").each -> - $(this).removeClass 'active' - $($(this).data('target')).removeClass 'open' - -$(document).on 'ready page:load', navpanel + $(document).on 'scroll', -> + $("[data-panel='toggle']").each -> + $(this).removeClass 'active' + $($(this).data('target')).removeClass 'open' |
