aboutsummaryrefslogtreecommitdiffstats
path: root/app/assets/javascripts
diff options
context:
space:
mode:
authorThomas Haddad2017-02-07 17:16:23 +0100
committerThomas Haddad2017-02-07 17:16:47 +0100
commit3a562ba11cd3e40fc977054ff79dd7d4dcb8faa8 (patch)
tree48acb566b9f9217fafe3c9df82bb7c9ef701db33 /app/assets/javascripts
parent9424c83cec849002647cf7cd33809bc393cc2828 (diff)
downloadchouette-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.coffee45
-rw-r--r--app/assets/javascripts/nav_panels.coffee27
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'