Sha256: 10fd7b787cf20ad00ebe1675f9dd2c977a954745facd85309776db2a3cf541a0
Contents?: true
Size: 1.88 KB
Versions: 2
Compression:
Stored size: 1.88 KB
Contents
class NavbarBuilder teardown: -> $('#navigation').html($('meta[name="navigation"]').attr('content')) setup: -> @prepend_class(i, 'navbar-nav mr-auto') for i in $('#navigation ul') $('#navigation ul li').addClass('nav-item') $('#navigation ul li a').addClass('nav-link') $('#navigation ul li ul').parent().addClass('dropdown') $('#navigation ul li.dropdown').children('a').addClass('dropdown-toggle').attr( {id: 'navbarDropdown', role: 'button', 'aria-haspopup': 'true', 'aria-expanded': 'false', 'data-toggle': 'dropdown'} ) @render_dropdown_menu i for i in $('#navigation ul li.dropdown') @render_icon_a i for i in $('#navigation ul li a') render_dropdown_menu: (item) -> links = jQuery(item).find('ul li a') jQuery(l).addClass('dropdown-item').removeClass('nav-link') for l in links @render_dropdown_links (i) for i in jQuery(item).find('ul') render_dropdown_links: (item) -> el = jQuery(item) links = el.find('li a') klass = 'dropdown-menu' klass += ' dropdown-menu-right' if el.parent().hasClass('dropdown-menu-right') div = $('<div></div>').addClass(klass).attr('aria-labelledby': 'navbarDropdown').append(links) el.replaceWith(div) prepend_class: (item, klass) -> el = jQuery(item) if el.attr('class') klass += " #{el.attr('class')}" el.removeClass(jQuery(item).attr('class')) el.addClass(klass) if el.hasClass('justify-content-end') el.removeClass('mr-auto') render_icon_a: (item) -> el = jQuery(item) if el.attr('icon') el.html("<i class=\"fas fa-#{el.attr('icon')}\"></i> #{el.text()}") $(document).one 'turbolinks:load', -> navbar = new NavbarBuilder navbar.setup() $(document).on 'turbolinks:render', -> navbar = new NavbarBuilder navbar.setup() $(document).on 'turbolinks:before-render', -> navbar = new NavbarBuilder navbar.teardown()
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
chaltron-1.1.4 | app/assets/javascripts/chaltron/navbar.js.coffee |
chaltron-1.1.3 | app/assets/javascripts/chaltron/navbar.js.coffee |