nav.coffee 603 B

1234567891011121314151617181920212223242526
  1. class app.views.Nav extends app.View
  2. @el: '._nav'
  3. @activeClass: '_nav-current'
  4. @routes:
  5. after: 'afterRoute'
  6. select: (href) ->
  7. @deselect()
  8. if @current = @find "a[href='#{href}']"
  9. @current.classList.add @constructor.activeClass
  10. @current.setAttribute 'tabindex', '-1'
  11. return
  12. deselect: ->
  13. if @current
  14. @current.classList.remove @constructor.activeClass
  15. @current.removeAttribute 'tabindex'
  16. @current = null
  17. return
  18. afterRoute: (route, context) =>
  19. if route in ['page', 'offline']
  20. @select context.pathname
  21. else
  22. @deselect()