Initial version of header nav bar

This commit is contained in:
Andrew Miner
2015-02-28 13:47:51 -08:00
parent 6f6206e986
commit 7210245cc6
18 changed files with 250 additions and 45 deletions
+69 -28
View File
@@ -6,21 +6,24 @@ All rights reserved.
###
CraftingPageController = require './controllers/crafting_page_controller'
{DefaultMods} = require './constants'
{Duration} = require './constants'
{Event} = require './constants'
HeaderController = require './controllers/header_controller'
ItemPageController = require './controllers/item_page_controller'
ItemSlug = require './models/item_slug'
ImageLoader = require './controllers/image_loader'
Mod = require './models/mod'
ModPack = require './models/mod_pack'
ModPageController = require './controllers/mod_page_controller'
{Opacity} = require './constants'
Storage = require './models/storage'
{Url} = require './constants'
UrlParams = require './url_params'
BrowsePageController = require './controllers/browse_page_controller'
CraftPageController = require './controllers/craft_page_controller'
ConfigurePageController = require './controllers/configure_page_controller'
{DefaultMods} = require './constants'
{Duration} = require './constants'
{Event} = require './constants'
HeaderController = require './controllers/header_controller'
ItemPageController = require './controllers/item_page_controller'
ItemSlug = require './models/item_slug'
ImageLoader = require './controllers/image_loader'
Mod = require './models/mod'
ModPack = require './models/mod_pack'
ModPageController = require './controllers/mod_page_controller'
{Opacity} = require './constants'
Storage = require './models/storage'
{Url} = require './constants'
UrlParams = require './url_params'
WhatsNewPageController = require './controllers/whats_new_page_controller'
########################################################################################################################
@@ -38,6 +41,7 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
@_defaultOptions = imageLoader:@imageLoader, modPack:@modPack, storage:@storage
@headerController = new HeaderController el:'.view__header'
@headerController.render()
# Public Methods ###############################################################################
@@ -60,36 +64,71 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
@_recordPageView()
routes:
'': 'root'
'item/:itemSlug': 'item'
'crafting/(:text)': 'crafting'
'mod/:modSlug': 'mod'
'mod/:modSlug/:itemSlug': 'modItem'
'': 'route__whats_new'
'browse': 'route__browse'
'browse/:modSlug': 'route__browseMod'
'browse/:modSlug/:itemSlug': 'route__browseModItem'
'configure': 'route__configure'
'craft(/:text)': 'route__craft'
'item/:itemSlug': 'deprecated__item'
'crafting/(:text)': 'deprecated__crafting'
'mod/:modSlug': 'deprecated__mod'
'mod/:modSlug/:itemSlug': 'deprecated__modItem'
# Route Methods ################################################################################
crafting: (text)->
controller = new CraftingPageController _.extend {}, @_defaultOptions
route__whats_new: ->
params = new UrlParams recipeName:{type:'string'}, count:{type:'integer'}
if params.recipeName?
@deprecated__v1_root params
return
@_setPage 'whats_new', new WhatsNewPageController _.extend {}, @_defaultOptions
route__browse: ->
@_setPage 'browse', new BrowsePageController _.extend {}, @_defaultOptions
route__browseMod: (modSlug)->
controller = new ModPageController _.extend {}, @_defaultOptions
controller.model = @modPack.getMod modSlug
@_setPage 'browseMod', controller
route__browseModItem: (modSlug, itemSlug)->
slug = new ItemSlug modSlug, itemSlug
controller = new ItemPageController _.extend {itemSlug:slug}, @_defaultOptions
@_setPage 'browseModItem', controller
route__configure: ->
@_setPage 'configure', new ConfigurePageController _.extend {}, @_defaultOptions
route__craft: (text)->
controller = new CraftPageController _.extend {}, @_defaultOptions
controller.model.params = inventoryText:text
@_setPage 'craft', controller
# Deprecated Route Methods #####################################################################
deprecated__crafting: (text)->
controller = new CraftPageController _.extend {}, @_defaultOptions
controller.model.params = inventoryText:text
@_setPage 'crafting', controller
item: (itemSlug)->
deprecated__item: (itemSlug)->
controller = new ItemPageController _.extend {itemSlug:itemSlug}, @_defaultOptions
@_setPage 'item', controller
modItem: (modSlug, itemSlug)->
deprecated__modItem: (modSlug, itemSlug)->
slug = new ItemSlug modSlug, itemSlug
controller = new ItemPageController _.extend {itemSlug:slug}, @_defaultOptions
@_setPage 'item', controller
mod: (modSlug)->
deprecated__mod: (modSlug)->
controller = new ModPageController _.extend {}, @_defaultOptions
controller.model = @modPack.getMod modSlug
@_setPage 'mod', controller
root: ->
params = new UrlParams recipeName:{type:'string'}, count:{type:'integer'}
deprecated__v1_root: (params)->
text = ''
if params.recipeName?
if params.count? and params.count > 1
@@ -114,6 +153,8 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
return if @_controller is controller
logger.info -> "changing to page controller: #{controller.constructor.name}"
@headerController.model = page
showDuration = Duration.normal
show = =>
@_page = page