Add site-wide search function

This commit is contained in:
Andrew Miner
2015-04-05 18:33:51 -07:00
parent b79fa5a148
commit 136ebb4187
19 changed files with 521 additions and 53 deletions
@@ -5,11 +5,12 @@ Copyright (c) 2015 by Redwood Labs
All rights reserved.
###
BaseController = require './base_controller'
{Duration} = require '../constants'
{Event} = require '../constants'
{ProductionEnvs} = require '../constants'
{Url} = require '../constants'
BaseController = require './base_controller'
ItemSelectorController = require './item_selector_controller'
{Duration} = require '../constants'
{Event} = require '../constants'
{ProductionEnvs} = require '../constants'
{Url} = require '../constants'
########################################################################################################################
@@ -17,10 +18,12 @@ module.exports = class HeaderController extends BaseController
constructor: (options={})->
if not options.client? then throw new Error 'options.client is required'
if not options.modPack? then throw new Error 'options.modPack is required'
super options
@client = options.client
@_user = options.user
@client = options.client
@modPack = options.modPack
@_user = options.user
# Event Methods ################################################################################
@@ -78,6 +81,10 @@ module.exports = class HeaderController extends BaseController
addThisUrl = '//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-54f3c9717b2e530d'
$('body').append "<script async src=\"#{addThisUrl}\"></script>"
@_itemSelector = @addChild ItemSelectorController, '.view__item_selector',
modPack: @modPack
onChoseItem: (itemSlug)=> @_goToItem(itemSlug)
refresh: ->
if @user?
@$loginName.html "Hello #{router.user.login}!"
@@ -105,3 +112,8 @@ module.exports = class HeaderController extends BaseController
'click a.logo': 'onLogoClicked'
'click .navBar a': 'onNavItemClicked'
'click .login a': 'onLoginLinkClicked'
# Private Methods ##############################################################################
_goToItem: (itemSlug)->
router.navigate Url.item(itemSlug:itemSlug.item, modSlug:itemSlug.mod), trigger:true