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
@@ -1,11 +1,11 @@
/*
Crafting Guide - item_page.scss
Crafting Guide - crafting_page.scss
Copyright (c) 2014-2015 by Redwood Labs
All rights reserved.
*/
.view__item_page {
.view__crafting_page {
& > div {
display: inline-block;
+1 -1
View File
@@ -10,7 +10,7 @@ All rights reserved.
@import 'feedback';
@import 'inventory';
@import 'item';
@import 'item_page';
@import 'crafting_page';
@import 'mod';
@import 'mod_pack';
@import 'mod_page';
+7 -6
View File
@@ -53,12 +53,13 @@ ModelState.failed = 'failed'
exports.Text = Text = {}
Text.title = 'Crafting Guide for Minecraft | The Ultimate Step-by-Step Tutorial for Making Anything in Minecraft'
exports.Url = Url = {}
Url.itemIcon = _.template "/data/<%= modSlug %>/<%= modVersion %>/images/<%= slug %>.png"
Url.item = _.template "/item/<%= slug %>"
Url.mod = _.template "/mod/<%= modSlug %>"
Url.modData = _.template "/data/<%= modSlug %>/mod.cg"
Url.modVersion = _.template "/data/<%= modSlug %>/<%= modVersion %>/mod-version.cg"
exports.Url = Url = {}
Url.crafting = _.template "/crafting/<%= inventoryText %>"
Url.itemIcon = _.template "/data/<%= modSlug %>/<%= modVersion %>/images/<%= slug %>.png"
Url.item = _.template "/item/<%= slug %>"
Url.mod = _.template "/mod/<%= modSlug %>"
Url.modData = _.template "/data/<%= modSlug %>/mod.cg"
Url.modVersion = _.template "/data/<%= modSlug %>/<%= modVersion %>/mod-version.cg"
Url.modLogoImage = _.template "/data/<%= modSlug %>/logo.png"
exports.UrlParam = UrlParam = {}
@@ -1,5 +1,5 @@
###
Crafting Guide - item_page_controller.coffee
Crafting Guide - crafting_page_controller.coffee
Copyright (c) 2014-2015 by Redwood Labs
All rights reserved.
@@ -11,21 +11,22 @@ CraftingTableController = require './crafting_table_controller'
ImageLoader = require './image_loader'
InventoryController = require './inventory_controller'
InventoryParser = require '../models/inventory_parser'
ItemPage = require '../models/item_page'
CraftingPage = require '../models/crafting_page'
ModPackController = require './mod_pack_controller'
NameFinder = require '../models/name_finder'
Storage = require '../models/storage'
{Text} = require '../constants'
{Url} = require '../constants'
########################################################################################################################
module.exports = class ItemPageController extends BaseController
module.exports = class CraftingPageController extends BaseController
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.storage ?= new Storage storage:window.localStorage
options.templateName = 'item_page'
options.templateName = 'crafting_page'
super options
@_imageLoader = options.imageLoader
@@ -107,7 +108,5 @@ module.exports = class ItemPageController extends BaseController
_updateLocation: ->
text = @_parser.unparse @model.plan.want
if @model.plan.want.isEmpty
router.navigate '/'
else
router.navigate "/item/#{text}"
url = Url.crafting inventoryText:text
router.navigate url
+23 -21
View File
@@ -5,17 +5,18 @@ Copyright (c) 2014-2015 by Redwood Labs
All rights reserved.
###
{DefaultMods} = require './constants'
{Duration} = require './constants'
{Event} = require './constants'
HeaderController = require './controllers/header_controller'
ItemPageController = require './controllers/item_page_controller'
Mod = require './models/mod'
ModPack = require './models/mod_pack'
ModPageController = require './controllers/mod_page_controller'
{Opacity} = require './constants'
Storage = require './models/storage'
UrlParams = require './url_params'
{DefaultMods} = require './constants'
{Duration} = require './constants'
{Event} = require './constants'
HeaderController = require './controllers/header_controller'
CraftingPageController = require './controllers/crafting_page_controller'
Mod = require './models/mod'
ModPack = require './models/mod_pack'
ModPageController = require './controllers/mod_page_controller'
{Opacity} = require './constants'
Storage = require './models/storage'
UrlParams = require './url_params'
{Url} = require './constants'
########################################################################################################################
@@ -54,28 +55,29 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
@_recordPageView()
routes:
'': 'root'
'item/:name': 'item'
'mod/:slug': 'mod'
'': 'root'
'item/(:inventoryText)': 'crafting'
'crafting/(:inventoryText)': 'crafting'
'mod/:slug': 'mod'
# Route Methods ################################################################################
root: ->
params = new UrlParams recipeName:{type:'string'}, count:{type:'integer'}
arg = null
text = ''
if params.recipeName?
if params.count?
arg = "#{params.count}:#{params.recipeName}"
text = "#{params.count}:#{params.recipeName}"
else
arg = "#{params.recipeName}"
text = "#{params.recipeName}"
@item arg
@navigate Url.crafting(inventoryText:text), trigger:true
item: (inventoryText)->
controller = new ItemPageController @_defaultOptions
crafting: (inventoryText)->
controller = new CraftingPageController @_defaultOptions
controller.model.params = inventoryText:inventoryText
@_setPage 'item', controller
@_setPage 'crafting', controller
mod: (slug)->
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
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={})->
attributes.modPack ?= new ModPack
+1 -1
View File
@@ -169,7 +169,7 @@ module.exports = class Mod extends BaseModel
@_activeModVersion = modVersion
@trigger Event.change + ':activeModVersion', this, @_activeModVersion
logger.verbose "#{@name} switched to version #{@_activeVersion}"
logger.verbose "#{@slug} switched to version #{@_activeVersion}"
if @_activeModVersion?
@listenTo @_activeModVersion, 'all', -> @trigger.apply this, arguments
@@ -5,7 +5,7 @@
//- All rights reserved.
//-
.view__item_page
.view__crafting_page
.view__inventory.want
.view__inventory.have
.view__inventory.need