Restructure static files into a single directory
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
###
|
||||
Crafting Guide - header_controller.coffee
|
||||
|
||||
Copyright (c) 2015 by Redwood Labs
|
||||
All rights reserved.
|
||||
###
|
||||
|
||||
BaseController = require './base_controller'
|
||||
|
||||
########################################################################################################################
|
||||
|
||||
module.exports = class HeaderController extends BaseController
|
||||
|
||||
constructor: (options={})->
|
||||
super options
|
||||
|
||||
# Event Methods ################################################################################
|
||||
|
||||
onLogoClicked: ->
|
||||
router.navigate '/', trigger:true
|
||||
return false
|
||||
|
||||
onNavItemClicked: (event)->
|
||||
return true unless $(event.currentTarget).attr('href')?
|
||||
|
||||
router.navigate $(event.currentTarget).attr('href'), trigger:true
|
||||
return false
|
||||
|
||||
# BaseController Overrides #####################################################################
|
||||
|
||||
render: ->
|
||||
# Overriding render because the header is already part of the stock page layout, and we
|
||||
# don't need to replace it here.
|
||||
@_rendered = true
|
||||
|
||||
@$navLinks = ($(el) for el in @$('.navBar a'))
|
||||
|
||||
zIndex = @$navLinks.length + 100
|
||||
for $navLink in @$navLinks
|
||||
$navLink.css 'z-index', zIndex--
|
||||
|
||||
refresh: ->
|
||||
for $navLink in @$navLinks
|
||||
linkPage = $navLink.data('page')
|
||||
if @model is linkPage
|
||||
$navLink.addClass 'selected'
|
||||
else
|
||||
$navLink.removeClass 'selected'
|
||||
|
||||
if @model.indexOf(linkPage) isnt -1
|
||||
$navLink.find('.dot').css 'opacity': 1;
|
||||
else
|
||||
$navLink.find('.dot').css 'opacity': 0;
|
||||
|
||||
# Backbone.View Overrides ######################################################################
|
||||
|
||||
events: ->
|
||||
return _.extend super,
|
||||
'click a.logo': 'onLogoClicked'
|
||||
'click .navBar a': 'onNavItemClicked'
|
||||
Reference in New Issue
Block a user