Update /craft URL on quantity changes

This commit is contained in:
Andrew Miner
2015-03-01 17:18:28 -08:00
parent c31e511080
commit 570242ec48
4 changed files with 14 additions and 4 deletions
@@ -109,5 +109,6 @@ module.exports = class CraftPageController extends PageController
_updateLocation: -> _updateLocation: ->
text = @model.plan.want.unparse() text = @model.plan.want.unparse()
logger.debug "setting location to: #{text}"
url = Url.crafting inventoryText:text url = Url.crafting inventoryText:text
router.navigate url router.navigate url
@@ -7,6 +7,7 @@ All rights reserved.
BaseController = require './base_controller' BaseController = require './base_controller'
{Duration} = require '../constants' {Duration} = require '../constants'
{Event} = require '../constants'
{Key} = require '../constants' {Key} = require '../constants'
ImageLoader = require './image_loader' ImageLoader = require './image_loader'
NameFinder = require '../models/name_finder' NameFinder = require '../models/name_finder'
@@ -38,7 +39,7 @@ module.exports = class InventoryController extends BaseController
@_stackControllers = [] @_stackControllers = []
@listenTo @modPack, 'change', => @refresh() @listenTo @modPack, Event.change, => @refresh()
# Event Methods ################################################################################ # Event Methods ################################################################################
@@ -161,6 +162,7 @@ module.exports = class InventoryController extends BaseController
imageLoader: @imageLoader imageLoader: @imageLoader
model: stack model: stack
modPack: @modPack modPack: @modPack
onChange: @onChange
onRemove: if not @editable then null else (stack)=> @_removeStack(stack) onRemove: if not @editable then null else (stack)=> @_removeStack(stack)
controller.render() controller.render()
controller.$el.hide() controller.$el.hide()
@@ -23,12 +23,14 @@ module.exports = class StackController extends BaseController
if not options.modPack? then throw new Error 'options.modPack is required' if not options.modPack? then throw new Error 'options.modPack is required'
options.editable ?= false options.editable ?= false
options.onChange ?= -> # do nothing
options.onRemove ?= (stack)-> # do nothing options.onRemove ?= (stack)-> # do nothing
options.templateName = 'stack' options.templateName = 'stack'
super options super options
@editable = options.editable @editable = options.editable
@modPack = options.modPack @modPack = options.modPack
@onChange = options.onChange
@onRemove = options.onRemove @onRemove = options.onRemove
@_imageLoader = options.imageLoader @_imageLoader = options.imageLoader
@@ -55,6 +57,7 @@ module.exports = class StackController extends BaseController
@$quantityField.removeClass 'error-new', Duration.snap @$quantityField.removeClass 'error-new', Duration.snap
@model.quantity = quantity @model.quantity = quantity
@onChange()
onQuantityFieldChanged: -> onQuantityFieldChanged: ->
quantityText = @$quantityField.val().trim() quantityText = @$quantityField.val().trim()
@@ -79,6 +82,7 @@ module.exports = class StackController extends BaseController
onRemoveClicked: -> onRemoveClicked: ->
@onRemove @model @onRemove @model
@onChange()
# BaseController Overrides ##################################################################### # BaseController Overrides #####################################################################
+6 -3
View File
@@ -7,7 +7,7 @@ All rights reserved.
BrowsePageController = require './controllers/browse_page_controller' BrowsePageController = require './controllers/browse_page_controller'
CraftPageController = require './controllers/craft_page_controller' CraftPageController = require './controllers/craft_page_controller'
ConfigurePageController = require './controllers/configure_page_controller' ConfigurePageController = require './controllers/configure_page_controller'
{DefaultMods} = require './constants' {DefaultMods} = require './constants'
{Duration} = require './constants' {Duration} = require './constants'
@@ -23,7 +23,7 @@ ModPageController = require './controllers/mod_page_controller'
Storage = require './models/storage' Storage = require './models/storage'
{Url} = require './constants' {Url} = require './constants'
UrlParams = require './url_params' UrlParams = require './url_params'
HomePageController = require './controllers/home_page_controller' HomePageController = require './controllers/home_page_controller'
######################################################################################################################## ########################################################################################################################
@@ -66,10 +66,13 @@ module.exports = class CraftingGuideRouter extends Backbone.Router
routes: routes:
'': 'route__home' '': 'route__home'
'browse': 'route__browse' 'browse': 'route__browse'
'browse/': 'route__browse'
'browse/:modSlug': 'route__browseMod' 'browse/:modSlug': 'route__browseMod'
'browse/:modSlug/:itemSlug': 'route__browseModItem' 'browse/:modSlug/:itemSlug': 'route__browseModItem'
'configure': 'route__configure' 'configure': 'route__configure'
'craft(/:text)': 'route__craft' 'craft': 'route__craft'
'craft/': 'route__craft'
'craft/:text': 'route__craft'
'item/:itemSlug': 'deprecated__item' 'item/:itemSlug': 'deprecated__item'
'crafting/(:text)': 'deprecated__crafting' 'crafting/(:text)': 'deprecated__crafting'