Move all /item URLs to /crafting

This commit is contained in:
Andrew Miner
2015-02-07 12:37:44 -08:00
parent 4c5d1256bc
commit 0f73fc18a0
9 changed files with 49 additions and 48 deletions
+4 -5
View File
@@ -17,15 +17,14 @@ ROOT = './dist/'
app = express() app = express()
app.get '/item(/*)?', (request, response)-> serveIndex = (request, response)->
console.log ">>> index.html (for #{request.path})" console.log ">>> index.html (for #{request.path})"
response.set 'Content-Type', 'text/html' response.set 'Content-Type', 'text/html'
response.sendFile 'index.html', root:ROOT response.sendFile 'index.html', root:ROOT
app.get '/mod(/*)?', (request, response)-> app.get '/crafting(/*)?', serveIndex
console.log ">>> index.html (for #{request.path})" app.get '/item(/*)?', serveIndex
response.set 'Content-Type', 'text/html' app.get '/mod(/*)?', serveIndex
response.sendFile 'index.html', root:ROOT
app.get '*', (request, response)-> app.get '*', (request, response)->
extension = path.extname(request.path) extension = path.extname(request.path)
@@ -1,11 +1,11 @@
/* /*
Crafting Guide - item_page.scss Crafting Guide - crafting_page.scss
Copyright (c) 2014-2015 by Redwood Labs Copyright (c) 2014-2015 by Redwood Labs
All rights reserved. All rights reserved.
*/ */
.view__item_page { .view__crafting_page {
& > div { & > div {
display: inline-block; display: inline-block;
+1 -1
View File
@@ -10,7 +10,7 @@ All rights reserved.
@import 'feedback'; @import 'feedback';
@import 'inventory'; @import 'inventory';
@import 'item'; @import 'item';
@import 'item_page'; @import 'crafting_page';
@import 'mod'; @import 'mod';
@import 'mod_pack'; @import 'mod_pack';
@import 'mod_page'; @import 'mod_page';
+1
View File
@@ -54,6 +54,7 @@ exports.Text = Text = {}
Text.title = 'Crafting Guide for Minecraft | The Ultimate Step-by-Step Tutorial for Making Anything in Minecraft' Text.title = 'Crafting Guide for Minecraft | The Ultimate Step-by-Step Tutorial for Making Anything in Minecraft'
exports.Url = Url = {} exports.Url = Url = {}
Url.crafting = _.template "/crafting/<%= inventoryText %>"
Url.itemIcon = _.template "/data/<%= modSlug %>/<%= modVersion %>/images/<%= slug %>.png" Url.itemIcon = _.template "/data/<%= modSlug %>/<%= modVersion %>/images/<%= slug %>.png"
Url.item = _.template "/item/<%= slug %>" Url.item = _.template "/item/<%= slug %>"
Url.mod = _.template "/mod/<%= modSlug %>" Url.mod = _.template "/mod/<%= modSlug %>"
@@ -1,5 +1,5 @@
### ###
Crafting Guide - item_page_controller.coffee Crafting Guide - crafting_page_controller.coffee
Copyright (c) 2014-2015 by Redwood Labs Copyright (c) 2014-2015 by Redwood Labs
All rights reserved. All rights reserved.
@@ -11,21 +11,22 @@ CraftingTableController = require './crafting_table_controller'
ImageLoader = require './image_loader' ImageLoader = require './image_loader'
InventoryController = require './inventory_controller' InventoryController = require './inventory_controller'
InventoryParser = require '../models/inventory_parser' InventoryParser = require '../models/inventory_parser'
ItemPage = require '../models/item_page' CraftingPage = require '../models/crafting_page'
ModPackController = require './mod_pack_controller' ModPackController = require './mod_pack_controller'
NameFinder = require '../models/name_finder' NameFinder = require '../models/name_finder'
Storage = require '../models/storage' Storage = require '../models/storage'
{Text} = require '../constants' {Text} = require '../constants'
{Url} = require '../constants'
######################################################################################################################## ########################################################################################################################
module.exports = class ItemPageController extends BaseController module.exports = class CraftingPageController extends BaseController
constructor: (options={})-> constructor: (options={})->
options.model ?= new ItemPage modPack:options.modPack options.model ?= new CraftingPage modPack:options.modPack
options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png' options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png'
options.storage ?= new Storage storage:window.localStorage options.storage ?= new Storage storage:window.localStorage
options.templateName = 'item_page' options.templateName = 'crafting_page'
super options super options
@_imageLoader = options.imageLoader @_imageLoader = options.imageLoader
@@ -107,7 +108,5 @@ module.exports = class ItemPageController extends BaseController
_updateLocation: -> _updateLocation: ->
text = @_parser.unparse @model.plan.want text = @_parser.unparse @model.plan.want
if @model.plan.want.isEmpty url = Url.crafting inventoryText:text
router.navigate '/' router.navigate url
else
router.navigate "/item/#{text}"
+11 -9
View File
@@ -9,13 +9,14 @@ All rights reserved.
{Duration} = require './constants' {Duration} = require './constants'
{Event} = require './constants' {Event} = require './constants'
HeaderController = require './controllers/header_controller' HeaderController = require './controllers/header_controller'
ItemPageController = require './controllers/item_page_controller' CraftingPageController = require './controllers/crafting_page_controller'
Mod = require './models/mod' Mod = require './models/mod'
ModPack = require './models/mod_pack' ModPack = require './models/mod_pack'
ModPageController = require './controllers/mod_page_controller' ModPageController = require './controllers/mod_page_controller'
{Opacity} = require './constants' {Opacity} = require './constants'
Storage = require './models/storage' Storage = require './models/storage'
UrlParams = require './url_params' UrlParams = require './url_params'
{Url} = require './constants'
######################################################################################################################## ########################################################################################################################
@@ -55,7 +56,8 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
routes: routes:
'': 'root' '': 'root'
'item/:name': 'item' 'item/(:inventoryText)': 'crafting'
'crafting/(:inventoryText)': 'crafting'
'mod/:slug': 'mod' 'mod/:slug': 'mod'
# Route Methods ################################################################################ # Route Methods ################################################################################
@@ -63,19 +65,19 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
root: -> root: ->
params = new UrlParams recipeName:{type:'string'}, count:{type:'integer'} params = new UrlParams recipeName:{type:'string'}, count:{type:'integer'}
arg = null text = ''
if params.recipeName? if params.recipeName?
if params.count? if params.count?
arg = "#{params.count}:#{params.recipeName}" text = "#{params.count}:#{params.recipeName}"
else else
arg = "#{params.recipeName}" text = "#{params.recipeName}"
@item arg @navigate Url.crafting(inventoryText:text), trigger:true
item: (inventoryText)-> crafting: (inventoryText)->
controller = new ItemPageController @_defaultOptions controller = new CraftingPageController @_defaultOptions
controller.model.params = inventoryText:inventoryText controller.model.params = inventoryText:inventoryText
@_setPage 'item', controller @_setPage 'crafting', controller
mod: (slug)-> mod: (slug)->
controller = new ModPageController @_defaultOptions controller = new ModPageController @_defaultOptions
@@ -1,5 +1,5 @@
### ###
Crafting Guide - item_page.coffee Crafting Guide - crafting_page.coffee
Copyright (c) 2014-2015 by Redwood Labs Copyright (c) 2014-2015 by Redwood Labs
All rights reserved. All rights reserved.
@@ -14,7 +14,7 @@ ModPack = require './mod_pack'
######################################################################################################################## ########################################################################################################################
module.exports = class ItemPage extends BaseModel module.exports = class extends BaseModel
constructor: (attributes={}, options={})-> constructor: (attributes={}, options={})->
attributes.modPack ?= new ModPack attributes.modPack ?= new ModPack
+1 -1
View File
@@ -169,7 +169,7 @@ module.exports = class Mod extends BaseModel
@_activeModVersion = modVersion @_activeModVersion = modVersion
@trigger Event.change + ':activeModVersion', this, @_activeModVersion @trigger Event.change + ':activeModVersion', this, @_activeModVersion
logger.verbose "#{@name} switched to version #{@_activeVersion}" logger.verbose "#{@slug} switched to version #{@_activeVersion}"
if @_activeModVersion? if @_activeModVersion?
@listenTo @_activeModVersion, 'all', -> @trigger.apply this, arguments @listenTo @_activeModVersion, 'all', -> @trigger.apply this, arguments
@@ -5,7 +5,7 @@
//- All rights reserved. //- All rights reserved.
//- //-
.view__item_page .view__crafting_page
.view__inventory.want .view__inventory.want
.view__inventory.have .view__inventory.have
.view__inventory.need .view__inventory.need