Don't show qualifed slugs in URL unnecessarily #94
This commit is contained in:
@@ -23,6 +23,8 @@ Storage = require '../models/storage'
|
||||
module.exports = class CraftingPageController extends BaseController
|
||||
|
||||
constructor: (options={})->
|
||||
if not options.modPack? then throw new Error 'options.modPack is required'
|
||||
|
||||
options.model ?= new CraftingPage modPack:options.modPack
|
||||
options.imageLoader ?= new ImageLoader defaultUrl:'/images/unknown.png'
|
||||
options.storage ?= new Storage storage:window.localStorage
|
||||
@@ -30,7 +32,7 @@ module.exports = class CraftingPageController extends BaseController
|
||||
super options
|
||||
|
||||
@_imageLoader = options.imageLoader
|
||||
@_parser = new InventoryParser modPack:options.modPack
|
||||
@_parser = new InventoryParser options.modPack
|
||||
@_storage = options.storage
|
||||
|
||||
# Event Methods ################################################################################
|
||||
|
||||
@@ -40,10 +40,10 @@ module.exports = class InventoryController extends BaseController
|
||||
# Event Methods ################################################################################
|
||||
|
||||
onAddButtonClicked: ->
|
||||
name = @$nameField.val()
|
||||
return unless @modPack.isValidName name
|
||||
item = @modPack.findItemByName @$nameField.val()
|
||||
return unless item?
|
||||
|
||||
@model.add _.slugify(name), parseInt(@$quantityField.val())
|
||||
@model.add item.qualifiedSlug, parseInt(@$quantityField.val())
|
||||
@$nameField.val ''
|
||||
@$quantityField.val '1'
|
||||
|
||||
@@ -71,12 +71,11 @@ module.exports = class InventoryController extends BaseController
|
||||
@onNameFieldChanged()
|
||||
|
||||
onNameFieldChanged: ->
|
||||
item = @modPack.findItemByName @$nameField.val()
|
||||
@_refreshButtonState()
|
||||
|
||||
onNameFieldFocused: ->
|
||||
@$nameField.val ''
|
||||
@$nameField.autocomplete('search')
|
||||
@$nameField.autocomplete 'search'
|
||||
|
||||
onNameFieldKeyUp: (event)->
|
||||
if event.which is Key.Return
|
||||
|
||||
@@ -49,10 +49,14 @@ module.exports = class InventoryParser
|
||||
if not @modPack? then throw new Error 'this.modPack is needed to unparse'
|
||||
|
||||
parts = []
|
||||
inventory.each (stack)->
|
||||
inventory.each (stack)=>
|
||||
[modSlug, itemSlug] = _.decomposeSlug stack.slug
|
||||
item = @modPack.findItem itemSlug
|
||||
slug = if item.qualifiedSlug is stack.slug then item.slug else item.qualifiedSlug
|
||||
|
||||
if stack.quantity is 1
|
||||
parts.push stack.slug
|
||||
parts.push slug
|
||||
else
|
||||
parts.push "#{stack.quantity}#{InventoryParser.ITEM_DELIMITER}#{stack.slug}"
|
||||
parts.push "#{stack.quantity}#{InventoryParser.ITEM_DELIMITER}#{slug}"
|
||||
|
||||
return parts.join InventoryParser.STACK_DELIMITER
|
||||
|
||||
Reference in New Issue
Block a user